Skip to content
Closed
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
4 changes: 2 additions & 2 deletions enginetest/mysqlshim/database.go
Original file line number Diff line number Diff line change
Expand Up @@ -278,8 +278,8 @@ func (d Database) DropView(ctx *sql.Context, name string) error {
return d.shim.Exec(d.name, fmt.Sprintf("DROP VIEW `%s`;", name))
}

// GetViewDefinition implements the interface sql.ViewDatabase.
func (d Database) GetViewDefinition(ctx *sql.Context, viewName string) (sql.ViewDefinition, bool, error) {
// GetViewDefinitionAsOf implements the interface sql.ViewDatabase.
func (d Database) GetViewDefinitionAsOf(ctx *sql.Context, viewName string, asOf interface{}) (sql.ViewDefinition, bool, error) {
views, err := d.AllViews(ctx)
if err != nil {
return sql.ViewDefinition{}, false, err
Expand Down
4 changes: 2 additions & 2 deletions memory/database.go
Original file line number Diff line number Diff line change
Expand Up @@ -589,8 +589,8 @@ func (d *Database) AllViews(ctx *sql.Context) ([]sql.ViewDefinition, error) {
return views, nil
}

// GetViewDefinition implements the interface sql.ViewDatabase.
func (d *Database) GetViewDefinition(ctx *sql.Context, viewName string) (sql.ViewDefinition, bool, error) {
// GetViewDefinitionAsOf implements the interface sql.ViewDatabase.
func (d *Database) GetViewDefinitionAsOf(ctx *sql.Context, viewName string, asOf interface{}) (sql.ViewDefinition, bool, error) {
viewDef, ok := d.views[strings.ToLower(viewName)]
return viewDef, ok, nil
}
Expand Down
4 changes: 2 additions & 2 deletions sql/databases.go
Original file line number Diff line number Diff line change
Expand Up @@ -301,8 +301,8 @@ type ViewDatabase interface {
// ErrViewDoesNotExist
DropView(ctx *Context, name string) error

// GetViewDefinition returns the ViewDefinition of the view with the name given, or false if it doesn't exist.
GetViewDefinition(ctx *Context, viewName string) (ViewDefinition, bool, error)
// GetViewDefinitionAsOf returns the ViewDefinition of the view with the name given, or false if it doesn't exist.
GetViewDefinitionAsOf(ctx *Context, viewName string, asOf interface{}) (ViewDefinition, bool, error)

// AllViews returns the definitions of all views in the database
AllViews(ctx *Context) ([]ViewDefinition, error)
Expand Down
11 changes: 6 additions & 5 deletions sql/mysql_db/privileged_database_provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -399,12 +399,13 @@ func (pdb PrivilegedDatabase) DropView(ctx *sql.Context, name string) error {
return sql.ErrViewsNotSupported.New(pdb.db.Name())
}

// GetViewDefinition implements sql.ViewDatabase
func (pdb PrivilegedDatabase) GetViewDefinition(ctx *sql.Context, viewName string) (sql.ViewDefinition, bool, error) {
if db, ok := pdb.db.(sql.ViewDatabase); ok {
return db.GetViewDefinition(ctx, viewName)
// GetViewDefinitionAsOf implements sql.ViewDatabase
func (pdb PrivilegedDatabase) GetViewDefinitionAsOf(ctx *sql.Context, viewName string, asOf interface{}) (sql.ViewDefinition, bool, error) {
db, ok := pdb.db.(sql.ViewDatabase)
if !ok {
return sql.ViewDefinition{}, false, sql.ErrViewsNotSupported.New(pdb.db.Name())
}
return sql.ViewDefinition{}, false, sql.ErrViewsNotSupported.New(pdb.db.Name())
return db.GetViewDefinitionAsOf(ctx, viewName, asOf)
}

// AllViews implements sql.ViewDatabase
Expand Down
2 changes: 1 addition & 1 deletion sql/plan/alter_table.go
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ func (r *RenameTable) renameTable(ctx *sql.Context, renamer sql.TableRenamer, tb

func (r *RenameTable) renameView(ctx *sql.Context, viewDb sql.ViewDatabase, vr *sql.ViewRegistry, oldName, newName string) (bool, error) {
if viewDb != nil {
oldView, exists, err := viewDb.GetViewDefinition(ctx, oldName)
oldView, exists, err := viewDb.GetViewDefinitionAsOf(ctx, oldName, nil)
if err != nil {
return false, err
} else if !exists {
Expand Down
2 changes: 1 addition & 1 deletion sql/planbuilder/from.go
Original file line number Diff line number Diff line change
Expand Up @@ -813,7 +813,7 @@ func (b *Builder) resolveView(name string, database sql.Database, asOf interface
var view *sql.View

if vdb, vok := database.(sql.ViewDatabase); vok {
viewDef, vdok, err := vdb.GetViewDefinition(b.ctx, name)
viewDef, vdok, err := vdb.GetViewDefinitionAsOf(b.ctx, name, asOf)
if err != nil {
b.handleErr(err)
}
Expand Down
6 changes: 3 additions & 3 deletions sql/rowexec/create_view_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ func TestReplaceExistingViewNative(t *testing.T) {
require.NoError(t, err)

expectedViewTextDef := createView.Definition.TextDefinition
view, ok, err := db.GetViewDefinition(ctx, createView.Name)
view, ok, err := db.GetViewDefinitionAsOf(ctx, createView.Name, nil)
require.NoError(t, err)
require.True(t, ok)
require.Equal(t, expectedViewTextDef, view.TextDefinition)
Expand All @@ -114,7 +114,7 @@ func TestReplaceExistingViewNative(t *testing.T) {
_, err = DefaultBuilder.buildNodeExec(ctx, createView, nil)
require.NoError(t, err)

view, ok, err = db.GetViewDefinition(ctx, createView.Name)
view, ok, err = db.GetViewDefinitionAsOf(ctx, createView.Name, nil)
require.NoError(t, err)
require.True(t, ok)
require.Equal(t, subqueryAlias.TextDefinition, view.TextDefinition)
Expand All @@ -130,7 +130,7 @@ func TestCreateViewNative(t *testing.T) {
_, err := DefaultBuilder.buildNodeExec(ctx, createView, nil)
require.NoError(t, err)

actualView, ok, err := db.GetViewDefinition(ctx, createView.Name)
actualView, ok, err := db.GetViewDefinitionAsOf(ctx, createView.Name, nil)

require.True(t, ok)
require.NoError(t, err)
Expand Down
2 changes: 1 addition & 1 deletion sql/rowexec/ddl.go
Original file line number Diff line number Diff line change
Expand Up @@ -996,7 +996,7 @@ func (b *BaseBuilder) buildCreateTable(ctx *sql.Context, n *plan.CreateTable, ro
}

if vdb, vok := n.Db.(sql.ViewDatabase); vok {
_, ok, err := vdb.GetViewDefinition(ctx, n.Name())
_, ok, err := vdb.GetViewDefinitionAsOf(ctx, n.Name(), nil)
if err != nil {
return nil, err
}
Expand Down
4 changes: 2 additions & 2 deletions sql/rowexec/drop_view_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ func TestDropExistingViewNative(t *testing.T) {
_, err := DefaultBuilder.Build(ctx, dropView, nil)
require.NoError(t, err)

_, ok, err := db.GetViewDefinition(ctx, view.Name())
_, ok, err := db.GetViewDefinitionAsOf(ctx, view.Name(), nil)
require.NoError(t, err)
require.False(t, ok)
}
Expand All @@ -135,7 +135,7 @@ func TestDropNonExistingViewNative(t *testing.T) {

_, dropErr := DefaultBuilder.Build(ctx, dropView, nil)

_, ok, err := db.GetViewDefinition(ctx, view.Name())
_, ok, err := db.GetViewDefinitionAsOf(ctx, view.Name(), nil)
require.NoError(t, err)
require.True(t, ok)

Expand Down
Loading