Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions server/ast/alter_database.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,10 @@ func nodeAlterDatabase(ctx *Context, node *tree.AlterDatabase) (vitess.Statement
return nil, nil
}

// We can handle the common ALTER DATABASE .. TO OWNER case since it's a no-op
if node.Owner != "" {
return NewNoOp([]string{"owners are unsupported"}), nil
}

return NotYetSupportedError("ALTER DATABASE is not yet supported")
}
5 changes: 5 additions & 0 deletions server/ast/alter_function.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,10 @@ func nodeAlterFunction(ctx *Context, node *tree.AlterFunction) (vitess.Statement
return nil, err
}

// We can handle the common ALTER FUNCTION .. TO OWNER case since it's a no-op
if node.Owner != "" {
return NewNoOp([]string{"owners are unsupported"}), nil
}

return NotYetSupportedError("ALTER FUNCTION statement is not yet supported")
}
5 changes: 5 additions & 0 deletions server/ast/alter_schema.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,10 @@ func nodeAlterSchema(ctx *Context, node *tree.AlterSchema) (vitess.Statement, er
return nil, nil
}

// We can handle the common ALTER SCHEMA .. TO OWNER case since it's a no-op
if _, ok := node.Cmd.(*tree.AlterSchemaOwner); ok {
return NewNoOp([]string{"owners are unsupported"}), nil
}

return NotYetSupportedError("ALTER SCHEMA is not yet supported")
}
5 changes: 5 additions & 0 deletions server/ast/alter_sequence.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,10 @@ func nodeAlterSequence(ctx *Context, node *tree.AlterSequence) (vitess.Statement
return nil, nil
}

// We can handle the common ALTER SEQUENCE .. TO OWNER case since it's a no-op
if node.Owner != "" {
return NewNoOp([]string{"owners are unsupported"}), nil
}

return NotYetSupportedError("ALTER SEQUENCE is not yet supported")
}
5 changes: 5 additions & 0 deletions server/ast/alter_type.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,10 @@ func nodeAlterType(ctx *Context, node *tree.AlterType) (vitess.Statement, error)
return nil, nil
}

// We can handle the common ALTER TYPE .. TO OWNER case since it's a no-op
if _, ok := node.Cmd.(*tree.AlterTypeOwner); ok {
return NewNoOp([]string{"owners are unsupported"}), nil
}

return NotYetSupportedError("ALTER TYPE is not yet supported")
}
5 changes: 5 additions & 0 deletions server/ast/alter_view.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,10 @@ func nodeAlterView(ctx *Context, stmt *tree.AlterView) (sqlparser.Statement, err
return nil, nil
}

// We can handle the common ALTER VIEW .. TO OWNER case since it's a no-op
if _, ok := stmt.Cmd.(*tree.AlterViewOwnerTo); ok {
return NewNoOp([]string{"owners are unsupported"}), nil
}

return NotYetSupportedError("ALTER VIEW is not yet supported")
}
9 changes: 8 additions & 1 deletion server/node/no_op.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ import (
"fmt"
"io"

"github.com/dolthub/dolt/go/libraries/doltcore/sqle/dsess"
"github.com/dolthub/go-mysql-server/sql"
vitess "github.com/dolthub/vitess/go/vt/sqlparser"
"github.com/jackc/pgx/v5/pgproto3"
)

var _ vitess.Injectable = (*NoOp)(nil)
Expand Down Expand Up @@ -69,7 +71,12 @@ func (n noOpRowIter) Next(ctx *sql.Context) (sql.Row, error) {

func (n noOpRowIter) Close(ctx *sql.Context) error {
for _, warning := range n.warnings {
ctx.Warn(0, "%s is unimplemented", warning)
noticeResponse := &pgproto3.NoticeResponse{
Severity: "WARNING",
Message: warning,
}
sess := dsess.DSessFromSess(ctx.Session)
sess.Notice(noticeResponse)
}
return nil
}
Expand Down
10 changes: 6 additions & 4 deletions testing/generation/command_docs/output/alter_database_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ func TestAlterDatabase(t *testing.T) {
Parses("ALTER DATABASE name IS_TEMPLATE istemplate IS_TEMPLATE istemplate"),
Parses("ALTER DATABASE name WITH IS_TEMPLATE istemplate IS_TEMPLATE istemplate"),
Parses("ALTER DATABASE name RENAME TO new_name"),
Parses("ALTER DATABASE name OWNER TO new_owner"),
Parses("ALTER DATABASE name OWNER TO CURRENT_ROLE"),
Parses("ALTER DATABASE name OWNER TO CURRENT_USER"),
Parses("ALTER DATABASE name OWNER TO SESSION_USER"),
Converts("ALTER DATABASE name OWNER TO new_owner"),
Converts("ALTER DATABASE name OWNER TO CURRENT_ROLE"),
Converts("ALTER DATABASE name OWNER TO CURRENT_USER"),
Converts("ALTER DATABASE name OWNER TO SESSION_USER"),
Parses("ALTER DATABASE name SET TABLESPACE new_tablespace"),
Parses("ALTER DATABASE name REFRESH COLLATION VERSION"),
Parses("ALTER DATABASE name SET configuration_parameter TO value"),
Expand All @@ -58,5 +58,7 @@ func TestAlterDatabase(t *testing.T) {
Parses("ALTER DATABASE name RESET configuration_parameter"),
Parses("ALTER DATABASE name RESET ALL"),
}

RunTests(t, tests)
// RewriteTests(t, tests, "alter_database_test.go")
}
56 changes: 29 additions & 27 deletions testing/generation/command_docs/output/alter_function_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9974,33 +9974,33 @@ func TestAlterFunction(t *testing.T) {
Parses("ALTER FUNCTION name ( INOUT argname FLOAT8 , argname FLOAT8 ) RENAME TO new_name"),
Parses("ALTER FUNCTION name ( IN FLOAT8 , IN argname FLOAT8 ) RENAME TO new_name"),
Parses("ALTER FUNCTION name ( IN argname FLOAT8 , INOUT argname FLOAT8 ) RENAME TO new_name"),
Parses("ALTER FUNCTION name ( IN FLOAT8 , IN FLOAT8 ) OWNER TO new_owner"),
Parses("ALTER FUNCTION name ( INOUT FLOAT8 , INOUT FLOAT8 ) OWNER TO new_owner"),
Parses("ALTER FUNCTION name ( FLOAT8 , argname FLOAT8 ) OWNER TO new_owner"),
Parses("ALTER FUNCTION name ( OUT FLOAT8 , argname FLOAT8 ) OWNER TO new_owner"),
Parses("ALTER FUNCTION name ( VARIADIC argname FLOAT8 , IN argname FLOAT8 ) OWNER TO new_owner"),
Parses("ALTER FUNCTION name ( INOUT FLOAT8 , OUT argname FLOAT8 ) OWNER TO new_owner"),
Parses("ALTER FUNCTION name ( VARIADIC argname FLOAT8 , INOUT argname FLOAT8 ) OWNER TO new_owner"),
Parses("ALTER FUNCTION name ( INOUT argname FLOAT8 , INOUT argname FLOAT8 ) OWNER TO new_owner"),
Parses("ALTER FUNCTION name ( IN FLOAT8 ) OWNER TO CURRENT_ROLE"),
Parses("ALTER FUNCTION name ( IN FLOAT8 , FLOAT8 ) OWNER TO CURRENT_ROLE"),
Parses("ALTER FUNCTION name ( IN FLOAT8 , IN FLOAT8 ) OWNER TO CURRENT_ROLE"),
Parses("ALTER FUNCTION name ( OUT argname FLOAT8 , IN FLOAT8 ) OWNER TO CURRENT_ROLE"),
Parses("ALTER FUNCTION name ( argname FLOAT8 , VARIADIC FLOAT8 ) OWNER TO CURRENT_ROLE"),
Parses("ALTER FUNCTION name ( OUT argname FLOAT8 , OUT FLOAT8 ) OWNER TO CURRENT_ROLE"),
Parses("ALTER FUNCTION name ( IN FLOAT8 , INOUT FLOAT8 ) OWNER TO CURRENT_ROLE"),
Parses("ALTER FUNCTION name ( OUT argname FLOAT8 , VARIADIC argname FLOAT8 ) OWNER TO CURRENT_ROLE"),
Parses("ALTER FUNCTION name ( OUT FLOAT8 , OUT argname FLOAT8 ) OWNER TO CURRENT_ROLE"),
Parses("ALTER FUNCTION name ( VARIADIC argname FLOAT8 , INOUT argname FLOAT8 ) OWNER TO CURRENT_ROLE"),
Parses("ALTER FUNCTION name ( ) OWNER TO CURRENT_USER"),
Parses("ALTER FUNCTION name ( argname FLOAT8 ) OWNER TO CURRENT_USER"),
Parses("ALTER FUNCTION name ( OUT FLOAT8 , INOUT FLOAT8 ) OWNER TO CURRENT_USER"),
Parses("ALTER FUNCTION name ( VARIADIC argname FLOAT8 , IN argname FLOAT8 ) OWNER TO CURRENT_USER"),
Parses("ALTER FUNCTION name ( IN argname FLOAT8 , VARIADIC argname FLOAT8 ) OWNER TO CURRENT_USER"),
Parses("ALTER FUNCTION name ( INOUT argname FLOAT8 , INOUT argname FLOAT8 ) OWNER TO CURRENT_USER"),
Parses("ALTER FUNCTION name ( INOUT FLOAT8 , FLOAT8 ) OWNER TO SESSION_USER"),
Parses("ALTER FUNCTION name ( argname FLOAT8 , FLOAT8 ) OWNER TO SESSION_USER"),
Parses("ALTER FUNCTION name ( IN FLOAT8 , INOUT FLOAT8 ) OWNER TO SESSION_USER"),
Converts("ALTER FUNCTION name ( IN FLOAT8 , IN FLOAT8 ) OWNER TO new_owner"),
Converts("ALTER FUNCTION name ( INOUT FLOAT8 , INOUT FLOAT8 ) OWNER TO new_owner"),
Converts("ALTER FUNCTION name ( FLOAT8 , argname FLOAT8 ) OWNER TO new_owner"),
Converts("ALTER FUNCTION name ( OUT FLOAT8 , argname FLOAT8 ) OWNER TO new_owner"),
Converts("ALTER FUNCTION name ( VARIADIC argname FLOAT8 , IN argname FLOAT8 ) OWNER TO new_owner"),
Converts("ALTER FUNCTION name ( INOUT FLOAT8 , OUT argname FLOAT8 ) OWNER TO new_owner"),
Converts("ALTER FUNCTION name ( VARIADIC argname FLOAT8 , INOUT argname FLOAT8 ) OWNER TO new_owner"),
Converts("ALTER FUNCTION name ( INOUT argname FLOAT8 , INOUT argname FLOAT8 ) OWNER TO new_owner"),
Converts("ALTER FUNCTION name ( IN FLOAT8 ) OWNER TO CURRENT_ROLE"),
Converts("ALTER FUNCTION name ( IN FLOAT8 , FLOAT8 ) OWNER TO CURRENT_ROLE"),
Converts("ALTER FUNCTION name ( IN FLOAT8 , IN FLOAT8 ) OWNER TO CURRENT_ROLE"),
Converts("ALTER FUNCTION name ( OUT argname FLOAT8 , IN FLOAT8 ) OWNER TO CURRENT_ROLE"),
Converts("ALTER FUNCTION name ( argname FLOAT8 , VARIADIC FLOAT8 ) OWNER TO CURRENT_ROLE"),
Converts("ALTER FUNCTION name ( OUT argname FLOAT8 , OUT FLOAT8 ) OWNER TO CURRENT_ROLE"),
Converts("ALTER FUNCTION name ( IN FLOAT8 , INOUT FLOAT8 ) OWNER TO CURRENT_ROLE"),
Converts("ALTER FUNCTION name ( OUT argname FLOAT8 , VARIADIC argname FLOAT8 ) OWNER TO CURRENT_ROLE"),
Converts("ALTER FUNCTION name ( OUT FLOAT8 , OUT argname FLOAT8 ) OWNER TO CURRENT_ROLE"),
Converts("ALTER FUNCTION name ( VARIADIC argname FLOAT8 , INOUT argname FLOAT8 ) OWNER TO CURRENT_ROLE"),
Converts("ALTER FUNCTION name ( ) OWNER TO CURRENT_USER"),
Converts("ALTER FUNCTION name ( argname FLOAT8 ) OWNER TO CURRENT_USER"),
Converts("ALTER FUNCTION name ( OUT FLOAT8 , INOUT FLOAT8 ) OWNER TO CURRENT_USER"),
Converts("ALTER FUNCTION name ( VARIADIC argname FLOAT8 , IN argname FLOAT8 ) OWNER TO CURRENT_USER"),
Converts("ALTER FUNCTION name ( IN argname FLOAT8 , VARIADIC argname FLOAT8 ) OWNER TO CURRENT_USER"),
Converts("ALTER FUNCTION name ( INOUT argname FLOAT8 , INOUT argname FLOAT8 ) OWNER TO CURRENT_USER"),
Converts("ALTER FUNCTION name ( INOUT FLOAT8 , FLOAT8 ) OWNER TO SESSION_USER"),
Converts("ALTER FUNCTION name ( argname FLOAT8 , FLOAT8 ) OWNER TO SESSION_USER"),
Converts("ALTER FUNCTION name ( IN FLOAT8 , INOUT FLOAT8 ) OWNER TO SESSION_USER"),
Parses("ALTER FUNCTION name ( ) SET SCHEMA new_schema"),
Parses("ALTER FUNCTION name ( VARIADIC argname FLOAT8 , FLOAT8 ) SET SCHEMA new_schema"),
Parses("ALTER FUNCTION name ( IN argname FLOAT8 , INOUT FLOAT8 ) SET SCHEMA new_schema"),
Expand All @@ -10019,5 +10019,7 @@ func TestAlterFunction(t *testing.T) {
Parses("ALTER FUNCTION name ( INOUT FLOAT8 , OUT argname FLOAT8 ) NO DEPENDS ON EXTENSION extension_name"),
Parses("ALTER FUNCTION name ( INOUT argname FLOAT8 , INOUT argname FLOAT8 ) NO DEPENDS ON EXTENSION extension_name"),
}

RunTests(t, tests)
// RewriteTests(t, tests, "alter_function_test.go")
}
2 changes: 2 additions & 0 deletions testing/generation/command_docs/output/alter_index_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,5 +52,7 @@ func TestAlterIndex(t *testing.T) {
Parses("ALTER INDEX ALL IN TABLESPACE name OWNED BY role_name SET TABLESPACE new_tablespace NOWAIT"),
Parses("ALTER INDEX ALL IN TABLESPACE name OWNED BY role_name , role_name SET TABLESPACE new_tablespace NOWAIT"),
}

RunTests(t, tests)
// RewriteTests(t, tests, "alter_index_test.go")
}
8 changes: 4 additions & 4 deletions testing/generation/command_docs/output/alter_schema_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ import "testing"
func TestAlterSchema(t *testing.T) {
tests := []QueryParses{
Parses("ALTER SCHEMA name RENAME TO new_name"),
Parses("ALTER SCHEMA name OWNER TO new_owner"),
Parses("ALTER SCHEMA name OWNER TO CURRENT_ROLE"),
Parses("ALTER SCHEMA name OWNER TO CURRENT_USER"),
Parses("ALTER SCHEMA name OWNER TO SESSION_USER"),
Converts("ALTER SCHEMA name OWNER TO new_owner"),
Converts("ALTER SCHEMA name OWNER TO CURRENT_ROLE"),
Converts("ALTER SCHEMA name OWNER TO CURRENT_USER"),
Converts("ALTER SCHEMA name OWNER TO SESSION_USER"),
}
RunTests(t, tests)
}
6 changes: 4 additions & 2 deletions testing/generation/command_docs/output/alter_sequence_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10015,9 +10015,11 @@ func TestAlterSequence(t *testing.T) {
Parses("ALTER SEQUENCE name SET LOGGED"),
Parses("ALTER SEQUENCE IF EXISTS name SET LOGGED"),
Parses("ALTER SEQUENCE IF EXISTS name SET UNLOGGED"),
Parses("ALTER SEQUENCE name OWNER TO CURRENT_ROLE"),
Parses("ALTER SEQUENCE name OWNER TO SESSION_USER"),
Converts("ALTER SEQUENCE name OWNER TO CURRENT_ROLE"),
Converts("ALTER SEQUENCE name OWNER TO SESSION_USER"),
Parses("ALTER SEQUENCE IF EXISTS name RENAME TO new_name"),
}

RunTests(t, tests)
// RewriteTests(t, tests, "alter_sequence_test.go")
}
4 changes: 3 additions & 1 deletion testing/generation/command_docs/output/alter_server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,5 +49,7 @@ func TestAlterServer(t *testing.T) {
Unimplemented("ALTER SERVER name OWNER TO SESSION_USER"),
Unimplemented("ALTER SERVER name RENAME TO new_name"),
}
RunTests(t, tests)

//RunTests(t, tests)
RewriteTests(t, tests, "alter_server_test.go")
}
10 changes: 6 additions & 4 deletions testing/generation/command_docs/output/alter_type_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ import "testing"

func TestAlterType(t *testing.T) {
tests := []QueryParses{
Parses("ALTER TYPE name OWNER TO new_owner"),
Parses("ALTER TYPE name OWNER TO CURRENT_ROLE"),
Parses("ALTER TYPE name OWNER TO CURRENT_USER"),
Parses("ALTER TYPE name OWNER TO SESSION_USER"),
Converts("ALTER TYPE name OWNER TO new_owner"),
Converts("ALTER TYPE name OWNER TO CURRENT_ROLE"),
Converts("ALTER TYPE name OWNER TO CURRENT_USER"),
Converts("ALTER TYPE name OWNER TO SESSION_USER"),
Parses("ALTER TYPE name RENAME TO new_name"),
Parses("ALTER TYPE name SET SCHEMA new_schema"),
Parses("ALTER TYPE name RENAME ATTRIBUTE attribute_name TO new_attribute_name"),
Expand Down Expand Up @@ -677,5 +677,7 @@ func TestAlterType(t *testing.T) {
Parses("ALTER TYPE name SET ( ANALYZE = analyze_function , SUBSCRIPT = subscript_function )"),
Parses("ALTER TYPE name SET ( SUBSCRIPT = subscript_function , SUBSCRIPT = subscript_function )"),
}

RunTests(t, tests)
// RewriteTests(t, tests, "alter_type_test.go")
}
18 changes: 10 additions & 8 deletions testing/generation/command_docs/output/alter_view_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ func TestAlterView(t *testing.T) {
Parses("ALTER VIEW IF EXISTS name ALTER column_name DROP DEFAULT"),
Parses("ALTER VIEW name ALTER COLUMN column_name DROP DEFAULT"),
Parses("ALTER VIEW IF EXISTS name ALTER COLUMN column_name DROP DEFAULT"),
Parses("ALTER VIEW name OWNER TO new_owner"),
Parses("ALTER VIEW IF EXISTS name OWNER TO new_owner"),
Parses("ALTER VIEW name OWNER TO CURRENT_ROLE"),
Parses("ALTER VIEW IF EXISTS name OWNER TO CURRENT_ROLE"),
Parses("ALTER VIEW name OWNER TO CURRENT_USER"),
Parses("ALTER VIEW IF EXISTS name OWNER TO CURRENT_USER"),
Parses("ALTER VIEW name OWNER TO SESSION_USER"),
Parses("ALTER VIEW IF EXISTS name OWNER TO SESSION_USER"),
Converts("ALTER VIEW name OWNER TO new_owner"),
Converts("ALTER VIEW IF EXISTS name OWNER TO new_owner"),
Converts("ALTER VIEW name OWNER TO CURRENT_ROLE"),
Converts("ALTER VIEW IF EXISTS name OWNER TO CURRENT_ROLE"),
Converts("ALTER VIEW name OWNER TO CURRENT_USER"),
Converts("ALTER VIEW IF EXISTS name OWNER TO CURRENT_USER"),
Converts("ALTER VIEW name OWNER TO SESSION_USER"),
Converts("ALTER VIEW IF EXISTS name OWNER TO SESSION_USER"),
Parses("ALTER VIEW name RENAME column_name TO new_column_name"),
Parses("ALTER VIEW IF EXISTS name RENAME column_name TO new_column_name"),
Parses("ALTER VIEW name RENAME COLUMN column_name TO new_column_name"),
Expand Down Expand Up @@ -151,5 +151,7 @@ func TestAlterView(t *testing.T) {
Parses("ALTER VIEW name RESET ( security_invoker , security_invoker )"),
Parses("ALTER VIEW IF EXISTS name RESET ( security_invoker , security_invoker )"),
}

RunTests(t, tests)
// RewriteTests(t, tests, "alter_view_test.go")
}
Loading