Commit Graph

57 Commits

Author SHA1 Message Date
Alexey Milovidov
956128a67a Fixed style a bit [#CLICKHOUSE-2] 2018-05-07 05:01:11 +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