public TestInitializer(DatabaseKinds databaseKind, int purchaseOrderNo) { _databaseKind = databaseKind; using (_connection = CreateConnection()) { _connection.Open(); _transaction = _connection.BeginTransaction(); Init(purchaseOrderNo); _transaction.Commit(); _connection.Close(); } }
///------------------------------------------------------------------------ /// High level semantics /// // create a target instance public static bool Open(string name, DatabaseKinds dskind) { Logger.WriteLine(3, $">Sql Open {name} {dskind}"); ExprDict = new Dictionary <int, ExpressionEval>(); var sqleval = SqlEvaluator.Create(); switch (dskind) { case DatabaseKinds.Sqlite: var database = Sqlite.SqliteDatabase.Create(name, sqleval); Current = new SqlTarget { _sqlgen = new SqlGen() { Templater = new SqliteTemplater(), }, _database = database, FunctionCreator = database, }; break; case DatabaseKinds.Postgres: Current = new SqlTarget { _sqlgen = new SqlGen() { Templater = new PostgresTemplater(), }, _database = Postgres.PostgresDatabase.Create(name, sqleval), // FunctionCreator set later by gateway }; break; default: throw Logger.Fatal(dskind); } if (!Current._database.IsOpen) { throw Current.SqlError("database open failed"); } return(true); }