From ea888fa18703f071c60fbf636126a6e1b880d292 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Thu, 19 Feb 2026 10:11:44 +0100 Subject: [PATCH 1/3] Make test to illustrate search in JSONB subfields --- pgcql/pgx_test.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pgcql/pgx_test.go b/pgcql/pgx_test.go index a12ac85..7ddc4a1 100644 --- a/pgcql/pgx_test.go +++ b/pgcql/pgx_test.go @@ -73,7 +73,7 @@ func TestPgx(t *testing.T) { rows, err = conn.Query(ctx, "INSERT INTO mytable (title, year, address) "+ "VALUES ($1, $2, $3)", "anonymous' list", 2025, - `{"city": "Unknown", "country": "Unknown"}`) + `{"city": "Unknown", "country": "Unknown country"}`) assert.NoError(t, err, "failed to insert data") rows.Close() @@ -126,7 +126,7 @@ func TestPgx(t *testing.T) { {"city = \"Stanford\"", []int{2}}, {"city = \"Unknown\"", []int{3}}, {"country = \"USA\"", []int{1, 2}}, - {"country = \"Unknown\"", []int{3}}, + {"country = \"Unknown country\"", []int{3}}, {"zip = 19601", []int{1}}, {"zip = 67890", []int{2}}, {"zip >= 0", []int{1, 2}}, @@ -167,6 +167,7 @@ func TestPgx(t *testing.T) { def.AddField("author", NewFieldString().WithFullText("")) def.AddField("year", NewFieldNumber()) def.AddField("city", NewFieldString().WithFullText("").WithColumn("address->>'city'")) + def.AddField("address", NewFieldString().WithFullText("").WithColumn("address")) var parser cql.Parser for _, testcase := range []struct { @@ -184,6 +185,10 @@ func TestPgx(t *testing.T) { {"author adj \"e d knuth\"", []int{}}, {"city = \"Reading\"", []int{1}}, {"city = \"reading\"", []int{1}}, + {"address = USA", []int{1, 2}}, + {"address all \"Reading USA\"", []int{1}}, + {"address = \"unknown country\"", []int{3}}, + {"address adj \"unknown country\"", []int{3}}, } { runQuery(t, parser, conn, ctx, def, testcase.query, testcase.expectedIds) } From 30c93f519ad9ace5903dc20156df0261f85b40c1 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Thu, 19 Feb 2026 10:20:16 +0100 Subject: [PATCH 2/3] A couple of more tests --- pgcql/pgx_test.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pgcql/pgx_test.go b/pgcql/pgx_test.go index 7ddc4a1..a9ef0e8 100644 --- a/pgcql/pgx_test.go +++ b/pgcql/pgx_test.go @@ -187,6 +187,8 @@ func TestPgx(t *testing.T) { {"city = \"reading\"", []int{1}}, {"address = USA", []int{1, 2}}, {"address all \"Reading USA\"", []int{1}}, + {"address all \"usa reading\"", []int{1}}, + {"address all \"usa 1984\"", []int{}}, {"address = \"unknown country\"", []int{3}}, {"address adj \"unknown country\"", []int{3}}, } { From fe5c02668ebce05d7f857f2e51cc361148ff32c2 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Thu, 19 Feb 2026 10:21:56 +0100 Subject: [PATCH 3/3] One more --- pgcql/pgx_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pgcql/pgx_test.go b/pgcql/pgx_test.go index a9ef0e8..f4c6263 100644 --- a/pgcql/pgx_test.go +++ b/pgcql/pgx_test.go @@ -190,6 +190,7 @@ func TestPgx(t *testing.T) { {"address all \"usa reading\"", []int{1}}, {"address all \"usa 1984\"", []int{}}, {"address = \"unknown country\"", []int{3}}, + {"address = \"country unknown\"", []int{}}, {"address adj \"unknown country\"", []int{3}}, } { runQuery(t, parser, conn, ctx, def, testcase.query, testcase.expectedIds)