Skip to content

Commit 12ca007

Browse files
fix: json_build_object created with empty exprs
Fix a bug made in https://gerrit.readyset.name/c/readyset/+/8868 Adding tests as well. Fixes: REA-4369 Change-Id: I96cf80fda00423b45837ce5e238377c2dd2a0f34 Reviewed-on: https://gerrit.readyset.name/c/readyset/+/8911 Tested-by: Buildkite CI Reviewed-by: Vassili Zarouba <[email protected]>
1 parent a435695 commit 12ca007

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

dataflow-expression/src/lower.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ impl BuiltinFunction {
289289

290290
(
291291
Self::JsonBuildObject {
292-
args: args.by_ref().collect(),
292+
args: exprs,
293293
allow_duplicate_keys: true,
294294
},
295295
DfType::Json,
@@ -304,7 +304,7 @@ impl BuiltinFunction {
304304

305305
(
306306
Self::JsonBuildObject {
307-
args: args.by_ref().collect(),
307+
args: exprs,
308308
allow_duplicate_keys: false,
309309
},
310310
DfType::Json,

logictests/json_object.test

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,20 @@ SELECT json_object(a, b, c, d) FROM t1;
2020
# Requires even number of arguments
2121
statement error
2222
SELECT json_object(a, b, c) FROM t1;
23+
24+
query T
25+
SELECT json_build_object(a, b, c, d) FROM t1;
26+
----
27+
{"abc":3.14,"1":1}
28+
{"xyz":2.71,"2":0}
29+
30+
statement ok
31+
CREATE TABLE t2 (a TEXT, b DOUBLE, c TEXT, d BOOL);
32+
33+
statement ok
34+
INSERT INTO t2 VALUES ("abc", 3.14, "abc", true);
35+
36+
query T
37+
SELECT jsonb_build_object(a, b, c, d) FROM t2;
38+
----
39+
{"abc":1}

0 commit comments

Comments
 (0)