Repository navigation
feat(query): narrow joined columns proven not NULL by where - #103
Merged
Merged
Annotations
2 errors and 1 notice
|
Check package, types, unit tests and live dialect
Process completed with exit code 1.
|
|
Check package, types, unit tests and live dialect:
tests/fuzz/harness.ts#L155
Error: [fuzz] generated fixtures: query results agree (clickhouse-join-nulls) failed after 37 runs (61 shrinks)
replay: FUZZ_SEED=1106802034 FUZZ_PATH=39:0:0:4:5:5:6:6:6:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7:7 bun run fuzz -t 'generated fixtures: query results agree \(clickhouse-join-nulls\)'
--- input (shrunk)
{"fixture":{"orders":[],"customers":[]},"plan":{"orgId":"org_1","join":undefined,"where":[{"k":"or","style":"method","cs":[{"k":"or","style":"method","cs":[{"k":"cmp","op":"eq","l":{"k":"num","v":0},"r":{"k":"expr","e":{"k":"arith","op":"mod","l":{"k":"num","v":0},"r":{"k":"col","col":"Id"}}}},{"k":"const","v":false},{"k":"not","c":{"k":"like","op":"notLike","l":{"k":"str","v":""},"pattern":"org\\_1"}}]},{"k":"and","style":"method","cs":[{"k":"cmp","op":"eq","l":{"k":"num","v":0},"r":{"k":"expr","e":{"k":"num","v":0}}},{"k":"and","style":"method","cs":[{"k":"cmp","op":"eq","l":{"k":"col","col":"Id"},"r":{"k":"param","kind":"int","v":0}},{"k":"null","op":"isNull","e":{"k":"str","v":"org_1"}}]}]},{"k":"and","style":"method","cs":[{"k":"and","style":"method","cs":[{"k":"in","neg":false,"e":{"k":"num","v":0},"values":[]},{"k":"in","neg":false,"e":{"k":"col","col":"Id"},"values":[]}]},{"k":"and","style":"method","cs":[{"k":"like","op":"like","l":{"k":"str","v":"org_1"},"pattern":""},{"k":"between","neg":false,"e":{"k":"arith","op":"add","l":{"k":"col","col":"Id"},"r":{"k":"num","v":0}},"lo":{"k":"param","kind":"int","v":0},"hi":{"k":"param","kind":"int","v":0}}]}]}]},{"k":"cmp","op":"eq","l":{"k":"arith","op":"add","l":{"k":"col","col":"Id"},"r":1},"r":{"k":"value","v":0}}],"shape":{"k":"rows","select":[["id",{"k":"col","col":"Id"}]],"distinct":false,"orderBy":[],"limit":undefined,"offset":undefined},"wrap":false,"crossTenant":false}}
--- error
expected 'DatabaseError' to be 'Rows' // Object.is equality
--- sql
WITH orders AS (
SELECT CAST('' AS String) AS "OrgId", CAST(0 AS UInt32) AS "Id", CAST('' AS String) AS "Customer", CAST(0 AS Int64) AS "Amount", CAST('' AS String) AS "Status", CAST(NULL AS Nullable(String)) AS "Note", CAST('2026-01-01 00:00:00.000' AS DateTime64(3, 'UTC')) AS "Created" WHERE 1 = 0
),
customers AS (
SELECT CAST('' AS String) AS "OrgId", CAST('' AS String) AS "Name", CAST('' AS String) AS "Tier" WHERE 1 = 0
)
SELECT
orders.Id AS id
FROM orders
WHERE ((((0 = 0 % orders.Id OR 1 = 0) OR NOT ('' NOT LIKE 'org\\_1')) OR (0 = 0 AND (orders.Id = 0 AND 'org_1' IS NULL))) OR ((1 = 0 AND 1 = 0) AND ('org_1' LIKE '' AND orders.Id + 0 BETWEEN 0 AND 0)))
AND orders.Id + 1 = 0
--- parameters
[]
--- tenantScope
cross-tenant
--- outcome
{"_tag":"DatabaseError","message":"Code: 153. DB::Exception: Division by zero. (ILLEGAL_DIVISION) (version 26.2.19.43 (official build))"}
--- expected
[]
--- pin it: add the input above to tests/fuzz/regressions.ts under a key matching "generated fixtures: query results agree (clickhouse-join-nulls)"
❯ property tests/fuzz/harness.ts:155:8
|
|
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
|
background
wait
wait-all
cancel
parallel
Loading