Commit Graph

180 Commits

Author SHA1 Message Date
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
9c5ddce06d Get rid of .hpp files [#CLICKHOUSE-2]. 2017-06-06 20:18:32 +03:00
f1yegor
0bf5182020 translate comments: etc 2017-05-28 16:32:59 +02:00
Marek Vavruša
95d926ec14 AggregateFunctionTopK: smaller initial table size
By default start with 2^4 elements
2017-05-13 03:58:05 +04:00
Alexey Milovidov
cfc4c987c5 Added optional length parameter to aggregate function groupArrayInsertAt [#CLICKHOUSE-3003]. 2017-05-12 23:57:24 +03:00
Alexey Milovidov
1d090bd4e2 AggregateFunctionGroupArrayInsertAt: fixed error [#CLICKHOUSE-3003]. 2017-05-12 23:05:19 +03:00
Alexey Milovidov
9ad1d5676a Miscellaneous [#CLICKHOUSE-2]. 2017-05-12 01:21:06 +03:00
Marek Vavruša
45bd332460 AggregateFunctionTopK: fix memory usage, performance
* allow separate table key / hash key, and use
  std::string / StringRef for generic variant as
  it has built-in storage and StringRef is supported
  by the hash table, this avoids infinitely
  growing arena with serialised keys
* use power-of-2 size for alpha vector for faster
  binning without using modulo
* use custom grower and allocator for SpaceSaving
  to start with smaller tables
* store computed hash in counter for faster
  reinsertion of smallest element
2017-05-11 18:52:49 +04:00
Alexey Milovidov
2a57cfdbc2 Aggregate function groupArrayInsertAt: development [#CLICKHOUSE-2]. 2017-05-10 04:42:15 -04:00
Alexey Milovidov
21c5ee0f1d Aggregate function groupArrayInsertAt: development [#CLICKHOUSE-2]. 2017-05-10 04:41:25 -04:00
Alexey Milovidov
19d0d47c8a Aggregate function groupArrayInsertAt: development [#CLICKHOUSE-2]. 2017-05-10 04:40:14 -04:00
Alexey Milovidov
21af887758 Added aggregate function 'groupArrayInsertAt' (for Graphite) [#CLICKHOUSE-2]. 2017-05-10 01:46:23 -04:00
Alexey Milovidov
b9a7917a8d Tiny modifications [#CLICKHOUSE-2]. 2017-05-10 01:43:27 -04:00
Alexey Milovidov
542eba7e17 Fixed translation errors [#CLICKHOUSE-3]. 2017-05-10 00:30:33 -04:00
proller
fac00792f9 Move most AggregateFunctions to separate lib, use AggregateFunctionFactory as singletone, rename lib storages_system->clickhouse_storages_system 2017-05-05 16:59:18 -07:00
Alexey Milovidov
d3e6321967 AggregateFunctionTopK: minor modifications [#CLICKHOUSE-2]. 2017-05-05 16:36:02 -07:00
proller
9a937591e5 Try fix freebsd 11-STABLE OCbuild 2017-05-04 18:25:34 +03:00
Marek Vavruša
5f1e65b252 AggregateFunctions: implemented topK(n)
This implements a new function for approximate
computation of the most frequent entries using
Filtered Space Saving with a merge step adapted
from Parallel Space Saving paper.

It works better for cases where GROUP BY x
is impractical due to high cardinality of x,
such as top IP addresses or top search queries.
2017-05-03 23:09:52 -07:00
Vitaliy Lyudvichenko
6d93d9cefb Combinator -MergeState now returns AggregateFunction(nested_func). [#CLICKHOUSE-2891] 2017-05-03 20:59:42 -07:00
Alexey Milovidov
563e21247e Style [#CLICKHOUSE-2]. 2017-04-20 21:35:39 +03:00
Alexey Milovidov
b491ee7f63 Style [#CLICKHOUSE-2]. 2017-04-20 19:41:03 +03:00
f1yegor
0b243a8b01 translate comments 2017-04-16 23:17:32 +03:00
Alexey Milovidov
41e97787e3 Less dependencies [#CLICKHOUSE-2]. 2017-04-16 08:40:17 +03:00
Alexey Milovidov
6b5e6104a9 ForEach combinator of aggregate functions: little better [#CLICKHOUSE-2952]. 2017-04-16 07:35:21 +03:00
Alexey Milovidov
d9793bf5fe Fixed -ForEach combinator of aggregate functions [#CLICKHOUSE-2952]. 2017-04-16 07:16:22 +03:00
Alexey Milovidov
ef3557950c Less dependencies [#CLICKHOUSE-2952]. 2017-04-16 07:03:14 +03:00
Alexey Milovidov
83ed2a794b Fixed -ForEach combinator of aggregate functions [#CLICKHOUSE-2952]. 2017-04-16 06:38:37 +03:00
Maxim Fridental
99dc3ea016 Implement ForEach modifier for aggregate functions. 2017-04-16 02:49:11 +03:00
Alexey Milovidov
5b29658aae MemoryTracker: more convenient for investigations [#CLICKHOUSE-2935]. 2017-04-11 00:43:59 +03:00
Alexey Milovidov
a0b9bf5e97 Moved code to cpp [#CLICKHOUSE-2]. 2017-04-08 04:32:05 +03:00
Alexey Milovidov
310736cd7e Moved headers and sources to same place [#CLICKHOUSE-3]. 2017-04-01 12:22:42 +03:00
Alexey Milovidov
137ad95929 Changed tabs to spaces in code [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
Alexey Milovidov
14c8003081 Normalized formatting [#CLICKHOUSE-3].
Apply in a loop:
find dbms -name '*.h' -or -name '*.cpp' | xargs grep -l -P '^(\t*)    ' | xargs sed -i -r -e 's/^(\t*)    /\1\t/'
2017-03-26 04:28:07 +03:00
f1yegor
bc0d9a2cae translate comments 2017-03-25 21:12:56 +01:00
alexey-milovidov
6d5bfc8c6f Refactoring of numeric DataTypes (#581)
* Better code [#CLICKHOUSE-2].

* Addition to prev. revision [#CLICKHOUSE-2].

* Addition to prev. revision [#CLICKHOUSE-2].

* Addition to prev. revision [#CLICKHOUSE-2].
2017-03-12 14:13:45 +04:00
Alexey Milovidov
17e3a4ff1f Implemented aggregate function 'count' with Nullable arguments to count number of not-NULL values [#CLICKHOUSE-2833]. 2017-02-10 12:02:10 +03:00
alexey-milovidov
0d5c0b8350 Proper behaviour of aggregate functions of nullable arguments (#473)
* Proper behaviour of aggregate functions of Nullable arguments [#CLICKHOUSE-2832].

* Proper behaviour of aggregate functions of Nullable arguments [#CLICKHOUSE-2832].
2017-02-10 09:03:42 +04:00
Vitaliy Lyudvichenko
d2e594cdf7 Fixed groupUniqArray for Date and DateTime types. [#METR-23869] 2016-12-16 13:59:16 +03:00
Alexey Arno
924402f33e dbms: Server: merged from master [#METR-19266] 2016-10-19 18:00:56 +03:00
Vitaliy Lyudvichenko
80f037b12e Added arena parameter into merge() method of aggregation function states. [#METR-22071] 2016-09-26 15:42:40 +03:00
Vitaliy Lyudvichenko
946a037f71 Added requested changes. [#METR-22071] 2016-09-23 14:24:48 +03:00
Vitaliy Lyudvichenko
37ed6a3038 Fixed dynamic complation errors. [#METR-22071] 2016-09-21 20:13:32 +03:00
Vitaliy Lyudvichenko
451a4b1d67 Added new Arena parameter to add() method of IAggregateFunction. [#METR-22071] 2016-09-21 20:13:32 +03:00
Vitaliy Lyudvichenko
0a93de0727 Leave only HashSet implementation. [#METR-22071] 2016-09-21 20:13:32 +03:00
Vitaliy Lyudvichenko
924075621e Added three experimental implementations for groupUniqArray() aggregate function. [#METR-22071] 2016-09-21 20:13:32 +03:00
Alexey Arno
f4e77aaf97 dbms: Better code for functions processing. Code cleanup. [#METR-19266] 2016-08-15 14:14:29 +03:00
Alexey Arno
531ff3d5ac dbms: Merged with master [#METR-19266] 2016-08-05 18:44:19 +03:00
Alexey Milovidov
55ed2904f4 Allowed for certain aggregate functions to have case insensitive names for compatibility [#METR-22087]. 2016-07-14 08:22:09 +03:00
Alexey Arno
13b4a5bd4a dbms: aggregate function support [#METR-19266] 2016-07-12 16:02:52 +03:00
Alexey Milovidov
b408afa74f Added 'anyHeavy' aggregate function [#METR-21691]. 2016-06-26 15:48:04 +03:00
Alexey Milovidov
6d33959183 Using std::shared_ptr for functions and AST [#METR-21503]. 2016-05-28 19:28:52 +03:00
Alexey Milovidov
8c4abcdd43 Using std::shared_ptr for functions and AST [#METR-21503]. 2016-05-28 18:42:22 +03:00
Alexey Milovidov
be394f2c84 Using std::shared_ptr for data types [#METR-21503]. 2016-05-28 10:48:40 +03:00
Alexey Milovidov
18016c4221 Merge 2016-03-12 07:01:03 +03:00
Alexey Milovidov
a6df232eac Fixing warnings on clang [#METR-2807]. 2016-03-07 09:23:57 +03:00
Alexey Milovidov
4aa0a85ca2 Fixing warning on clang [#METR-2807]. 2016-03-07 09:00:25 +03:00
Alexey Milovidov
aea710d430 Removed function groupUniqArray from Array argument [#METR-20150]. 2016-02-20 22:04:35 +03:00
Alexey Milovidov
c062fc1ce0 dbms: cutting dependency [#METR-2944]. 2016-01-12 05:21:15 +03:00
Alexey Milovidov
59ea7c4542 dbms: added comment [#METR-19278]. 2015-12-23 09:59:53 +03:00
Alexey Milovidov
b95b48ee62 dbms: aggregate function debug: better check for double free [#METR-19278]. 2015-12-23 09:59:53 +03:00
Alexey Milovidov
1c54336078 dbms: added aggregate function 'debug' to better reproduce the problem [#METR-19278]. 2015-12-23 09:59:53 +03:00
Alexey Milovidov
2c67747a0d dbms: implemented quantilesTDigest and quantilesTDigestWeighted aggregate functions [#METR-19024]. 2015-11-21 17:04:43 +03:00
Alexey Milovidov
31c09b4d2d dbms: added weighted variants of t-digest [#METR-19024]. 2015-11-21 16:24:51 +03:00
Alexey Milovidov
57e8a8fdbb dbms: added t-digest algorithm [#METR-19024]. 2015-11-21 15:47:41 +03:00
Alexey Milovidov
49580a9048 dbms: added aggregate function quantileExactWeighted and companions [#METR-18778]. 2015-11-15 11:31:08 +03:00
Alexey Milovidov
8732e7a3f1 dbms: improved performance of aggregate function groupArray [#METR-18778]. 2015-11-15 07:54:56 +03:00
Alexey Milovidov
4c87ec04b4 dbms: quantileExact: initial implementation [#METR-18778]. 2015-11-15 06:11:24 +03:00
Alexey Milovidov
75bde11360 dbms: implemented TODO [#METR-18564]. 2015-10-29 07:13:18 +03:00
Alexey Milovidov
bb7d8f3ed5 dbms: implemented exact version of uniq of variadic number of arguments; improved performance of non-exact version [#METR-18564]. 2015-10-29 07:02:22 +03:00
Alexey Milovidov
5862506095 dbms: added variadic variant of aggregate function uniqUpTo [#METR-18564]. 2015-10-29 06:41:09 +03:00
Alexey Milovidov
45065d53aa dbms: aggregate functions uniq with variable number of arguments: initial implementation [#METR-18564]. 2015-10-29 05:13:37 +03:00
Alexey Milovidov
270652a55b dbms: preparation [#METR-18564]. 2015-10-29 04:57:22 +03:00
Alexey Milovidov
bb283e6602 dbms: added support for different numeric types in function has [#METR-18382]. 2015-10-12 10:05:54 +03:00
Alexey Arno
e86428b4ac Merge 2015-10-08 17:23:23 +03:00
Alexey Milovidov
f725116826 dbms: fixed error [#METR-18249] [#METR-17924]. 2015-10-01 04:35:18 +03:00
Alexey Arno
19bc3181f2 Merge 2015-09-24 15:40:36 +03:00
Alexey Arno
f93141355b Merge 2015-08-31 16:53:16 +03:00
Andrey Mironov
acb10923de add aggregate function sequenceCount [#METR-17427] 2015-08-21 18:58:31 +03:00
Alexey Milovidov
99d64cbc7f Merge 2015-07-26 15:06:29 +03:00
Alexey Arno
3314579909 Merge 2015-07-20 20:09:43 +03:00
Alexey Milovidov
890ee9c0fa dbms: removed aggregate function 'debug' [#METR-2944]. 2015-06-06 02:19:15 +03:00
Alexey Milovidov
68cfd47195 dbms: added missing aggregate function synonim [#METR-16266]. 2015-05-30 00:33:18 +03:00
Alexey Arno
5f0a1cab74 dbms: Server: Feature implementation. [#METR-16188] 2015-05-18 01:33:17 +03:00
Alexey Arno
bf6aecc826 dbms: Server: Feature implementation. [#METR-16188] 2015-05-17 20:46:21 +03:00
Alexey Arno
b0abc2dc2a dbms: Server: Feature implementation. [#METR-16188] 2015-05-15 18:01:05 +03:00
Andrey Mironov
be67de26b5 dbms: sequenceMatch aggregate function draft, temporal conditions currently ignored [#METR-16058] 2015-05-07 17:04:27 +03:00
Alexey Arno
5463d74a84 Merge 2015-04-24 18:49:30 +03:00
Alexey Milovidov
ba5a54ef7a dbms: temporarily added aggregate function 'debug' [#METR-15530]. 2015-03-19 06:58:23 +03:00
Alexey Milovidov
eea281236d dbms: improved performance of aggregate functions argMin, argMax (about 5 times) [#METR-2944]. 2015-03-01 04:06:49 +03:00
Alexey Milovidov
03b1849bac dbms: added aggregate functions quantileTimingWeighted, quantilesTimingWeighted, medianTimingWeighted [#METR-15181]. 2015-02-27 20:38:21 +03:00
Alexey Milovidov
2520c2e610 dbms: added small set optimization for aggregate function uniqHLL12 [#METR-2944]. 2015-02-22 10:23:37 +03:00
Andrey Mironov
57abed9773 dbms: check argument count for *If aggregate functions. [#METR-15164] 2015-02-19 19:27:19 +03:00
Andrey Mironov
eaa8a75a63 dbms: prohibit narrow-width integral types for determinator of quantile(s)Deterministic. [#METR-13199] 2014-11-21 17:07:25 +03:00
Andrey Mironov
d0971956e0 dbms: add quantile[s]Deterministic, rename stdext:: to ext:: [#METR-13199] 2014-11-21 16:34:37 +03:00
Alexey Milovidov
4a3d9082f7 dbms: improved performance of aggregate functions min, max, any, anyLast [#METR-2944]. 2014-08-18 09:45:41 +04:00
Alexey Milovidov
1a40e1942c dbms: added aggregate function uniqUpTo [#METR-12017]. 2014-07-25 00:20:36 +04:00
Alexey Milovidov
108a7850a5 dbms: improved performance on short queries [#METR-11571]. 2014-06-26 04:58:14 +04:00
Sergey Fedorov
214e8aa9ea Merge 2014-05-21 17:30:42 +04:00
Alexey Milovidov
a4fc77a8cb dbms: removed useless code, fixed error [#METR-10719]. 2014-05-16 05:25:20 +04:00
Alexey Milovidov
63cff6a5a4 Improvement [#METR-2807]. 2014-04-08 11:58:53 +04:00