Commit Graph

331 Commits

Author SHA1 Message Date
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
Azat Khuzhin
1c68bf8545 client/suggest: add other metrics 2021-01-28 23:16:06 +03:00
Azat Khuzhin
a2bab85b78 client/suggest: set system_events_show_zero_values for query 2021-01-28 23:16:06 +03:00
Azat Khuzhin
b57452446b client/suggest: add error code names 2021-01-28 23:16:06 +03:00
Alexander Kuzmenkov
3f305cecc3 add empty line after error messages in client 2021-01-27 22:52:18 +03:00
Alexey Milovidov
093108bf81 Normalize BigInt implementation 2021-01-27 03:54:57 +03:00
Alexander Kuzmenkov
ccf332ea7e Don't dwell on the past in query fuzzer
When we remember too many query fragments, just clean the database
and start collecting it anew. Hopefully this should make the fuzzer more
aggressive.
2021-01-22 20:15:31 +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
4d16dead0f Merge remote-tracking branch 'origin/master' into HEAD 2021-01-19 20:34:01 +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
Alexander Kuzmenkov
f3e112766f cleanup 2021-01-18 12:49:56 +03:00
Alexey Milovidov
52a05f4b5d Extreme fuzzing of newly added tests 2021-01-16 18:03:32 +03:00
Alexander Kuzmenkov
9d6730a846 small fixes 2021-01-16 00:33:53 +03:00
Alexander Kuzmenkov
765aa4d4e3 rewrote everything again 2021-01-15 23:30:44 +03:00
Alexander Kuzmenkov
c9628386fc more fixes 2021-01-15 01:39:43 +03:00
Alexander Kuzmenkov
4c2c083387 strip leading whitespace 2021-01-15 00:27:36 +03:00
Alexander Kuzmenkov
1abb554d2b test fixes 2021-01-14 23:47:52 +03:00
Alexander Kuzmenkov
d53da04e6f without debug 2021-01-14 18:38:27 +03:00
Alexander Kuzmenkov
8be081e3c0 with debug 2021-01-14 18:35:52 +03:00
Alexander Kuzmenkov
48509a85d3 comment woes 2021-01-14 01:04:19 +03:00
Alexander Kuzmenkov
703731c547 something works 2021-01-13 22:29:52 +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
Ivan Lezhankin
5e89145a42 Merge remote-tracking branch 'upstream/master' into ast-table-identifier-2 2020-12-30 13:04:17 +03:00
Nikita Mikhailov
c5f92e5096 better formatfactory 2020-12-30 06:07:30 +03:00
Nikita Mikhailov
2b90b4e01d Merge branch 'master' of github.com:ClickHouse/ClickHouse into parallel-parsing-input-format 2020-12-29 22:47:06 +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
2905f70cce fix aliases in partition by/order by 2020-12-28 12:56:38 +03:00
Alexander Kuzmenkov
3da533766d clang-tidy....... 2020-12-22 10:25:45 +03:00
Alexander Kuzmenkov
919172f9ee more fuzzer fixes 2020-12-22 07:16:56 +03:00
Alexander Kuzmenkov
dadfc76f8f fix the fuzzer 2020-12-22 07:02:39 +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
Alexander Kuzmenkov
fc426807a8 formatting & fuzzer support 2020-12-18 03:21:23 +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
Ivan Lezhankin
2fe6195577 Merge remote-tracking branch 'upstream/master' into ast-table-identifier-2 2020-12-16 14:50:36 +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
Ivan Lezhankin
9250d5c4e9 Merge remote-tracking branch 'upstream/master' into ast-table-identifier-2 2020-11-12 16:25:46 +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
Alexander Tokmakov
dbac7860b1 review suggestions 2020-11-11 16:27:54 +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
Ivan Lezhankin
4083406f54 Introduce ASTTableIdentifier 2020-10-26 18:49:00 +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
Alexander Kuzmenkov
9116a00a12 reset error code in ast fuzzer 2020-10-16 17:26:59 +03:00
Alexander Kuzmenkov
6200433e12 Merge origin/master into tmp (using imerge) 2020-10-12 21:15:31 +03:00
Amos Bird
e2643d881e
Prettify 2020-10-12 00:12:36 +08:00
alexey-milovidov
1aafa19146
Update Client.cpp 2020-10-11 13:27:09 +03:00
Amos Bird
ff665c362f
Add print query id support to client 2020-10-11 10:09:08 +08:00
alesapin
17b86dec96 Recursive defaults 2020-10-02 15:38:50 +03:00
Alexander Kuzmenkov
218d86de7e Merge remote-tracking branch 'origin/master' into tmp 2020-09-28 16:29:51 +03:00
Alexey Milovidov
57b480e65d Fix PVS warning 2020-09-26 07:03:55 +03:00
Alexander Kuzmenkov
7b64ca33b1 Merge remote-tracking branch 'origin/master' into tmp 2020-09-22 14:02:20 +03:00
Alexander Kuzmenkov
bfc3be9e43 Merge remote-tracking branch 'origin/aku/tcp-versio' into tmp 2020-09-22 14:02:15 +03:00
Alexander Kuzmenkov
e97c9b16a7 more diagnostics in fuzzer 2020-09-22 13:35:28 +03:00
alexey-milovidov
cf5db5e4dc
Merge pull request #14888 from azat/client-imporove-INSERT-error-message
Improve error message for INSERT via clickhouse-client
2020-09-18 01:13:22 +03:00
Vitaly Baranov
3356d75b23
Merge pull request #13156 from azat/cluster-secure
Secure inter-cluster query execution (with initial_user as current query user) [v3]
2020-09-17 17:11:00 +03:00
Alexander Kuzmenkov
6217dd77b5 Merge remote-tracking branch 'origin/master' into tmp 2020-09-17 12:35:10 +03:00
Azat Khuzhin
7d046b24e6 Improve error message for INSERT via clickhouse-client
With '\n...' after the query [1] clickhouse-client prefer data from the
INSERT over from stdin, and produce very tricky message:

    Code: 27. DB::Exception: Cannot parse input: expected '\n' before: ' ': (at row 1)

Well for TSV it is ok, but for RowBinary:

    Code: 33. DB::Exception: Cannot read all data. Bytes read: 1. Bytes expected: 4.

So improve error message by adding the source of data for INSERT.

  [1]: clickhouse-client -q "INSERT INTO data FORMAT TSV\n " <<<2
2020-09-17 00:16:51 +03:00
Azat Khuzhin
0159c74f21 Secure inter-cluster query execution (with initial_user as current query user) [v3]
Add inter-server cluster secret, it is used for Distributed queries
inside cluster, you can configure in the configuration file:

  <remote_servers>
      <logs>
          <shard>
              <secret>foobar</secret> <!-- empty -- works as before -->
              ...
          </shard>
      </logs>
  </remote_servers>

And this will allow clickhouse to make sure that the query was not
faked, and was issued from the node that knows the secret. And since
trust appeared it can use initial_user for query execution, this will
apply correct *_for_user (since with inter-server secret enabled, the
query will be executed from the same user on the shards as on initator,
unlike "default" user w/o it).

v2: Change user to the initial_user for Distributed queries if secret match
v3: Add Protocol::Cluster package
v4: Drop Protocol::Cluster and use plain Protocol::Hello + user marker
v5: Do not use user from Hello for cluster-secure (superfluous)
2020-09-15 01:36:28 +03:00
Alexander Tokmakov
da6beb1a91 Merge branch 'master' into enable_some_tests_with_database_atomic 2020-09-14 23:00:14 +03:00
Alexander Kuzmenkov
d227f1f706
Merge pull request #13192 from ClickHouse/aku/semicolon-simple
Simpler version of semicolon-terminated VALUES #12999 w/o `pos` changes
2020-09-11 11:51:52 +03:00
Alexander Kuzmenkov
83ec93dec8 Fuzzer: reset default database before reconnect 2020-09-09 16:46:59 +03:00
Alexander Tokmakov
b68782d285 enable more tests with Atomic database 2020-09-09 16:32:50 +03:00
Alexander Kuzmenkov
c62bf555d2 Merge origin/master into tmp (using imerge) 2020-09-08 16:26:38 +03:00
Alexander Kuzmenkov
9cf2a38eb8 fixup 2020-09-01 03:22:06 +03:00
Alexander Kuzmenkov
33c5815eb3 Add a HTML report for AST Fuzzer 2020-09-01 02:33:42 +03:00
Alexander Kuzmenkov
fa8eebed78 more tests + clickhouse-client options 2020-08-29 02:25:30 +03:00
Alexey Milovidov
c5984ca1c5 Merge branch 'master' into client-progress-clobber-data 2020-08-24 23:44:43 +03:00
Azat Khuzhin
ad7379a37e Improve error message on unknown packet for client suggestion 2020-08-17 21:38:34 +03:00
Azat Khuzhin
13f6af3834 Improve error message on unknown packet in client 2020-08-17 21:38:34 +03:00
Alexey Milovidov
f5b8f508f0 Better 2020-08-14 05:42:23 +03:00
Alexey Milovidov
2359759b0e Better 2020-08-14 05:35:42 +03:00
Alexey Milovidov
cd095b7671 Fix data visible data clobbering with progress bar in client in interactive mode 2020-08-14 05:19:25 +03:00
Alexey Milovidov
42ecf91df1 Fix "Arcadia" build 2020-08-11 00:36:49 +03:00