Commit Graph

430 Commits

Author SHA1 Message Date
Alexey Milovidov
33c6e0b804 Removing dependency on functions from client: preparation [#CLICKHOUSE-2]. 2017-07-12 03:42:50 +03:00
Vitaliy Lyudvichenko
b843ea5b3f Resolves #964. Fixed input_format_skip_unknown_fields for negative numbers. [#CLICKHOUSE-3] 2017-07-11 21:36:51 +03:00
Alexey Milovidov
86eb4d2d06 Renamed Singleton to avoid conflicts with Arcadia* codebase [#DEVTOOLS-3343].
* - "Arcadia" is the name of Yandex's monorepo.
2017-07-10 07:34:14 +03:00
alexey-milovidov
b64b243a73 Merge pull request #945 from YiuRULE/master
Implement natively uuid type in Clickhouse
2017-07-10 07:00:45 +03:00
alexey-milovidov
894d09f797 Update IFunction.h 2017-07-09 17:13:51 +03:00
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
7150e9447a Fixed multiIf in case of empty arguments. [#CLICKHOUSE-3119] 2017-07-07 17:42:37 +03:00
Guillaume Tassery
2ec96fe822 Make UUID as a strong type 2017-07-06 16:50:29 +02:00
Guillaume Tassery
cba9815981 Change Uuid to UUID datatype and make UInt128 a generic type 2017-07-04 12:42:53 +02:00
Guillaume Tassery
d6ab06437a Remove mention of UUID type for dictonnary 2017-07-03 18:08:32 +02: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
Maxim Fridental
e30c9242bc Implement functions findClusterIndex and findClusterValue. 2017-07-03 17:01:21 +03:00
Guillaume Tassery
525851ec68 sync master 2017-06-30 22:21:42 +02:00
Guillaume Tassery
1231952fca Implement UUID type and toUuid function 2017-06-30 22:01:27 +02:00
proller
4db8d09de9 Reorganize includes. part 1 (#921)
* Make libunwind optional. Allow use custom libcctz

* fix

* Fix

* fix

* Update BaseDaemon.cpp

* Update CMakeLists.txt

* Reorganize includes. part 1

* Update dbms_include.cmake

* Reorganize includes. part 2

* Reorganize includes. part 3

* dbms/src/Common/ThreadPool -> libs/libcommon

* Reorganize includes. part 4

* Fix print_include_directories

* Update thread_creation_latency.cpp

* Update StringRef.h
2017-06-23 23:22:35 +03:00
Alexey Zatelepin
87fbfe0950 correct comparisons for strings with null bytes [#CLICKHOUSE-3070] 2017-06-22 23:10:43 +03:00
Alexey Milovidov
6df5d556e5 Changed namespace [#DEVTOOLS-3381]. 2017-06-21 11:35:38 +03:00
Alexey Milovidov
604de2bfeb Better [#DEVTOOLS-3381]. 2017-06-21 04:24:05 +03:00
Георгий Кондратьев
a736ef618a Put ClickHouse variant of CityHash into DB namespace [#DEVTOOLS-3381]
This avoids symbol conflict when linking external applications that use another
variant of CityHash in the global namespace with ClickHouse libraries.
2017-06-20 12:25:16 +03:00
Георгий Кондратьев
47161f8425 Specify all link dependencies [#DEVTOOLS-3381]
Tested with:

export LDFLAGS="-Wl,--no-undefined"
cmake -DUSE_STATIC_LIBRARIES=OFF -DBUILD_SHARED_LIBS=ON
2017-06-20 00:53:12 +03:00
Alexey Milovidov
3ec14e0481 Fixed error [#CLICKHOUSE-4]. 2017-06-14 22:31:05 +03:00
Alexey Milovidov
49e8473456 Fixed error [#CLICKHOUSE-2]. 2017-06-13 08:55:04 +03:00
Alexey Milovidov
8ba0ed9aeb Less dependencies [#CLICKHOUSE-2]. 2017-06-13 08:15:12 +03:00
Alexey Milovidov
a73790f17d Less dependencies [#CLICKHOUSE-2]. 2017-06-13 08:14:24 +03:00
Alexey Milovidov
a782f81f8f Moved common code from Functions; fixed build after merge [#CLICKHOUSE-2]. 2017-06-13 07:45:30 +03:00
Alexey Milovidov
77aa0ed3d2 Fixed build [#CLICKHOUSE-31]. 2017-06-13 07:33:07 +03:00
Alexey Milovidov
74bd90701e Removed useless code [#CLICKHOUSE-31]. 2017-06-13 07:14:23 +03:00
Alexey Milovidov
3ddea6b260 Removed useless code [#CLICKHOUSE-31]. 2017-06-13 07:14:23 +03:00
Alexey Milovidov
1c219c5a7b Addition to prev. revision [#CLICKHOUSE-31]. 2017-06-13 07:14:23 +03:00
Alexey Milovidov
782fe332b1 Miscellaneous [#CLICKHOUSE-31]. 2017-06-13 07:13:54 +03:00
Alexey Milovidov
7f87bb07da Fixed linkage [#CLICKHOUSE-2]. 2017-06-12 03:26:22 +03:00
Alexey Milovidov
45c76803a9 Moved table functions to separate library; fixed errors; improved testability [#CLICKHOUSE-31]. 2017-06-10 12:04:31 +03:00
Alexey Milovidov
7c6f647559 Removed questionable code [#CLICKHOUSE-2]. 2017-06-07 04:52:11 +03:00
Alexey Milovidov
d5a83f6cef Removed questionable code [#CLICKHOUSE-2]. 2017-06-07 04:49:23 +03:00
Alexey Milovidov
9c5ddce06d Get rid of .hpp files [#CLICKHOUSE-2]. 2017-06-06 20:18:32 +03:00
Alexey Milovidov
5bd9342c0b Merge branch 'master' of github.com:yandex/ClickHouse 2017-06-01 21:13:42 +03:00
Alexey Milovidov
862a304db2 Small refinements [#CLICKHOUSE-2]. 2017-06-01 16:41:58 +03:00
f1yegor
0bf5182020 translate comments: etc 2017-05-28 16:32:59 +02:00
f1yegor
0882092c20 translate comments: functions 2017-05-27 17:45:25 +02:00
Alexey Milovidov
e05547f4f8 Little better [#CLICKHOUSE-3039]. 2017-05-25 22:52:05 +03:00
Alexey Zatelepin
1c903df8d7 move AccurateComparison.h [#CLICKHOUSE-3002] 2017-05-25 05:34:26 +04:00
Alexey Zatelepin
e9f8f99e06 Correct index comparisons in case constants cannot be precisely casted [#CLICKHOUSE-3002] 2017-05-25 05:34:26 +04:00
Alexey Milovidov
571af20a4f Added function defaultValueForArgumentType [#CLICKHOUSE-3013]. 2017-05-22 01:27:41 +03:00
Dmitry Luhtionov
4cc10af7b7 Add MACStringToOUI function 2017-05-16 10:32:49 +04:00
orantius
da83036326 Add age 55 for function roundAge. [#CLICKHOUSE-3001] 2017-05-15 22:42:39 +04:00
Marek Vavruša
9520234365 Dictionaries/TrieDictionary: IP prefix dictionary
This commit implements a basic IP prefix dictionary
that allows storing IPv4/IPv6 prefixes and
matching them against a single IP address on query
time. This allows for doing IP -> ASN matching and
other similar things on query time.

The implementation is basic for start, using a
simple bitwise trie and reusing interface for
complex key dictionaries (so using tuple instead
of UInt32/FixedString(16) as the key). A faster
bitwise trie implementation (like poptrie) is
desired to improve lookup performance and
memory consumption with large prefix tables.
2017-05-15 10:51:03 +04:00
f1yegor
c252863b2e translate comments 2017-05-14 19:03:55 +04:00