Commit Graph

63 Commits

Author SHA1 Message Date
alexey-milovidov
14f14c68cb
Update FunctionsCoding.h 2019-07-19 23:58:28 +03:00
Guillaume Tassery
7063ab3c38 Set max CIDR for IPV6 cidr function 2019-07-19 11:39:25 +02:00
Alexey Milovidov
4dc0170d2c CIDR functions: better code #5095 2019-05-02 16:04:24 +03:00
Alexey Milovidov
0381a6a1ec Better code for CIDR to range functions #5095 2019-05-02 01:09:24 +03:00
Guillaume Tassery
ee742f38d9 Formatting 2019-04-30 13:53:09 +07:00
Guillaume Tassery
f21004ed7e IPv4CIDRtoIPv4Range and IPv6CIDRtoIPv6Range return now an IP 2019-04-26 13:30:07 +07:00
Guillaume Tassery
68b0144178 Remove unused header and some typo in comment for IPv6 range function 2019-04-24 13:26:28 +07:00
Guillaume Tassery
efd780f20d Apply fix for IPv6 range function when we use a column with more than one element 2019-04-24 12:19:36 +07:00
Guillaume Tassery
0e67d424da Code reformating for ip range function 2019-04-24 11:18:17 +07:00
Guillaume Tassery
56393de68e Handle UB case for CIDR IP range function and add documentation 2019-04-23 19:28:25 +07:00
Guillaume Tassery
8dee4fe5d1 Add function for get an ipv4 range using an ipv4 and a cidr mask 2019-04-23 14:02:23 +07:00
Guillaume Tassery
153c9d6455 Add function for get an IP range from a CIDR 2019-04-22 18:21:59 +07:00
Alexey Milovidov
a459b2c298 Fixed insufficient type checking in hasAll, hasAny functions 2019-03-15 02:10:51 +03:00
Alexey Milovidov
d705c4fc9c Fixed error found by UBSan; added a test for bitmask functions for negative input 2019-02-09 22:44:27 +03:00
Vasily Nemkov
2716df8ab2 IPv4 and IPv6 Domain implementation.
Added:
 * IDataTypeDomain interface;
 * method DataTypeFactory::registerDataTypeDomain for registering domains;
 * DataTypeDomainWithSimpleSerialization domain base class with simple serialization/deserialization;
 * Concrete IPv4 and IPv6 domain implementations: DataTypeDomanIPv6 and DataTypeDomanIPv4;

Updated:
 * IDataType text serialization/deserialization methods;
 * IDataType implementation to use domain for text serialization/deserialization;
 * Refactored implementation of the IPv4/IPv6 functions to use formatIPv4/v6 and parseIPv4/v6 from Common/formatIPv6.h;

Tests:
 * Added test cases for IPv4 and IPv6 domains.
 * Updated IPv4/v6 functions tests to validate more cases;
 * Added performance tests for IPv4 and IPv6 related functions;
2019-02-04 12:37:46 +03:00
Alexey Milovidov
1d4701b0bc Added some warnings from clang's -Weverything 2019-01-04 15:10:00 +03:00
Alexey Milovidov
f3c72daf50 Fixed name [#CLICKHOUSE-2] 2018-12-07 06:21:17 +03:00
Alexey Milovidov
dbbf148a98 Every function in its own file, part 8 [#CLICKHOUSE-2] 2018-12-02 04:57:01 +03:00
Alexey Milovidov
c77930fe30 Whitespaces [#CLICKHOUSE-2] 2018-11-26 03:56:50 +03:00
Alexey Milovidov
141e9799e4 Fixed error with "extractURLParameter" function (read after buffer); improved performance; added support for zero bytes in URLs; renamed Chars_t type [#CLICKHOUSE-2] 2018-11-25 03:08:50 +03:00
Alexey Milovidov
f720a5bf95 Fixed typos in code #3373 2018-10-13 17:33:43 +03:00
chertus
0b35cdae69 refactoring: add some sugar in type checks [CLICKHOUSE-0002] 2018-09-07 17:37:26 +03:00
Alexey Milovidov
538edbb8e2 Addition to prev. revision [#CLICKHOUSE-2] 2018-09-02 06:33:48 +03:00
Alexey Milovidov
d27c7ed08a Addition to prev. revision [#CLICKHOUSE-2] 2018-09-02 06:10:21 +03:00
Alexey Milovidov
fc27be314b Avoid temporary nullptr references [#CLICKHOUSE-2] 2018-09-02 06:00:04 +03:00
Nikolai Kochetov
c8457abb1b Made IFunction::isDeterministic and IFunction::isDeterministicInScopeOfQuery are const. Disabled default implementation with dictionary for not isDeterministicInScopeOfQuery functions. 2018-08-08 14:26:18 +03:00
Tsarkova Anastasia
12c8014e5c Conditional computations. 2018-04-24 09:16:39 +02:00
Alexey Zatelepin
610f70fbeb forbid non-deterministic functions in primary and partition keys [#CLICKHOUSE-3455] 2018-02-21 20:54:16 +03:00
Alexey Milovidov
104b09604a Merging [#CLICKHOUSE-3114] 2017-12-28 00:45:05 +03:00
Alexey Milovidov
3f0c4bf61c Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-16 05:34:02 +03:00
Alexey Milovidov
7284a64740 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-16 00:32:25 +03:00
Alexey Milovidov
fb38ef9a8e Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-14 06:56:56 +03:00
Alexey Milovidov
f3bb24a3bf Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-14 04:43:19 +03:00
Alexey Milovidov
291467647a Cleanup semantics of data types [#CLICKHOUSE-2]. 2017-12-09 19:17:37 +03:00
Alexey Milovidov
c748493a86 Better [#CLICKHOUSE-2]. 2017-12-02 05:47:12 +03:00
Alexey Milovidov
7196602e12 Better [#CLICKHOUSE-2]. 2017-12-02 00:51:50 +03:00
Alexander Makarov
5b113df16c Rewrote pieces of code with ambiguous '&pointer[offset]' semantics 2017-11-15 22:22:32 +03:00
proller
5250650f65 Fixes (#1286)
* Revert "Simplification [#CLICKHOUSE-2]."

This reverts commit 98ad6a5db3.

* Fix error: comparison of unsigned expression < 0 is always false

* Fix float division by zero

* Fix float division by zero

* Disable PointInPolygon function if compiling with old clang

* Fix warning:
dbms/src/Functions/FunctionsCoding.h:336:21: error: comparison of constant -1 with expression of type 'const char' is always true [-Werror,-Wtautological-constant-out-of-range-compare]
            if (num != -1)

* Fix
2017-09-26 23:29:34 +03:00
Alexey Milovidov
b370551e67 Fixed redundant code in IPv4NumToStringClassC function and removed copy-paste [#CLICKHOUSE-3281]. 2017-09-06 06:24:39 +03:00
Alexey Milovidov
ff8940ddbe Fixed bad code [#CLICKHOUSE-3281]. 2017-09-06 06:24:39 +03:00
Alexey Milovidov
60263d943e IPv6StringToNum: fixed missing overflow check [#CLICKHOUSE-3281]. 2017-09-06 06:24:39 +03:00
Alexey Milovidov
24ac5a68e1 More uniform style [#CLICKHOUSE-3281]. 2017-09-06 06:24:39 +03:00
Alexey Milovidov
0ef64e5dfe Fixed error [#CLICKHOUSE-2]. 2017-08-14 02:58:04 +03:00
Alexey Milovidov
6edb14ba6b Fixed garbage [#CLICKHOUSE-2]. 2017-08-09 04:35:12 +03:00
proller
8f6c2d4e47 Fix .h compile 2017-08-01 18:02:16 +03:00
Guillaume Tassery
03bbe9938a Function for generate an uuid v4 (#1008)
* Fix compilation error when include FunctionsRandom.h twice

* Implement function for generate UUID V4

* remove isDeterministicInScopeOfQuery for generateUUIDV4

* Uniformize RandX Implementation

* rename generateUUIDV4 into generateUUIDv4

* Modify random function for making it more generic
2017-07-25 20:00:38 +03:00
Alexey Milovidov
ee81d53bd5 Functions simplification [#CLICKHOUSE-2]. 2017-07-25 01:44:13 +03:00
Alexey Milovidov
efaa44bea8 Attempt to improve performance [#CLICKHOUSE-3]. 2017-07-23 09:53:28 +03:00
Alexey Milovidov
a76061e1a9 Fixed MAC address related functions; added test [#CLICKHOUSE-3]. 2017-07-23 09:13:57 +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