Commit Graph

443 Commits

Author SHA1 Message Date
Artur
d0b69c08ac show warnings to client, when it is connected 2021-07-13 11:13:42 +00:00
kssenii
7a57f2a983 Turn on fuzzing, fix tests 2021-07-12 20:26:21 +03:00
kssenii
bc3c038ac7 Better 2021-07-12 17:01:46 +03:00
kssenii
9ff54216ea More merges in query execution code 2021-07-12 15:25:17 +03:00
kssenii
e31eccfaf2 Support multiquery option 2021-07-12 12:34:37 +03:00
kssenii
a10b9ed63a Start merging query processing code 2021-07-12 02:17:14 +03:00
kssenii
d58a5537c2 Fix details 2021-07-12 00:54:41 +03:00
kssenii
026fa0ca64 Merge main, mainImpl code, allow interactive mode for clickhouse-local 2021-07-11 23:35:29 +03:00
kssenii
0b5dab1326 Merge init code for local and client 2021-07-11 14:36:27 +03:00
Vladimir
3157a46596
Fix special build, minor fix in Client.cpp 2021-07-10 13:28:44 +03:00
Alexey Milovidov
c63237f8e4 Merge branch 'master' into exception_id 2021-07-10 11:14:46 +03:00
Alexey Milovidov
1f91c65aca Add error id to exceptions 2021-07-10 05:43:53 +03:00
Anton Popov
3588c5ad17 add color for double colon 2021-07-09 23:32:14 +03:00
Azat Khuzhin
170301c531 Ignore TOO_DEEP_RECURSION server exception during fuzzing 2021-06-28 10:37:49 +03:00
Azat Khuzhin
7739fcc295 clickhouse-client: fix NULL dereference for --param w/o value 2021-06-24 00:08:18 +03:00
kssenii
e0f330331b Fix exception 2021-06-22 19:15:34 +03:00
alexey-milovidov
7cd86086c2
Merge pull request #25521 from azat/fuzzer-catch-TOO_DEEP_RECURSION
Catch TOO_DEEP_RECURSION in fuzzer for formatted query too
2021-06-21 02:03:55 +03:00
Azat Khuzhin
fa29fe6ba9 Catch TOO_DEEP_RECURSION for formatted query too 2021-06-21 00:39:59 +03:00
Anton Popov
d8b6f15ef4
Merge pull request #23027 from azat/distributed-push-down-limit
Add ability to push down LIMIT for distributed queries
2021-06-20 23:08:50 +03:00
Azat Khuzhin
2bc9664b52 Catch "Maximum parse depth" error in fuzzer
This exception should not fail the fuzzer check like here [1].

  [1]: https://clickhouse-test-reports.s3.yandex.net/25494/c6339b4c08ad8f50bf34831367de9a1ea90b1e09/fuzzer_msan/report.html#fail1
2021-06-19 21:34:37 +03:00
kssenii
bdc8fe1ca0 Merge branch 'master' of github.com:ClickHouse/ClickHouse into progress-bar 2021-06-18 09:33:29 +03:00
alexey-milovidov
43cee9018e
Merge pull request #25281 from ClickHouse/client-update-prompt-on-reconnect
Update prompt in client when reconnecting
2021-06-17 01:40:08 +03:00
Maksim Kita
67e9b85951 Merge ext into common 2021-06-16 23:28:41 +03:00
Nikita Mikhaylov
a52bba91b7
Merge pull request #16401 from abyss7/ast-table-identifier-2
ASTTableIdentifier part #2: Introduce ASTTableIdentifier
2021-06-15 13:51:30 +03:00
Alexey Milovidov
e3653e70da Update prompt in client when reconnecting 2021-06-15 04:43:35 +03:00
mergify[bot]
9cfedd9c64
Merge branch 'master' into progress-bar 2021-06-12 01:15:23 +00:00
alexey-milovidov
3792d20061
Merge pull request #24863 from azat/echo-hint
clickhouse-client: echo hint improvements
2021-06-12 03:23:54 +03:00
Ivan
a7fa4e641c
Merge branch 'master' into ast-table-identifier-2 2021-06-10 16:43:22 +03:00
Alexander Kuzmenkov
c0e6aa97a6
Merge pull request #24734 from ClickHouse/aku/frame-expressions
support expressions in window frame
2021-06-10 00:25:32 +03:00
mergify[bot]
3a47feedb0
Merge branch 'master' into progress-bar 2021-06-09 08:04:48 +00:00
Azat Khuzhin
18e8f0eb5e Add ability to push down LIMIT for distributed queries
This way the remote nodes will not need to send all the rows, so this
will decrease network io and also this will make queries w/
optimize_aggregation_in_order=1/LIMIT X and w/o ORDER BY faster since it
initiator will not need to read all the rows, only first X (but note
that for this you need to your data to be sharded correctly or you may
get inaccurate results).

Note, that having lots of processing stages will increase the complexity
of interpreter (it is already not that clean and simple right now).

Although using separate QueryProcessingStage looks pretty natural.

Another option is to make WithMergeableStateAfterAggregation always, but
in this case you will not be able to disable only this optimization,
i.e. if there will be some issue with it.

v2: fix OFFSET
v3: convert 01814_distributed_push_down_limit test to .sh and add retries
v4: add test with OFFSET
v5: add new query stage into the bash completion
v6/tests: use LIMIT O,L syntax over LIMIT L OFFSET O since it is broken in ANTLR parser
          https://clickhouse-test-reports.s3.yandex.net/23027/a18a06399b7aeacba7c50b5d1e981ada5df19745/functional_stateless_tests_(antlr_debug).html#fail1
v7/tests: set use_hedged_requests to 0, to avoid excessive log entries on retries
          https://clickhouse-test-reports.s3.yandex.net/23027/a18a06399b7aeacba7c50b5d1e981ada5df19745/functional_stateless_tests_flaky_check_(address).html#fail1
2021-06-09 02:29:50 +03:00
Ivan
579250168f
Merge branch 'master' into ast-table-identifier-2 2021-06-07 20:30:39 +03:00
alesapin
4a1bf51ad1
Merge branch 'master' into limited_fetches 2021-06-02 23:01:47 +03:00
Nikita Mikhaylov
2248c77643 done 2021-06-02 17:18:54 +03:00
Ivan Lezhankin
ae38b4a3f1 Merge remote-tracking branch 'upstream/master' into ast-table-identifier-2 2021-06-02 16:07:59 +03:00
Alexander Kuzmenkov
1d304d86a4 a lucky charm to ward off clang-tidy 2021-06-02 15:18:03 +03:00
Alexander Kuzmenkov
ae79bbea7d Merge remote-tracking branch 'origin/master' into HEAD 2021-06-02 15:06:22 +03:00
Alexander Kuzmenkov
78fe7891b4 better messages in fuzzer status 2021-06-02 15:06:12 +03:00
Azat Khuzhin
9882d160d8 clichouse-client: fix readability-identifier-naming 2021-06-02 07:38:56 +03:00
alesapin
feed2636f4 Add exponential smoothing to Throttler 2021-06-02 01:07:29 +03:00
Azat Khuzhin
ffacb7dcdf Add description for test hints 2021-06-02 01:04:06 +03:00
Azat Khuzhin
69cf881947 clickhouse-client: add echoOn/echoOff hints 2021-06-02 01:04:06 +03:00
Azat Khuzhin
1c595c127f clickhouse-client: echo queries only after "{ echo }" hint
Before this patch clickhouse-client interprets the whole queries and if
"{ echo }" found, it starts echoing queries, but this will make it
impossible to skip some of lines.
2021-06-02 01:04:06 +03:00
kssenii
de277f8ac4 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into progress-bar 2021-06-01 07:58:19 +00:00
tavplubix
e9ff0b6d70
Merge pull request #23657 from kssenii/poco-file-to-std-fs
Poco::File to std::filesystem
2021-05-31 23:17:02 +03:00
mergify[bot]
08eca33d81
Merge branch 'master' into progress-bar 2021-05-31 19:54:20 +00:00
Nikolai Kochetov
afc1fe7f3d Make ContextPtr const by default. 2021-05-31 17:49:02 +03:00
Alexander Kuzmenkov
f60d971637 cleanup 2021-05-31 16:45:47 +03:00
kssenii
69816e6eff Fix checks 2021-05-30 15:44:58 +03:00
Alexander Kuzmenkov
73c2ca7da5 fixes 2021-05-29 16:12:18 +03:00
kssenii
0a3589524e File movement 2021-05-29 00:57:53 +03:00
kssenii
2a631aaf08 Final fixes 2021-05-29 00:34:44 +03:00
kssenii
0d393c0006 Fix tests 2021-05-27 17:21:19 +03:00
kssenii
1c43b333ea Merge branch 'master' of github.com:ClickHouse/ClickHouse into poco-file-to-std-fs 2021-05-22 21:26:48 +03:00
mergify[bot]
970243850f
Merge branch 'master' into ast-table-identifier-2 2021-05-21 12:56:49 +00:00
Alexander Kuzmenkov
54ee3a4e48 space 2021-05-19 18:01:11 +03:00
Alexander Kuzmenkov
d6e357d78c consolidate connection loss handling in fuzzer 2021-05-19 17:36:01 +03:00
kssenii
5f083b779d A little better, fix checks 2021-05-18 14:25:19 +03:00
kssenii
9b8df78fdd Merge branch 'master' of github.com:ClickHouse/ClickHouse into poco-file-to-std-fs 2021-05-17 17:42:05 +03:00
kssenii
2124113aa2 Update programs/* 2021-05-17 01:06:09 +03:00
Azat Khuzhin
5b668fc351 Remove trailing whitespace for Processed client message 2021-05-15 16:07:54 +03:00
Ivan Lezhankin
bd16dd22b9 Merge remote-tracking branch 'upstream/master' into ast-table-identifier-2 2021-05-14 15:40:33 +03:00
kssenii
4574c09048 Fix style check 2021-05-14 08:35:51 +00:00
kssenii
c25be65ebf Refactor progress bar, adjust progress indication for reading from file 2021-05-14 06:16:31 +00:00
kssenii
e82d717233 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into progress-bar 2021-05-13 10:20:02 +00:00
Amesaru
d12243b76c Merge remote-tracking branch 'origin/progress_bar_for_LocalServer' into progress_bar_for_LocalServer 2021-05-11 19:33:26 +03:00
Amesaru
84079d6c67 Client.cpp fix 2021-05-11 19:15:07 +03:00
Egor Savin
e51e13db61
Merge branch 'master' into progress_bar_for_LocalServer 2021-05-11 18:36:06 +03:00
Amesaru
fa8e904987 WriteProgress fix 2021-05-11 17:24:04 +03:00
Amesaru
6dd475cc76 Convert ProgressBar into a struct 2021-05-11 17:14:57 +03:00
alexey-milovidov
066d02dd2f
Merge pull request #23631 from ClickHouse/normalize-bigint
Make big integers production ready.
2021-05-11 11:07:52 +03:00
mergify[bot]
f5e77d7200
Merge branch 'master' into aku/fuzzer-typo 2021-05-10 17:54:19 +00:00
Amesaru
63c06f578b Client.cpp fix 2021-05-06 22:40:28 +03:00
Amesaru
6f855630e9 Client.cpp merge fix 2021-05-06 22:40:28 +03:00
Amesaru
6fa30e7398 Client.cpp and LocalServer.cpp fix 2021-05-06 22:40:28 +03:00
Amesaru
2ad8b890ab Trying to fix ProgressBar for Local 2021-05-06 22:40:28 +03:00
Amesaru
65d2b236ad Add clearProgress to ProgressBar 2021-05-06 22:40:10 +03:00
Amesaru
97e87dc06a Code-style fix 2021-05-06 22:38:52 +03:00
Amesaru
9f59b08632 Fix typo in Client.cpp 2021-05-06 22:38:38 +03:00
Amesaru
9650497edb Moved ProgressBar from src/Client to src/Common 2021-05-06 22:35:21 +03:00
Amesaru
f4f6e17bcd More fixes 2021-05-06 19:42:57 +03:00
Amesaru
b7b21426b9 Fix for UpdateProgress 2021-05-06 19:40:55 +03:00
Amesaru
77f1218efb United progress bar for LocalServer and Client 2021-05-06 19:39:27 +03:00
kssenii
5ef3ee50fe Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into progress-bar 2021-05-05 09:26:12 +00:00
Alexey Milovidov
eea47a65d2 PVS-Studio 2021-05-04 15:13:47 +03:00
Alexey Milovidov
9f74565948 PVS-Studio 2021-05-03 01:42:01 +03:00
Alexey Milovidov
1fda866881 Merge branch 'master' into normalize-bigint 2021-05-02 21:24:45 +03:00
Alexey Milovidov
b22032b97d Whitespace 2021-05-02 14:19:47 +03:00
Alexander Kuzmenkov
1b45284c17 typo 2021-04-30 03:21:26 +03:00
Alexander Kuzmenkov
86c4d8b934 the last try to make the formatting check in fuzzer work 2021-04-30 00:38:40 +03:00
kssenii
c33f358a9a Better way to track progress, display progress for ch-client 2021-04-28 19:12:28 +00:00
Alexander Kuzmenkov
36593d5cc3 reinitialize the connection after errors 2021-04-28 13:26:23 +03:00
Alexander Kuzmenkov
bb675e7d11 fix a typo in query formatting check in fuzzer 2021-04-28 13:19:18 +03:00
Alexey Milovidov
83b071a3d9 Merge branch 'master' into remove-strange-code-fix-19283 2021-04-27 06:34:46 +03:00
Alexey Milovidov
8f01af62d9 Merge branch 'master' into normalize-bigint 2021-04-25 06:57:44 +03:00
Alexey Milovidov
4ff812db7f Maybe better support for paths with whitespaces 2021-04-24 22:47:52 +03:00
Ivan Lezhankin
cdd825b18b Merge remote-tracking branch 'upstream/master' into ast-table-identifier-2 2021-04-23 18:08:25 +03:00
Alexey Milovidov
17d04cbca9 Merge branch 'master' into protocol-compression-auto 2021-04-15 00:24:07 +03:00
Ivan
b099ad467d
Merge branch 'master' into ast-table-identifier-2 2021-04-14 18:38:30 +03:00
Alexey Milovidov
7847a48a58 Merge branch 'master' into remove-strange-code-fix-19283 2021-04-14 17:44:44 +03:00
Alexey Milovidov
a57e82a5b4 Fix error 2021-04-14 01:04:37 +03:00
Alexey Milovidov
e08c8a3d2c Merge branch 'master' into protocol-compression-auto 2021-04-13 23:43:08 +03:00
Alexey Milovidov
7773b76232 Remove wrong code, fix #19283 2021-04-13 23:28:45 +03:00
Alexey Milovidov
8a88009c6c Remove non-essential parts from Suggest 2021-04-13 15:39:13 +03:00
Ivan
a73483751f
Merge branch 'master' into ast-table-identifier-2 2021-04-12 20:23:28 +03:00
Ivan
495c6e03aa
Replace all Context references with std::weak_ptr (#22297)
* Replace all Context references with std::weak_ptr

* Fix shared context captured by value

* Fix build

* Fix Context with named sessions

* Fix copy context

* Fix gcc build

* Merge with master and fix build

* Fix gcc-9 build
2021-04-11 02:33:54 +03:00
Ivan Lezhankin
3da3250bfd Merge branch 'master' into ast-table-identifier-2 2021-04-09 17:56:15 +03:00
Alexander Kuzmenkov
06bb58cb69
Merge pull request #22704 from ClickHouse/aku/window-multiple
fix window functions with multiple input streams and no sorting
2021-04-07 15:15:47 +03:00
Azat Khuzhin
f157278b72 Safer SCOPE_EXIT
It executes the code in the dtor, that should never throw.
2021-04-06 21:10:37 +03:00
Alexander Kuzmenkov
585da2c8d0 Merge remote-tracking branch 'origin/master' into HEAD 2021-04-06 14:58:21 +03:00
Alexey Milovidov
f70c9e8752 Merge branch 'master' into protocol-compression-auto 2021-04-06 14:53:31 +03:00
Alexander Kuzmenkov
06e7a9f8f2 fix window functions with multiple input streams and no sorting 2021-04-06 14:43:27 +03:00
Alexey Milovidov
7a54558a29 Improve usability of clickhouse-client 2021-04-05 05:49:13 +03:00
Alexey Milovidov
39bb7c39c0 Autodetect compression #22234 2021-03-29 04:04:52 +03:00
Alexander Kuzmenkov
f85b089292
Merge pull request #21466 from ClickHouse/aku/frame-formatting
add query formatting idempotence check to fuzzer
2021-03-18 17:57:11 +03:00
Alexander Kuzmenkov
bb460dd7f4 fix 2021-03-17 21:55:06 +03:00
Alexander Kuzmenkov
9018ad3979 Merge remote-tracking branch 'origin/aku/frame-formatting' into HEAD 2021-03-17 21:52:31 +03:00
Alexander Kuzmenkov
9b1d256f54 clang-tidy...... 2021-03-17 21:44:43 +03:00
Alexander Kuzmenkov
cb92d578e1
Update programs/client/Client.cpp 2021-03-17 18:57:13 +03:00
Alexander Kuzmenkov
bb17f14d83 fix 2021-03-17 18:55:53 +03:00
Alexander Kuzmenkov
6403198c84 check formatting only for the queries we can execute 2021-03-16 02:19:16 +03:00
Alexander Kuzmenkov
e485a27dc1 some fixes 2021-03-15 22:45:45 +03:00
alexey-milovidov
53e21443eb
Merge branch 'master' into DateTime64_extended_range 2021-03-14 12:27:17 +03:00
Alexander Kuzmenkov
ec19b69d8c Merge remote-tracking branch 'origin/master' into HEAD 2021-03-12 23:53:48 +03:00
Alexander Kuzmenkov
508953ca00 more debug info 2021-03-12 23:53:26 +03:00
Denis Glazachev
290a6d273e
Add Kerberos support for authenticating existing users when accessing over HTTP 2021-03-11 23:41:10 +03:00
Alexander Kuzmenkov
60cb84d417 more debug info 2021-03-05 20:24:50 +03:00
Alexander Kuzmenkov
70dfcdac8d ignore some errors 2021-03-05 12:59:50 +03:00
Alexander Kuzmenkov
7c8d17045c fix frame formatting error 2021-03-05 06:15:20 +03:00
Vasily Nemkov
2d03d330bc Extended range of DateTime64 to years 1925 - 2238
The Year 1925 is a starting point because most of the timezones
switched to saner (mostly 15-minutes based) offsets somewhere
during 1924 or before. And that significantly simplifies implementation.

2238 is to simplify arithmetics for sanitizing LUT index access;
there are less than 0x1ffff days from 1925.

* Extended DateLUTImpl internal LUT to 0x1ffff items, some of which
  represent negative (pre-1970) time values.
  As a collateral benefit, Date now correctly supports dates up to 2149
  (instead of 2106).
* Added a new strong typedef ExtendedDayNum, which represents dates
  pre-1970 and post 2149.
* Functions that used to return DayNum now return ExtendedDayNum.
* Refactored DateLUTImpl to untie DayNum from the dual role of being
  a value and an index (due to negative time). Index is now a different
  type LUTIndex with explicit conversion functions from DatNum, time_t,
  and ExtendedDayNum.
* Updated DateLUTImpl to properly support values close to epoch start
  (1970-01-01 00:00), including negative ones.
* Reduced resolution of DateLUTImpl::Values::time_at_offset_change
  to multiple of 15-minutes to allow storing 64-bits of time_t in
  DateLUTImpl::Value while keeping same size.
* Minor performance updates to DateLUTImpl when building month LUT
  by skipping non-start-of-month days.
* Fixed extractTimeZoneFromFunctionArguments to work correctly
  with DateTime64.
* New unit-tests and stateless integration tests for both DateTime
  and DateTime64.
2021-02-24 17:08:35 +02:00
Alexander Kuzmenkov
2571dac984
Merge pull request #20111 from ClickHouse/aku/window-prototype
RANGE OFFSET window frame
2021-02-11 10:39:21 +03:00
alexey-milovidov
8553a65ef8
Merge pull request #20281 from ClickHouse/aku/fuzzer-changed-settings
print changed settings in fuzzer when the server dies
2021-02-11 03:26:01 +03:00
alexey-milovidov
76ccec2885
Fix XML 2021-02-10 16:39:59 +03:00
Alexander Kuzmenkov
87e5218c91
Update Client.cpp 2021-02-10 16:29:33 +03:00
Alexander Kuzmenkov
41a3cd978e print changed settings in fuzzer when the server dies 2021-02-10 14:18:11 +03:00
filimonov
beb5912b4f
Add example of client configuration adjusemtents 2021-02-10 10:02:35 +01:00
alexey-milovidov
ed5a81ab59
Merge pull request #20078 from abyss7/better-read-buffers-4
LimitReadBuffer: check that position always advances
2021-02-07 07:33:08 +03:00
alesapin
011109c82a
Merge pull request #17348 from xjewer/alex/CLICKHOUSE-606_deduplication_UUID
CLICKHOUSE-606: query deduplication based on parts' UUID
2021-02-05 22:47:34 +03:00
Alexander Kuzmenkov
6824f13a35 tmp 2021-02-05 12:13:19 +03:00
Ivan Lezhankin
ee0ff755e2 Check that position always advances 2021-02-04 17:46:46 +03:00
Alexander Kuzmenkov
f31d2206a7 more fuzzing and less bugs 2021-02-03 15:50:25 +03:00
Alexander Kuzmenkov
bb45c5a8ff Merge remote-tracking branch 'origin/master' into HEAD 2021-02-03 12:13:23 +03:00
Alexander Kuzmenkov
a164abf23e add frame fuzzing and one query that fails under msan 2021-02-03 09:42:54 +03:00
Aleksei Semiglazov
921518db0a CLICKHOUSE-606: query deduplication based on parts' UUID
* add the query data deduplication excluding duplicated parts in MergeTree family engines.

query deduplication is based on parts' UUID which should be enabled first with merge_tree setting
assign_part_uuids=1

allow_experimental_query_deduplication setting is to enable part deduplication, default ot false.

data part UUID is a mechanism of giving a data part a unique identifier.
Having UUID and deduplication mechanism provides a potential of moving parts
between shards preserving data consistency on a read path:
duplicated UUIDs will cause root executor to retry query against on of the replica explicitly
asking to exclude encountered duplicated fingerprints during a distributed query execution.

NOTE: this implementation don't provide any knobs to lock part and hence its UUID. Any mutations/merge will
update part's UUID.

* add _part_uuid virtual column, allowing to use UUIDs in predicates.

Signed-off-by: Aleksei Semiglazov <asemiglazov@cloudflare.com>

address comments
2021-02-02 16:53:39 +00:00
Alexey Milovidov
30e1db7f47 Merge branch 'master' into azat-client-complete-error-codes 2021-01-31 00:01:47 +03:00
alexey-milovidov
a9d9a8f3a9
Update Suggest.cpp 2021-01-30 01:21:51 +03:00
Azat Khuzhin
585874bf46 tests: add a test for clickhouse-client autocompletion
v2: Increase timeout for 01676_clickhouse_client_autocomplete
    https://github.com/ClickHouse/ClickHouse/pull/19584#discussion_r565727175

v3: Disable 01676_clickhouse_client_autocomplete in unbundled build (arcadia)

    autocomplete does not have to work fully unbundled build (since it lack
    of replxx).

    Similar to bd523a0aff

v4: set expect timeout back to 1 and increase total timeout to 20 sec
v4: set expect timeout back to 3 and increase total timeout to 22 (3*X+1) sec
2021-01-29 07:50:08 +03:00
Alexander Kuzmenkov
d72b302b97
Update Client.cpp 2021-01-28 23:16:35 +03:00
Azat Khuzhin
86f80105cb client/suggest: add policy 2021-01-28 23:16:06 +03:00
Azat Khuzhin
212d5082b4 client/suggest: add macros 2021-01-28 23:16:06 +03:00