Skip to content

Commit 1a1efcc

Browse files
committed
PR feedback
1 parent ad541d7 commit 1a1efcc

File tree

2 files changed

+31
-31
lines changed

2 files changed

+31
-31
lines changed

go/libraries/doltcore/sqle/database.go

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,10 @@ func (db Database) GetTableInsensitiveAsOf(ctx *sql.Context, tableName string, a
314314
}
315315
}
316316

317+
func isDoltSystemTable(tableName string) bool {
318+
return doltdb.HasDoltPrefix(tableName) || !resolve.UseSearchPath
319+
}
320+
317321
func (db Database) getTableInsensitive(ctx *sql.Context, head *doltdb.Commit, ds *dsess.DoltSession, root doltdb.RootValue, tblName string, asOf interface{}) (sql.Table, bool, error) {
318322
lwrName := strings.ToLower(tblName)
319323

@@ -422,11 +426,11 @@ func (db Database) getTableInsensitive(ctx *sql.Context, head *doltdb.Commit, ds
422426
tname := doltdb.TableName{Name: lwrName, Schema: db.schemaName}
423427
switch lwrName {
424428
case doltdb.GetLogTableName(), doltdb.LogTableName:
425-
systemTable, err := resolve.SystemTable(ctx, tname, root)
429+
systemTable, err := resolve.IsSystemTable(ctx, tname, root)
426430
if err != nil {
427431
return nil, false, err
428432
}
429-
if systemTable {
433+
if isDoltSystemTable(lwrName) && systemTable {
430434
if head == nil {
431435
var err error
432436
head, err = ds.GetHeadCommit(ctx, db.RevisionQualifiedName())
@@ -464,11 +468,11 @@ func (db Database) getTableInsensitive(ctx *sql.Context, head *doltdb.Commit, ds
464468
case doltdb.SchemaConflictsTableName:
465469
dt, found = dtables.NewSchemaConflictsTable(ctx, db.RevisionQualifiedName(), db.ddb), true
466470
case doltdb.GetBranchesTableName(), doltdb.BranchesTableName:
467-
systemTable, err := resolve.SystemTable(ctx, tname, root)
471+
systemTable, err := resolve.IsSystemTable(ctx, tname, root)
468472
if err != nil {
469473
return nil, false, err
470474
}
471-
if systemTable {
475+
if isDoltSystemTable(lwrName) && systemTable {
472476
dt, found = dtables.NewBranchesTable(ctx, db), true
473477
}
474478
case doltdb.RemoteBranchesTableName:
@@ -480,11 +484,11 @@ func (db Database) getTableInsensitive(ctx *sql.Context, head *doltdb.Commit, ds
480484
case doltdb.CommitAncestorsTableName:
481485
dt, found = dtables.NewCommitAncestorsTable(ctx, db.Name(), db.ddb), true
482486
case doltdb.GetStatusTableName(), doltdb.StatusTableName:
483-
systemTable, err := resolve.SystemTable(ctx, tname, root)
487+
systemTable, err := resolve.IsSystemTable(ctx, tname, root)
484488
if err != nil {
485489
return nil, false, err
486490
}
487-
if systemTable {
491+
if isDoltSystemTable(lwrName) && systemTable {
488492
sess := dsess.DSessFromSess(ctx.Session)
489493
adapter := dsess.NewSessionStateAdapter(
490494
sess, db.RevisionQualifiedName(),
@@ -501,11 +505,11 @@ func (db Database) getTableInsensitive(ctx *sql.Context, head *doltdb.Commit, ds
501505
case doltdb.MergeStatusTableName:
502506
dt, found = dtables.NewMergeStatusTable(db.RevisionQualifiedName()), true
503507
case doltdb.GetTagsTableName(), doltdb.TagsTableName:
504-
systemTable, err := resolve.SystemTable(ctx, tname, root)
508+
systemTable, err := resolve.IsSystemTable(ctx, tname, root)
505509
if err != nil {
506510
return nil, false, err
507511
}
508-
if systemTable {
512+
if isDoltSystemTable(lwrName) && systemTable {
509513
dt, found = dtables.NewTagsTable(ctx, db.ddb), true
510514
}
511515
case dtables.AccessTableName:
@@ -534,11 +538,11 @@ func (db Database) getTableInsensitive(ctx *sql.Context, head *doltdb.Commit, ds
534538
dt, found = dtables.NewIgnoreTable(ctx, versionableTable), true
535539
}
536540
case doltdb.GetDocTableName(), doltdb.DocTableName:
537-
systemTable, err := resolve.SystemTable(ctx, tname, root)
541+
systemTable, err := resolve.IsSystemTable(ctx, tname, root)
538542
if err != nil {
539543
return nil, false, err
540544
}
541-
if systemTable {
545+
if isDoltSystemTable(lwrName) && systemTable {
542546
if resolve.UseSearchPath && lwrName == doltdb.DocTableName {
543547
db.schemaName = "dolt"
544548
}

go/libraries/doltcore/sqle/resolve/search_path.go

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -79,32 +79,28 @@ func FirstExistingSchemaOnSearchPath(ctx *sql.Context, root doltdb.RootValue) (s
7979
return schemaName, nil
8080
}
8181

82-
// SystemTable returns whether a table is a system table or not
83-
func SystemTable(ctx *sql.Context, tableName doltdb.TableName, root doltdb.RootValue) (bool, error) {
84-
if doltdb.HasDoltPrefix(tableName.Name) || !UseSearchPath || tableName.Schema == "dolt" {
82+
// IsSystemTable returns whether a table is a system table or not
83+
func IsSystemTable(ctx *sql.Context, tableName doltdb.TableName, root doltdb.RootValue) (bool, error) {
84+
if tableName.Schema == "dolt" {
8585
return true, nil
8686
}
8787

88-
if tableName.Schema == "" {
89-
schemasToSearch, err := SearchPath(ctx)
90-
if err != nil {
91-
return false, nil
88+
schemasToSearch, err := SearchPath(ctx)
89+
if err != nil {
90+
return false, nil
91+
}
92+
for _, schemaName := range schemasToSearch {
93+
if schemaName == "dolt" {
94+
return true, nil
9295
}
93-
for _, schemaName := range schemasToSearch {
94-
if schemaName != "dolt" {
95-
tablesInSchema, err := root.GetTableNames(ctx, schemaName)
96-
if err != nil {
97-
return false, err
98-
}
99-
for _, table := range tablesInSchema {
100-
if table == tableName.Name {
101-
return false, nil
102-
}
103-
}
104-
}
10596

106-
if schemaName == "dolt" {
107-
return true, nil
97+
tablesInSchema, err := root.GetTableNames(ctx, schemaName)
98+
if err != nil {
99+
return false, err
100+
}
101+
for _, table := range tablesInSchema {
102+
if strings.EqualFold(table, tableName.Name) {
103+
return false, nil
108104
}
109105
}
110106
}

0 commit comments

Comments
 (0)