mirror of
https://github.com/dolthub/dolt.git
synced 2026-03-13 11:09:10 -05:00
Removed root object presence from some locations
This commit is contained in:
@@ -588,7 +588,7 @@ func getCreateTableStatements(ctx *sql.Context, sqlEngine *engine.SqlEngine, dEn
|
||||
return "", err
|
||||
}
|
||||
|
||||
tables, err := root.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
tables, err := root.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
for _, table := range tables {
|
||||
_, iter, _, err := sqlEngine.Query(ctx, fmt.Sprintf("SHOW CREATE TABLE %s", sql.QuoteIdentifier(table)))
|
||||
if err != nil {
|
||||
|
||||
@@ -79,7 +79,7 @@ func (cmd VerifyConstraintsCmd) Exec(ctx context.Context, commandStr string, arg
|
||||
}
|
||||
tableNames := apr.Args
|
||||
if len(tableNames) == 0 {
|
||||
tableNames, err = working.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
tableNames, err = working.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
if err != nil {
|
||||
return commands.HandleVErrAndExitCode(errhand.BuildDError("Unable to read table names.").AddCause(err).Build(), nil)
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ func (cmd LsCmd) Exec(ctx context.Context, commandStr string, args []string, dEn
|
||||
|
||||
var tableNames []string
|
||||
if apr.NArg() == 0 {
|
||||
tableNames, err = working.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
tableNames, err = working.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
if err != nil {
|
||||
return HandleErr(errhand.BuildDError("Unable to get tables.").AddCause(err).Build(), nil)
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ func (cmd ReadTablesCmd) Exec(ctx context.Context, commandStr string, args []str
|
||||
}
|
||||
|
||||
if len(tblNames) == 0 {
|
||||
tblNames, err = srcRoot.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
tblNames, err = srcRoot.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
|
||||
if err != nil {
|
||||
return BuildVerrAndExit("Unable to read tables.", err)
|
||||
|
||||
@@ -120,7 +120,7 @@ func printSchemas(ctx context.Context, apr *argparser.ArgParseResults, dEnv *env
|
||||
// show usage and error out if there aren't any
|
||||
if len(tables) == 0 {
|
||||
var err error
|
||||
tables, err = root.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
tables, err = root.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
|
||||
if err != nil {
|
||||
return errhand.BuildDError("unable to get table names.").AddCause(err).Build()
|
||||
|
||||
@@ -79,7 +79,7 @@ func (cmd TagsCmd) Exec(ctx context.Context, commandStr string, args []string, d
|
||||
|
||||
if len(tables) == 0 {
|
||||
var err error
|
||||
tables, err = root.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
tables, err = root.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
|
||||
if err != nil {
|
||||
return commands.HandleVErrAndExitCode(errhand.BuildDError("unable to get table names.").AddCause(err).Build(), usage)
|
||||
|
||||
@@ -71,6 +71,18 @@ func Stat(ctx context.Context, ch chan DiffStatProgress, from, to durable.Index,
|
||||
|
||||
// StatForTableDelta pushes diff stat progress messages for the table delta given to the channel given
|
||||
func StatForTableDelta(ctx context.Context, ch chan DiffStatProgress, td TableDelta) error {
|
||||
// Check for root objects first, as they're handled differently
|
||||
if td.FromRootObject != nil && td.ToRootObject != nil {
|
||||
ch <- DiffStatProgress{Changes: 1}
|
||||
return nil
|
||||
} else if td.FromRootObject == nil && td.ToRootObject != nil {
|
||||
ch <- DiffStatProgress{Adds: 1}
|
||||
return nil
|
||||
} else if td.FromRootObject != nil && td.ToRootObject == nil {
|
||||
ch <- DiffStatProgress{Removes: 1}
|
||||
return nil
|
||||
}
|
||||
|
||||
fromSch, toSch, err := td.GetSchemas(ctx)
|
||||
if err != nil {
|
||||
return errhand.BuildDError("cannot retrieve schema for table %s", td.ToName).AddCause(err).Build()
|
||||
|
||||
@@ -295,7 +295,7 @@ func TestLDNoms(t *testing.T) {
|
||||
|
||||
assert.NoError(t, err)
|
||||
|
||||
names, err := root.GetTableNames(context.Background(), DefaultSchemaName)
|
||||
names, err := root.GetTableNames(context.Background(), DefaultSchemaName, true)
|
||||
assert.NoError(t, err)
|
||||
if len(names) != 0 {
|
||||
t.Fatal("There should be no tables in empty db")
|
||||
|
||||
@@ -88,7 +88,7 @@ type RootValue interface {
|
||||
// GetTableSchemaHash returns the hash of the given table's schema.
|
||||
GetTableSchemaHash(ctx context.Context, tName TableName) (hash.Hash, error)
|
||||
// GetTableNames retrieves the lists of all tables and root objects for a RootValue.
|
||||
GetTableNames(ctx context.Context, schemaName string) ([]string, error)
|
||||
GetTableNames(ctx context.Context, schemaName string, includeRootObjects bool) ([]string, error)
|
||||
// HasTable returns whether the root has a table with the given case-sensitive name. This will also return true if a
|
||||
// root object matches the table name, as they occupy the same namespace.
|
||||
HasTable(ctx context.Context, tName TableName) (bool, error)
|
||||
@@ -624,7 +624,7 @@ func GetTableByColTag(ctx context.Context, root RootValue, tag uint64) (tbl *Tab
|
||||
}
|
||||
|
||||
// GetTableNames retrieves the lists of all tables for a RootValue
|
||||
func (root *rootValue) GetTableNames(ctx context.Context, schemaName string) ([]string, error) {
|
||||
func (root *rootValue) GetTableNames(ctx context.Context, schemaName string, _ bool) ([]string, error) {
|
||||
tableMap, err := root.getTableMap(ctx, schemaName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -1271,7 +1271,7 @@ func UnionTableNames(ctx context.Context, roots ...RootValue) ([]TableName, erro
|
||||
}
|
||||
|
||||
for _, schemaName := range schemaNames {
|
||||
rootTblNames, err := root.GetTableNames(ctx, schemaName)
|
||||
rootTblNames, err := root.GetTableNames(ctx, schemaName, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ func IsNonAlterableSystemTable(name TableName) bool {
|
||||
|
||||
// GetNonSystemTableNames gets non-system table names
|
||||
func GetNonSystemTableNames(ctx context.Context, root RootValue) ([]string, error) {
|
||||
tn, err := root.GetTableNames(ctx, DefaultSchemaName)
|
||||
tn, err := root.GetTableNames(ctx, DefaultSchemaName, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -531,7 +531,7 @@ func (d *doltWorkflowManager) validateWorkflowTables(ctx *sql.Context) error {
|
||||
|
||||
root := roots.Working
|
||||
|
||||
tables, err := root.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
tables, err := root.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
2
go/libraries/doltcore/env/actions/reset.go
vendored
2
go/libraries/doltcore/env/actions/reset.go
vendored
@@ -277,7 +277,7 @@ func CleanUntracked(ctx *sql.Context, roots doltdb.Roots, tables []string, dryru
|
||||
|
||||
var err error
|
||||
if len(tables) == 0 {
|
||||
tables, err = roots.Working.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
tables, err = roots.Working.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
if err != nil {
|
||||
return doltdb.Roots{}, nil
|
||||
}
|
||||
|
||||
@@ -184,7 +184,7 @@ func AbortMerge(ctx *sql.Context, workingSet *doltdb.WorkingSet, roots doltdb.Ro
|
||||
}
|
||||
|
||||
preMergeWorkingRoot := workingSet.MergeState().PreMergeWorkingRoot()
|
||||
preMergeWorkingTables, err := preMergeWorkingRoot.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
preMergeWorkingTables, err := preMergeWorkingRoot.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ type rebuildableFulltextTable struct {
|
||||
// roots (ours and theirs), or had parents that were modified by both roots.
|
||||
func rebuildFullTextIndexes(ctx *sql.Context, mergedRoot, ourRoot, theirRoot doltdb.RootValue, visitedTables map[string]struct{}) (doltdb.RootValue, error) {
|
||||
// Grab a list of all tables on the root
|
||||
allTableNames, err := mergedRoot.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
allTableNames, err := mergedRoot.GetTableNames(ctx, doltdb.DefaultSchemaName, false)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ func (s *violationStash) Empty() bool {
|
||||
}
|
||||
|
||||
func stashConflicts(ctx context.Context, root doltdb.RootValue) (doltdb.RootValue, *conflictStash, error) {
|
||||
names, err := root.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
names, err := root.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
@@ -92,7 +92,7 @@ func stashConflicts(ctx context.Context, root doltdb.RootValue) (doltdb.RootValu
|
||||
}
|
||||
|
||||
func stashViolations(ctx context.Context, root doltdb.RootValue) (doltdb.RootValue, *violationStash, error) {
|
||||
names, err := root.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
names, err := root.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
@@ -375,12 +375,12 @@ func migrateRoot(ctx context.Context, menv Environment, oldParent, oldRoot, newP
|
||||
|
||||
// renames also get returned here
|
||||
func getRemovedTableNames(ctx context.Context, prev, curr doltdb.RootValue) ([]string, error) {
|
||||
prevNames, err := prev.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
prevNames, err := prev.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tblNameSet := set.NewStrSet(prevNames)
|
||||
currNames, err := curr.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
currNames, err := curr.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ func validateBranchMapping(ctx context.Context, old, new *doltdb.DoltDB) error {
|
||||
}
|
||||
|
||||
func validateRootValue(ctx context.Context, oldParent, old, new doltdb.RootValue) error {
|
||||
names, err := old.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
names, err := old.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -107,7 +107,7 @@ func TestPushOnWriteHook(t *testing.T) {
|
||||
|
||||
assert.NoError(t, err)
|
||||
|
||||
names, err := root.GetTableNames(context.Background(), doltdb.DefaultSchemaName)
|
||||
names, err := root.GetTableNames(context.Background(), doltdb.DefaultSchemaName, true)
|
||||
assert.NoError(t, err)
|
||||
if len(names) != 0 {
|
||||
t.Fatal("There should be no tables in empty db")
|
||||
|
||||
@@ -996,7 +996,7 @@ func (db Database) GetTableNamesAsOf(ctx *sql.Context, time interface{}) ([]stri
|
||||
|
||||
showSystemTables := showSystemTablesVar.(int8) == 1
|
||||
|
||||
tblNames, err := db.getAllTableNames(ctx, root, showSystemTables)
|
||||
tblNames, err := db.getAllTableNames(ctx, root, showSystemTables, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1146,7 +1146,7 @@ func (db Database) tableInsensitive(ctx *sql.Context, root doltdb.RootValue, tab
|
||||
}
|
||||
}
|
||||
|
||||
tableNames, err := db.getAllTableNames(ctx, root, false)
|
||||
tableNames, err := db.getAllTableNames(ctx, root, false, false)
|
||||
if err != nil {
|
||||
return doltdb.TableName{}, nil, false, err
|
||||
}
|
||||
@@ -1209,7 +1209,11 @@ func (db Database) GetTableNames(ctx *sql.Context) ([]string, error) {
|
||||
}
|
||||
|
||||
showSystemTables := showSystemTablesVar.(int8) == 1
|
||||
tblNames, err := db.GetAllTableNames(ctx, showSystemTables)
|
||||
root, err := db.GetRoot(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tblNames, err := db.getAllTableNames(ctx, root, showSystemTables, false)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1234,10 +1238,10 @@ func (db Database) GetAllTableNames(ctx *sql.Context, showSystemTables bool) ([]
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return db.getAllTableNames(ctx, root, showSystemTables)
|
||||
return db.getAllTableNames(ctx, root, showSystemTables, true)
|
||||
}
|
||||
|
||||
func (db Database) getAllTableNames(ctx *sql.Context, root doltdb.RootValue, includeGeneratedSystemTables bool) ([]string, error) {
|
||||
func (db Database) getAllTableNames(ctx *sql.Context, root doltdb.RootValue, includeGeneratedSystemTables bool, includeRootObjects bool) ([]string, error) {
|
||||
var err error
|
||||
var result []string
|
||||
// If we are in a schema-enabled session and the schema name is not set, we need to union all table names in all
|
||||
@@ -1251,7 +1255,7 @@ func (db Database) getAllTableNames(ctx *sql.Context, root doltdb.RootValue, inc
|
||||
// tables first
|
||||
result = doltdb.FlattenTableNames(names)
|
||||
} else {
|
||||
result, err = root.GetTableNames(ctx, db.schemaName)
|
||||
result, err = root.GetTableNames(ctx, db.schemaName, includeRootObjects)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -319,7 +319,7 @@ func resolveNomsConflicts(ctx *sql.Context, opts editor.Options, tbl *doltdb.Tab
|
||||
}
|
||||
|
||||
func validateConstraintViolations(ctx *sql.Context, before, after doltdb.RootValue, table doltdb.TableName) error {
|
||||
tables, err := after.GetTableNames(ctx, table.Schema)
|
||||
tables, err := after.GetTableNames(ctx, table.Schema, true)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -176,7 +176,7 @@ func parseTablesToCheck(ctx *sql.Context, workingRoot doltdb.RootValue, apr *arg
|
||||
// If no tables were explicitly specified, then check all tables
|
||||
if tableSet.Size() == 0 {
|
||||
// TODO: schema search path
|
||||
names, err := workingRoot.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
names, err := workingRoot.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -385,6 +385,11 @@ func getDiffStatNodeFromDelta(ctx *sql.Context, delta diff.TableDelta, fromRoot,
|
||||
return diffStatNode{}, false, err
|
||||
}
|
||||
oldColLen = len(fromSch.GetAllCols().GetColumns())
|
||||
} else {
|
||||
_, fromTableExists, err = fromRoot.GetRootObject(ctx, tableName)
|
||||
if err != nil {
|
||||
return diffStatNode{}, false, err
|
||||
}
|
||||
}
|
||||
|
||||
toTable, _, toTableExists, err := doltdb.GetTableInsensitive(ctx, toRoot, tableName)
|
||||
@@ -398,6 +403,11 @@ func getDiffStatNodeFromDelta(ctx *sql.Context, delta diff.TableDelta, fromRoot,
|
||||
return diffStatNode{}, false, err
|
||||
}
|
||||
newColLen = len(toSch.GetAllCols().GetColumns())
|
||||
} else {
|
||||
_, toTableExists, err = toRoot.GetRootObject(ctx, tableName)
|
||||
if err != nil {
|
||||
return diffStatNode{}, false, err
|
||||
}
|
||||
}
|
||||
|
||||
if !fromTableExists && !toTableExists {
|
||||
@@ -405,7 +415,7 @@ func getDiffStatNodeFromDelta(ctx *sql.Context, delta diff.TableDelta, fromRoot,
|
||||
}
|
||||
|
||||
// no diff from tableDelta
|
||||
if delta.FromTable == nil && delta.ToTable == nil {
|
||||
if delta.FromTable == nil && delta.ToTable == nil && delta.FromRootObject == nil && delta.ToRootObject == nil {
|
||||
return diffStatNode{}, false, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ func TablesOnSearchPath(ctx *sql.Context, root doltdb.RootValue) ([]doltdb.Table
|
||||
|
||||
var tableNames []doltdb.TableName
|
||||
for _, schemaName := range schemasToSearch {
|
||||
names, err := root.GetTableNames(ctx, schemaName)
|
||||
names, err := root.GetTableNames(ctx, schemaName, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -86,7 +86,7 @@ func TableNameWithSearchPath(
|
||||
}
|
||||
|
||||
for _, schemaName := range schemasToSearch {
|
||||
tablesInSchema, err := root.GetTableNames(ctx, schemaName)
|
||||
tablesInSchema, err := root.GetTableNames(ctx, schemaName, true)
|
||||
if err != nil {
|
||||
return doltdb.TableName{}, false, err
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ func IsDoltgresSystemTable(ctx *sql.Context, tableName doltdb.TableName, root do
|
||||
return true, nil
|
||||
}
|
||||
|
||||
tablesInSchema, err := root.GetTableNames(ctx, schemaName)
|
||||
tablesInSchema, err := root.GetTableNames(ctx, schemaName, true)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ func GetGeneratedSystemTables(ctx context.Context, root doltdb.RootValue) ([]dol
|
||||
}
|
||||
|
||||
for _, schema := range schemas {
|
||||
tableNames, err := root.GetTableNames(ctx, schema.Name)
|
||||
tableNames, err := root.GetTableNames(ctx, schema.Name, false)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ func (db *UserSpaceDatabase) GetTableInsensitive(ctx *sql.Context, tableName str
|
||||
}
|
||||
|
||||
func (db *UserSpaceDatabase) GetTableNames(ctx *sql.Context) ([]string, error) {
|
||||
tableNames, err := db.RootValue.GetTableNames(ctx, doltdb.DefaultSchemaName)
|
||||
tableNames, err := db.RootValue.GetTableNames(ctx, doltdb.DefaultSchemaName, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user