Skip to content

Commit f426cb0

Browse files
committed
Fix tests, add case insensitivity tests
1 parent 3168e4e commit f426cb0

File tree

11 files changed

+72
-25
lines changed

11 files changed

+72
-25
lines changed

go/libraries/doltcore/sqle/dtables/blame_view.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,12 @@ const (
6868
// The DOLT_BLAME system view is a view on the DOLT_DIFF system table that shows the latest commit
6969
// for each primary key in the specified table.
7070
func NewBlameView(ctx *sql.Context, tableName doltdb.TableName, root doltdb.RootValue) (string, error) {
71-
table, _, ok, err := doltdb.GetTableInsensitive(ctx, root, tableName)
71+
var table *doltdb.Table
72+
var err error
73+
table, tableName, err = mustGetTableInsensitive(ctx, root, tableName)
7274
if err != nil {
7375
return "", err
7476
}
75-
if !ok {
76-
return "", doltdb.ErrTableNotFound
77-
}
7877

7978
sch, err := table.GetSchema(ctx)
8079
if err != nil {

go/libraries/doltcore/sqle/dtables/commit_diff_table.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,12 @@ var _ sql.StatisticsTable = (*CommitDiffTable)(nil)
6060
func NewCommitDiffTable(ctx *sql.Context, dbName string, tblName doltdb.TableName, ddb *doltdb.DoltDB, wRoot, sRoot doltdb.RootValue) (sql.Table, error) {
6161
diffTblName := doltdb.DoltCommitDiffTablePrefix + tblName.Name
6262

63-
table, tableExists, err := wRoot.GetTable(ctx, tblName)
63+
var table *doltdb.Table
64+
var err error
65+
table, tblName, err = mustGetTableInsensitive(ctx, wRoot, tblName)
6466
if err != nil {
6567
return nil, err
6668
}
67-
if !tableExists {
68-
return nil, sql.ErrTableNotFound.New(diffTblName)
69-
}
7069

7170
sch, err := table.GetSchema(ctx)
7271
if err != nil {

go/libraries/doltcore/sqle/dtables/conflicts_tables.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ import (
2929

3030
// NewConflictsTable returns a new ConflictsTable instance
3131
func NewConflictsTable(ctx *sql.Context, tblName doltdb.TableName, srcTbl sql.Table, root doltdb.RootValue, rs RootSetter) (sql.Table, error) {
32-
tbl, ok, err := root.GetTable(ctx, tblName)
32+
var tbl *doltdb.Table
33+
var err error
34+
tbl, tblName, err = mustGetTableInsensitive(ctx, root, tblName)
3335
if err != nil {
3436
return nil, err
35-
} else if !ok {
36-
return nil, sql.ErrTableNotFound.New(tblName)
3737
}
3838

3939
if types.IsFormat_DOLT(tbl.Format()) {

go/libraries/doltcore/sqle/dtables/constraint_violations.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ func NewConstraintViolationsTable(ctx *sql.Context, tblName doltdb.TableName, ro
3636
}
3737

3838
func newNomsCVTable(ctx *sql.Context, tblName doltdb.TableName, root doltdb.RootValue, rs RootSetter) (sql.Table, error) {
39-
tbl, _, ok, err := doltdb.GetTableInsensitive(ctx, root, tblName)
39+
var tbl *doltdb.Table
40+
var err error
41+
tbl, tblName, err = mustGetTableInsensitive(ctx, root, tblName)
4042
if err != nil {
4143
return nil, err
42-
} else if !ok {
43-
return nil, sql.ErrTableNotFound.New(tblName)
4444
}
4545
cvSch, err := tbl.GetConstraintViolationsSchema(ctx)
4646
if err != nil {

go/libraries/doltcore/sqle/dtables/constraint_violations_prolly.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ import (
3333
)
3434

3535
func newProllyCVTable(ctx *sql.Context, tblName doltdb.TableName, root doltdb.RootValue, rs RootSetter) (sql.Table, error) {
36-
tbl, ok, err := root.GetTable(ctx, tblName)
36+
var tbl *doltdb.Table
37+
var err error
38+
tbl, tblName, err = mustGetTableInsensitive(ctx, root, tblName)
3739
if err != nil {
3840
return nil, err
39-
} else if !ok {
40-
return nil, sql.ErrTableNotFound.New(tblName)
4141
}
4242
cvSch, err := tbl.GetConstraintViolationsSchema(ctx)
4343
if err != nil {

go/libraries/doltcore/sqle/dtables/diff_table.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,16 +86,28 @@ var PrimaryKeyChangeWarning = "cannot render full diff between commits %s and %s
8686

8787
const PrimaryKeyChangeWarningCode int = 1105 // Since this is our own custom warning we'll use 1105, the code for an unknown error
8888

89+
func mustGetTableInsensitive(ctx *sql.Context, root doltdb.RootValue, tblName doltdb.TableName) (*doltdb.Table, doltdb.TableName, error) {
90+
table, correctedTableName, tableExists, err := doltdb.GetTableInsensitive(ctx, root, tblName)
91+
if err != nil {
92+
return nil, tblName, err
93+
}
94+
if !tableExists {
95+
return nil, tblName, sql.ErrTableNotFound.New(tblName.String())
96+
}
97+
tblName.Name = correctedTableName
98+
return table, tblName, nil
99+
}
100+
89101
func NewDiffTable(ctx *sql.Context, dbName string, tblName doltdb.TableName, ddb *doltdb.DoltDB, root doltdb.RootValue, head *doltdb.Commit) (sql.Table, error) {
90102
diffTblName := doltdb.DoltDiffTablePrefix + tblName.Name
91103

92-
table, tableExists, err := root.GetTable(ctx, tblName)
104+
var table *doltdb.Table
105+
var err error
106+
table, tblName, err = mustGetTableInsensitive(ctx, root, tblName)
93107
if err != nil {
94108
return nil, err
95109
}
96-
if !tableExists {
97-
return nil, sql.ErrTableNotFound.New(diffTblName)
98-
}
110+
99111
sch, err := table.GetSchema(ctx)
100112
if err != nil {
101113
return nil, err

go/libraries/doltcore/sqle/dtables/workspace_table.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ func NewWorkspaceTable(ctx *sql.Context, workspaceTableName string, tableName do
410410
if err != nil {
411411
return nil, err
412412
}
413-
finalSch, err := sqlutil.FromDoltSchema("", tableName.Name, totalSch)
413+
finalSch, err := sqlutil.FromDoltSchema("", workspaceTableName, totalSch)
414414
if err != nil {
415415
return nil, err
416416
}
@@ -527,7 +527,7 @@ func (w *WorkspacePartition) Key() []byte {
527527
}
528528

529529
func (wt *WorkspaceTable) Partitions(ctx *sql.Context) (sql.PartitionIter, error) {
530-
baseTable, baseTableExists, err := wt.head.GetTable(ctx, wt.userTblName)
530+
baseTable, _, baseTableExists, err := doltdb.GetTableInsensitive(ctx, wt.head, wt.userTblName)
531531
if err != nil {
532532
return nil, err
533533
}
@@ -538,7 +538,7 @@ func (wt *WorkspaceTable) Partitions(ctx *sql.Context) (sql.PartitionIter, error
538538
}
539539
}
540540

541-
stagingTable, stagingTableExists, err := wt.ws.StagedRoot().GetTable(ctx, wt.userTblName)
541+
stagingTable, _, stagingTableExists, err := doltdb.GetTableInsensitive(ctx, wt.ws.StagedRoot(), wt.userTblName)
542542
if err != nil {
543543
return nil, err
544544
}
@@ -549,7 +549,7 @@ func (wt *WorkspaceTable) Partitions(ctx *sql.Context) (sql.PartitionIter, error
549549
}
550550
}
551551

552-
workingTable, workingTableExists, err := wt.ws.WorkingRoot().GetTable(ctx, wt.userTblName)
552+
workingTable, _, workingTableExists, err := doltdb.GetTableInsensitive(ctx, wt.ws.WorkingRoot(), wt.userTblName)
553553
if err != nil {
554554
return nil, err
555555
}

go/libraries/doltcore/sqle/enginetest/dolt_queries.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1276,6 +1276,13 @@ var DoltScripts = []queries.ScriptTest{
12761276
{"zzz", 4, "add rows"},
12771277
},
12781278
},
1279+
{
1280+
// Test case-insensitive table name
1281+
Query: "SELECT count(*) FROM dolt_blame_T",
1282+
Expected: []sql.Row{
1283+
{8},
1284+
},
1285+
},
12791286
},
12801287
},
12811288
{

go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ var DiffSystemTableScriptTests = []queries.ScriptTest{
3838
Query: "SELECT COUNT(*) FROM DOLT_DIFF_t;",
3939
Expected: []sql.Row{{2}},
4040
},
41+
{
42+
// Test case-insensitive table name
43+
Query: "SELECT COUNT(*) FROM DOLT_DIFF_T;",
44+
Expected: []sql.Row{{2}},
45+
},
4146
{
4247
Query: "SELECT to_pk, to_c1, to_c2, from_pk, from_c1, from_c2, diff_type FROM DOLT_DIFF_t WHERE TO_COMMIT=@Commit1 ORDER BY to_pk, to_c2, to_c2, from_pk, from_c1, from_c2, diff_type;",
4348
Expected: []sql.Row{
@@ -4750,6 +4755,14 @@ var CommitDiffSystemTableScriptTests = []queries.ScriptTest{
47504755
{4, 5, 6, nil, nil, nil, "added"},
47514756
},
47524757
},
4758+
{
4759+
// Test case-insensitive table name
4760+
Query: "SELECT to_pk, to_c1, to_c2, from_pk, from_c1, from_c2, diff_type FROM DOLT_COMMIT_DIFF_T WHERE TO_COMMIT=@Commit1 and FROM_COMMIT=@Commit0;",
4761+
Expected: []sql.Row{
4762+
{1, 2, 3, nil, nil, nil, "added"},
4763+
{4, 5, 6, nil, nil, nil, "added"},
4764+
},
4765+
},
47534766
{
47544767
Query: "SELECT to_pk, to_c1, to_c2, from_pk, from_c1, from_c2, diff_type FROM DOLT_COMMIT_DIFF_t WHERE TO_COMMIT=@Commit2 and FROM_COMMIT=@Commit1 ORDER BY to_pk;",
47554768
Expected: []sql.Row{

go/libraries/doltcore/sqle/enginetest/dolt_queries_merge.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1077,6 +1077,11 @@ var MergeScripts = []queries.ScriptTest{
10771077
Query: "SELECT count(*) from dolt_conflicts_test",
10781078
Expected: []sql.Row{{1}},
10791079
},
1080+
{
1081+
// Test case-insensitive table name
1082+
Query: "SELECT count(*) from dolt_conflicts_TeST",
1083+
Expected: []sql.Row{{1}},
1084+
},
10801085
{
10811086
Query: "CALL DOLT_MERGE('--abort')",
10821087
Expected: []sql.Row{{"", 0, 0, "merge aborted"}},
@@ -1275,6 +1280,11 @@ var MergeScripts = []queries.ScriptTest{
12751280
Query: "SELECT violation_type, pk, parent_fk from dolt_constraint_violations_child;",
12761281
Expected: []sql.Row{{"foreign key", 1, 1}},
12771282
},
1283+
{
1284+
// Test case-insensitive table name
1285+
Query: "SELECT violation_type, pk, parent_fk from dolt_constraint_violations_CHILD;",
1286+
Expected: []sql.Row{{"foreign key", 1, 1}},
1287+
},
12781288
{
12791289
Query: "select * from dolt_status;",
12801290
Expected: []sql.Row{

0 commit comments

Comments
 (0)