diff --git a/go/vt/vtgate/planbuilder/builder.go b/go/vt/vtgate/planbuilder/builder.go index 54b076790e2..95ec66d36b9 100644 --- a/go/vt/vtgate/planbuilder/builder.go +++ b/go/vt/vtgate/planbuilder/builder.go @@ -305,7 +305,9 @@ func BuildFromStmt(query string, stmt sqlparser.Statement, vschema ContextVSchem instruction, err = buildOtherReadAndAdmin(query, vschema) case *sqlparser.Set: instruction, err = buildSetPlan(query, stmt, vschema) - case *sqlparser.Show, *sqlparser.DBDDL, *sqlparser.SetTransaction: + case *sqlparser.DBDDL: + return nil, vterrors.Errorf(vtrpcpb.Code_UNIMPLEMENTED, "unsupported: Database DDL %v", sqlparser.String(stmt)) + case *sqlparser.Show, *sqlparser.SetTransaction: return nil, ErrPlanNotSupported case *sqlparser.Begin, *sqlparser.Commit, *sqlparser.Rollback: // Empty by design. Not executed by a plan diff --git a/go/vt/vtgate/planbuilder/testdata/unsupported_cases.txt b/go/vt/vtgate/planbuilder/testdata/unsupported_cases.txt index d2bc6dac7dc..4bd698c4900 100644 --- a/go/vt/vtgate/planbuilder/testdata/unsupported_cases.txt +++ b/go/vt/vtgate/planbuilder/testdata/unsupported_cases.txt @@ -411,3 +411,7 @@ # delete with multi-table targets "delete music,user from music inner join user where music.id = user.id" "unsupported: multi-shard or vindex write statement" + +# Database DDL +"create database foo" +"unsupported: Database DDL create database foo"