Commit Graph

8001 Commits

Author SHA1 Message Date
Marek Vavruša
ff73394124 PKCondition: infer index use with pk subexpression
By default only constraints explicitly matching
primary key expression (or expression wrapped in
a monotonic function) are eligible for part and
range selection. So for example, if index is:

(toStartOfHour(dt), UserID)

Then a query such as this resorts to full scan:

SELECT count() FROM t WHERE dt = now()

Intuitively, only parts with toStartOfHour(now())
could be selected, but it is less trivial to prove.
The primary key currently can be wrapped in a chain
of monotonic functions, so following would work:

toStartOfHour(dt) = toStartOfHour(now()) AND dt = now()

It must be however explicitly stated, if we wanted
to infer that we’d have to know the inverse function,
and prove that the inverse function is monotonic
on given interval. This is not practical as
there is no inverse function that for example undos
rounding, it isn’t strictly monotonic.

There are however functions that don’t transform
output range and preserve monotonicity on the
complete input range, such as rounding or casts
to a same or wider numeric type. This eliminates
the need to find inverse function, as no check for monotonicity over arbitrary interval is needed,
and thus makes this optimisation possible.
2017-07-09 17:13:51 +03:00
Vitaliy Lyudvichenko
b46a2a6eab Fixed infinite sleeping of low-priority queries. [#CLICKHOUSE-2] 2017-07-09 03:53:13 +03:00
Vitaliy Lyudvichenko
7150e9447a Fixed multiIf in case of empty arguments. [#CLICKHOUSE-3119] 2017-07-07 17:42:37 +03:00
robot-metrika-test
2d478cd371 Auto version update to [54248] 2017-07-05 21:47:14 +03:00
Liu Cong
08e43b149a Fix a typo of 'Columns/ColumnVector.h': metod => method 2017-07-05 20:46:37 +03:00
Nikolai Kochetov
c99a9b1c55 moved FilterColumnsBlockInputStream implementation to .cpp [#CLICKHOUSE-3111] 2017-07-05 20:14:17 +03:00
alexey-milovidov
85bdb472ea Update FilterColumnsBlockInputStream.h 2017-07-05 20:14:17 +03:00
alexey-milovidov
7bc0e40135 Update FilterColumnsBlockInputStream.h 2017-07-05 20:14:17 +03:00
Nikolai Kochetov
f1ec4cd863 added FilterColumnsBlockInputStream into StorageMerge [#CLICKHOUSE-3111] 2017-07-05 20:14:17 +03:00
robot-metrika-test
f1ce8c437b Auto version update to [54247] 2017-07-05 19:42:46 +03:00
Alexey Milovidov
66638c4158 Fixed error in StorageDictionary [#CLICKHOUSE-2]. 2017-07-05 19:36:45 +03:00
robot-metrika-test
25e9a1f7a6 Auto version update to [54246] 2017-07-05 18:22:35 +03:00
Alexey Milovidov
032d12d431 Fixed translation error [#CLICKHOUSE-2]. 2017-07-04 15:46:31 +03:00
Alexey Milovidov
06f343c89e Misc [#CLICKHOUSE-3115]. 2017-07-04 00:04:40 +03:00
Alexey Milovidov
727ce48c23 Fixed error with selecting number of threads for distributed query processing [#CLICKHOUSE-3115]. 2017-07-04 00:04:10 +03:00
Alexey Milovidov
15cf838250 Cosmetics [#CLICKHOUSE-2] 2017-07-03 21:29:56 +03:00
Alexey Milovidov
c170b6f0d2 Removed useless code [#CLICKHOUSE-3111]. 2017-07-03 20:34:27 +03:00
Alexey Milovidov
5a015a1475 Misc fixes after merge [#CLICKHOUSE-3]. 2017-07-03 17:17:46 +03:00
Alexey Milovidov
a38bf1cbb3 Fixed bad code after merge [#CLICKHOUSE-3]. 2017-07-03 17:16:20 +03:00
Alexey Milovidov
320b1e635b Fixed build after merge [#CLICKHOUSE-3]. 2017-07-03 17:14:44 +03:00
Alexey Milovidov
43daa720a4 Fixed build after merge [#CLICKHOUSE-3]. 2017-07-03 17:09:32 +03:00
Marek Vavruša
d27bed228b Parser: fix CREATE VIEW IF EXISTS #934
The else branch forgot to consume whitespace after
CREATE token, and after VIEW token.
2017-07-03 17:01:43 +03:00
Maxim Fridental
e30c9242bc Implement functions findClusterIndex and findClusterValue. 2017-07-03 17:01:21 +03:00
Alexey Milovidov
65cde992f5 Merge branch 'master' of github.com:yandex/ClickHouse 2017-07-02 23:51:40 +03:00
Alexey Zatelepin
9de4d8facb allow loading missing setting from config [#CLICKHOUSE-3091] 2017-06-28 19:56:35 +03:00
Alexey Milovidov
21c9ede548 Fixed garbage [#CLICKHOUSE-2]. 2017-06-28 16:20:57 +03:00
robot-metrika-test
44cdfb4c76 Auto version update to [54244] 2017-06-28 15:35:06 +03:00
Alexey Zatelepin
7cf413dea8 Revert "Raised up limit on max size of parts to merge [#CLICKHOUSE-3091]."
This reverts commit 425156e32c.
2017-06-28 15:32:52 +03:00
Alexey Milovidov
2b67782845 Applied clang-format [#CLICKHOUSE-2]. 2017-06-28 15:30:23 +03:00
Alexey Milovidov
39ddcf1c74 Fixed build [#CLICKHOUSE-2]. 2017-06-28 15:24:49 +03:00
Alexey Milovidov
c6b83a1c60 Fixed build [#CLICKHOUSE-2]. 2017-06-28 15:22:07 +03:00
robot-metrika-test
4b38e8f8d3 Auto version update to [54243] 2017-06-27 19:27:16 +03:00
Alexey Zatelepin
6768ebd53f less strict parse() functions (restore compatibility with JDBC driver) [#CLICKHOUSE-2949] 2017-06-27 18:58:33 +03:00
robot-metrika-test
9150df5ae1 Auto version update to [54242] 2017-06-26 22:15:58 +03:00
Marek Vavruša
e189c39056 SpaceSaving: internal storage for StringRef{}
The SpaceSaving has now specialised storage for
some keys, which only copies keys that
are to be retained in the structure, not all.

Most of the PODs implement this interface empty,
so there shouldn’t be any extra cost.
2017-06-26 21:16:13 +03:00
robot-metrika-test
106a979ac2 Auto version update to [54241] 2017-06-26 20:41:34 +03:00
Vitaliy Lyudvichenko
97f7b46ebd Fixed CLEAR COLUMN test in case of deduplication rollback. [#CLICKHOUSE-2] 2017-06-26 19:34:38 +03:00
Vitaliy Lyudvichenko
9c0da6e698 Addition to previous commit. Fix error code, rename test tables. [#CLICKHOUSE-2] 2017-06-26 17:35:26 +03:00
Vitaliy Lyudvichenko
49cbc33a6b Fix ZK exception in case of concurrent INSERTs in new partition. [#CLICKHOUSE-2] 2017-06-26 17:21:25 +03:00
Alex Zatelepin
8f250d4a18 Merge pull request #927 from yandex/fix-profile-info-race
Fix race condition while initializing BlockStreamProfileInfo
2017-06-26 16:38:26 +03:00
Vitaliy Lyudvichenko
b53d6976b3 Fix build after merge. [#CLICKHOUSE-2] 2017-06-26 15:47:15 +03:00
Alexey Zatelepin
1917de0380 fix race condition while initializing BlockStreamProfileInfo [#CLICKHOUSE-3099] 2017-06-26 15:30:35 +03:00
Alexey Milovidov
a48a21f593 Merge branch 'master' into CLICKHOUSE-2896 2017-06-26 11:54:58 +03:00
Alexey Milovidov
219740155a Merge branch 'master' of github.com:yandex/ClickHouse 2017-06-26 11:34:02 +03:00
Alexey Milovidov
0565aea988 Whitespaces [#CLICKHOUSE-2]. 2017-06-26 11:33:56 +03:00
alexey-milovidov
e122cf0bcf Merge pull request #914 from yandex/database-dictionary
DatabaseDictionary
2017-06-25 22:02:45 +03:00
Alexey Milovidov
8f145da1e8 Preparation [#CLICKHOUSE-2]. 2017-06-25 06:43:59 +03:00
Alexey Milovidov
dbc61a6a43 Added support for SQL-style quoting [#CLICKHOUSE-20]. 2017-06-25 06:43:37 +03:00
Alexey Milovidov
275a1d4651 Improvement [#CLICKHOUSE-3091]. 2017-06-25 05:48:38 +03:00
Alexey Milovidov
a8cbb1ce52 Removed obsolete tests [#CLICKHOUSE-3091]. 2017-06-25 05:31:53 +03:00