mysqlshim

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2022 License: Apache-2.0 Imports: 19 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) 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 string) error

CreateView implements the interface sql.ViewDatabase.

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) 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) GetView

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

GetView implements the interface sql.ViewDatabase.

func (Database) Name

func (d Database) Name() string

Name implements the interface sql.Database.

func (Database) RenameTable

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

RenameTable implements the interface sql.TableRenamer.

func (Database) SaveStoredProcedure

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

SaveStoredProcedure implements the interface sql.StoredProcedureDatabase.

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(dbs ...sql.Database) 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) (*sqle.Engine, 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) 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) AnalyzeTable added in v0.14.0

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

CalculateStatistics implements the interface sql.StatisticsTable.

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, indexName string, using sql.IndexUsing, constraint sql.IndexConstraint, columns []sql.IndexColumn, comment string) error

CreateIndex implements the interface sql.IndexAlterableTable.

func (Table) CreateIndexForForeignKey

func (t Table) CreateIndexForForeignKey(ctx *sql.Context, indexName string, using sql.IndexUsing, constraint sql.IndexConstraint, columns []sql.IndexColumn) 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) GetForeignKeyUpdater

func (t Table) GetForeignKeyUpdater(ctx *sql.Context) sql.ForeignKeyUpdater

GetForeignKeyUpdater 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.Index) 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) 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) 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) Statistics added in v0.14.0

func (t Table) Statistics(ctx *sql.Context) (sql.TableStatistics, error)

GetStatistics implements the interface sql.StatisticsTable.

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