ClickHouse / ClickHouse

ClickHouse® is a real-time analytics DBMS
https://clickhouse.com
Apache License 2.0
36.87k stars 6.82k forks source link

clickhouse-local segfault on simple INSERT INTO ... SELECT ... (SQLite target and JSON input) #58965

Open matrey opened 8 months ago

matrey commented 8 months ago

Reproducer:

$ echo 'CREATE TABLE _kv(k TEXT, v TEXT, PRIMARY KEY (k));' | sqlite3 tmpdb.sqlite3
$ echo '{"max_ts":123456}' > test.json

Using: ClickHouse local version 23.12.2.59 (official build).

CREATE DATABASE tmpdb ENGINE = SQLite('/data/tmpdb.sqlite3')

-- inserting a row in sqlite works
INSERT INTO tmpdb._kv VALUES ('a', 'b')
Ok.

-- selecting from the JSON document works
SELECT
    'max_ts' AS k,
    CAST(max_ts, 'String') AS v
FROM file('/data/test.json', 'JSON')
┌─k──────┬─v──────┐
│ max_ts │ 123456 │
└────────┴────────┘

-- but if we try to write the latter to the former, clickhouse segfaults

abcece06512f :) INSERT INTO tmpdb._kv SELECT 'max_ts' AS k, CAST(max_ts, 'String') AS v from file('/data/test.json', 'JSON');

INSERT INTO tmpdb._kv SELECT
    'max_ts' AS k,
    CAST(max_ts, 'String') AS v
FROM file('/data/test.json', 'JSON')

Query id: cc0b9b0c-7aa4-41f2-b15f-b9e035af929d

$ echo $?
139
matrey commented 8 months ago

Remarks FWIW: