Commit Graph

335 Commits

Author SHA1 Message Date
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
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
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
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
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
kssenii
69816e6eff Fix checks 2021-05-30 15:44:58 +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
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
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
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
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
a57e82a5b4 Fix error 2021-04-14 01:04:37 +03:00
Alexey Milovidov
7773b76232 Remove wrong code, fix #19283 2021-04-13 23:28:45 +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
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
Alexey Milovidov
7a54558a29 Improve usability of clickhouse-client 2021-04-05 05:49:13 +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
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
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
Ivan Lezhankin
ee0ff755e2 Check that position always advances 2021-02-04 17:46:46 +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
Alexander Kuzmenkov
d72b302b97
Update Client.cpp 2021-01-28 23:16:35 +03:00
Alexander Kuzmenkov
3f305cecc3 add empty line after error messages in client 2021-01-27 22:52:18 +03:00
Alexander Kuzmenkov
2eba7413e1 remove extra newline 2021-01-22 02:42:24 +03:00
Alexander Kuzmenkov
eb7b87ee8d update tests 2021-01-21 21:01:32 +03:00
Alexander Kuzmenkov
ec8ff21526 Reconnect after client errors 2021-01-21 17:28:46 +03:00
Alexander Kuzmenkov
6fefc29f39 comment 2021-01-19 20:25:28 +03:00
Alexander Kuzmenkov
847a4e5d7c Merge remote-tracking branch 'origin/master' into HEAD 2021-01-19 20:22:03 +03:00
Alexander Kuzmenkov
f5931a2289
Merge pull request #19236 from ClickHouse/aku/echo-leading
Make `-- { echo }` hint preserve leading comments
2021-01-19 20:20:58 +03:00
Alexander Kuzmenkov
1bd0c25bf0 Consolidate the test hint handling
Before it was handled in like five places with two of them disabled by a
flag and the others not disabled. Hard to navigate.
2021-01-19 01:40:30 +03:00
Alexander Kuzmenkov
b2547e99a0 whitespace 2021-01-18 15:18:29 +03:00
Alexander Kuzmenkov
c153268da7 Make -- { echo } hint preserve leading comments. 2021-01-18 15:15:46 +03:00
Alexey Milovidov
52a05f4b5d Extreme fuzzing of newly added tests 2021-01-16 18:03:32 +03:00
Alexey Milovidov
32f10c38d9 Query Fuzzer: return fail fast semantics 2021-01-09 08:30:23 +03:00
Alexey Milovidov
aff4ba7726 Slightly better 2021-01-06 04:03:07 +03:00
Alexey Milovidov
8d34f76d76 Slightly better 2021-01-06 03:58:31 +03:00
Alexey Milovidov
895ec0976b Break query fuzzer even more 2021-01-06 00:34:08 +03:00
Alexey Milovidov
7f074cb491 Remove half of strange code from query fuzzer 2021-01-06 00:20:39 +03:00
Alexey Milovidov
8ecbfe701c Miscellaneous 2021-01-05 23:32:42 +03:00
Alexey Milovidov
5573c3b61e Fix error in Fuzzer 2021-01-05 23:32:05 +03:00
Alexey Milovidov
1bd6605373 Remove strange code from Fuzzer 2021-01-05 23:30:00 +03:00
Alexey Milovidov
a06f03b9b3 Query Fuzzer: fix some cultural issues 2021-01-05 23:23:26 +03:00
Nikita Mikhaylov
f27aa148e0
Merge branch 'master' into parallel-parsing-input-format 2020-12-31 06:16:43 +04:00
Alexey Milovidov
611caf1778 Send fatal logs in all tests 2020-12-30 22:12:24 +03:00
Nikita Mikhailov
c5f92e5096 better formatfactory 2020-12-30 06:07:30 +03:00
Nikita Mikhailov
2dde73f700 better 2020-12-28 19:52:54 +03:00
Nikita Mikhailov
c3288c3fbf Merge branch 'master' of github.com:ClickHouse/ClickHouse into parallel-parsing-input-format 2020-12-28 15:09:37 +03:00
Alexander Kuzmenkov
5e19eaf2f0 Merge remote-tracking branch 'origin/master' into tmp 2020-12-18 03:49:59 +03:00
Alexander Kuzmenkov
157fe3e8b4 some tests + ability to echo the queries 2020-12-18 03:49:18 +03:00
Nikita Mikhailov
6a55e018e4 Merge branch 'master' of github.com:ClickHouse/ClickHouse into parallel-parsing-input-format 2020-12-18 02:25:32 +03:00
nikitamikhaylov
5521abba1e fix boost 2020-12-16 15:57:42 +03:00
nikitamikhaylov
b5436547ff thread tests 2020-12-15 00:56:48 +03:00
nikitamikhaylov
12e624fd9a fix tests 2020-12-15 00:56:48 +03:00
nikitamikhaylov
f7ac8bf542 rebase and fix tests 2020-12-15 00:56:48 +03:00
nikitamikhaylov
67766034f2 disable progress bar with parallel_formatting 2020-12-15 00:56:47 +03:00
Nikita Mikhaylov
0e31424c92 save changes 2020-12-15 00:56:47 +03:00
Nikita Mikhaylov
3bc1affd21 remove CSV restriction 2020-12-15 00:56:47 +03:00
Maksim Kita
963ee5211b Added queries-file parameter. Fixed code review issues 2020-12-07 19:29:17 +03:00
Maksim Kita
f5d1a9e59a Clickhouse client and local added queries-file parameter 2020-12-07 19:29:17 +03:00
Alexander Kuzmenkov
1570320e20 fixes for context hierarchy 2020-11-18 20:43:18 +03:00
alexey-milovidov
8dd81410de
Merge pull request #16843 from azat/clickhouse-client-stage
Add --stage option for clickhouse-client
2020-11-12 13:09:40 +03:00
Azat Khuzhin
ab8f13b885 Add --stage option for clickhouse-client
It is sometimes useful to process queries not up to the Complete stage
but intermediate some (i.e. for Distributed queries debugging and
similar).
2020-11-11 00:54:51 +03:00
Alexander Tokmakov
b94cc5c4e5 remove more stringstreams 2020-11-10 21:22:26 +03:00
Alexander Tokmakov
5cdfcfb307 remove other stringstreams 2020-11-09 22:12:44 +03:00
Alexander Tokmakov
62ff00ee8b use WriteBuffer in formatAST(...) 2020-11-09 19:05:40 +03:00
Alexander Kuzmenkov
24e57c659a
Merge pull request #15960 from kitaisreal/clickhouse-client-added-history-file-parameter
Clickhouse client added history file parameter
2020-11-09 08:19:00 +03:00
Maksim Kita
05ba70c91f Clickhouse client added history file parameter 2020-11-06 17:05:59 +03:00
Alexey Milovidov
5cfd84249b Merge branch 'master' into register-formats 2020-11-04 12:41:59 +03:00
Ivan
281bf351d2
Remove ANALYZE and AST queries (#16536) 2020-11-02 15:47:12 +03:00
Alexey Milovidov
2e0a979e3a Fix inconsistency in FormatFactory 2020-10-29 06:39:43 +03:00
Alexey Milovidov
c703c052b4 Merge branch 'master' into suggest-destruction-order 2020-10-28 04:21:43 +03:00
Alexander Kuzmenkov
5a70e26c70 Merge remote-tracking branch 'origin/master' into HEAD 2020-10-26 19:21:13 +03:00
Alexey Milovidov
4bf32cb15b Fix destruction order of Suggest #16035 2020-10-25 05:07:52 +03:00
Ivan
1d170f5745
ASTTableIdentifier Part #1: improve internal representation of ASTIdentifier name (#16149)
* Use only |name_parts| as primary name source

* Restore legacy logic for table restoration

* Fix build

* Fix tests

* Add pytest server config

* Fix tests

* Fixes due to review
2020-10-24 21:46:10 +03:00
Alexander Kuzmenkov
84908df6d8 fix setting parent from HTTP traceparent 2020-10-20 14:35:13 +03:00
Alexander Kuzmenkov
036cdd33c5 reset error code in ast fuzzer 2020-10-16 17:27:47 +03:00