Class MySqlDatabaseFactory
Represents a factory of SQL databases.
public sealed class MySqlDatabaseFactory : SqlDatabaseFactory<MySqlDatabase>, ISqlDatabaseFactory
- Inheritance
-
MySqlDatabaseFactory
- Implements
- Inherited Members
Remarks
MySqlDialect implementation.
Constructors
MySqlDatabaseFactory(MySqlDatabaseFactoryOptions?)
Creates a new MySqlDatabaseFactory instance.
public MySqlDatabaseFactory(MySqlDatabaseFactoryOptions? options = null)
Parameters
optionsMySqlDatabaseFactoryOptions?Optional MySqlDatabaseFactoryOptions. Equal to Default by default.
Properties
Options
MySqlDatabaseFactoryOptions instance associated with this factory that contains DB creation options.
public MySqlDatabaseFactoryOptions Options { get; }
Property Value
Methods
CreateCommitVersionsContext(SqlParameterBinderFactory, SqlCreateDatabaseOptions)
Creates a new SqlDatabaseCommitVersionsContext instance, used for managing application of versions to the database.
protected override SqlDatabaseCommitVersionsContext CreateCommitVersionsContext(SqlParameterBinderFactory parameterBinders, SqlCreateDatabaseOptions options)
Parameters
parameterBindersSqlParameterBinderFactoryParameter binder factory.
optionsSqlCreateDatabaseOptionsDB creation options.
Returns
CreateConnection(DbConnectionStringBuilder)
Creates a new unopened DbConnection instance.
[Pure]
protected override MySqlConnection CreateConnection(DbConnectionStringBuilder connectionString)
Parameters
connectionStringDbConnectionStringBuilderConnection string builder.
Returns
- MySqlConnection
New DbConnection instance.
CreateConnectionStringBuilder(string)
Creates a new DbConnectionStringBuilder instance.
[Pure]
protected override MySqlConnectionStringBuilder CreateConnectionStringBuilder(string connectionString)
Parameters
connectionStringstringConnection string.
Returns
- MySqlConnectionStringBuilder
New DbConnectionStringBuilder instance.
CreateDatabase(SqlDatabaseBuilder, DbConnectionStringBuilder, DbConnection, DbConnectionEventHandler, SqlQueryReaderExecutor<SqlDatabaseVersionRecord>, Version)
Creates a new SqlDatabase instance.
protected override MySqlDatabase CreateDatabase(SqlDatabaseBuilder builder, DbConnectionStringBuilder connectionString, DbConnection connection, DbConnectionEventHandler eventHandler, SqlQueryReaderExecutor<SqlDatabaseVersionRecord> versionHistoryRecordsQuery, Version version)
Parameters
builderSqlDatabaseBuilderSource database builder.
connectionStringDbConnectionStringBuilderConnection string builder.
connectionDbConnectionOpened connection to the database.
eventHandlerDbConnectionEventHandlerCollection of SqlDatabaseConnectionChangeEvent callbacks.
versionHistoryRecordsQuerySqlQueryReaderExecutor<SqlDatabaseVersionRecord>Query reader's executor capable of reading metadata of all versions applied to the database.
versionVersionCurrent version of the database.
Returns
- MySqlDatabase
New SqlDatabase instance.
CreateDatabaseBuilder(string, DbConnection)
Creates a new SqlDatabaseBuilder instance.
[Pure]
protected override MySqlDatabaseBuilder CreateDatabaseBuilder(string defaultSchemaName, DbConnection connection)
Parameters
defaultSchemaNamestringInitial name of the Default schema. Version history table will belong to this schema.
connectionDbConnectionOpened connection to the database.
Returns
- MySqlDatabaseBuilder
New SqlDatabaseBuilder instance.
GetChangeTrackerAttachmentForVersionHistoryTableInit(SqlDatabaseChangeTracker, SqlSchemaObjectName, SqlNodeInterpreter, DbConnection, ref SqlDatabaseFactoryStatementExecutor)
Checks whether or not the version history table should be attached as a change from which an SQL statement should be created and executed.
protected override bool GetChangeTrackerAttachmentForVersionHistoryTableInit(SqlDatabaseChangeTracker changeTracker, SqlSchemaObjectName versionHistoryTableName, SqlNodeInterpreter nodeInterpreter, DbConnection connection, ref SqlDatabaseFactoryStatementExecutor executor)
Parameters
changeTrackerSqlDatabaseChangeTrackerDatabase builder's change tracker.
versionHistoryTableNameSqlSchemaObjectNameName of the version history table.
nodeInterpreterSqlNodeInterpreterSqlNodeInterpreter instance.
connectionDbConnectionOpened connection to the database.
executorSqlDatabaseFactoryStatementExecutorDecorator for executing SQL statements on the database.
Returns
- bool
true when version history table should be created in the database, otherwise false.
Remarks
This method can also be used for registering other common database objects.
GetDefaultVersionHistoryName()
Creates a new SqlSchemaObjectName instance that represents default version history table name.
[Pure]
protected override SqlSchemaObjectName GetDefaultVersionHistoryName()
Returns
- SqlSchemaObjectName
New SqlSchemaObjectName instance.
GetVersionHistoryRecordsQueryDelegate(SqlQueryReaderFactory)
Creates a delegate capable of reading metadata of all versions applied to this database.
protected override Func<IDataReader, SqlQueryReaderOptions, SqlQueryResult<SqlDatabaseVersionRecord>> GetVersionHistoryRecordsQueryDelegate(SqlQueryReaderFactory queryReaders)
Parameters
queryReadersSqlQueryReaderFactoryQuery reader factory.
Returns
- Func<IDataReader, SqlQueryReaderOptions, SqlQueryResult<SqlDatabaseVersionRecord>>
Delegate capable of reading metadata of all versions applied to this database.
VersionHistoryTableBuilderInit(SqlTableBuilder)
Initializes the version history table builder.
protected override void VersionHistoryTableBuilderInit(SqlTableBuilder builder)
Parameters
builderSqlTableBuilderVersion history table builder.