Commit Graph

15910 Commits

Author SHA1 Message Date
alexey-milovidov
f61212cdae
Merge pull request #6906 from amosbird/bf2
Fix non-ssl build.
2019-09-12 03:11:14 +03:00
alexey-milovidov
6fbf9ca7ab
Merge pull request #6911 from yandex/fix-insert-select-data-loss
Fix insert select data loss
2019-09-12 00:36:59 +03:00
Amos Bird
93c0880ca7 Fix non-ssl build. 2019-09-12 04:20:27 +08:00
Nikolai Kochetov
a2248868d8 Fix ast type checking. 2019-09-11 18:37:12 +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
Nikolai Kochetov
a59ae3826d Do not flush output stream in copy data. Add special flushing callback to Watch query. 2019-09-11 14:38:05 +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
Akazz
7b65dfb867 Build fixed 2019-09-11 01:21:08 +03:00
Akazz
40a9495267 Some formatting + minor change 2019-09-10 22:58:04 +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
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
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
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
Alexander Kuzmenkov
05095111a1 Cosmetic change: remove redundant functions from FixedHashTable 2019-09-06 17:47:32 +03:00
akazz
13631d2da3 Removed some garbage 2019-09-06 16:58:37 +03:00
Anton Popov
69da4f30b3
Merge branch 'master' into merging_input_function 2019-09-06 16:20:00 +03:00
filimonov
f505549b43
changed wrong pvs suppression code 2019-09-06 14:46:42 +02:00
alexey-milovidov
3d8ec8fb33
Merge pull request #6823 from yandex/fancyqlx-master
Merge #6167
2019-09-06 03:18:26 +03:00
alexey-milovidov
05a1a7ac71
Update InterpreterSelectQuery.cpp 2019-09-06 03:18:06 +03:00
alexey-milovidov
18dcb3753d
Merge pull request #6824 from 4ertus2/mjoin
Refactoring (ExpressionAnalyzer & SubqueryForSet)
2019-09-06 03:17:16 +03:00
Denis Zhuravlev
50c32490be
Update arrayElement.cpp
Typo in error message ( is -> are )
2019-09-05 19:41:27 -03:00
Olga Khvostikova
4129d8cf60
Merge pull request #6092 from yandex/globs-in-file-one-more-attempt
Globs in storage file and HDFS
2019-09-05 23:05:37 +03:00
Olga Khvostikova
f90642ce23
Merge pull request #6610 from CurtizJ/merging_with_ties_and_with_fill
WITH TIES modifier for LIMIT and WITH FILL modifier for ORDER BY. (continuation of #5069)
2019-09-05 22:45:48 +03:00
akazz
32c77cd933 Dropped weak_ptrs! 2019-09-05 21:09:33 +03:00