mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-19 16:20:50 +00:00
Merge branch 'master' into fix-use-concurrency-control
This commit is contained in:
commit
c75118c78d
@ -97,7 +97,7 @@ If you want to change the target table by using `ALTER`, we recommend disabling
|
||||
- `_filename` - Name of the log file. Data type: `LowCardinality(String)`.
|
||||
- `_offset` - Offset in the log file. Data type: `UInt64`.
|
||||
|
||||
Additional virtual columns when `kafka_handle_error_mode='stream'`:
|
||||
Additional virtual columns when `handle_error_mode='stream'`:
|
||||
|
||||
- `_raw_record` - Raw record that couldn't be parsed successfully. Data type: `Nullable(String)`.
|
||||
- `_error` - Exception message happened during failed parsing. Data type: `Nullable(String)`.
|
||||
|
@ -826,17 +826,17 @@ Result:
|
||||
|
||||
## JSONAsObject {#jsonasobject}
|
||||
|
||||
In this format, a single JSON object is interpreted as a single [Object('json')](/docs/en/sql-reference/data-types/json.md) value. If the input has several JSON objects (comma separated), they are interpreted as separate rows. If the input data is enclosed in square brackets, it is interpreted as an array of JSONs.
|
||||
In this format, a single JSON object is interpreted as a single [JSON](/docs/en/sql-reference/data-types/newjson.md) value. If the input has several JSON objects (comma separated), they are interpreted as separate rows. If the input data is enclosed in square brackets, it is interpreted as an array of JSONs.
|
||||
|
||||
This format can only be parsed for a table with a single field of type [Object('json')](/docs/en/sql-reference/data-types/json.md). The remaining columns must be set to [DEFAULT](/docs/en/sql-reference/statements/create/table.md/#default) or [MATERIALIZED](/docs/en/sql-reference/statements/create/table.md/#materialized).
|
||||
This format can only be parsed for a table with a single field of type [JSON](/docs/en/sql-reference/data-types/newjson.md). The remaining columns must be set to [DEFAULT](/docs/en/sql-reference/statements/create/table.md/#default) or [MATERIALIZED](/docs/en/sql-reference/statements/create/table.md/#materialized).
|
||||
|
||||
**Examples**
|
||||
|
||||
Query:
|
||||
|
||||
``` sql
|
||||
SET allow_experimental_object_type = 1;
|
||||
CREATE TABLE json_as_object (json Object('json')) ENGINE = Memory;
|
||||
SET allow_experimental_json_type = 1;
|
||||
CREATE TABLE json_as_object (json JSON) ENGINE = Memory;
|
||||
INSERT INTO json_as_object (json) FORMAT JSONAsObject {"foo":{"bar":{"x":"y"},"baz":1}},{},{"any json stucture":1}
|
||||
SELECT * FROM json_as_object FORMAT JSONEachRow;
|
||||
```
|
||||
@ -844,9 +844,9 @@ SELECT * FROM json_as_object FORMAT JSONEachRow;
|
||||
Result:
|
||||
|
||||
``` response
|
||||
{"json":{"any json stucture":0,"foo":{"bar":{"x":"y"},"baz":1}}}
|
||||
{"json":{"any json stucture":0,"foo":{"bar":{"x":""},"baz":0}}}
|
||||
{"json":{"any json stucture":1,"foo":{"bar":{"x":""},"baz":0}}}
|
||||
{"json":{"foo":{"bar":{"x":"y"},"baz":"1"}}}
|
||||
{"json":{}}
|
||||
{"json":{"any json stucture":"1"}}
|
||||
```
|
||||
|
||||
**An array of JSON objects**
|
||||
@ -854,35 +854,34 @@ Result:
|
||||
Query:
|
||||
|
||||
``` sql
|
||||
SET allow_experimental_object_type = 1;
|
||||
CREATE TABLE json_square_brackets (field Object('json')) ENGINE = Memory;
|
||||
SET allow_experimental_json_type = 1;
|
||||
CREATE TABLE json_square_brackets (field JSON) ENGINE = Memory;
|
||||
INSERT INTO json_square_brackets FORMAT JSONAsObject [{"id": 1, "name": "name1"}, {"id": 2, "name": "name2"}];
|
||||
|
||||
SELECT * FROM json_square_brackets FORMAT JSONEachRow;
|
||||
```
|
||||
|
||||
Result:
|
||||
|
||||
```response
|
||||
{"field":{"id":1,"name":"name1"}}
|
||||
{"field":{"id":2,"name":"name2"}}
|
||||
{"field":{"id":"1","name":"name1"}}
|
||||
{"field":{"id":"2","name":"name2"}}
|
||||
```
|
||||
|
||||
**Columns with default values**
|
||||
|
||||
```sql
|
||||
SET allow_experimental_object_type = 1;
|
||||
CREATE TABLE json_as_object (json Object('json'), time DateTime MATERIALIZED now()) ENGINE = Memory;
|
||||
SET allow_experimental_json_type = 1;
|
||||
CREATE TABLE json_as_object (json JSON, time DateTime MATERIALIZED now()) ENGINE = Memory;
|
||||
INSERT INTO json_as_object (json) FORMAT JSONAsObject {"foo":{"bar":{"x":"y"},"baz":1}};
|
||||
INSERT INTO json_as_object (json) FORMAT JSONAsObject {};
|
||||
INSERT INTO json_as_object (json) FORMAT JSONAsObject {"any json stucture":1}
|
||||
SELECT * FROM json_as_object FORMAT JSONEachRow
|
||||
SELECT time, json FROM json_as_object FORMAT JSONEachRow
|
||||
```
|
||||
|
||||
```resonse
|
||||
{"json":{"any json stucture":0,"foo":{"bar":{"x":"y"},"baz":1}},"time":"2024-07-25 17:02:45"}
|
||||
{"json":{"any json stucture":0,"foo":{"bar":{"x":""},"baz":0}},"time":"2024-07-25 17:02:47"}
|
||||
{"json":{"any json stucture":1,"foo":{"bar":{"x":""},"baz":0}},"time":"2024-07-25 17:02:50"}
|
||||
{"time":"2024-09-16 12:18:10","json":{}}
|
||||
{"time":"2024-09-16 12:18:13","json":{"any json stucture":"1"}}
|
||||
{"time":"2024-09-16 12:18:08","json":{"foo":{"bar":{"x":"y"},"baz":"1"}}}
|
||||
```
|
||||
|
||||
## JSONCompact {#jsoncompact}
|
||||
|
@ -9,4 +9,4 @@ select * from numbers(1) into outfile '/dev/null';
|
||||
select * from numbers(1) into outfile '/dev/null' and stdout;
|
||||
select * from numbers(1) into outfile '/dev/null' append;
|
||||
select * from numbers(1) into outfile '/dev/null' append and stdout;
|
||||
" | clickhouse-format -n
|
||||
" | ${CLICKHOUSE_FORMAT} -n
|
||||
|
Loading…
Reference in New Issue
Block a user