From 91791723fd0ffb170a245718c901f6db13b5b0dc Mon Sep 17 00:00:00 2001 From: Zach Musgrave Date: Tue, 28 Jan 2025 11:07:44 -0800 Subject: [PATCH 1/3] Ignore unsupported DDL / control statements with the use of an env variable --- server/ast/alter_aggregate.go | 5 ++--- server/ast/alter_database.go | 5 ++--- server/ast/alter_function.go | 5 ++--- server/ast/alter_index.go | 5 ++--- server/ast/alter_procedure.go | 5 ++--- server/ast/alter_schema.go | 5 ++--- server/ast/alter_sequence.go | 5 ++--- server/ast/alter_type.go | 5 ++--- server/ast/backup.go | 5 ++--- server/ast/cancel_queries.go | 5 ++--- server/ast/cancel_sessions.go | 5 ++--- server/ast/canned_opt_plan.go | 5 ++--- server/ast/comment.go | 5 ++--- server/ast/control_jobs.go | 8 ++++---- server/ast/control_schedules.go | 5 ++--- server/ast/create_aggregate.go | 10 +++++++--- server/ast/create_changefeed.go | 5 ++--- server/ast/create_function.go | 3 ++- server/ast/create_procedure.go | 5 ++--- server/ast/create_stats.go | 5 ++--- server/ast/create_trigger.go | 4 +--- server/ast/drop_aggregate.go | 14 ++++++++------ server/ast/drop_schema.go | 5 ++--- server/ast/execute.go | 5 ++--- server/ast/explain_analyze_debug.go | 5 ++--- server/ast/export.go | 5 ++--- server/ast/import.go | 5 ++--- server/ast/no_op.go | 23 +++++++++++++++++++++++ server/ast/prepare.go | 5 ++--- server/ast/refresh_materialized_view.go | 5 ++--- server/ast/relocate.go | 5 ++--- server/ast/rename_database.go | 5 ++--- server/ast/rename_index.go | 5 ++--- server/ast/reparent_database.go | 5 ++--- server/ast/restore.go | 5 ++--- server/ast/scatter.go | 5 ++--- server/ast/scheduled_backup.go | 5 ++--- server/ast/scrub.go | 5 ++--- server/ast/set_transaction.go | 5 ++--- server/ast/unsplit.go | 5 ++--- 40 files changed, 113 insertions(+), 119 deletions(-) diff --git a/server/ast/alter_aggregate.go b/server/ast/alter_aggregate.go index 3d734e2bcc..73a4ee3104 100644 --- a/server/ast/alter_aggregate.go +++ b/server/ast/alter_aggregate.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -30,5 +28,6 @@ func nodeAlterAggregate(ctx *Context, node *tree.AlterAggregate) (vitess.Stateme if err := validateAggArgMode(ctx, node.AggSig.Args, node.AggSig.OrderByArgs); err != nil { return nil, err } - return nil, errors.Errorf("ALTER AGGREGATE is not yet supported") + + return NotYetSupportedError("ALTER AGGREGATE is not yet supported") } diff --git a/server/ast/alter_database.go b/server/ast/alter_database.go index 584e87883e..75a7d7eb19 100644 --- a/server/ast/alter_database.go +++ b/server/ast/alter_database.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeAlterDatabase(ctx *Context, node *tree.AlterDatabase) (vitess.Statement if node == nil { return nil, nil } - return nil, errors.Errorf("ALTER DATABASE is not yet supported") + + return NotYetSupportedError("ALTER DATABASE is not yet supported") } diff --git a/server/ast/alter_function.go b/server/ast/alter_function.go index f8df0bbe3b..b9ec917184 100644 --- a/server/ast/alter_function.go +++ b/server/ast/alter_function.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -28,5 +26,6 @@ func nodeAlterFunction(ctx *Context, node *tree.AlterFunction) (vitess.Statement if err != nil { return nil, err } - return nil, errors.Errorf("ALTER FUNCTION statement is not yet supported") + + return NotYetSupportedError("ALTER FUNCTION statement is not yet supported") } diff --git a/server/ast/alter_index.go b/server/ast/alter_index.go index 20c3c08a76..b9d370c96a 100644 --- a/server/ast/alter_index.go +++ b/server/ast/alter_index.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,6 +25,7 @@ func nodeAlterIndex(ctx *Context, node *tree.AlterIndex) (vitess.Statement, erro if node == nil { return nil, nil } + // Only PARTITION alterations are supported by the parser, so there's nothing to convert to yet - return nil, errors.Errorf("ALTER INDEX is not yet supported") + return NotYetSupportedError("ALTER INDEX is not yet supported") } diff --git a/server/ast/alter_procedure.go b/server/ast/alter_procedure.go index 45c788ba81..6bdb587cd6 100644 --- a/server/ast/alter_procedure.go +++ b/server/ast/alter_procedure.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -28,5 +26,6 @@ func nodeAlterProcedure(ctx *Context, node *tree.AlterProcedure) (vitess.Stateme if err != nil { return nil, err } - return nil, errors.Errorf("ALTER PROCEDURE statement is not yet supported") + + return NotYetSupportedError("ALTER PROCEDURE statement is not yet supported") } diff --git a/server/ast/alter_schema.go b/server/ast/alter_schema.go index 521eaa5666..c8972eb5dc 100644 --- a/server/ast/alter_schema.go +++ b/server/ast/alter_schema.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeAlterSchema(ctx *Context, node *tree.AlterSchema) (vitess.Statement, er if node == nil { return nil, nil } - return nil, errors.Errorf("ALTER SCHEMA is not yet supported") + + return NotYetSupportedError("ALTER SCHEMA is not yet supported") } diff --git a/server/ast/alter_sequence.go b/server/ast/alter_sequence.go index c251a7a3f8..bcd14057a9 100644 --- a/server/ast/alter_sequence.go +++ b/server/ast/alter_sequence.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeAlterSequence(ctx *Context, node *tree.AlterSequence) (vitess.Statement if node == nil { return nil, nil } - return nil, errors.Errorf("ALTER SEQUENCE is not yet supported") + + return NotYetSupportedError("ALTER SEQUENCE is not yet supported") } diff --git a/server/ast/alter_type.go b/server/ast/alter_type.go index 7902458a0b..3a56bb04cf 100644 --- a/server/ast/alter_type.go +++ b/server/ast/alter_type.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeAlterType(ctx *Context, node *tree.AlterType) (vitess.Statement, error) if node == nil { return nil, nil } - return nil, errors.Errorf("ALTER TYPE is not yet supported") + + return NotYetSupportedError("ALTER TYPE is not yet supported") } diff --git a/server/ast/backup.go b/server/ast/backup.go index 66f95bf75c..eebbb528fa 100644 --- a/server/ast/backup.go +++ b/server/ast/backup.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeBackup(ctx *Context, node *tree.Backup) (vitess.Statement, error) { if node == nil { return nil, nil } - return nil, errors.Errorf("BACKUP is not yet supported") + + return NotYetSupportedError("BACKUP is not yet supported") } diff --git a/server/ast/cancel_queries.go b/server/ast/cancel_queries.go index ffd13bd904..0993ecbdb9 100644 --- a/server/ast/cancel_queries.go +++ b/server/ast/cancel_queries.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeCancelQueries(ctx *Context, node *tree.CancelQueries) (vitess.Statement if node == nil { return nil, nil } - return nil, errors.Errorf("CANCEL QUERIES is not yet supported") + + return NotYetSupportedError("CANCEL QUERIES is not yet supported") } diff --git a/server/ast/cancel_sessions.go b/server/ast/cancel_sessions.go index 6ccdcef37b..4f55feafa1 100644 --- a/server/ast/cancel_sessions.go +++ b/server/ast/cancel_sessions.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeCancelSessions(ctx *Context, node *tree.CancelSessions) (vitess.Stateme if node == nil { return nil, nil } - return nil, errors.Errorf("CANCEL SESSIONS is not yet supported") + + return NotYetSupportedError("CANCEL SESSIONS is not yet supported") } diff --git a/server/ast/canned_opt_plan.go b/server/ast/canned_opt_plan.go index 64fc42661c..3bbe418939 100644 --- a/server/ast/canned_opt_plan.go +++ b/server/ast/canned_opt_plan.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeCannedOptPlan(ctx *Context, node *tree.CannedOptPlan) (vitess.Statement if node == nil { return nil, nil } - return nil, errors.Errorf("PREPARE AS OPT PLAN is not yet supported") + + return NotYetSupportedError("PREPARE AS OPT PLAN is not yet supported") } diff --git a/server/ast/comment.go b/server/ast/comment.go index 33b8e4fc0d..ac95f59b2b 100644 --- a/server/ast/comment.go +++ b/server/ast/comment.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeComment(ctx *Context, node *tree.Comment) (vitess.Statement, error) { if node == nil { return nil, nil } - return nil, errors.Errorf("COMMENT ON is not yet supported") + + return NotYetSupportedError("COMMENT ON is not yet supported") } diff --git a/server/ast/control_jobs.go b/server/ast/control_jobs.go index 2877b75cb4..3b73ebbff0 100644 --- a/server/ast/control_jobs.go +++ b/server/ast/control_jobs.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,7 +25,8 @@ func nodeControlJobs(ctx *Context, node *tree.ControlJobs) (vitess.Statement, er if node == nil { return nil, nil } - return nil, errors.Errorf("PAUSE/RESUME/CANCEL are not yet supported") + + return NotYetSupportedError("PAUSE/RESUME/CANCEL are not yet supported") } // nodeControlJobsForSchedules handles *tree.ControlJobsForSchedules nodes. @@ -35,5 +34,6 @@ func nodeControlJobsForSchedules(ctx *Context, node *tree.ControlJobsForSchedule if node == nil { return nil, nil } - return nil, errors.Errorf("PAUSE/RESUME/CANCEL are not yet supported") + + return NotYetSupportedError("PAUSE/RESUME/CANCEL are not yet supported") } diff --git a/server/ast/control_schedules.go b/server/ast/control_schedules.go index f9e1b60fb0..0a04950dc9 100644 --- a/server/ast/control_schedules.go +++ b/server/ast/control_schedules.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeControlSchedules(ctx *Context, node *tree.ControlSchedules) (vitess.Sta if node == nil { return nil, nil } - return nil, errors.Errorf("PAUSE/RESUME SCHEDULE is not yet supported") + + return NotYetSupportedError("PAUSE/RESUME SCHEDULE is not yet supported") } diff --git a/server/ast/create_aggregate.go b/server/ast/create_aggregate.go index 2a7fdcaacb..a129f641b3 100644 --- a/server/ast/create_aggregate.go +++ b/server/ast/create_aggregate.go @@ -27,10 +27,14 @@ func nodeCreateAggregate(ctx *Context, node *tree.CreateAggregate) (vitess.State if node == nil { return nil, nil } - if err := validateAggArgMode(ctx, node.Args, node.OrderByArgs); err != nil { - return nil, err + + if !ignoreUnsupportedStatements { + if err := validateAggArgMode(ctx, node.Args, node.OrderByArgs); err != nil { + return nil, err + } } - return nil, errors.Errorf("CREATE AGGREGATE is not yet supported") + + return NotYetSupportedError("CREATE AGGREGATE is not yet supported") } // validateAggArgMode checks routine arguments for `OUT` and `INOUT` modes, diff --git a/server/ast/create_changefeed.go b/server/ast/create_changefeed.go index 3652157774..30c9eae133 100644 --- a/server/ast/create_changefeed.go +++ b/server/ast/create_changefeed.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeCreateChangefeed(ctx *Context, node *tree.CreateChangefeed) (vitess.Sta if node == nil { return nil, nil } - return nil, errors.Errorf("CREATE CHANGEFEED is not yet supported") + + return NotYetSupportedError("CREATE CHANGEFEED is not yet supported") } diff --git a/server/ast/create_function.go b/server/ast/create_function.go index c0c24ca30c..e2e34169f6 100644 --- a/server/ast/create_function.go +++ b/server/ast/create_function.go @@ -28,7 +28,8 @@ func nodeCreateFunction(ctx *Context, node *tree.CreateFunction) (vitess.Stateme if err != nil { return nil, err } - return nil, errors.Errorf("CREATE FUNCTION statement is not yet supported") + + return NotYetSupportedError("CREATE FUNCTION statement is not yet supported") } // verifyRedundantRoutineOption checks for each option defined only once. diff --git a/server/ast/create_procedure.go b/server/ast/create_procedure.go index 7d3743dcb7..54bd33f263 100644 --- a/server/ast/create_procedure.go +++ b/server/ast/create_procedure.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -28,5 +26,6 @@ func nodeCreateProcedure(ctx *Context, node *tree.CreateProcedure) (vitess.State if err != nil { return nil, err } - return nil, errors.Errorf("CREATE PROCEDURE statement is not yet supported") + + return NotYetSupportedError("CREATE PROCEDURE statement is not yet supported") } diff --git a/server/ast/create_stats.go b/server/ast/create_stats.go index e0a35af4bb..b20fc8c63f 100644 --- a/server/ast/create_stats.go +++ b/server/ast/create_stats.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeCreateStats(ctx *Context, node *tree.CreateStats) (vitess.Statement, er if node == nil { return nil, nil } - return nil, errors.Errorf("CREATE STATISTICS is not yet supported") + + return NotYetSupportedError("CREATE STATISTICS is not yet supported") } diff --git a/server/ast/create_trigger.go b/server/ast/create_trigger.go index 4aeb045c67..5bdc5b2b46 100644 --- a/server/ast/create_trigger.go +++ b/server/ast/create_trigger.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -24,5 +22,5 @@ import ( // nodeCreateTrigger handles *tree.CreateTrigger nodes. func nodeCreateTrigger(ctx *Context, node *tree.CreateTrigger) (vitess.Statement, error) { - return nil, errors.Errorf("CREATE TRIGGER statement is not yet supported") + return NotYetSupportedError("CREATE TRIGGER statement is not yet supported") } diff --git a/server/ast/drop_aggregate.go b/server/ast/drop_aggregate.go index e78cd3b03a..0235ed4954 100644 --- a/server/ast/drop_aggregate.go +++ b/server/ast/drop_aggregate.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,10 +25,14 @@ func nodeDropAggregate(ctx *Context, node *tree.DropAggregate) (vitess.Statement if node == nil { return nil, nil } - for _, agg := range node.Aggregates { - if err := validateAggArgMode(ctx, agg.AggSig.Args, agg.AggSig.OrderByArgs); err != nil { - return nil, err + + if !ignoreUnsupportedStatements { + for _, agg := range node.Aggregates { + if err := validateAggArgMode(ctx, agg.AggSig.Args, agg.AggSig.OrderByArgs); err != nil { + return nil, err + } } } - return nil, errors.Errorf("DROP AGGREGATE is not yet supported") + + return NotYetSupportedError("DROP AGGREGATE is not yet supported") } diff --git a/server/ast/drop_schema.go b/server/ast/drop_schema.go index 0c89af6792..5cd749c626 100644 --- a/server/ast/drop_schema.go +++ b/server/ast/drop_schema.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -28,5 +26,6 @@ func nodeDropSchema(ctx *Context, node *tree.DropSchema) (vitess.Statement, erro if node == nil { return nil, nil } - return nil, errors.Errorf("DROP SCHEMA is not yet supported") + + return NotYetSupportedError("DROP SCHEMA is not yet supported") } diff --git a/server/ast/execute.go b/server/ast/execute.go index 5422e8145e..a256126677 100644 --- a/server/ast/execute.go +++ b/server/ast/execute.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeExecute(ctx *Context, node *tree.Execute) (vitess.Statement, error) { if node == nil { return nil, nil } - return nil, errors.Errorf("EXECUTE is not yet supported") + + return NotYetSupportedError("EXECUTE is not yet supported") } diff --git a/server/ast/explain_analyze_debug.go b/server/ast/explain_analyze_debug.go index 998df9bd9e..884aabc089 100644 --- a/server/ast/explain_analyze_debug.go +++ b/server/ast/explain_analyze_debug.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeExplainAnalyzeDebug(ctx *Context, node *tree.ExplainAnalyzeDebug) (vite if node == nil { return nil, nil } - return nil, errors.Errorf("EXPLAIN ANALYZE is not yet supported") + + return NotYetSupportedError("EXPLAIN ANALYZE is not yet supported") } diff --git a/server/ast/export.go b/server/ast/export.go index 89bb904de3..79f41d9ce8 100644 --- a/server/ast/export.go +++ b/server/ast/export.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeExport(ctx *Context, node *tree.Export) (vitess.Statement, error) { if node == nil { return nil, nil } - return nil, errors.Errorf("EXPORT is not yet supported") + + return NotYetSupportedError("EXPORT is not yet supported") } diff --git a/server/ast/import.go b/server/ast/import.go index 627ea47ae0..5e697725e1 100644 --- a/server/ast/import.go +++ b/server/ast/import.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeImport(ctx *Context, node *tree.Import) (vitess.Statement, error) { if node == nil { return nil, nil } - return nil, errors.Errorf("IMPORT is not yet supported") + + return NotYetSupportedError("IMPORT is not yet supported") } diff --git a/server/ast/no_op.go b/server/ast/no_op.go index 9a8eae8acd..f5ec0fa4a5 100755 --- a/server/ast/no_op.go +++ b/server/ast/no_op.go @@ -15,11 +15,24 @@ package ast import ( + "os" + + "github.com/cockroachdb/errors" vitess "github.com/dolthub/vitess/go/vt/sqlparser" pgnodes "github.com/dolthub/doltgresql/server/node" ) +const ignoreUnsupportedEnvKey = "DOLTGRES_IGNORE_UNSUPPORTED" + +var ignoreUnsupportedStatements bool + +func init() { + if _, ignoreUnsupported := os.LookupEnv(ignoreUnsupportedEnvKey); ignoreUnsupported { + ignoreUnsupportedStatements = true + } +} + // NewNoOp returns a new NoOp statement which does nothing and issues zero or more warnings when run. // Used for statements that aren't directly supported but which we don't want to cause errors. func NewNoOp(warnings []string) vitess.InjectedStatement { @@ -29,3 +42,13 @@ func NewNoOp(warnings []string) vitess.InjectedStatement { }, } } + +// NotYetSupportedError returns an unsupported error with the given message, or a NoOp statement if the environment +// variable DOLTGRES_IGNORE_UNSUPPORTED is set. +func NotYetSupportedError(errorMsg string) (vitess.Statement, error) { + if ignoreUnsupportedStatements { + return NewNoOp([]string{errorMsg}), nil + } + + return nil, errors.New(errorMsg) +} diff --git a/server/ast/prepare.go b/server/ast/prepare.go index 59ac1dc082..3d288b1638 100644 --- a/server/ast/prepare.go +++ b/server/ast/prepare.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodePrepare(ctx *Context, node *tree.Prepare) (vitess.Statement, error) { if node == nil { return nil, nil } - return nil, errors.Errorf("PREPARE is not yet supported") + + return NotYetSupportedError("PREPARE is not yet supported") } diff --git a/server/ast/refresh_materialized_view.go b/server/ast/refresh_materialized_view.go index 48bf8d4277..c0f2d9e323 100644 --- a/server/ast/refresh_materialized_view.go +++ b/server/ast/refresh_materialized_view.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeRefreshMaterializedView(ctx *Context, node *tree.RefreshMaterializedVie if node == nil { return nil, nil } - return nil, errors.Errorf("REFRESH MATERIALIZED VIEW is not yet supported") + + return NotYetSupportedError("REFRESH MATERIALIZED VIEW is not yet supported") } diff --git a/server/ast/relocate.go b/server/ast/relocate.go index cf5a49b9de..0c23977c9e 100644 --- a/server/ast/relocate.go +++ b/server/ast/relocate.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeRelocate(ctx *Context, node *tree.Relocate) (vitess.Statement, error) { if node == nil { return nil, nil } - return nil, errors.Errorf("ALTER TABLE RELOCATE is not yet supported") + + return NotYetSupportedError("ALTER TABLE RELOCATE is not yet supported") } diff --git a/server/ast/rename_database.go b/server/ast/rename_database.go index ddfb68fcce..dc49d1446e 100644 --- a/server/ast/rename_database.go +++ b/server/ast/rename_database.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeRenameDatabase(ctx *Context, node *tree.RenameDatabase) (vitess.Stateme if node == nil { return nil, nil } - return nil, errors.Errorf("RENAME DATABASE is not yet supported") + + return NotYetSupportedError("RENAME DATABASE is not yet supported") } diff --git a/server/ast/rename_index.go b/server/ast/rename_index.go index 1d96bad26a..f65ddd8733 100644 --- a/server/ast/rename_index.go +++ b/server/ast/rename_index.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeRenameIndex(ctx *Context, node *tree.RenameIndex) (vitess.Statement, er if node == nil { return nil, nil } - return nil, errors.Errorf("RENAME INDEX is not yet supported") + + return NotYetSupportedError("RENAME INDEX is not yet supported") } diff --git a/server/ast/reparent_database.go b/server/ast/reparent_database.go index bd301f2de1..40658c230c 100644 --- a/server/ast/reparent_database.go +++ b/server/ast/reparent_database.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeReparentDatabase(ctx *Context, node *tree.ReparentDatabase) (vitess.Sta if node == nil { return nil, nil } - return nil, errors.Errorf("reparenting a database is not yet supported") + + return NotYetSupportedError("reparenting a database is not yet supported") } diff --git a/server/ast/restore.go b/server/ast/restore.go index 458adf358d..8147e21de4 100644 --- a/server/ast/restore.go +++ b/server/ast/restore.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeRestore(ctx *Context, node *tree.Restore) (vitess.Statement, error) { if node == nil { return nil, nil } - return nil, errors.Errorf("RESTORE is not yet supported") + + return NotYetSupportedError("RESTORE is not yet supported") } diff --git a/server/ast/scatter.go b/server/ast/scatter.go index cc2d4fc95a..1ddf95dc86 100644 --- a/server/ast/scatter.go +++ b/server/ast/scatter.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeScatter(ctx *Context, node *tree.Scatter) (vitess.Statement, error) { if node == nil { return nil, nil } - return nil, errors.Errorf("ALTER TABLE SCATTER is not yet supported") + + return NotYetSupportedError("ALTER TABLE SCATTER is not yet supported") } diff --git a/server/ast/scheduled_backup.go b/server/ast/scheduled_backup.go index 2ac631b1ad..7512b12ab5 100644 --- a/server/ast/scheduled_backup.go +++ b/server/ast/scheduled_backup.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeScheduledBackup(ctx *Context, node *tree.ScheduledBackup) (vitess.State if node == nil { return nil, nil } - return nil, errors.Errorf("scheduled backups are not yet supported") + + return NotYetSupportedError("scheduled backups are not yet supported") } diff --git a/server/ast/scrub.go b/server/ast/scrub.go index 45b8fc3fbf..33de83ece9 100644 --- a/server/ast/scrub.go +++ b/server/ast/scrub.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeScrub(ctx *Context, node *tree.Scrub) (vitess.Statement, error) { if node == nil { return nil, nil } - return nil, errors.Errorf("SCRUB is not yet supported") + + return NotYetSupportedError("SCRUB is not yet supported") } diff --git a/server/ast/set_transaction.go b/server/ast/set_transaction.go index 631e8e7efa..0a5848630c 100644 --- a/server/ast/set_transaction.go +++ b/server/ast/set_transaction.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeSetTransaction(ctx *Context, node *tree.SetTransaction) (vitess.Stateme if node == nil { return nil, nil } - return nil, errors.Errorf("SET TRANSACTION is not yet supported") + + return NotYetSupportedError("SET TRANSACTION is not yet supported") } diff --git a/server/ast/unsplit.go b/server/ast/unsplit.go index cdc5e54fbf..d1dc396162 100644 --- a/server/ast/unsplit.go +++ b/server/ast/unsplit.go @@ -15,8 +15,6 @@ package ast import ( - "github.com/cockroachdb/errors" - vitess "github.com/dolthub/vitess/go/vt/sqlparser" "github.com/dolthub/doltgresql/postgres/parser/sem/tree" @@ -27,5 +25,6 @@ func nodeUnsplit(ctx *Context, node *tree.Unsplit) (vitess.Statement, error) { if node == nil { return nil, nil } - return nil, errors.Errorf("ALTER TABLE UNSPLIT is not yet supported") + + return NotYetSupportedError("ALTER TABLE UNSPLIT is not yet supported") } From ef841f60dc5a2ef9ec807edc7312b3babb2a9195 Mon Sep 17 00:00:00 2001 From: Zach Musgrave Date: Tue, 28 Jan 2025 14:00:05 -0800 Subject: [PATCH 2/3] formatting --- server/ast/alter_aggregate.go | 2 +- server/ast/alter_database.go | 2 +- server/ast/alter_function.go | 2 +- server/ast/alter_index.go | 2 +- server/ast/alter_procedure.go | 2 +- server/ast/alter_schema.go | 2 +- server/ast/alter_sequence.go | 2 +- server/ast/alter_type.go | 2 +- server/ast/backup.go | 2 +- server/ast/cancel_queries.go | 2 +- server/ast/cancel_sessions.go | 2 +- server/ast/canned_opt_plan.go | 2 +- server/ast/comment.go | 2 +- server/ast/control_jobs.go | 4 ++-- server/ast/control_schedules.go | 2 +- server/ast/create_aggregate.go | 4 ++-- server/ast/create_changefeed.go | 2 +- server/ast/create_function.go | 2 +- server/ast/create_procedure.go | 2 +- server/ast/create_stats.go | 2 +- server/ast/drop_aggregate.go | 4 ++-- server/ast/drop_schema.go | 2 +- server/ast/execute.go | 2 +- server/ast/explain_analyze_debug.go | 2 +- server/ast/export.go | 2 +- server/ast/import.go | 2 +- server/ast/prepare.go | 2 +- server/ast/refresh_materialized_view.go | 2 +- server/ast/relocate.go | 2 +- server/ast/rename_database.go | 2 +- server/ast/rename_index.go | 2 +- server/ast/reparent_database.go | 2 +- server/ast/restore.go | 2 +- server/ast/scatter.go | 2 +- server/ast/scheduled_backup.go | 2 +- server/ast/scrub.go | 2 +- server/ast/set_transaction.go | 2 +- server/ast/unsplit.go | 2 +- 38 files changed, 41 insertions(+), 41 deletions(-) diff --git a/server/ast/alter_aggregate.go b/server/ast/alter_aggregate.go index 73a4ee3104..ed6b9b7fab 100644 --- a/server/ast/alter_aggregate.go +++ b/server/ast/alter_aggregate.go @@ -28,6 +28,6 @@ func nodeAlterAggregate(ctx *Context, node *tree.AlterAggregate) (vitess.Stateme if err := validateAggArgMode(ctx, node.AggSig.Args, node.AggSig.OrderByArgs); err != nil { return nil, err } - + return NotYetSupportedError("ALTER AGGREGATE is not yet supported") } diff --git a/server/ast/alter_database.go b/server/ast/alter_database.go index 75a7d7eb19..49a54ee451 100644 --- a/server/ast/alter_database.go +++ b/server/ast/alter_database.go @@ -25,6 +25,6 @@ func nodeAlterDatabase(ctx *Context, node *tree.AlterDatabase) (vitess.Statement if node == nil { return nil, nil } - + return NotYetSupportedError("ALTER DATABASE is not yet supported") } diff --git a/server/ast/alter_function.go b/server/ast/alter_function.go index b9ec917184..b1d7759d87 100644 --- a/server/ast/alter_function.go +++ b/server/ast/alter_function.go @@ -26,6 +26,6 @@ func nodeAlterFunction(ctx *Context, node *tree.AlterFunction) (vitess.Statement if err != nil { return nil, err } - + return NotYetSupportedError("ALTER FUNCTION statement is not yet supported") } diff --git a/server/ast/alter_index.go b/server/ast/alter_index.go index b9d370c96a..2de38c0b66 100644 --- a/server/ast/alter_index.go +++ b/server/ast/alter_index.go @@ -25,7 +25,7 @@ func nodeAlterIndex(ctx *Context, node *tree.AlterIndex) (vitess.Statement, erro if node == nil { return nil, nil } - + // Only PARTITION alterations are supported by the parser, so there's nothing to convert to yet return NotYetSupportedError("ALTER INDEX is not yet supported") } diff --git a/server/ast/alter_procedure.go b/server/ast/alter_procedure.go index 6bdb587cd6..0f372d4733 100644 --- a/server/ast/alter_procedure.go +++ b/server/ast/alter_procedure.go @@ -26,6 +26,6 @@ func nodeAlterProcedure(ctx *Context, node *tree.AlterProcedure) (vitess.Stateme if err != nil { return nil, err } - + return NotYetSupportedError("ALTER PROCEDURE statement is not yet supported") } diff --git a/server/ast/alter_schema.go b/server/ast/alter_schema.go index c8972eb5dc..f9f93fdd31 100644 --- a/server/ast/alter_schema.go +++ b/server/ast/alter_schema.go @@ -25,6 +25,6 @@ func nodeAlterSchema(ctx *Context, node *tree.AlterSchema) (vitess.Statement, er if node == nil { return nil, nil } - + return NotYetSupportedError("ALTER SCHEMA is not yet supported") } diff --git a/server/ast/alter_sequence.go b/server/ast/alter_sequence.go index bcd14057a9..4c88d78612 100644 --- a/server/ast/alter_sequence.go +++ b/server/ast/alter_sequence.go @@ -25,6 +25,6 @@ func nodeAlterSequence(ctx *Context, node *tree.AlterSequence) (vitess.Statement if node == nil { return nil, nil } - + return NotYetSupportedError("ALTER SEQUENCE is not yet supported") } diff --git a/server/ast/alter_type.go b/server/ast/alter_type.go index 3a56bb04cf..685ecadbad 100644 --- a/server/ast/alter_type.go +++ b/server/ast/alter_type.go @@ -25,6 +25,6 @@ func nodeAlterType(ctx *Context, node *tree.AlterType) (vitess.Statement, error) if node == nil { return nil, nil } - + return NotYetSupportedError("ALTER TYPE is not yet supported") } diff --git a/server/ast/backup.go b/server/ast/backup.go index eebbb528fa..11dc8349f1 100644 --- a/server/ast/backup.go +++ b/server/ast/backup.go @@ -25,6 +25,6 @@ func nodeBackup(ctx *Context, node *tree.Backup) (vitess.Statement, error) { if node == nil { return nil, nil } - + return NotYetSupportedError("BACKUP is not yet supported") } diff --git a/server/ast/cancel_queries.go b/server/ast/cancel_queries.go index 0993ecbdb9..38f97501f7 100644 --- a/server/ast/cancel_queries.go +++ b/server/ast/cancel_queries.go @@ -25,6 +25,6 @@ func nodeCancelQueries(ctx *Context, node *tree.CancelQueries) (vitess.Statement if node == nil { return nil, nil } - + return NotYetSupportedError("CANCEL QUERIES is not yet supported") } diff --git a/server/ast/cancel_sessions.go b/server/ast/cancel_sessions.go index 4f55feafa1..22ba747f6c 100644 --- a/server/ast/cancel_sessions.go +++ b/server/ast/cancel_sessions.go @@ -25,6 +25,6 @@ func nodeCancelSessions(ctx *Context, node *tree.CancelSessions) (vitess.Stateme if node == nil { return nil, nil } - + return NotYetSupportedError("CANCEL SESSIONS is not yet supported") } diff --git a/server/ast/canned_opt_plan.go b/server/ast/canned_opt_plan.go index 3bbe418939..11e002fc4a 100644 --- a/server/ast/canned_opt_plan.go +++ b/server/ast/canned_opt_plan.go @@ -25,6 +25,6 @@ func nodeCannedOptPlan(ctx *Context, node *tree.CannedOptPlan) (vitess.Statement if node == nil { return nil, nil } - + return NotYetSupportedError("PREPARE AS OPT PLAN is not yet supported") } diff --git a/server/ast/comment.go b/server/ast/comment.go index ac95f59b2b..d8bc4e0680 100644 --- a/server/ast/comment.go +++ b/server/ast/comment.go @@ -25,6 +25,6 @@ func nodeComment(ctx *Context, node *tree.Comment) (vitess.Statement, error) { if node == nil { return nil, nil } - + return NotYetSupportedError("COMMENT ON is not yet supported") } diff --git a/server/ast/control_jobs.go b/server/ast/control_jobs.go index 3b73ebbff0..96c72c060a 100644 --- a/server/ast/control_jobs.go +++ b/server/ast/control_jobs.go @@ -25,7 +25,7 @@ func nodeControlJobs(ctx *Context, node *tree.ControlJobs) (vitess.Statement, er if node == nil { return nil, nil } - + return NotYetSupportedError("PAUSE/RESUME/CANCEL are not yet supported") } @@ -34,6 +34,6 @@ func nodeControlJobsForSchedules(ctx *Context, node *tree.ControlJobsForSchedule if node == nil { return nil, nil } - + return NotYetSupportedError("PAUSE/RESUME/CANCEL are not yet supported") } diff --git a/server/ast/control_schedules.go b/server/ast/control_schedules.go index 0a04950dc9..5018b68023 100644 --- a/server/ast/control_schedules.go +++ b/server/ast/control_schedules.go @@ -25,6 +25,6 @@ func nodeControlSchedules(ctx *Context, node *tree.ControlSchedules) (vitess.Sta if node == nil { return nil, nil } - + return NotYetSupportedError("PAUSE/RESUME SCHEDULE is not yet supported") } diff --git a/server/ast/create_aggregate.go b/server/ast/create_aggregate.go index a129f641b3..0338d17ddf 100644 --- a/server/ast/create_aggregate.go +++ b/server/ast/create_aggregate.go @@ -27,13 +27,13 @@ func nodeCreateAggregate(ctx *Context, node *tree.CreateAggregate) (vitess.State if node == nil { return nil, nil } - + if !ignoreUnsupportedStatements { if err := validateAggArgMode(ctx, node.Args, node.OrderByArgs); err != nil { return nil, err } } - + return NotYetSupportedError("CREATE AGGREGATE is not yet supported") } diff --git a/server/ast/create_changefeed.go b/server/ast/create_changefeed.go index 30c9eae133..52c91b2311 100644 --- a/server/ast/create_changefeed.go +++ b/server/ast/create_changefeed.go @@ -25,6 +25,6 @@ func nodeCreateChangefeed(ctx *Context, node *tree.CreateChangefeed) (vitess.Sta if node == nil { return nil, nil } - + return NotYetSupportedError("CREATE CHANGEFEED is not yet supported") } diff --git a/server/ast/create_function.go b/server/ast/create_function.go index e2e34169f6..ff22fc90c7 100644 --- a/server/ast/create_function.go +++ b/server/ast/create_function.go @@ -28,7 +28,7 @@ func nodeCreateFunction(ctx *Context, node *tree.CreateFunction) (vitess.Stateme if err != nil { return nil, err } - + return NotYetSupportedError("CREATE FUNCTION statement is not yet supported") } diff --git a/server/ast/create_procedure.go b/server/ast/create_procedure.go index 54bd33f263..2c0b25fef8 100644 --- a/server/ast/create_procedure.go +++ b/server/ast/create_procedure.go @@ -26,6 +26,6 @@ func nodeCreateProcedure(ctx *Context, node *tree.CreateProcedure) (vitess.State if err != nil { return nil, err } - + return NotYetSupportedError("CREATE PROCEDURE statement is not yet supported") } diff --git a/server/ast/create_stats.go b/server/ast/create_stats.go index b20fc8c63f..9b9fa86a7f 100644 --- a/server/ast/create_stats.go +++ b/server/ast/create_stats.go @@ -25,6 +25,6 @@ func nodeCreateStats(ctx *Context, node *tree.CreateStats) (vitess.Statement, er if node == nil { return nil, nil } - + return NotYetSupportedError("CREATE STATISTICS is not yet supported") } diff --git a/server/ast/drop_aggregate.go b/server/ast/drop_aggregate.go index 0235ed4954..a74e29d241 100644 --- a/server/ast/drop_aggregate.go +++ b/server/ast/drop_aggregate.go @@ -25,7 +25,7 @@ func nodeDropAggregate(ctx *Context, node *tree.DropAggregate) (vitess.Statement if node == nil { return nil, nil } - + if !ignoreUnsupportedStatements { for _, agg := range node.Aggregates { if err := validateAggArgMode(ctx, agg.AggSig.Args, agg.AggSig.OrderByArgs); err != nil { @@ -33,6 +33,6 @@ func nodeDropAggregate(ctx *Context, node *tree.DropAggregate) (vitess.Statement } } } - + return NotYetSupportedError("DROP AGGREGATE is not yet supported") } diff --git a/server/ast/drop_schema.go b/server/ast/drop_schema.go index 5cd749c626..85e4de6081 100644 --- a/server/ast/drop_schema.go +++ b/server/ast/drop_schema.go @@ -26,6 +26,6 @@ func nodeDropSchema(ctx *Context, node *tree.DropSchema) (vitess.Statement, erro if node == nil { return nil, nil } - + return NotYetSupportedError("DROP SCHEMA is not yet supported") } diff --git a/server/ast/execute.go b/server/ast/execute.go index a256126677..c5fbf77131 100644 --- a/server/ast/execute.go +++ b/server/ast/execute.go @@ -25,6 +25,6 @@ func nodeExecute(ctx *Context, node *tree.Execute) (vitess.Statement, error) { if node == nil { return nil, nil } - + return NotYetSupportedError("EXECUTE is not yet supported") } diff --git a/server/ast/explain_analyze_debug.go b/server/ast/explain_analyze_debug.go index 884aabc089..01cc90fb00 100644 --- a/server/ast/explain_analyze_debug.go +++ b/server/ast/explain_analyze_debug.go @@ -25,6 +25,6 @@ func nodeExplainAnalyzeDebug(ctx *Context, node *tree.ExplainAnalyzeDebug) (vite if node == nil { return nil, nil } - + return NotYetSupportedError("EXPLAIN ANALYZE is not yet supported") } diff --git a/server/ast/export.go b/server/ast/export.go index 79f41d9ce8..ec92aba395 100644 --- a/server/ast/export.go +++ b/server/ast/export.go @@ -25,6 +25,6 @@ func nodeExport(ctx *Context, node *tree.Export) (vitess.Statement, error) { if node == nil { return nil, nil } - + return NotYetSupportedError("EXPORT is not yet supported") } diff --git a/server/ast/import.go b/server/ast/import.go index 5e697725e1..489055f2f6 100644 --- a/server/ast/import.go +++ b/server/ast/import.go @@ -25,6 +25,6 @@ func nodeImport(ctx *Context, node *tree.Import) (vitess.Statement, error) { if node == nil { return nil, nil } - + return NotYetSupportedError("IMPORT is not yet supported") } diff --git a/server/ast/prepare.go b/server/ast/prepare.go index 3d288b1638..2fa1e17b95 100644 --- a/server/ast/prepare.go +++ b/server/ast/prepare.go @@ -25,6 +25,6 @@ func nodePrepare(ctx *Context, node *tree.Prepare) (vitess.Statement, error) { if node == nil { return nil, nil } - + return NotYetSupportedError("PREPARE is not yet supported") } diff --git a/server/ast/refresh_materialized_view.go b/server/ast/refresh_materialized_view.go index c0f2d9e323..3f5b55206a 100644 --- a/server/ast/refresh_materialized_view.go +++ b/server/ast/refresh_materialized_view.go @@ -25,6 +25,6 @@ func nodeRefreshMaterializedView(ctx *Context, node *tree.RefreshMaterializedVie if node == nil { return nil, nil } - + return NotYetSupportedError("REFRESH MATERIALIZED VIEW is not yet supported") } diff --git a/server/ast/relocate.go b/server/ast/relocate.go index 0c23977c9e..e3e83e2458 100644 --- a/server/ast/relocate.go +++ b/server/ast/relocate.go @@ -25,6 +25,6 @@ func nodeRelocate(ctx *Context, node *tree.Relocate) (vitess.Statement, error) { if node == nil { return nil, nil } - + return NotYetSupportedError("ALTER TABLE RELOCATE is not yet supported") } diff --git a/server/ast/rename_database.go b/server/ast/rename_database.go index dc49d1446e..e2350882f7 100644 --- a/server/ast/rename_database.go +++ b/server/ast/rename_database.go @@ -25,6 +25,6 @@ func nodeRenameDatabase(ctx *Context, node *tree.RenameDatabase) (vitess.Stateme if node == nil { return nil, nil } - + return NotYetSupportedError("RENAME DATABASE is not yet supported") } diff --git a/server/ast/rename_index.go b/server/ast/rename_index.go index f65ddd8733..3cd7bab072 100644 --- a/server/ast/rename_index.go +++ b/server/ast/rename_index.go @@ -25,6 +25,6 @@ func nodeRenameIndex(ctx *Context, node *tree.RenameIndex) (vitess.Statement, er if node == nil { return nil, nil } - + return NotYetSupportedError("RENAME INDEX is not yet supported") } diff --git a/server/ast/reparent_database.go b/server/ast/reparent_database.go index 40658c230c..6f0093a5bf 100644 --- a/server/ast/reparent_database.go +++ b/server/ast/reparent_database.go @@ -25,6 +25,6 @@ func nodeReparentDatabase(ctx *Context, node *tree.ReparentDatabase) (vitess.Sta if node == nil { return nil, nil } - + return NotYetSupportedError("reparenting a database is not yet supported") } diff --git a/server/ast/restore.go b/server/ast/restore.go index 8147e21de4..91818fe942 100644 --- a/server/ast/restore.go +++ b/server/ast/restore.go @@ -25,6 +25,6 @@ func nodeRestore(ctx *Context, node *tree.Restore) (vitess.Statement, error) { if node == nil { return nil, nil } - + return NotYetSupportedError("RESTORE is not yet supported") } diff --git a/server/ast/scatter.go b/server/ast/scatter.go index 1ddf95dc86..c240bb8222 100644 --- a/server/ast/scatter.go +++ b/server/ast/scatter.go @@ -25,6 +25,6 @@ func nodeScatter(ctx *Context, node *tree.Scatter) (vitess.Statement, error) { if node == nil { return nil, nil } - + return NotYetSupportedError("ALTER TABLE SCATTER is not yet supported") } diff --git a/server/ast/scheduled_backup.go b/server/ast/scheduled_backup.go index 7512b12ab5..acfb79e38d 100644 --- a/server/ast/scheduled_backup.go +++ b/server/ast/scheduled_backup.go @@ -25,6 +25,6 @@ func nodeScheduledBackup(ctx *Context, node *tree.ScheduledBackup) (vitess.State if node == nil { return nil, nil } - + return NotYetSupportedError("scheduled backups are not yet supported") } diff --git a/server/ast/scrub.go b/server/ast/scrub.go index 33de83ece9..0c5a4e5676 100644 --- a/server/ast/scrub.go +++ b/server/ast/scrub.go @@ -25,6 +25,6 @@ func nodeScrub(ctx *Context, node *tree.Scrub) (vitess.Statement, error) { if node == nil { return nil, nil } - + return NotYetSupportedError("SCRUB is not yet supported") } diff --git a/server/ast/set_transaction.go b/server/ast/set_transaction.go index 0a5848630c..0deb95f290 100644 --- a/server/ast/set_transaction.go +++ b/server/ast/set_transaction.go @@ -25,6 +25,6 @@ func nodeSetTransaction(ctx *Context, node *tree.SetTransaction) (vitess.Stateme if node == nil { return nil, nil } - + return NotYetSupportedError("SET TRANSACTION is not yet supported") } diff --git a/server/ast/unsplit.go b/server/ast/unsplit.go index d1dc396162..1942e69ff6 100644 --- a/server/ast/unsplit.go +++ b/server/ast/unsplit.go @@ -25,6 +25,6 @@ func nodeUnsplit(ctx *Context, node *tree.Unsplit) (vitess.Statement, error) { if node == nil { return nil, nil } - + return NotYetSupportedError("ALTER TABLE UNSPLIT is not yet supported") } From 3a3277606fd80a467fcae0aa9db5930dd6f3a852 Mon Sep 17 00:00:00 2001 From: Zach Musgrave Date: Wed, 29 Jan 2025 17:53:02 -0800 Subject: [PATCH 3/3] Added a comment to new flag --- server/ast/no_op.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/server/ast/no_op.go b/server/ast/no_op.go index f5ec0fa4a5..e3949b6221 100755 --- a/server/ast/no_op.go +++ b/server/ast/no_op.go @@ -25,6 +25,9 @@ import ( const ignoreUnsupportedEnvKey = "DOLTGRES_IGNORE_UNSUPPORTED" +// ignoreUnsupportedStatements is a flag that determines whether to ignore unsupported statements. This is useful +// when importing a dump from postgres using certain import tools that expect every statement to succeed, including +// ones that we can't yet fully support (or that we never will, but are safe to ignore). var ignoreUnsupportedStatements bool func init() {