node

package
v0.16.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 30, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrVitessChildCount = errors.NewKind("invalid vitess child count, expected `%d` but got `%d`")

ErrVitessChildCount is returned by WithResolvedChildren to indicate that the expected child count is incorrect.

Functions

This section is empty.

Types

type AlterRole added in v0.13.0

type AlterRole struct {
	Name    string
	Options map[string]any
}

AlterRole handles the ALTER ROLE and ALTER USER statements (ALTER USER is an alias).

func (*AlterRole) Children added in v0.13.0

func (c *AlterRole) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (*AlterRole) IsReadOnly added in v0.13.0

func (c *AlterRole) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (*AlterRole) Resolved added in v0.13.0

func (c *AlterRole) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (*AlterRole) RowIter added in v0.13.0

func (c *AlterRole) RowIter(ctx *sql.Context, r sql.Row) (sql.RowIter, error)

RowIter implements the interface sql.ExecSourceRel.

func (*AlterRole) Schema added in v0.13.0

func (c *AlterRole) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (*AlterRole) String added in v0.13.0

func (c *AlterRole) String() string

String implements the interface sql.ExecSourceRel.

func (*AlterRole) WithChildren added in v0.13.0

func (c *AlterRole) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

func (*AlterRole) WithResolvedChildren added in v0.13.0

func (c *AlterRole) WithResolvedChildren(children []any) (any, error)

WithResolvedChildren implements the interface vitess.Injectable.

type CompositeAsType added in v0.16.0

type CompositeAsType struct {
	AttrName  string
	Typ       *types.DoltgresType
	Collation string
}

CompositeAsType represents an attribute name and data type for a composite type.

type ContextRootFinalizer

type ContextRootFinalizer struct {
	// contains filtered or unexported fields
}

ContextRootFinalizer is a node that finalizes any changes persisted within the context.

func NewContextRootFinalizer

func NewContextRootFinalizer(child sql.Node) *ContextRootFinalizer

NewContextRootFinalizer returns a new *ContextRootFinalizer.

func (*ContextRootFinalizer) Child

func (rf *ContextRootFinalizer) Child() sql.Node

Child returns the single child of this node

func (*ContextRootFinalizer) Children

func (rf *ContextRootFinalizer) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (*ContextRootFinalizer) DebugString

func (rf *ContextRootFinalizer) DebugString() string

func (*ContextRootFinalizer) IsReadOnly

func (rf *ContextRootFinalizer) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (*ContextRootFinalizer) Resolved

func (rf *ContextRootFinalizer) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (*ContextRootFinalizer) RowIter

func (rf *ContextRootFinalizer) RowIter(ctx *sql.Context, r sql.Row) (sql.RowIter, error)

RowIter implements the interface sql.ExecSourceRel.

func (*ContextRootFinalizer) Schema

func (rf *ContextRootFinalizer) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (*ContextRootFinalizer) String

func (rf *ContextRootFinalizer) String() string

String implements the interface sql.ExecSourceRel.

func (*ContextRootFinalizer) WithChildren

func (rf *ContextRootFinalizer) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

type CopyFrom added in v0.12.0

type CopyFrom struct {
	DatabaseName string
	TableName    doltdb.TableName
	File         string
	Stdin        bool
	Columns      tree.NameList
	CopyOptions  tree.CopyOptions
}

CopyFrom handles the COPY ... FROM ... statement.

func NewCopyFrom added in v0.12.0

func NewCopyFrom(databaseName string, tableName doltdb.TableName, options tree.CopyOptions, fileName string, stdin bool, columns tree.NameList) *CopyFrom

NewCopyFrom returns a new *CopyFrom.

func (*CopyFrom) Children added in v0.12.0

func (cf *CopyFrom) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (*CopyFrom) IsReadOnly added in v0.12.0

func (cf *CopyFrom) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (*CopyFrom) Resolved added in v0.12.0

func (cf *CopyFrom) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (*CopyFrom) RowIter added in v0.12.0

func (cf *CopyFrom) RowIter(ctx *sql.Context, _ sql.Row) (_ sql.RowIter, err error)

RowIter implements the interface sql.ExecSourceRel.

func (*CopyFrom) Schema added in v0.12.0

func (cf *CopyFrom) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (*CopyFrom) String added in v0.12.0

func (cf *CopyFrom) String() string

String implements the interface sql.ExecSourceRel.

func (*CopyFrom) Validate added in v0.12.0

func (cf *CopyFrom) Validate(ctx *sql.Context) error

Validate returns an error if the CopyFrom node is invalid, for example if it contains columns that are not in the table schema.

TODO: This validation logic should be hooked into the analyzer so that it can be run in a consistent way.

func (*CopyFrom) WithChildren added in v0.12.0

func (cf *CopyFrom) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

func (*CopyFrom) WithResolvedChildren added in v0.12.0

func (cf *CopyFrom) WithResolvedChildren(children []any) (any, error)

WithResolvedChildren implements the interface vitess.Injectable.

type CreateDomain added in v0.14.0

type CreateDomain struct {
	SchemaName           string
	Name                 string
	AsType               *types.DoltgresType
	Collation            string
	HasDefault           bool
	DefaultExpr          sql.Expression
	IsNotNull            bool
	CheckConstraintNames []string
	CheckConstraints     sql.CheckConstraints
}

CreateDomain handles the CREATE DOMAIN statement.

func (*CreateDomain) Children added in v0.14.0

func (c *CreateDomain) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (*CreateDomain) IsReadOnly added in v0.14.0

func (c *CreateDomain) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (*CreateDomain) Resolved added in v0.14.0

func (c *CreateDomain) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (*CreateDomain) RowIter added in v0.14.0

func (c *CreateDomain) RowIter(ctx *sql.Context, r sql.Row) (sql.RowIter, error)

RowIter implements the interface sql.ExecSourceRel.

func (*CreateDomain) Schema added in v0.14.0

func (c *CreateDomain) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (*CreateDomain) String added in v0.14.0

func (c *CreateDomain) String() string

String implements the interface sql.ExecSourceRel.

func (*CreateDomain) WithChildren added in v0.14.0

func (c *CreateDomain) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

func (*CreateDomain) WithResolvedChildren added in v0.14.0

func (c *CreateDomain) WithResolvedChildren(children []any) (any, error)

WithResolvedChildren implements the interface vitess.Injectable.

type CreateRole added in v0.13.0

type CreateRole struct {
	Name                      string
	IfNotExists               bool
	Password                  string // PASSWORD 'password'
	IsPasswordNull            bool   // PASSWORD NULL
	IsSuperUser               bool   // SUPERUSER | NOSUPERUSER
	CanCreateDB               bool   // CREATEDB | NOCREATEDB
	CanCreateRoles            bool   // CREATEROLE | NOCREATEROLE
	InheritPrivileges         bool   // INHERIT | NOINHERIT
	CanLogin                  bool   // LOGIN | NOLOGIN
	IsReplicationRole         bool   // REPLICATION | NOREPLICATION
	CanBypassRowLevelSecurity bool   // BYPASSRLS | NOBYPASSRLS
	ConnectionLimit           int32  // CONNECTION LIMIT connlimit
	ValidUntil                string // VALID UNTIL 'timestamp'
	IsValidUntilSet           bool
	AddToRoles                []string // IN ROLE role_name [, ...]
	AddAsMembers              []string // ROLE role_name [, ...]
	AddAsAdminMembers         []string // ADMIN role_name [, ...]
}

CreateRole handles the CREATE ROLE and CREATE USER statements (CREATE USER is an alias).

func (*CreateRole) Children added in v0.13.0

func (c *CreateRole) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (*CreateRole) IsReadOnly added in v0.13.0

func (c *CreateRole) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (*CreateRole) Resolved added in v0.13.0

func (c *CreateRole) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (*CreateRole) RowIter added in v0.13.0

func (c *CreateRole) RowIter(ctx *sql.Context, r sql.Row) (sql.RowIter, error)

RowIter implements the interface sql.ExecSourceRel.

func (*CreateRole) Schema added in v0.13.0

func (c *CreateRole) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (*CreateRole) String added in v0.13.0

func (c *CreateRole) String() string

String implements the interface sql.ExecSourceRel.

func (*CreateRole) WithChildren added in v0.13.0

func (c *CreateRole) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

func (*CreateRole) WithResolvedChildren added in v0.13.0

func (c *CreateRole) WithResolvedChildren(children []any) (any, error)

WithResolvedChildren implements the interface vitess.Injectable.

type CreateSequence

type CreateSequence struct {
	// contains filtered or unexported fields
}

CreateSequence handles the CREATE SEQUENCE statement, along with SERIAL type definitions.

func NewCreateSequence

func NewCreateSequence(ifNotExists bool, schema string, sequence *sequences.Sequence) *CreateSequence

NewCreateSequence returns a new *CreateSequence.

func (*CreateSequence) Children

func (c *CreateSequence) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (*CreateSequence) IsReadOnly

func (c *CreateSequence) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (*CreateSequence) Resolved

func (c *CreateSequence) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (*CreateSequence) RowIter

func (c *CreateSequence) RowIter(ctx *sql.Context, r sql.Row) (sql.RowIter, error)

RowIter implements the interface sql.ExecSourceRel.

func (*CreateSequence) Schema

func (c *CreateSequence) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (*CreateSequence) String

func (c *CreateSequence) String() string

String implements the interface sql.ExecSourceRel.

func (*CreateSequence) WithChildren

func (c *CreateSequence) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

func (*CreateSequence) WithResolvedChildren

func (c *CreateSequence) WithResolvedChildren(children []any) (any, error)

WithResolvedChildren implements the interface vitess.Injectable.

type CreateTable

type CreateTable struct {
	// contains filtered or unexported fields
}

CreateTable is a node that implements functionality specifically relevant to Doltgres' table creation needs.

func NewCreateTable

func NewCreateTable(createTable *plan.CreateTable, sequences []*CreateSequence) *CreateTable

NewCreateTable returns a new *CreateTable.

func (*CreateTable) Children

func (c *CreateTable) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (*CreateTable) IsReadOnly

func (c *CreateTable) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (*CreateTable) Resolved

func (c *CreateTable) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (*CreateTable) RowIter

func (c *CreateTable) RowIter(ctx *sql.Context, r sql.Row) (sql.RowIter, error)

RowIter implements the interface sql.ExecSourceRel.

func (*CreateTable) Schema

func (c *CreateTable) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (*CreateTable) String

func (c *CreateTable) String() string

String implements the interface sql.ExecSourceRel.

func (*CreateTable) WithChildren

func (c *CreateTable) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

type CreateType added in v0.16.0

type CreateType struct {
	SchemaName string
	Name       string

	// composite type
	AsTypes []CompositeAsType

	// enum type
	Labels []string
	// contains filtered or unexported fields
}

CreateType handles the CREATE TYPE statement.

func NewCreateCompositeType added in v0.16.0

func NewCreateCompositeType(schema, name string, typs []CompositeAsType) *CreateType

NewCreateCompositeType creates CreateType node for creating COMPOSITE type.

func NewCreateEnumType added in v0.16.0

func NewCreateEnumType(schema, name string, labels []string) *CreateType

NewCreateEnumType creates CreateType node for creating ENUM type.

func NewCreateShellType added in v0.16.0

func NewCreateShellType(schema, name string) *CreateType

NewCreateShellType creates CreateType node for creating a placeholder for a type to be defined later.

func (*CreateType) Children added in v0.16.0

func (c *CreateType) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (*CreateType) IsReadOnly added in v0.16.0

func (c *CreateType) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (*CreateType) Resolved added in v0.16.0

func (c *CreateType) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (*CreateType) RowIter added in v0.16.0

func (c *CreateType) RowIter(ctx *sql.Context, r sql.Row) (sql.RowIter, error)

RowIter implements the interface sql.ExecSourceRel.

func (*CreateType) Schema added in v0.16.0

func (c *CreateType) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (*CreateType) String added in v0.16.0

func (c *CreateType) String() string

String implements the interface sql.ExecSourceRel.

func (*CreateType) WithChildren added in v0.16.0

func (c *CreateType) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

func (*CreateType) WithResolvedChildren added in v0.16.0

func (c *CreateType) WithResolvedChildren(children []any) (any, error)

WithResolvedChildren implements the interface vitess.Injectable.

type DiscardStatement added in v0.11.0

type DiscardStatement struct{}

DiscardStatement is just a marker type, since all functionality is handled by the connection handler, rather than the engine. It has to conform to the sql.ExecSourceRel interface to be used in the handler, but this functionality is all unused.

func (DiscardStatement) Children added in v0.11.0

func (d DiscardStatement) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (DiscardStatement) IsReadOnly added in v0.11.0

func (d DiscardStatement) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (DiscardStatement) Resolved added in v0.11.0

func (d DiscardStatement) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (DiscardStatement) RowIter added in v0.11.0

func (d DiscardStatement) RowIter(ctx *sql.Context, r sql.Row) (sql.RowIter, error)

RowIter implements the interface sql.ExecSourceRel.

func (DiscardStatement) Schema added in v0.11.0

func (d DiscardStatement) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (DiscardStatement) String added in v0.11.0

func (d DiscardStatement) String() string

String implements the interface sql.ExecSourceRel.

func (DiscardStatement) WithChildren added in v0.11.0

func (d DiscardStatement) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

func (DiscardStatement) WithResolvedChildren added in v0.11.0

func (d DiscardStatement) WithResolvedChildren(children []any) (any, error)

WithResolvedChildren implements the interface vitess.Injectable.

type DomainColumn added in v0.14.0

type DomainColumn struct {
	Typ *types.DoltgresType
}

DomainColumn represents the column name `VALUE. It is a placeholder column reference later used for column defined as the domain type.

func (*DomainColumn) Children added in v0.14.0

func (d *DomainColumn) Children() []sql.Expression

Children implements the interface sql.Expression.

func (*DomainColumn) Eval added in v0.14.0

func (d *DomainColumn) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)

Eval implements the interface sql.Expression.

func (*DomainColumn) IsNullable added in v0.14.0

func (d *DomainColumn) IsNullable() bool

IsNullable implements the interface sql.Expression.

func (*DomainColumn) Resolved added in v0.14.0

func (d *DomainColumn) Resolved() bool

Resolved implements the interface sql.Expression.

func (*DomainColumn) String added in v0.14.0

func (d *DomainColumn) String() string

String implements the interface sql.Expression.

func (*DomainColumn) Type added in v0.14.0

func (d *DomainColumn) Type() sql.Type

Type implements the interface sql.Expression.

func (*DomainColumn) WithChildren added in v0.14.0

func (d *DomainColumn) WithChildren(children ...sql.Expression) (sql.Expression, error)

WithChildren implements the interface sql.Expression.

func (*DomainColumn) WithResolvedChildren added in v0.14.0

func (d *DomainColumn) WithResolvedChildren(children []any) (any, error)

WithResolvedChildren implements the interface vitess.Injectable.

type DropDomain added in v0.14.0

type DropDomain struct {
	// contains filtered or unexported fields
}

DropDomain handles the DROP DOMAIN statement.

func NewDropDomain added in v0.14.0

func NewDropDomain(ifExists bool, db string, schema string, domain string, cascade bool) *DropDomain

NewDropDomain returns a new *DropDomain.

func (*DropDomain) Children added in v0.14.0

func (c *DropDomain) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (*DropDomain) IsReadOnly added in v0.14.0

func (c *DropDomain) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (*DropDomain) Resolved added in v0.14.0

func (c *DropDomain) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (*DropDomain) RowIter added in v0.14.0

func (c *DropDomain) RowIter(ctx *sql.Context, r sql.Row) (sql.RowIter, error)

RowIter implements the interface sql.ExecSourceRel.

func (*DropDomain) Schema added in v0.14.0

func (c *DropDomain) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (*DropDomain) String added in v0.14.0

func (c *DropDomain) String() string

String implements the interface sql.ExecSourceRel.

func (*DropDomain) WithChildren added in v0.14.0

func (c *DropDomain) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

func (*DropDomain) WithResolvedChildren added in v0.14.0

func (c *DropDomain) WithResolvedChildren(children []any) (any, error)

WithResolvedChildren implements the interface vitess.Injectable.

type DropRole added in v0.13.0

type DropRole struct {
	Names    []string
	IfExists bool
}

DropRole handles the DROP ROLE statement.

func (*DropRole) Children added in v0.13.0

func (c *DropRole) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (*DropRole) IsReadOnly added in v0.13.0

func (c *DropRole) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (*DropRole) Resolved added in v0.13.0

func (c *DropRole) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (*DropRole) RowIter added in v0.13.0

func (c *DropRole) RowIter(ctx *sql.Context, r sql.Row) (sql.RowIter, error)

RowIter implements the interface sql.ExecSourceRel.

func (*DropRole) Schema added in v0.13.0

func (c *DropRole) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (*DropRole) String added in v0.13.0

func (c *DropRole) String() string

String implements the interface sql.ExecSourceRel.

func (*DropRole) WithChildren added in v0.13.0

func (c *DropRole) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

func (*DropRole) WithResolvedChildren added in v0.13.0

func (c *DropRole) WithResolvedChildren(children []any) (any, error)

WithResolvedChildren implements the interface vitess.Injectable.

type DropSequence

type DropSequence struct {
	// contains filtered or unexported fields
}

DropSequence handles the DROP SEQUENCE statement.

func NewDropSequence

func NewDropSequence(ifExists bool, schema string, sequence string, cascade bool) *DropSequence

NewDropSequence returns a new *DropSequence.

func (*DropSequence) Children

func (c *DropSequence) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (*DropSequence) IsReadOnly

func (c *DropSequence) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (*DropSequence) Resolved

func (c *DropSequence) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (*DropSequence) RowIter

func (c *DropSequence) RowIter(ctx *sql.Context, r sql.Row) (sql.RowIter, error)

RowIter implements the interface sql.ExecSourceRel.

func (*DropSequence) Schema

func (c *DropSequence) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (*DropSequence) String

func (c *DropSequence) String() string

String implements the interface sql.ExecSourceRel.

func (*DropSequence) WithChildren

func (c *DropSequence) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

func (*DropSequence) WithResolvedChildren

func (c *DropSequence) WithResolvedChildren(children []any) (any, error)

WithResolvedChildren implements the interface vitess.Injectable.

type DropType added in v0.16.0

type DropType struct {
	// contains filtered or unexported fields
}

DropType handles the DROP TYPE statement.

func NewDropType added in v0.16.0

func NewDropType(ifExists bool, db, sch, typ string, cascade bool) *DropType

NewDropType returns a new *DropType.

func (*DropType) Children added in v0.16.0

func (c *DropType) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (*DropType) IsReadOnly added in v0.16.0

func (c *DropType) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (*DropType) Resolved added in v0.16.0

func (c *DropType) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (*DropType) RowIter added in v0.16.0

func (c *DropType) RowIter(ctx *sql.Context, r sql.Row) (sql.RowIter, error)

RowIter implements the interface sql.ExecSourceRel.

func (*DropType) Schema added in v0.16.0

func (c *DropType) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (*DropType) String added in v0.16.0

func (c *DropType) String() string

String implements the interface sql.ExecSourceRel.

func (*DropType) WithChildren added in v0.16.0

func (c *DropType) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

func (*DropType) WithResolvedChildren added in v0.16.0

func (c *DropType) WithResolvedChildren(children []any) (any, error)

WithResolvedChildren implements the interface vitess.Injectable.

type Grant added in v0.14.0

type Grant struct {
	GrantTable      *GrantTable
	GrantSchema     *GrantSchema
	GrantDatabase   *GrantDatabase
	GrantRole       *GrantRole
	ToRoles         []string
	WithGrantOption bool // This is "WITH ADMIN OPTION" for GrantRole only
	GrantedBy       string
}

Grant handles all of the GRANT statements.

func (*Grant) Children added in v0.14.0

func (g *Grant) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (*Grant) IsReadOnly added in v0.14.0

func (g *Grant) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (*Grant) Resolved added in v0.14.0

func (g *Grant) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (*Grant) RowIter added in v0.14.0

func (g *Grant) RowIter(ctx *sql.Context, r sql.Row) (sql.RowIter, error)

RowIter implements the interface sql.ExecSourceRel.

func (*Grant) Schema added in v0.14.0

func (g *Grant) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (*Grant) String added in v0.14.0

func (g *Grant) String() string

String implements the interface sql.ExecSourceRel.

func (*Grant) WithChildren added in v0.14.0

func (g *Grant) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

func (*Grant) WithResolvedChildren added in v0.14.0

func (g *Grant) WithResolvedChildren(children []any) (any, error)

WithResolvedChildren implements the interface vitess.Injectable.

type GrantDatabase added in v0.15.0

type GrantDatabase struct {
	Privileges []auth.Privilege
	Databases  []string
}

GrantDatabase specifically handles the GRANT ... ON DATABASE statement.

type GrantRole added in v0.15.0

type GrantRole struct {
	Groups []string
}

GrantRole specifically handles the GRANT <roles> TO <roles> statement.

type GrantSchema added in v0.15.0

type GrantSchema struct {
	Privileges []auth.Privilege
	Schemas    []string
}

GrantSchema specifically handles the GRANT ... ON SCHEMA statement.

type GrantTable added in v0.14.0

type GrantTable struct {
	Privileges []auth.Privilege
	Tables     []doltdb.TableName
}

GrantTable specifically handles the GRANT ... ON TABLE statement.

type Revoke added in v0.14.0

type Revoke struct {
	RevokeTable    *RevokeTable
	RevokeSchema   *RevokeSchema
	RevokeDatabase *RevokeDatabase
	RevokeRole     *RevokeRole
	FromRoles      []string
	GrantedBy      string
	GrantOptionFor bool // This is "ADMIN OPTION FOR" for RevokeRole only
	Cascade        bool // When false, represents RESTRICT
}

Revoke handles all of the REVOKE statements.

func (*Revoke) Children added in v0.14.0

func (r *Revoke) Children() []sql.Node

Children implements the interface sql.ExecSourceRel.

func (*Revoke) IsReadOnly added in v0.14.0

func (r *Revoke) IsReadOnly() bool

IsReadOnly implements the interface sql.ExecSourceRel.

func (*Revoke) Resolved added in v0.14.0

func (r *Revoke) Resolved() bool

Resolved implements the interface sql.ExecSourceRel.

func (*Revoke) RowIter added in v0.14.0

func (r *Revoke) RowIter(ctx *sql.Context, _ sql.Row) (sql.RowIter, error)

RowIter implements the interface sql.ExecSourceRel.

func (*Revoke) Schema added in v0.14.0

func (r *Revoke) Schema() sql.Schema

Schema implements the interface sql.ExecSourceRel.

func (*Revoke) String added in v0.14.0

func (r *Revoke) String() string

String implements the interface sql.ExecSourceRel.

func (*Revoke) WithChildren added in v0.14.0

func (r *Revoke) WithChildren(children ...sql.Node) (sql.Node, error)

WithChildren implements the interface sql.ExecSourceRel.

func (*Revoke) WithResolvedChildren added in v0.14.0

func (r *Revoke) WithResolvedChildren(children []any) (any, error)

WithResolvedChildren implements the interface vitess.Injectable.

type RevokeDatabase added in v0.15.0

type RevokeDatabase struct {
	Privileges []auth.Privilege
	Databases  []string
}

RevokeDatabase specifically handles the REVOKE ... ON DATABASE statement.

type RevokeRole added in v0.15.0

type RevokeRole struct {
	Groups []string
}

RevokeRole specifically handles the REVOKE <roles> FROM <roles> statement.

type RevokeSchema added in v0.15.0

type RevokeSchema struct {
	Privileges []auth.Privilege
	Schemas    []string
}

RevokeSchema specifically handles the REVOKE ... ON SCHEMA statement.

type RevokeTable added in v0.14.0

type RevokeTable struct {
	Privileges []auth.Privilege
	Tables     []doltdb.TableName
}

RevokeTable specifically handles the REVOKE ... ON TABLE statement.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL