Commit Graph

136 Commits

Author SHA1 Message Date
chertus
0b35cdae69 refactoring: add some sugar in type checks [CLICKHOUSE-0002] 2018-09-07 17:37:26 +03:00
alexey-milovidov
72c799ad76
Merge pull request #3008 from 4ertus2/decimal
even more Decimal
2018-09-03 07:19:33 +03:00
chertus
845db9b46e CAST for decimal [CLICKHOUSE-3905] 2018-08-31 11:59:21 +03:00
Alexey Milovidov
486d87ebcd Merge remote-tracking branch 'origin/master' into extra-warnings 2018-08-27 20:01:33 +03:00
chertus
c86f2878ff add special ColumnDecimal instead of ColumnVector<DecimalNN> CLICKHOUSE-3765 2018-08-27 19:16:16 +03:00
Alexey Milovidov
6605098439 Enabling -Wextra-semi [#CLICKHOUSE-2] 2018-08-26 03:50:48 +03:00
chertus
1467ca5610 decimal field visitors CLICKHOUSE-3765 2018-08-23 22:11:31 +03:00
chertus
c61ccc4dfe toDecimal128() CLICKHOUSE-3905 2018-08-22 20:26:11 +03:00
chertus
fd6a8142b7 rename toDecimal functions CLICKHOUSE-3905 2018-08-22 19:16:39 +03:00
chertus
eac6dd1c99 Merge branch 'master' into decimal 2018-08-21 21:55:36 +03:00
chertus
1e97f9e549 toDecimalN() functions CLICKHOUSE-3905 2018-08-21 21:25:38 +03:00
chertus
cdff502828 types convertion via helpers CLICKHOUSE-3765 2018-08-20 18:17:55 +03:00
Nikolai Kochetov
c339313d8b Fix LowCardinality conversions for defaults. 2018-08-09 13:52:33 +03:00
Nikolai Kochetov
3a74ec7c0c Mergred with master 2018-07-20 14:08:54 +03:00
Nikolai Kochetov
9c763f8090 Make DatsTypeWithDictionary independent from index type. 2018-07-20 13:16:27 +03:00
Alexey Milovidov
0f3d6fe756 Fixed error #2649 2018-07-16 03:30:13 +03:00
Alexey Milovidov
eee02143a8 Implemented more accurate CAST from String to Nullable of Date and DateTime #1322 2018-07-16 03:30:13 +03:00
Alexey Milovidov
297805f719 Implemented toOrZero, toOrNull functions for Date and DateTime arguments (incomplete) #1322 2018-07-16 03:30:13 +03:00
Alexey Milovidov
8533011a49 More accurate conversion to Nullable type in function CAST #1322 2018-07-16 03:30:13 +03:00
alexey-milovidov
1e78445a25 Update FunctionsConversion.h 2018-07-06 18:55:26 +03:00
Nikolai Kochetov
7592b6e34a Fixed monotonic constraints for unsigned integer types. 2018-07-06 18:55:26 +03:00
Nikolai Kochetov
9f591b8d02 Merged with master. 2018-06-26 17:41:29 +03:00
Nikolai Kochetov
f56d16769b Added pre and post serialization for IDataType BinaryBulkWithMultipleStreams. Supported dictionary serialization format with single global dictionary (limited wit max_dictionary_size) and additional keys which are stored per granule. Changed IDataType::enumerateStream interface. Added (de)serialization params for binary bulk with multiple stream (de)serialization. Changed IColumn::index interface. 2018-06-26 17:12:21 +03:00
Nikolai Kochetov
58cbcbd5c3 Supported DataTypeWithDictionary in CAST function. 2018-06-26 17:12:21 +03:00
alexey-milovidov
fafecb3c25
Better modularity of formats. (#2492)
* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development): removed very old tests #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447
2018-06-10 22:22:49 +03:00
Alexey Milovidov
26d448baad Passing settings to ser/de of data types: development #1710 2018-06-08 04:51:55 +03:00
Alexey Milovidov
13762471da Changed DayNum_t to DayNum as Amos Bird suggested [#CLICKHOUSE-3] 2018-05-25 16:29:15 +03:00
Nikolai Kochetov
937cb2db29 Merged with master. 2018-05-21 14:38:50 +03:00
Alexey Milovidov
956128a67a Fixed style a bit [#CLICKHOUSE-2] 2018-05-07 05:01:11 +03:00
Nikolai Kochetov
b45b2b9ea5 added DataTypeWithDictionary serialization per granule 2018-05-04 23:32:26 +03:00
Tsarkova Anastasia
12c8014e5c Conditional computations. 2018-04-24 09:16:39 +02:00
Alexey Milovidov
c44108d5eb Allow to CAST Nullable type to non-Nullable as long as there are no NULL values #1947 2018-02-23 00:20:02 +03:00
Alexey Milovidov
95d2d68c7d Header in every stream: development [#CLICKHOUSE-2] 2018-02-18 05:22:32 +03:00
Alexey Milovidov
55c969d073 Added test [#CLICKHOUSE-2] 2018-02-12 03:55:46 +03:00
Alexey Milovidov
95bc1ffd2e Added functions parseDateTimeBestEffort, parseDateTimeBestEffortOrZero, parseDateTimeBestEffortOrNull [#CLICKHOUSE-2] 2018-02-12 02:57:07 +03:00
Alexey Milovidov
c704f8b10c Fixed build #1879 2018-02-09 22:32:12 +03:00
Nikolai Kochetov
27179b375a removed prerequisites [#CLICKHOUSE-3550] 2018-02-08 20:18:52 +03:00
Nikolai Kochetov
583ff32fe8 changed IFunction 2018-02-08 20:18:15 +03:00
Nikolai Kochetov
0d3ba65e0e fixed cast for arrays [#CLICKHOUSE-3504] 2018-01-10 22:52:39 +03:00
Alexey Milovidov
454de9243e Fixed build [#CLICKHOUSE-2] 2017-12-25 10:18:27 +03:00
Alexey Milovidov
d899d3f8f5 Added functions toNumberOrNull from String argument #1322 2017-12-25 08:22:33 +03:00
Alexey Milovidov
de8e504e02 Miscellaneous [#CLICKHOUSE-2]. 2017-12-25 07:10:43 +03:00
Alexey Milovidov
f7838e7e39 Miscellaneous [#CLICKHOUSE-2]. 2017-12-25 07:09:48 +03:00
Alexey Milovidov
8ff93487e3 Miscellaneous [#CLICKHOUSE-2]. 2017-12-25 07:01:46 +03:00
Alexey Milovidov
a168c77ee4 Proper conversions from String to Nullable types if the value cannot be parsed: development #1322 2017-12-25 05:57:54 +03:00
Alexey Milovidov
0972d7586a Added support for toQuarter, toRelativeQuarterNum functions. Enabled toRelativeHour/Minute/Second for Date arguments. Made function 'now' case insensitive. Added function 'dateDiff' that is needed for ODBC driver [#CLICKHOUSE-2]. 2017-12-22 04:54:29 +03:00
Alexey Milovidov
c5d5296889 Miscellaneous [#CLICKHOUSE-2]. 2017-12-18 07:07:26 +03:00
Alexey Milovidov
f95ddfce10 Make DataTypes totally immutable [#CLICKHOUSE-2]. 2017-12-18 04:11:48 +03:00
Alexey Milovidov
45805a367f Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-16 07:59:32 +03:00
Alexey Milovidov
7284a64740 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-16 00:32:25 +03:00
Alexey Milovidov
401fd2d6d8 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-15 05:36:40 +03:00
Alexey Milovidov
fb38ef9a8e Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-14 06:56:56 +03:00
Alexey Milovidov
bed2d644e6 Merge remote-tracking branch 'origin/master' into cow_columns 2017-12-14 04:44:35 +03:00
Alexey Milovidov
f3bb24a3bf Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-14 04:43:19 +03:00
Alexey Milovidov
0dd0d76b19 Added changes from proller [#CLICKHOUSE-2]. 2017-12-14 00:09:31 +03:00
Alexey Milovidov
c3015bece3 Miscellaneous [#CLICKHOUSE-2]. 2017-12-11 01:44:04 +03:00
Alexey Milovidov
6a568ab692 Technically allowed empty arrays of unspecified type [#CLICKHOUSE-2]. 2017-12-09 23:56:53 +03:00
Alexey Milovidov
dd40e00f86 Fixed error [#CLICKHOUSE-2] 2017-12-09 19:17:37 +03:00
Alexey Milovidov
291467647a Cleanup semantics of data types [#CLICKHOUSE-2]. 2017-12-09 19:17:37 +03:00
Alexey Milovidov
3def5f03f5 Cleanup semantics of data types [#CLICKHOUSE-2]. 2017-12-09 19:17:37 +03:00
Alexey Milovidov
d2cfda4d9b Cleanup semantics of data types [#CLICKHOUSE-2]. 2017-12-09 19:17:37 +03:00
Alexey Milovidov
c4a09a11f4 Simplification of Nullable [#CLICKHOUSE-2] 2017-12-08 06:52:33 +03:00
Alexey Milovidov
741a6e0066 Simplification of Nullable [#CLICKHOUSE-2] 2017-12-08 03:50:25 +03:00
Alexey Milovidov
be72c247fe Simplification of Nullable [#CLICKHOUSE-2] 2017-12-07 15:09:55 +03:00
Alexey Milovidov
c748493a86 Better [#CLICKHOUSE-2]. 2017-12-02 05:47:12 +03:00
proller
0d3c4f4d67 Core/FieldVisitors.h -> Common/FieldVisitors.h
Core/Progress.h -> IO/Progress.h
    tests: sudo --non-interactive
    Fix freebsd link
2017-11-24 16:55:31 +03:00
Alexey Milovidov
8517251ebd Improved performance of toString function of Date and DateTime arguments [#CLICKHOUSE-2]. 2017-11-18 02:45:49 +03:00
Alexey Milovidov
60477a9aaa Enhanced time zones support: the DateTime data type can track time zone [#CLICKHOUSE-3402]. 2017-11-09 22:25:21 +03:00
Alexey Milovidov
7a876fddb9 Attempt to fix build with gcc 6 [#CLICKHOUSE-2]. 2017-10-30 17:00:47 +03:00
Alexey Milovidov
bed7b531a1 INTERVAL operators: development [#CLICKHOUSE-3393]. 2017-10-30 08:39:30 +03:00
Alexey Milovidov
7ecc63fe71 Functions for interval arithmetic on DateTime and Date: development [#CLICKHOUSE-2]. 2017-10-29 07:18:48 +03:00
Alexey Milovidov
86c46ad1bd Unification [#CLICKHOUSE-2]. 2017-09-15 15:16:12 +03:00
Alexey Milovidov
bfdc108a08 Cleaning old code [#CLICKHOUSE-2]. 2017-07-25 01:44:13 +03:00
Alexey Milovidov
ee81d53bd5 Functions simplification [#CLICKHOUSE-2]. 2017-07-25 01:44:13 +03:00
alexey-milovidov
d4d266fa18 ColumnConst unification (#1011)
* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* Fixed error in ColumnArray::replicateGeneric [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].
2017-07-21 09:35:58 +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
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
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
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
Alexey Milovidov
9c5ddce06d Get rid of .hpp files [#CLICKHOUSE-2]. 2017-06-06 20:18:32 +03:00
f1yegor
c252863b2e translate comments 2017-05-14 19:03:55 +04:00
Vitaliy Lyudvichenko
dcb5371844 Fixed CAST(NULL AS Nullable(...)). [#CLICKHOUSE-2754] 2017-04-17 14:44:16 +03:00
Alexey Milovidov
310736cd7e Moved headers and sources to same place [#CLICKHOUSE-3]. 2017-04-01 12:22:42 +03:00