Skip to content
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
5878f6d
Update GMS callsites.
nicktobey Mar 20, 2025
c1d1f2f
bump dependencies
nicktobey Mar 20, 2025
73fdb67
Implement toast types
nicktobey Mar 20, 2025
c827a0d
Bump Dolt dependency
nicktobey Mar 25, 2025
40f254f
Bump Dolt dependency
nicktobey Mar 25, 2025
d761483
Remove unuesed test
nicktobey Mar 25, 2025
aa51bc9
Bump Dolt
nicktobey Mar 26, 2025
4b7b1a5
Have DoltgresConfig implement servercfg.ServerConfig
nicktobey Mar 26, 2025
5be42ed
Bump Dolt
nicktobey Mar 26, 2025
d2f356d
Support ExtendedAdaptiveEncoding
nicktobey Mar 26, 2025
16ca335
Update dolt_statistics test: it's sensitive to chunk boundaries, and …
nicktobey Mar 26, 2025
cd6d074
Add flag for unwrapping values in doltgres tests.
nicktobey Mar 27, 2025
e9fad88
Bump dolt dependency.
nicktobey Mar 27, 2025
e75c5d2
Merge remote-tracking branch 'origin/main' into nicktobey/toast
nicktobey Mar 28, 2025
67eb58e
Bump Dolt dependency.
nicktobey Mar 28, 2025
6b2279e
Add adaptive encoding test.
nicktobey Mar 28, 2025
aa607b2
Remove redundant definition of DoltgresConfig::MaxWaitConnections and…
nicktobey Mar 28, 2025
32f6a1d
Merge remote-tracking branch 'origin/main' into nicktobey/toast
nicktobey Mar 28, 2025
336747d
Bump Dolt dependency
nicktobey Mar 28, 2025
b959d67
Update DoltgresHarness::EvaluateQueryResults
nicktobey Mar 28, 2025
d7a72f9
Add unwrapping of wrapped types.
nicktobey Apr 1, 2025
f1510fd
Add adaptive encoding test.
nicktobey Apr 1, 2025
b782935
Propagate context parameter
nicktobey Apr 1, 2025
8d84733
Format files
nicktobey Apr 2, 2025
52f791b
Merge remote-tracking branch 'origin/main' into nicktobey/toast
nicktobey Apr 2, 2025
b0be560
Bump Dolt
nicktobey Apr 2, 2025
b361cd8
Guard read to function registry map with mutex.
nicktobey Apr 2, 2025
67c3743
Bump Dolt dependencies.
nicktobey Apr 7, 2025
27ea981
Replace string casts with sql.Unwrap where necessary.
nicktobey Apr 8, 2025
bf512ac
Run ./scripts/format_repo.sh
nicktobey Apr 8, 2025
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
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ require (
github.com/PuerkitoBio/goquery v1.8.1
github.com/cockroachdb/apd/v2 v2.0.3-0.20200518165714-d020e156310a
github.com/cockroachdb/errors v1.7.5
github.com/dolthub/dolt/go v0.40.5-0.20250327034921-08692f622c0f
github.com/dolthub/dolt/go v0.40.5-0.20250327233129-1b20b2c343b0
github.com/dolthub/dolt/go/gen/proto/dolt/services/eventsapi v0.0.0-20241119094239-f4e529af734d
github.com/dolthub/flatbuffers/v23 v23.3.3-dh.2
github.com/dolthub/go-icu-regex v0.0.0-20250327004329-6799764f2dad
github.com/dolthub/go-mysql-server v0.19.1-0.20250327024921-b37ee95c948e
github.com/dolthub/go-mysql-server v0.19.1-0.20250327232646-0dc98df3ff7e
github.com/dolthub/sqllogictest/go v0.0.0-20240618184124-ca47f9354216
github.com/dolthub/vitess v0.0.0-20250325024605-8131be3ca6d3
github.com/fatih/color v1.13.0
Expand Down Expand Up @@ -99,7 +99,7 @@ require (
github.com/go-kit/kit v0.10.0 // indirect
github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-sql-driver/mysql v1.7.2-0.20231213112541-0004702b931d // indirect
github.com/go-sql-driver/mysql v1.9.1 // indirect
github.com/gocraft/dbr/v2 v2.7.2 // indirect
github.com/gofrs/flock v0.8.1 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
Expand Down
12 changes: 6 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -256,8 +256,8 @@ github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5Xh
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/dolthub/aws-sdk-go-ini-parser v0.0.0-20250305001723-2821c37f6c12 h1:IdqX7J8vi/Kn3T3Ee0VzqnLqwFmgA2hr8WZETPcQjfM=
github.com/dolthub/aws-sdk-go-ini-parser v0.0.0-20250305001723-2821c37f6c12/go.mod h1:rN7X8BHwkjPcfMQQ2QTAq/xM3leUSGLfb+1Js7Y6TVo=
github.com/dolthub/dolt/go v0.40.5-0.20250327034921-08692f622c0f h1:vguCB9P2PSFAiZkHX/g08+ExwqP0sQYBCc5bcuIN/xY=
github.com/dolthub/dolt/go v0.40.5-0.20250327034921-08692f622c0f/go.mod h1:9sIl4ONhoRuizQhVvW7boh/im2o7acUS8S1g1I2Na0w=
github.com/dolthub/dolt/go v0.40.5-0.20250327233129-1b20b2c343b0 h1:jaUle6KuIo9OHD5If3DmlBwiAz7BjUNYsN4OJ7R9mMI=
github.com/dolthub/dolt/go v0.40.5-0.20250327233129-1b20b2c343b0/go.mod h1:eZKXRpA3E/2NYWoa087eJ2h/FsOTsgRxMWW4IVkiYcA=
github.com/dolthub/dolt/go/gen/proto/dolt/services/eventsapi v0.0.0-20241119094239-f4e529af734d h1:gO9+wrmNHXukPNCO1tpfCcXIdMlW/qppbUStfLvqz/U=
github.com/dolthub/dolt/go/gen/proto/dolt/services/eventsapi v0.0.0-20241119094239-f4e529af734d/go.mod h1:L5RDYZbC9BBWmoU2+TjTekeqqhFXX5EqH9ln00O0stY=
github.com/dolthub/flatbuffers/v23 v23.3.3-dh.2 h1:u3PMzfF8RkKd3lB9pZ2bfn0qEG+1Gms9599cr0REMww=
Expand All @@ -266,8 +266,8 @@ github.com/dolthub/fslock v0.0.3 h1:iLMpUIvJKMKm92+N1fmHVdxJP5NdyDK5bK7z7Ba2s2U=
github.com/dolthub/fslock v0.0.3/go.mod h1:QWql+P17oAAMLnL4HGB5tiovtDuAjdDTPbuqx7bYfa0=
github.com/dolthub/go-icu-regex v0.0.0-20250327004329-6799764f2dad h1:66ZPawHszNu37VPQckdhX1BPPVzREsGgNxQeefnlm3g=
github.com/dolthub/go-icu-regex v0.0.0-20250327004329-6799764f2dad/go.mod h1:ylU4XjUpsMcvl/BKeRRMXSH7e7WBrPXdSLvnRJYrxEA=
github.com/dolthub/go-mysql-server v0.19.1-0.20250327024921-b37ee95c948e h1:LXwdXQgGblPkfy54BdpNEUbHlAaUmwM4oFN4j14tRkI=
github.com/dolthub/go-mysql-server v0.19.1-0.20250327024921-b37ee95c948e/go.mod h1:lt1xwT52nowkmcVWaFpLShNUrScQV8EQ1aNNGGMduRE=
github.com/dolthub/go-mysql-server v0.19.1-0.20250327232646-0dc98df3ff7e h1:n5DOJLE8fyk08la+tQRlBeRTm4d/DFZkHLGzBWWc+7Q=
github.com/dolthub/go-mysql-server v0.19.1-0.20250327232646-0dc98df3ff7e/go.mod h1:lt1xwT52nowkmcVWaFpLShNUrScQV8EQ1aNNGGMduRE=
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-20240701202509-2b217167d718 h1:lT7hE5k+0nkBdj/1UOSFwjWpNxf+LCApbRHgnCA17XE=
Expand Down Expand Up @@ -349,8 +349,8 @@ github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-sql-driver/mysql v1.7.2-0.20231213112541-0004702b931d h1:QQP1nE4qh5aHTGvI1LgOFxZYVxYoGeMfbNHikogPyoA=
github.com/go-sql-driver/mysql v1.7.2-0.20231213112541-0004702b931d/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
github.com/go-sql-driver/mysql v1.9.1 h1:FrjNGn/BsJQjVRuSa8CBrM5BWA9BWoXXat3KrtSb/iI=
github.com/go-sql-driver/mysql v1.9.1/go.mod h1:qn46aNg1333BRMNU69Lq93t8du/dwxI64Gl8i5p1WMU=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
Expand Down
2 changes: 1 addition & 1 deletion server/functions/text.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ var textout = framework.Function1{
Parameters: [1]*pgtypes.DoltgresType{pgtypes.Text},
Strict: true,
Callable: func(ctx *sql.Context, _ [2]*pgtypes.DoltgresType, val any) (any, error) {
return val.(string), nil
return val, nil
},
}

Expand Down
6 changes: 3 additions & 3 deletions server/index/table.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,15 @@ var _ sql.ProjectedTable = (*DoltgresTable)(nil)
var _ sql.IndexSearchableTable = (*DoltgresTable)(nil)

// IndexedAccess implements the sql.IndexSearchableTable interface.
func (dt *DoltgresTable) IndexedAccess(lookup sql.IndexLookup) sql.IndexedTable {
func (dt *DoltgresTable) IndexedAccess(ctx *sql.Context, lookup sql.IndexLookup) sql.IndexedTable {
if dgRanges, ok := lookup.Ranges.(index.DoltgresRangeCollection); ok {
return &IndexedDoltgresTable{
IndexedDoltTable: dt.DoltTable.IndexedAccess(lookup).(*sqle.IndexedDoltTable),
IndexedDoltTable: dt.DoltTable.IndexedAccess(ctx, lookup).(*sqle.IndexedDoltTable),
idx: lookup.Index,
rc: dgRanges,
}
} else {
return dt.DoltTable.IndexedAccess(lookup)
return dt.DoltTable.IndexedAccess(ctx, lookup)
}
}

Expand Down
6 changes: 3 additions & 3 deletions server/index/writable_table.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,15 @@ var _ sql.ProjectedTable = (*WritableDoltgresTable)(nil)
var _ sql.IndexSearchableTable = (*WritableDoltgresTable)(nil)

// IndexedAccess implements the sql.IndexSearchableTable interface.
func (dt *WritableDoltgresTable) IndexedAccess(lookup sql.IndexLookup) sql.IndexedTable {
func (dt *WritableDoltgresTable) IndexedAccess(ctx *sql.Context, lookup sql.IndexLookup) sql.IndexedTable {
if dgRanges, ok := lookup.Ranges.(index.DoltgresRangeCollection); ok {
return &IndexedWritableDoltgresTable{
WritableIndexedDoltTable: dt.WritableDoltTable.IndexedAccess(lookup).(*sqle.WritableIndexedDoltTable),
WritableIndexedDoltTable: dt.WritableDoltTable.IndexedAccess(ctx, lookup).(*sqle.WritableIndexedDoltTable),
idx: lookup.Index,
rc: dgRanges,
}
} else {
return dt.WritableDoltTable.IndexedAccess(lookup)
return dt.WritableDoltTable.IndexedAccess(ctx, lookup)
}
}

Expand Down
4 changes: 2 additions & 2 deletions server/tables/dtables/ignore.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,13 @@ func convertTupleToIgnoreBoolean(ctx context.Context, valueDesc val.TupleDesc, v
func getIgnoreTablePatternKey(ctx context.Context, keyDesc val.TupleDesc, keyTuple val.Tuple) (string, error) {
extendedTuple := val.NewTupleDescriptorWithArgs(
val.TupleDescriptorArgs{Comparator: keyDesc.Comparator(), Handlers: keyDesc.Handlers},
val.Type{Enc: val.ExtendedAddrEnc, Nullable: false},
val.Type{Enc: val.ExtendedAdaptiveEnc, Nullable: false},
)
if !keyDesc.Equals(extendedTuple) {
return "", fmt.Errorf("dolt_ignore had unexpected key type, this should never happen")
}

keyAddr, ok := keyDesc.GetExtendedAddr(0, keyTuple)
keyAddr, ok := keyDesc.GetExtendedAdaptiveValue(0, keyTuple)
if !ok {
return "", fmt.Errorf("could not read pattern")
}
Expand Down
30 changes: 25 additions & 5 deletions server/tables/dtables/rebase.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
package dtables

import (
"context"
"strings"

"github.com/cockroachdb/errors"
Expand Down Expand Up @@ -52,27 +53,46 @@ func convertRebasePlanStepToRow(planMember rebase.RebasePlanStep) (sql.Row, erro
}

// convertRowToRebasePlanStep converts a sql.Row to a RebasePlanStep.
func convertRowToRebasePlanStep(row sql.Row) (rebase.RebasePlanStep, error) {
func convertRowToRebasePlanStep(ctx context.Context, row sql.Row) (rebase.RebasePlanStep, error) {
order, ok := row[0].(float32)
if !ok {
return rebase.RebasePlanStep{}, errors.Errorf("invalid order value in rebase plan: %v (%T)", row[0], row[0])
}

rebaseAction, ok := row[1].(string)
rebaseAction, ok, err := sql.Unwrap[string](ctx, row[1])
if err != nil {
return rebase.RebasePlanStep{}, err
}
if !ok {
return rebase.RebasePlanStep{}, errors.Errorf("invalid enum value in rebase plan: %v (%T)", row[1], row[1])
return rebase.RebasePlanStep{}, errors.Errorf("unexpected type for rebase action: expected string, got: %v (%T)", row[1], row[1])
}

rebaseIdx := dprocedures.RebaseActionEnumType.IndexOf(rebaseAction)
if rebaseIdx < 0 {
return rebase.RebasePlanStep{}, errors.Errorf("invalid enum value in rebase plan: %v (%T)", row[1], row[1])
}

commitHash, ok, err := sql.Unwrap[string](ctx, row[2])
if err != nil {
return rebase.RebasePlanStep{}, err
}
if !ok {
return rebase.RebasePlanStep{}, errors.Errorf("unexpected type for commit hash: expected string, got: %v (%T)", row[2], row[2])
}

commitMsg, ok, err := sql.Unwrap[string](ctx, row[3])
if err != nil {
return rebase.RebasePlanStep{}, err
}
if !ok {
return rebase.RebasePlanStep{}, errors.Errorf("unexpected type for commit message: expected string, got: %v (%T)", row[3], row[3])
}

return rebase.RebasePlanStep{
RebaseOrder: decimal.NewFromFloat32(order),
Action: rebaseAction,
CommitHash: row[2].(string),
CommitMsg: row[3].(string),
CommitHash: commitHash,
CommitMsg: commitMsg,
}, nil
}

Expand Down
7 changes: 6 additions & 1 deletion server/types/type.go
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,12 @@ func (t *DoltgresType) IoOutput(ctx *sql.Context, val any) (string, error) {
if err != nil {
return "", err
}
return o.(string), nil
var ok bool
os, ok, err := sql.Unwrap[string](ctx, o)
if !ok {
return "", fmt.Errorf("unexpected type for io output, expected string, got %T", val)
}
return os, err
}

// IsArrayType returns true if the type is of 'array' category
Expand Down
10 changes: 10 additions & 0 deletions servercfg/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -579,3 +579,13 @@ func (cfg *DoltgresConfig) String() string {
result := strings.Join(formatted, "\n")
return result
}

// MaxWaitConnections implements servercfg.ServerConfig
func (cfg *DoltgresConfig) MaxWaitConnections() uint32 {
return servercfg.DefaultMaxWaitConnections
}

// MaxWaitConnectionsTimeout implements servercfg.ServerConfig
func (cfg *DoltgresConfig) MaxWaitConnectionsTimeout() time.Duration {
return servercfg.DefaultMaxWaitConnectionsTimeout
}
27 changes: 11 additions & 16 deletions testing/go/dolt_tables_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1763,30 +1763,25 @@ func TestUserSpaceDoltTables(t *testing.T) {
{
Query: `SELECT database_name, table_name, index_name, row_count, distinct_count, columns, upper_bound, upper_bound_cnt FROM dolt_statistics ORDER BY index_name, row_count`,
Expected: []sql.Row{
{"postgres", "horses", "horses_name_idx", 70, 1, "name", "Steve", 70},
{"postgres", "horses", "horses_name_idx", 126, 1, "name", "Steve", 126},
{"postgres", "horses", "horses_name_idx", 141, 1, "name", "Steve", 141},
{"postgres", "horses", "horses_name_idx", 146, 1, "name", "Steve", 146},
{"postgres", "horses", "horses_name_idx", 160, 1, "name", "Steve", 160},
{"postgres", "horses", "horses_name_idx", 165, 1, "name", "Steve", 165},
{"postgres", "horses", "horses_name_idx", 192, 1, "name", "Steve", 192},
{"postgres", "horses", "horses_name_idx", 62, 1, "name", "Steve", 62},
{"postgres", "horses", "horses_name_idx", 212, 1, "name", "Steve", 212},
{"postgres", "horses", "horses_name_idx", 214, 1, "name", "Steve", 214},
{"postgres", "horses", "horses_name_idx", 239, 1, "name", "Steve", 239},
{"postgres", "horses", "horses_name_idx", 273, 1, "name", "Steve", 273},
{"postgres", "horses", "primary", 46, 46, "id", "1000", 1},
{"postgres", "horses", "primary", 76, 76, "id", "954", 1},
{"postgres", "horses", "primary", 89, 89, "id", "547", 1},
{"postgres", "horses", "primary", 117, 117, "id", "117", 1},
{"postgres", "horses", "primary", 149, 149, "id", "458", 1},
{"postgres", "horses", "primary", 162, 162, "id", "709", 1},
{"postgres", "horses", "primary", 169, 169, "id", "878", 1},
{"postgres", "horses", "primary", 192, 192, "id", "309", 1},
{"postgres", "horses", "primary", 203, 203, "id", "954", 1},
{"postgres", "horses", "primary", 204, 204, "id", "751", 1},
{"postgres", "horses", "primary", 226, 226, "id", "547", 1},
{"postgres", "horses", "primary", 321, 321, "id", "321", 1},
},
},
{
Query: `SELECT count(*) FROM dolt_statistics`,
Expected: []sql.Row{{15}},
Expected: []sql.Row{{10}},
},
{
Query: `SELECT count(*) FROM public.dolt_statistics`,
Expected: []sql.Row{{15}},
Expected: []sql.Row{{10}},
},
{
Query: `SELECT dolt_statistics.index_name FROM public.dolt_statistics GROUP BY index_name ORDER BY index_name`,
Expand Down
18 changes: 13 additions & 5 deletions testing/go/enginetest/doltgres_harness_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -356,9 +356,9 @@ func (d *DoltgresHarness) SnapshotTable(db sql.VersionedDatabase, tableName stri
panic("implement me")
}

func (d *DoltgresHarness) EvaluateQueryResults(t *testing.T, expected []sql.Row, expectedCols []*sql.Column, sch sql.Schema, rows []sql.Row, q string) {
widenedRows := enginetest.WidenRows(sch, rows)
widenedExpected := enginetest.WidenRows(sch, expected)
func (d *DoltgresHarness) EvaluateQueryResults(t *testing.T, expected []sql.Row, expectedCols []*sql.Column, sch sql.Schema, rows []sql.Row, q string, unwrapValues bool) {
widenedRows := enginetest.WidenRows(t, sch, rows)
widenedExpected := enginetest.WidenRows(t, sch, expected)

upperQuery := strings.ToUpper(q)
orderBy := strings.Contains(upperQuery, "ORDER BY ")
Expand All @@ -369,11 +369,19 @@ func (d *DoltgresHarness) EvaluateQueryResults(t *testing.T, expected []sql.Row,

for _, widenedRow := range widenedRows {
for i, val := range widenedRow {
switch val.(type) {
switch v := val.(type) {
case time.Time:
if setZeroTime {
widenedRow[i] = time.Unix(0, 0).UTC()
}
case sql.AnyWrapper:
if unwrapValues {
var err error
widenedRow[i], err = sql.UnwrapAny(context.Background(), v)
require.NoError(t, err)
} else {
widenedRow[i] = v.Hash()
}
}
}
}
Expand Down Expand Up @@ -453,7 +461,7 @@ func widenExpectedRows(t *testing.T, q string, expected []sql.Row, sch sql.Schem
expected[i][j] = convertedExpected
}

expected[i] = enginetest.WidenRow(sch, expected[i])
expected[i] = enginetest.WidenRow(t, sch, expected[i])

// OK results from GMS manifest as a nil schema in postgres, only accessible via command tags
if isNilOrEmptySchema && len(expected[i]) == 1 {
Expand Down