Commit Graph

503 Commits

Author SHA1 Message Date
Alexey Milovidov
0c8e082954 Using GatherUtils (experimental) [#CLICKHOUSE-2]. 2017-07-25 01:44:13 +03:00
Alexey Milovidov
1557fa2e8d Removed "dispatchFor" templates, because gcc 6 cannot compile them (only clang is capable) [#CLICKHOUSE-2]. 2017-07-25 01:44:13 +03:00
Alexey Milovidov
ffbd2f46f9 GatherUtils (experimental) [#CLICKHOUSE-2]. 2017-07-25 01:44:13 +03:00
Alexey Milovidov
9540a2da90 GatherUtils (experimental) [#CLICKHOUSE-2]. 2017-07-25 01:44:13 +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
bbe70e8cfa Update FunctionsStringSearch.cpp 2017-07-24 20:36:16 +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
31d8ba3b34 Fixed error after merge [#CLICKHOUSE-3150]. 2017-07-21 23:20:22 +03:00
Nikolai Kochetov
5477e7c1f9 added date and time to number functions [#CLICKHOUSE-3132] 2017-07-21 20:51:08 +03:00
Alexey Milovidov
3a0bf8e642 Fixed error after merge [#CLICKHOUSE-3150]. 2017-07-21 09:55:33 +03:00
Alexey Milovidov
e1cc8289b2 Fixed error after merge [#CLICKHOUSE-3150]. 2017-07-21 09:46:50 +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
Vladimir Chebotarev
7254478fde functions: Remote mode for hasColumnInTable. [#CHEBOTAREV-9] 2017-07-20 17:08:42 +03:00
Alexey Milovidov
bfc099ea5f Miscellaneous [#CLICKHOUSE-2]. 2017-07-17 01:41:15 +03:00
Alexey Milovidov
5c3ca0c16e Inverted dependency in DataTypeFactory [#CLICKHOUSE-3149]. 2017-07-16 07:11:11 +03:00
Alexey Milovidov
9406b6a5aa Get rid of ASTSet, because it is not really an AST and it lead to bugs [#CLICKHOUSE-3148]. 2017-07-15 06:48:36 +03:00
alexey-milovidov
37985d3cb8 Merge pull request #981 from yandex/reduce-memory-consumprion-during-reading-column-string-from-native-block
Reduce memory consumprion during reading column string from native block
2017-07-14 00:01:50 +03:00
Nikolai Kochetov
75be0b81d8 removed typeid_cast from IColumn.h 2017-07-13 23:58:19 +03:00
Maxim Fridental
82b53b712a findClusterIndex: fix virtual method, improve formatting 2017-07-13 22:39:37 +03:00
Maxim Fridental
ff4df27cad Improve implementation of findClusterIndex and findClusterValue, add test 2017-07-13 22:39:37 +03:00
Nikolai Kochetov
985e449bd3 added IDataType::updateAvgValueSizeHints; renamed PODArray::allocated_size to PODArray::allocated_bytes; renamed renamed IColumn::allocatedSize to IColumn::allocatedBytes; removed IColumn.h from IDataType.h 2017-07-13 19:49:09 +03:00
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
Alexey Milovidov
4b852584ce Whitespaces [#CLICKHOUSE-2]. 2017-05-12 17:01:02 +03:00
Dmitry Luhtionov
a21a6caf4e Доюавленф функции FunctionMACNumToString и FunctionMACStringToNum 2017-05-10 08:16:06 -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
b007f6ba18 Analyzers: added type inference for higher order functions [#CLICKHOUSE-11]. 2017-04-24 07:31:03 +03:00
proller
8cf716fa29 Functions as separate lib 2017-04-21 21:30:16 +03:00
Alexey Milovidov
53364dcc8d Fixed totally wrong code; implemented function emptyArrayToSingle for generic case [#CLICKHOUSE-2963]. 2017-04-19 08:08:22 +03:00
Alexey Milovidov
ed3c0125cd Added support for Nullable types in higher order functions [#CLICKHOUSE-4]. 2017-04-19 06:35:11 +03:00
alexey-milovidov
35abae95c8 Allow to disable ICU (#711)
* Allow to disable ICU [#CLICKHOUSE-2].

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

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

* Addition to prev. revision [#CLICKHOUSE-2].
2017-04-19 04:06:29 +03:00
alexey-milovidov
c9c8c8ec50 Better option to disable mysqlclient (#710)
* Better support for disabling libmysqlclient [#CLICKHOUSE-2].

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

* Addition to prev. revision [#CLICKHOUSE-2].
2017-04-19 03:25:57 +03:00
artpaul
0ba72436db #214 fix conversion from fixed-string to string 2017-04-19 03:17:44 +03:00
Alexey Milovidov
f76680d47e Fixed function toStringCutToZero with argument of type String [#CLICKHOUSE-2958]. 2017-04-17 20:49:11 +03:00
Vitaliy Lyudvichenko
dcb5371844 Fixed CAST(NULL AS Nullable(...)). [#CLICKHOUSE-2754] 2017-04-17 14:44:16 +03:00
proller
72ccc69212 Debian: simpler package (#662)
* Allow use external re2 with re2_st=re2

* fix

* remove dupe

* use re2_st in FunctionsStringSearch.h

* fix

* move files from tools/etc to debian

* dont generate control

* version

* ok.

* wip

* Cmake: dont touch CMAKE_INSTALL_PREFIX

* wip

* works!

* clean

* okay

* like old

* wip

* wip

* okay

* clickhouse-server-base-dbg

* clean

* clickhouse-server-dbg

* Debian: Remove daemons

* Update rules

* add source/format

* control clean

* add watch

* clean

* clean

* temp fix build

* clean

* docs

* fake make_control

* fix

* testme

* testme

* add metrika package

* fake metrika files
2017-04-10 20:43:30 +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
4f44445ff0 Removed all trailing whitespaces [#CLICKHOUSE-2]. find . -name '*.h' -or -name '*.cpp' -or -name '*.cmake' -or -name 'CMakeLists.txt' -or -name '*.html' -or -name '*.xml' | grep -v contrib | xargs sed -i -r -e 's/\s+$//' 2017-03-31 19:00:30 +03:00
Alexey Milovidov
cc43f989bc Preparation [#CLICKHOUSE-4]. 2017-03-29 14:33:07 +03:00
Alexey Milovidov
8b2f769f12 Fixed error after translated comments [#CLICKHOUSE-3]. 2017-03-26 05:07:15 +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
Alexey Milovidov
93890423f1 Fixed zero-width spaces [#CLICKHOUSE-3].
find dbms -name '*.h' -or -name '*.cpp' | xargs grep -l $'\xe2\x80\x8b' | xargs sed -i 's/'$'\xe2\x80\x8b''//g'
2017-03-26 04:20:25 +03:00
Alexey Milovidov
edd405ef29 Merge branch 'docs/translate' of https://github.com/f1yegor/ClickHouse into f1yegor-docs/translate 2017-03-26 04:17:58 +03:00
Alexey Milovidov
e6ba252507 Hierarchical dictionaries performance: continued [#CLICKHOUSE-2144]. 2017-03-26 03:42:01 +03:00
f1yegor
bc0d9a2cae translate comments 2017-03-25 21:12:56 +01:00
Alexey Milovidov
f5434cd2ae Separated functions for embedded and external dictionaries [#CLICKHOUSE-2144]. 2017-03-25 21:11:09 +03:00
Alexey Milovidov
910c542994 Added more bitwise functions [#CLICKHOUSE-2884]. 2017-03-20 22:16:02 +03:00
proller
930ac5b2ce move ClickHouseRevision to dbms 2017-03-16 13:51:41 +04:00