mysqlshim

package
v0.18.1 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Database

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

Database represents a database for a local MySQL server.

func (Database) AllViews

func (d Database) AllViews(ctx *sql.Context) ([]sql.ViewDefinition, error)

AllViews implements the interface sql.ViewDatabase.

func (Database) CreateTable

func (d Database) CreateTable(ctx *sql.Context, name string, schema sql.PrimaryKeySchema, collation sql.CollationID, comment string) error

CreateTable implements the interface sql.TableCreator.

func (Database) CreateTrigger

func (d Database) CreateTrigger(ctx *sql.Context, definition sql.TriggerDefinition) error

CreateTrigger implements the interface sql.TriggerDatabase.

func (Database) CreateView

func (d Database) CreateView(ctx *sql.Context, name string, selectStatement, createViewStmt string) error

CreateView implements the interface sql.ViewDatabase.

func (Database) DropEvent added in v0.15.0

func (d Database) DropEvent(ctx *sql.Context, name string) error

DropEvent implements sql.EventDatabase

func (Database) DropStoredProcedure

func (d Database) DropStoredProcedure(ctx *sql.Context, name string) error

DropStoredProcedure implements the interface sql.StoredProcedureDatabase.

func (Database) DropTable

func (d Database) DropTable(ctx *sql.Context, name string) error

DropTable implements the interface sql.TableDropper.

func (Database) DropTrigger

func (d Database) DropTrigger(ctx *sql.Context, name string) error

DropTrigger implements the interface sql.TriggerDatabase.

func (Database) DropView

func (d Database) DropView(ctx *sql.Context, name string) error

DropView implements the interface sql.ViewDatabase.

func (Database) GetEvent added in v0.15.0

func (d Database) GetEvent(ctx *sql.Context, name string) (sql.EventDefinition, bool, error)

GetEvent implements sql.EventDatabase

func (Database) GetEvents added in v0.15.0

func (d Database) GetEvents(_ *sql.Context) ([]sql.EventDefinition, interface{}, error)

GetEvents implements sql.EventDatabase

func (Database) GetStoredProcedure added in v0.15.0

func (d Database) GetStoredProcedure(ctx *sql.Context, name string) (sql.StoredProcedureDetails, bool, error)

GetStoredProcedure implements the interface sql.StoredProcedureDatabase.

func (Database) GetStoredProcedures

func (d Database) GetStoredProcedures(ctx *sql.Context) ([]sql.StoredProcedureDetails, error)

GetStoredProcedures implements the interface sql.StoredProcedureDatabase.

func (Database) GetTableInsensitive

func (d Database) GetTableInsensitive(ctx *sql.Context, tblName string) (sql.Table, bool, error)

GetTableInsensitive implements the interface sql.Database.

func (Database) GetTableNames

func (d Database) GetTableNames(ctx *sql.Context) ([]string, error)

GetTableNames implements the interface sql.Database.

func (Database) GetTriggers

func (d Database) GetTriggers(ctx *sql.Context) ([]sql.TriggerDefinition, error)

GetTriggers implements the interface sql.TriggerDatabase.

func (Database) GetViewDefinition added in v0.15.0

func (d Database) GetViewDefinition(ctx *sql.Context, viewName string) (sql.ViewDefinition, bool, error)

GetViewDefinition implements the interface sql.ViewDatabase.

func (Database) Name

func (d Database) Name() string

Name implements the interface sql.Database.

func (Database) NeedsToReloadEvents added in v0.18.0

func (d Database) NeedsToReloadEvents(_ *sql.Context, _ interface{}) (bool, error)

NeedsToReloadEvents implements sql.EventDatabase

func (Database) RenameTable

func (d Database) RenameTable(ctx *sql.Context, oldName, newName string) error

RenameTable implements the interface sql.TableRenamer.

func (Database) SaveEvent added in v0.15.0

func (d Database) SaveEvent(ctx *sql.Context, event sql.EventDefinition) (bool, error)

SaveEvent implements sql.EventDatabase

func (Database) SaveStoredProcedure

func (d Database) SaveStoredProcedure(ctx *sql.Context, spd sql.StoredProcedureDetails) error

SaveStoredProcedure implements the interface sql.StoredProcedureDatabase.

func (Database) UpdateEvent added in v0.15.0

func (d Database) UpdateEvent(_ *sql.Context, originalName string, event sql.EventDefinition) (bool, error)

UpdateEvent implements sql.EventDatabase

func (Database) UpdateLastExecuted added in v0.18.0

func (d Database) UpdateLastExecuted(ctx *sql.Context, eventName string, lastExecuted time.Time) error

UpdateLastExecuted implements sql.EventDatabase

type MySQLDatabase

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

MySQLDatabase represents a database for a local MySQL server.

type MySQLHarness

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

MySQLHarness is a harness for a local MySQL server. This will modify databases and tables as the tests see fit, which may delete pre-existing data. Ensure that the MySQL instance may freely be modified without worry.

func NewMySQLHarness

func NewMySQLHarness(user string, password string, host string, port int) (*MySQLHarness, error)

NewMySQLHarness returns a new MySQLHarness.

func (*MySQLHarness) Cleanup

func (m *MySQLHarness) Cleanup() error

func (*MySQLHarness) Close

func (m *MySQLHarness) Close()

Close closes the connection. This will drop all databases created and accessed during the tests.

func (*MySQLHarness) NewContext

func (m *MySQLHarness) NewContext() *sql.Context

NewContext implements the interface Harness.

func (*MySQLHarness) NewContextWithClient

func (m *MySQLHarness) NewContextWithClient(client sql.Client) *sql.Context

func (*MySQLHarness) NewDatabase

func (m *MySQLHarness) NewDatabase(name string) sql.Database

NewDatabase implements the interface Harness.

func (*MySQLHarness) NewDatabaseProvider

func (m *MySQLHarness) NewDatabaseProvider() sql.MutableDatabaseProvider

NewDatabaseProvider implements the interface Harness.

func (*MySQLHarness) NewDatabases

func (m *MySQLHarness) NewDatabases(names ...string) []sql.Database

NewDatabases implements the interface Harness.

func (*MySQLHarness) NewEngine

func (m *MySQLHarness) NewEngine(t *testing.T) (enginetest.QueryEngine, error)

func (*MySQLHarness) NewTable

func (m *MySQLHarness) NewTable(db sql.Database, name string, schema sql.PrimaryKeySchema) (sql.Table, error)

NewTable implements the interface Harness.

func (*MySQLHarness) Parallelism

func (m *MySQLHarness) Parallelism() int

Parallelism implements the interface Harness.

func (*MySQLHarness) Provider added in v0.15.0

func (*MySQLHarness) QueriesToSkip

func (m *MySQLHarness) QueriesToSkip(queries ...string)

QueriesToSkip adds queries that should be skipped.

func (*MySQLHarness) Setup

func (m *MySQLHarness) Setup(setupData ...[]setup.SetupScript)

func (*MySQLHarness) SkipQueryTest

func (m *MySQLHarness) SkipQueryTest(query string) bool

SkipQueryTest implements the interface SkippingHarness.

func (*MySQLHarness) SupportsForeignKeys

func (m *MySQLHarness) SupportsForeignKeys() bool

SupportsForeignKeys implements the interface ForeignKeyHarness.

func (*MySQLHarness) SupportsKeylessTables

func (m *MySQLHarness) SupportsKeylessTables() bool

SupportsKeylessTables implements the interface KeylessTableHarness.

func (*MySQLHarness) SupportsNativeIndexCreation

func (m *MySQLHarness) SupportsNativeIndexCreation() bool

SupportsNativeIndexCreation implements the interface IndexHarness.

type MySQLShim

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

MySQLShim is a shim for a local MySQL server. Ensure that a MySQL instance is running prior to using this shim. Note: this may be destructive to pre-existing data, as databases and tables will be created and destroyed.

func NewMySQLShim

func NewMySQLShim(user string, password string, host string, port int) (*MySQLShim, error)

NewMySQLShim returns a new MySQLShim.

func (*MySQLShim) AllDatabases

func (m *MySQLShim) AllDatabases(*sql.Context) []sql.Database

AllDatabases implements the interface sql.MutableDatabaseProvider.

func (*MySQLShim) Close

func (m *MySQLShim) Close()

Close closes the shim. This will drop all databases created and accessed since this shim was created.

func (*MySQLShim) CreateDatabase

func (m *MySQLShim) CreateDatabase(ctx *sql.Context, name string) error

CreateDatabase implements the interface sql.MutableDatabaseProvider.

func (*MySQLShim) Database

func (m *MySQLShim) Database(ctx *sql.Context, name string) (sql.Database, error)

Database implements the interface sql.MutableDatabaseProvider.

func (*MySQLShim) DropDatabase

func (m *MySQLShim) DropDatabase(ctx *sql.Context, name string) error

DropDatabase implements the interface sql.MutableDatabaseProvider.

func (*MySQLShim) Exec

func (m *MySQLShim) Exec(db string, query string) error

Exec executes the query on the connection.

func (*MySQLShim) HasDatabase

func (m *MySQLShim) HasDatabase(ctx *sql.Context, name string) bool

HasDatabase implements the interface sql.MutableDatabaseProvider.

func (*MySQLShim) Query

func (m *MySQLShim) Query(db string, query string) (sql.RowIter, error)

Query queries the connection and return a row iterator.

func (*MySQLShim) QueryRows

func (m *MySQLShim) QueryRows(db string, query string) ([]sql.Row, error)

QueryRows queries the connection and returns the rows returned.

type MySQLTable

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

MySQLTable represents a table for a local MySQL server.

type Table

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

Table represents a table for a local MySQL server.

func (Table) AddColumn

func (t Table) AddColumn(ctx *sql.Context, column *sql.Column, order *sql.ColumnOrder) error

AddColumn implements the interface sql.AlterableTable.

func (Table) AddForeignKey

func (t Table) AddForeignKey(ctx *sql.Context, fk sql.ForeignKeyConstraint) error

AddForeignKey implements the interface sql.ForeignKeyTable.

func (Table) Close

func (t Table) Close(ctx *sql.Context) error

Close implements the interface sql.AutoIncrementSetter.

func (Table) Collation added in v0.14.0

func (t Table) Collation() sql.CollationID

Collation implements the interface sql.Table.

func (Table) CreateCheck

func (t Table) CreateCheck(ctx *sql.Context, check *sql.CheckDefinition) error

CreateCheck implements the interface sql.CheckAlterableTable.

func (Table) CreateIndex

func (t Table) CreateIndex(ctx *sql.Context, idx sql.IndexDef) error

CreateIndex implements the interface sql.IndexAlterableTable.

func (Table) CreateIndexForForeignKey

func (t Table) CreateIndexForForeignKey(ctx *sql.Context, idx sql.IndexDef) error

CreateIndexForForeignKey implements the interface sql.ForeignKeyTable.

func (Table) CreatePrimaryKey

func (t Table) CreatePrimaryKey(ctx *sql.Context, columns []sql.IndexColumn) error

CreatePrimaryKey implements the interface sql.PrimaryKeyAlterableTable.

func (Table) DataLength

func (t Table) DataLength(ctx *sql.Context) (uint64, error)

DataLength implements the interface sql.StatisticsTable.

func (Table) Deleter

func (t Table) Deleter(ctx *sql.Context) sql.RowDeleter

Deleter implements the interface sql.DeletableTable.

func (Table) DropCheck

func (t Table) DropCheck(ctx *sql.Context, chName string) error

DropCheck implements the interface sql.CheckAlterableTable.

func (Table) DropColumn

func (t Table) DropColumn(ctx *sql.Context, columnName string) error

DropColumn implements the interface sql.AlterableTable.

func (Table) DropForeignKey

func (t Table) DropForeignKey(ctx *sql.Context, fkName string) error

DropForeignKey implements the interface sql.ForeignKeyTable.

func (Table) DropIndex

func (t Table) DropIndex(ctx *sql.Context, indexName string) error

DropIndex implements the interface sql.IndexAlterableTable.

func (Table) DropPrimaryKey

func (t Table) DropPrimaryKey(ctx *sql.Context) error

DropPrimaryKey implements the interface sql.PrimaryKeyAlterableTable.

func (Table) GetChecks

func (t Table) GetChecks(ctx *sql.Context) ([]sql.CheckDefinition, error)

GetChecks implements the interface sql.CheckTable.

func (Table) GetDeclaredForeignKeys

func (t Table) GetDeclaredForeignKeys(ctx *sql.Context) ([]sql.ForeignKeyConstraint, error)

GetDeclaredForeignKeys implements the interface sql.ForeignKeyTable.

func (Table) GetForeignKeyEditor added in v0.15.0

func (t Table) GetForeignKeyEditor(ctx *sql.Context) sql.ForeignKeyEditor

GetForeignKeyEditor implements the interface sql.ForeignKeyTable.

func (Table) GetIndexes

func (t Table) GetIndexes(ctx *sql.Context) ([]sql.Index, error)

GetIndexes implements the interface sql.IndexedTable.

func (Table) GetReferencedForeignKeys

func (t Table) GetReferencedForeignKeys(ctx *sql.Context) ([]sql.ForeignKeyConstraint, error)

GetReferencedForeignKeys implements the interface sql.ForeignKeyTable.

func (Table) IndexedAccess added in v0.14.0

func (t Table) IndexedAccess(sql.IndexLookup) sql.IndexedTable

func (Table) IndexedPartitions added in v0.14.0

func (t Table) IndexedPartitions(ctx *sql.Context, _ sql.IndexLookup) (sql.PartitionIter, error)

func (Table) Inserter

func (t Table) Inserter(ctx *sql.Context) sql.RowInserter

Inserter implements the interface sql.InsertableTable.

func (Table) ModifyColumn

func (t Table) ModifyColumn(ctx *sql.Context, columnName string, column *sql.Column, order *sql.ColumnOrder) error

ModifyColumn implements the interface sql.AlterableTable.

func (Table) Name

func (t Table) Name() string

Name implements the interface sql.Table.

func (Table) PartitionRows

func (t Table) PartitionRows(ctx *sql.Context, partition sql.Partition) (sql.RowIter, error)

PartitionRows implements the interface sql.Table.

func (Table) Partitions

func (t Table) Partitions(ctx *sql.Context) (sql.PartitionIter, error)

Partitions implements the interface sql.Table.

func (Table) Pks

func (t Table) Pks() []sql.IndexColumn

Pks implements sql.PrimaryKeyAlterableTable

func (Table) PreciseMatch added in v0.18.0

func (t Table) PreciseMatch() bool

func (Table) PrimaryKeySchema

func (t Table) PrimaryKeySchema() sql.PrimaryKeySchema

PrimaryKeySchema implements sql.PrimaryKeyAlterableTable

func (Table) RenameIndex

func (t Table) RenameIndex(ctx *sql.Context, fromIndexName string, toIndexName string) error

RenameIndex implements the interface sql.IndexAlterableTable.

func (Table) Replacer

func (t Table) Replacer(ctx *sql.Context) sql.RowReplacer

Replacer implements the interface sql.ReplaceableTable.

func (Table) RowCount added in v0.15.0

func (t Table) RowCount(ctx *sql.Context) (uint64, bool, error)

Cardinality implements the interface sql.StatisticsTable.

func (Table) Schema

func (t Table) Schema() sql.Schema

Schema implements the interface sql.Table.

func (Table) SetForeignKeyResolved

func (t Table) SetForeignKeyResolved(ctx *sql.Context, fkName string) error

SetForeignKeyResolved implements the interface sql.ForeignKeyTable.

func (Table) String

func (t Table) String() string

String implements the interface sql.Table.

func (Table) Truncate

func (t Table) Truncate(ctx *sql.Context) (int, error)

Truncate implements the interface sql.TruncateableTable.

func (Table) UpdateForeignKey

func (t Table) UpdateForeignKey(ctx *sql.Context, fkName string, fkDef sql.ForeignKeyConstraint) error

UpdateForeignKey implements the interface sql.ForeignKeyTable.

func (Table) Updater

func (t Table) Updater(ctx *sql.Context) sql.RowUpdater

Updater implements the interface sql.UpdatableTable.

Jump to

Keyboard shortcuts

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