Commit Graph

21123 Commits

Author SHA1 Message Date
Ivan Lezhankin
8cb0e58bc7 Fix build for all targets 2019-09-20 21:13:51 +03:00
Ivan Lezhankin
967e00a8da It works!
if compiled with:

CC=clang CXX=clang++ cmake -Wno-dev . -Bbuild -GNinja -DCMAKE_AR:FILEPATH=x86_64-apple-darwin-ar -DCMAKE_RANLIB:FILEPATH=x86_64-apple-darwin-ranlib -DCMAKE_SYSTEM_NAME=Darwin -DSDK_PATH=MacOSX10.14.sdk -DLINKER_NAME=x86_64-apple-darwin-ld -DUSE_SNAPPY=OFF -DENABLE_SSL=OFF -DENABLE_PROTOBUF=OFF -DENABLE_PARQUET=OFF -DENABLE_READLINE=OFF -DENABLE_ICU=OFF -DENABLE_FASTOPS=OFF
2019-09-20 20:09:22 +03:00
Ivan Lezhankin
8c356a3830 WIP 2019-09-15 18:20:31 +03:00
Ivan Lezhankin
787c2b8d83 WIP 2019-09-15 13:35:19 +03:00
Ivan Lezhankin
01fdb802d4 Useful changes 2019-09-15 13:35:12 +03:00
Ivan Lezhankin
5b60053ef7 [WIP] 2019-09-13 17:56:27 +03:00
Ivan Lezhankin
e692a88196 CMake now works
Example: -DCMAKE_SYSTEM_NAME=Darwin -DSDK_PATH=${HOME}/stuff/MacOSX10.12.sdk -DLINKER_NAME=${HOME}/.local/bin/ld64
2019-09-13 17:56:27 +03:00
Ivan Lezhankin
1b5192706e Some fixes for OS X build. 2019-09-13 17:56:26 +03:00
alexey-milovidov
6b1352f65c
Merge pull request #6893 from malkfilipp/client_older_than_server
Display warning if clickhouse-client version is older than clickhouse-server.
2019-09-11 16:02:35 +03:00
alexey-milovidov
f1f177c451
Merge pull request #6896 from amosbird/bf
Build fix
2019-09-11 15:41:48 +03:00
alexey-milovidov
3ca084ec57
Merge pull request #6854 from Akazz/rwlock-cumulative-update-1
Rwlock sanitary update 1: removed weak_ptrs from implementation + added strong exception safety guarantee
2019-09-11 15:40:28 +03:00
malkfilipp
62f85c0a3a Switch to tuples 2019-09-11 11:41:57 +03:00
Amos Bird
bf799fef92 Build fix 2019-09-11 10:53:56 +08:00
alexey-milovidov
a446ec5e61
Merge pull request #6882 from clemrodriguez/issue-6825
Fix too early MySQL connection closure in MySQLBlockInputStreamream.cpp
2019-09-11 02:03:20 +03:00
alexey-milovidov
254102c5bd
Merge pull request #6602 from amosbird/object-library
Split libdbms.so using object library
2019-09-11 02:00:13 +03:00
malkfilipp
b63d2422d0 Change versions comparing from string to number 2019-09-11 01:29:21 +03:00
Akazz
7b65dfb867 Build fixed 2019-09-11 01:21:08 +03:00
alexey-milovidov
8fa72c6804
Update Client.cpp 2019-09-10 23:10:23 +03:00
Akazz
40a9495267 Some formatting + minor change 2019-09-10 22:58:04 +03:00
malkfilipp
058c04e759 Add a warning if the client is older than the server 2019-09-10 22:28:33 +03:00
akuzm
ab85d145a2
Merge pull request #6873 from yandex/aku/internal-iteration
Use internal iteration over hash tables in Aggregator.
2019-09-10 22:02:53 +03:00
Amos Bird
8f28a36c17 Use internal iteration over hash tables in Aggregator.
For compound hash tables such as the future StringHashMap, an
iterator-based API might be inefficient for iterating over a table or
for merging two tables, because:

1) the key has to be converted to a general format from a from a
   component-specific format, which may differ between the components;

2) the information about the component of the compound hash table to
   which the value belongs is lost, and has to be recalculated if the
   value is reinserted.

A more efficient approach is to use internal iteration, that is,
map-like functions, which avoids unnecessary conversions when iterating,
and allows to use an efficient component-wise approach when merging.
2019-09-10 21:52:53 +03:00
Amos Bird
a1310ffbe6 Split libdbms.so using object library
Now the linking time of incremental builds are around 1-2 seconds
2019-09-11 01:56:01 +08:00
Alexander Kuzmenkov
160e0faf77 Do not use iterator::getValue() in Aggregator.
Use separate key and "mapped" value references instead. This is
important for hash tables that do not store the key/"mapped" pair
directly, and cannot provide this interface without some runtime
overhead.
2019-09-10 20:12:30 +03:00
Alexander Kuzmenkov
8e9a8584e0 Do not provide mutable key access in hash map cells.
We don't need it anymore after we changed the hash table key memory
management to use callbacks. Removing this interface is important for
hash maps that do not store the key, such as FixedHashMap or the
prospective compound StringHashMap.
2019-09-10 20:12:30 +03:00
akazz
33f462d011 Dropped some garbage lines 2019-09-10 15:37:14 +03:00
akazz
4f71fe715c Strong exception safety guarantee:
Based on std::list<>::emplace_back() and std::unordered_map<>::emplace()
provide strong exception safety, RWLockImpl is now changed to provide
the same level of exception safety.
2019-09-10 15:33:45 +03:00
Clément Rodriguez
10be7809cd
Fix connection to early MySQL connection closure in MySQLBlockInputStream.cpp 2019-09-10 10:21:13 +02:00
proller
54a5b801b7 Build fixes (Orc, ...) (#6835)
* Fix build

* cmake: fix cpuinfo

* Fix includes after processors merge

Conflicts:
	dbms/src/Processors/Formats/Impl/CapnProtoRowInputFormat.cpp
	dbms/src/Processors/Formats/Impl/ParquetBlockOutputFormat.cpp
	dbms/src/Processors/Formats/Impl/ProtobufRowInputFormat.cpp
	dbms/src/Processors/Formats/Impl/ProtobufRowOutputFormat.cpp

* Fix build in gcc8

* fix test link

* fix test link

* Fix test link

* link fix

* Fix includes after processors merge 2

Conflicts:
	dbms/src/Processors/Formats/Impl/ParquetBlockInputFormat.cpp

* Fix includes after processors merge 3

* link fix

* Fix likely/unlikely conflict with cython

* Fix conflict with protobuf/stubs/atomicops.h

* remove unlikely.h

* Fix macos build (do not use timer_t)

* wip

* Fix build (orc, ...)

* Missing files

* Try fix

* fix hdfs

* Fix llvm 7.1 find
2019-09-10 00:40:40 +03:00
Ivan
6c32fc3fc1
Store offsets manually for each message (#6872) 2019-09-09 19:59:51 +03:00
Yuriy
6700314ce5 destroying context after executeQuery 2019-09-09 04:04:37 +03:00
alexey-milovidov
8389200229
Merge pull request #6832 from CurtizJ/merging_input_function
Merging #5450 (table function input).
2019-09-07 20:16:45 +03:00
alexey-milovidov
25de2e12a2
Merge pull request #6399 from Enmk/replica_recovery_interval
Improvements for failover of Distributed queries
2019-09-07 03:21:30 +03:00
alexey-milovidov
b7cbd33886
Merge pull request #6729 from yandex/aku/key-holder
Key memory management for compound hash tables.
2019-09-07 03:09:18 +03:00
alexey-milovidov
b3e30d51c3
Update HashTableKeyHolder.h 2019-09-07 03:09:07 +03:00
alexey-milovidov
46e7b4f925
Merge pull request #6853 from yandex/pipe-capacity-very-old-kernels
Returned support for very old Linux kernels (that lack of F_GETPIPE_SZ fcntl)
2019-09-07 03:01:42 +03:00
Olga Khvostikova
e8d8dbc40b
Merge pull request #6855 from yandex/code-cleanup-storagefile
Minor code cleanup in StorageFile
2019-09-07 01:34:27 +03:00
alexey-milovidov
be8341d174
Merge pull request #6851 from Akazz/minor_fixes_in_tests-1
Fixing a few things in stateless tests
2019-09-06 22:00:54 +03:00
stavrolia
f533485d19 Minor code cleanup 2019-09-06 21:29:41 +03:00
alexey-milovidov
00edf4fac3
Update HashTable.h 2019-09-06 21:19:50 +03:00
alexey-milovidov
805bd31641
Update dbms/src/Common/HashTable/HashTable.h
Co-Authored-By: akuzm <36882414+akuzm@users.noreply.github.com>
2019-09-06 21:12:31 +03:00
filimonov
526afd44ed Make SensitiveDataMasker a singleton. (#6810)
Among other things, it is used to filter logs, which are being written even after the global server context is deinitialized, so we can't keep masker there.
2019-09-06 20:48:27 +03:00
alexey-milovidov
2ffc99b893
Merge pull request #6846 from yandex/aku/fixed-hash-table
Cosmetic change: remove redundant functions from FixedHashTable
2019-09-06 20:20:26 +03:00
alexey-milovidov
71ed9477dc
Update FixedHashTable.h 2019-09-06 20:20:19 +03:00
alexey-milovidov
c90dfc1e48
Merge pull request #6837 from filimonov/fix_some_pvs_reported_issues
Fix some pvs reported issues
2019-09-06 20:15:14 +03:00
Alexey Milovidov
1c3fab8f2c Returned support for very old Linux kernels (that lack of F_GETPIPE_SZ fcntl) 2019-09-06 20:10:28 +03:00
akazz
f511337028 Fixing minor things 2019-09-06 18:54:33 +03:00
akazz
0f9b91a663 Cosmetic stuff 2019-09-06 18:45:49 +03:00
akazz
e7235cdcfd Minor changes 2019-09-06 18:13:22 +03:00
Alexander Kuzmenkov
cacf6d3282 Key memory management for compound hash tables.
Some aggregation methods initially emplace a temporary StringRef key
into a hash table. Then, if the key was not seen before, they make a
persistent copy of the key and update the hash table with it. This
approach is not suitable for compound hash tables, because the logic of
when the persistent key is needed is more complex, and is contained
within the hash table itself.

In this commit, we switch to managing key memory with callbacks passed
to the hash table, that allow it to request a persistent copy of the key
if it is needed. This should be more appropriate for compound hash
tables.

This commit prepares for StringHashMap PR #5417.
2019-09-06 18:05:28 +03:00