Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
5e6ea56
using indexedjsondocument
zachmu Apr 9, 2026
93cd5f9
merge main
zachmu Apr 9, 2026
f7648e1
fix test harness for json
zachmu Apr 9, 2026
6409b07
always use json types in json func output
zachmu Apr 10, 2026
9c0c972
more json conversion
zachmu Apr 10, 2026
c7679a1
converting more jsonb stuff
zachmu Apr 10, 2026
fa5f48d
more jsonb conversion
zachmu Apr 10, 2026
e06e03d
Merge branch 'main' into zachmu/json-enc
zachmu Apr 13, 2026
2ea3f7a
fixed jsonb_object_field
zachmu Apr 13, 2026
ef86f58
merge dev branch
zachmu Apr 23, 2026
d39a2f4
turn json encoding back on
zachmu Apr 23, 2026
6324c85
merge dev branch
zachmu Apr 24, 2026
298b82c
turn json encoding back on
zachmu Apr 24, 2026
7c74053
Fixed remaining areas of JSON support
zachmu Apr 24, 2026
c2cf3e1
formatting
zachmu Apr 24, 2026
a67af1d
linting
zachmu Apr 24, 2026
6a575ad
formatting
zachmu Apr 24, 2026
58b76e1
unfocus test
zachmu Apr 24, 2026
de02e2e
unfocus test
zachmu Apr 24, 2026
94133f2
removed JSONB ordering test
zachmu Apr 24, 2026
cf79f4a
deleted unused json document type
zachmu Apr 24, 2026
09ca8e5
Merge branch 'main' into zachmu/json-enc
zachmu Apr 24, 2026
47f98ac
restore deleted json_document.go
zachmu Apr 27, 2026
ad4e7c7
Restore legacy ser/deser paths
zachmu Apr 27, 2026
589098a
[ga-format-pr] Run scripts/format_repo.sh
zachmu Apr 27, 2026
13249bf
new dolt
zachmu Apr 27, 2026
f648270
merge main
zachmu Apr 27, 2026
af13d08
new dolt
zachmu Apr 27, 2026
3d4c9d8
revert latest dolt changes
zachmu Apr 27, 2026
1b238f6
indexing test
zachmu May 5, 2026
3b20275
new test
zachmu May 5, 2026
7b4d210
improved test
zachmu May 5, 2026
61fe6a7
fix
zachmu May 5, 2026
ef689b7
merge main
zachmu May 5, 2026
f72710a
fix json tests
zachmu May 5, 2026
77652c6
merge main
zachmu May 22, 2026
58ae9e1
use json operation optimizations
zachmu May 22, 2026
ee22026
fixed pair wise ordering tests with actual values
zachmu May 22, 2026
1fcd4db
more tests and a bug fix
zachmu May 22, 2026
47b0114
[ga-format-pr] Run scripts/format_repo.sh
zachmu May 22, 2026
45b025c
new dolt
zachmu May 22, 2026
008905b
Merge branch 'zachmu/json-enc' of github.com:dolthub/doltgresql into …
zachmu May 22, 2026
83b54ef
fixed test defs
zachmu May 22, 2026
8701d08
restore string->json cast
zachmu May 22, 2026
a3328e6
bug fix for null in records
zachmu May 22, 2026
ccded02
fixed json casts
zachmu May 22, 2026
d5c7bcd
skip test failing on ubuntu
zachmu May 23, 2026
8d483aa
added enginetest
zachmu May 26, 2026
81982b0
unskip test
zachmu May 26, 2026
1b0da5e
Unskip tests that now pass
zachmu May 26, 2026
3bf1972
remove useless test
zachmu May 26, 2026
6c46c85
adaptive value tests
zachmu May 26, 2026
4791c25
new dolt
zachmu May 26, 2026
25983ee
new dolt
zachmu May 26, 2026
960c3dd
merge main
zachmu May 27, 2026
17d3933
PR feedback
zachmu May 27, 2026
7779365
some cleanup
zachmu May 28, 2026
cbdaae7
bug fixes for unwrapping types
zachmu May 28, 2026
a6cdece
merge main
zachmu May 28, 2026
ff8e71a
merge main
zachmu May 28, 2026
2b721f0
new dolt
zachmu May 28, 2026
eaab585
[ga-format-pr] Run scripts/format_repo.sh
zachmu May 28, 2026
64425e9
bug fixes
zachmu May 28, 2026
b4a5731
Merge branch 'main' into zachmu/json-enc
zachmu May 28, 2026
4fd015c
new dolt
zachmu May 28, 2026
6d5e4fa
Merge branch 'zachmu/json-enc' of github.com:dolthub/doltgresql into …
zachmu May 28, 2026
89d1682
[ga-format-pr] Run scripts/format_repo.sh
zachmu May 28, 2026
51164f0
use searchableJson for path lookups where possible
zachmu May 29, 2026
4988aac
new dolt
zachmu Jun 3, 2026
d40832b
Merge branch 'zachmu/json-enc' of github.com:dolthub/doltgresql into …
zachmu Jun 3, 2026
82098ca
merge main
zachmu Jun 3, 2026
5e159a1
new dolt
zachmu Jun 3, 2026
8f4aea8
merge main
zachmu Jun 4, 2026
1dfb342
new dolt
zachmu Jun 4, 2026
518ba2f
merge upstream
zachmu Jun 4, 2026
833584b
new dolt
zachmu Jun 4, 2026
b13fc11
new gms
zachmu Jun 4, 2026
40e2a28
bug fix for null path
zachmu Jun 4, 2026
bfbc27c
new tests
zachmu Jun 4, 2026
0608e0e
merge main
zachmu Jun 5, 2026
580076e
new dolt
zachmu Jun 5, 2026
661e30e
Apply suggestion from @fulghum
zachmu Jun 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ require (
github.com/PuerkitoBio/goquery v1.8.1
github.com/cockroachdb/apd/v3 v3.2.3
github.com/cockroachdb/errors v1.7.5
github.com/dolthub/dolt/go v0.40.5-0.20260604223716-5ac466c68ca7
github.com/dolthub/dolt/go v0.40.5-0.20260605000101-c6f847cb5242
github.com/dolthub/eventsapi_schema v0.0.0-20260310172945-37a9265ade69
github.com/dolthub/flatbuffers/v23 v23.3.3-dh.2
github.com/dolthub/go-mysql-server v0.20.1-0.20260604212032-10e53f0a000e
github.com/dolthub/go-mysql-server v0.20.1-0.20260604232018-6a9dd7b59c86
github.com/dolthub/pg_query_go/v6 v6.0.0-20251215122834-fb20be4254d1
github.com/dolthub/sqllogictest/go v0.0.0-20240618184124-ca47f9354216
github.com/dolthub/vitess v0.0.0-20260604210335-0893abc80542
Expand Down Expand Up @@ -142,6 +142,7 @@ require (
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgproto3/v2 v2.3.3 // indirect
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
github.com/jackc/puddle/v2 v2.2.2 // indirect
github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d // indirect
github.com/kch42/buzhash v0.0.0-20160816060738-9bdec3dec7c6 // indirect
github.com/klauspost/compress v1.18.0 // indirect
Expand Down
9 changes: 4 additions & 5 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -246,8 +246,8 @@ github.com/dolthub/aws-sdk-go-ini-parser v0.0.0-20250305001723-2821c37f6c12 h1:I
github.com/dolthub/aws-sdk-go-ini-parser v0.0.0-20250305001723-2821c37f6c12/go.mod h1:rN7X8BHwkjPcfMQQ2QTAq/xM3leUSGLfb+1Js7Y6TVo=
github.com/dolthub/dolt-mcp v0.3.4 h1:AyG5cw+fNWXDHXujtQnqUPZrpWtPg6FN6yYtjv1pP44=
github.com/dolthub/dolt-mcp v0.3.4/go.mod h1:bCZ7KHvDYs+M0e+ySgmGiNvLhcwsN7bbf5YCyillLrk=
github.com/dolthub/dolt/go v0.40.5-0.20260604223716-5ac466c68ca7 h1:6j8kXiLYv9Uqty2D1XQl0+KEkh2IuxcY5jmIZiXg3rQ=
github.com/dolthub/dolt/go v0.40.5-0.20260604223716-5ac466c68ca7/go.mod h1:W6qePjnOpTZacpBvU1WyhBLHP4ENC+lb5SELW7CjE40=
github.com/dolthub/dolt/go v0.40.5-0.20260605000101-c6f847cb5242 h1:nx7bb7QFGHvZgCDjTDFQgU3IwdyKs0GI3fT9HqdnB1w=
github.com/dolthub/dolt/go v0.40.5-0.20260605000101-c6f847cb5242/go.mod h1:VQdcfyqjyhjVDZSBagYjimKXfTQNYGtWA0MHx1fIGDU=
github.com/dolthub/eventsapi_schema v0.0.0-20260310172945-37a9265ade69 h1:JShhbqMw26nKx3pqqu/cFxOpzBkN+4elVhzuUfgDw2k=
github.com/dolthub/eventsapi_schema v0.0.0-20260310172945-37a9265ade69/go.mod h1:SSLraQS/jGLYFgff3vuZ+JbVUct6vyEeMzjLBqWqoyM=
github.com/dolthub/flatbuffers/v23 v23.3.3-dh.2 h1:u3PMzfF8RkKd3lB9pZ2bfn0qEG+1Gms9599cr0REMww=
Expand All @@ -256,8 +256,8 @@ github.com/dolthub/fslock v0.0.5 h1:QoXhBhgY1oumHE26qyE7tgmXUT8qjJwxsIzo54O/B/k=
github.com/dolthub/fslock v0.0.5/go.mod h1:sdofYYqE0D79zNZyB4/kmlnsQOVap1C2yByjGKSirEM=
github.com/dolthub/go-icu-regex v0.0.0-20260412212219-49724d547866 h1:U6gSf5I0e6h6GP1/5Sa7D2lWW1CWfcVPtY5wkyHq6jY=
github.com/dolthub/go-icu-regex v0.0.0-20260412212219-49724d547866/go.mod h1:F3cnm+vMRK1HaU6+rNqQrOCyR03HHhR1GWG2gnPOqaE=
github.com/dolthub/go-mysql-server v0.20.1-0.20260604212032-10e53f0a000e h1:BI8QIYHQzWTluF1IL55H60PvK6tF+KUb0HyZpEsY9CY=
github.com/dolthub/go-mysql-server v0.20.1-0.20260604212032-10e53f0a000e/go.mod h1:A3nEC4RgBm9UzuQCGhQhJDQAiFMPsZU3NPKbGhEd8R4=
github.com/dolthub/go-mysql-server v0.20.1-0.20260604232018-6a9dd7b59c86 h1:V5tdwzJZOzaRHq7TpCP12/rHztVl7m3YKGZd8ej4h+E=
github.com/dolthub/go-mysql-server v0.20.1-0.20260604232018-6a9dd7b59c86/go.mod h1:A3nEC4RgBm9UzuQCGhQhJDQAiFMPsZU3NPKbGhEd8R4=
github.com/dolthub/gozstd v0.0.0-20240423170813-23a2903bca63 h1:OAsXLAPL4du6tfbBgK0xXHZkOlos63RdKYS3Sgw/dfI=
github.com/dolthub/gozstd v0.0.0-20240423170813-23a2903bca63/go.mod h1:lV7lUeuDhH5thVGDCKXbatwKy2KW80L4rMT46n+Y2/Q=
github.com/dolthub/ishell v0.0.0-20260414231531-5f031e3e9037 h1:oIW9HwuWrhxv+4HZxA+QQSKHLqWFyXZ2FmNjUYwkdiM=
Expand Down Expand Up @@ -520,7 +520,6 @@ github.com/jackc/pgx/v5 v5.9.2/go.mod h1:mal1tBGAFfLHvZzaYh77YS/eC6IX9OWbRV1QIIM
github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/puddle v1.3.0 h1:eHK/5clGOatcjX3oWGBO/MpxpbHzSwud5EWTSCI+MX0=
github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo=
github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/jcmturner/gofork v0.0.0-20180107083740-2aebee971930/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o=
Expand Down
17 changes: 15 additions & 2 deletions server/cast/json.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
package cast

import (
"github.com/cockroachdb/errors"
"github.com/dolthub/go-mysql-server/sql"

"github.com/dolthub/doltgresql/core/casts"
"github.com/dolthub/doltgresql/core/id"

"github.com/dolthub/doltgresql/server/functions/framework"
pgtypes "github.com/dolthub/doltgresql/server/types"
)
Expand All @@ -35,7 +35,20 @@ func jsonAssignment(builtInCasts map[id.Cast]casts.Cast) {
FromType: pgtypes.Json,
ToType: pgtypes.JsonB,
Function: func(ctx *sql.Context, val any, _, targetType *pgtypes.DoltgresType) (any, error) {
return targetType.IoInput(ctx, val.(string))
switch v := val.(type) {
case sql.StringWrapper:
result, err := v.Unwrap(ctx)
if err != nil {
return nil, err
}
return targetType.IoInput(ctx, result)
case string:
Comment thread
zachmu marked this conversation as resolved.
return targetType.IoInput(ctx, v)
case sql.JSONWrapper:
return v, nil
default:
return nil, errors.Errorf("unexpected JSON value type: %T", val)
}
},
})
}
Loading
Loading