use of liquibase.sql.Sql in project liquibase by liquibase.
the class DropIndexGeneratorTest method shouldDropIndexInPostgreSQL.
// @Test
// public void execute_defaultSchema() throws Exception {
// new DatabaseTestTemplate().testOnAvailableDatabases(
// new SqlStatementDatabaseTest(null, new DropIndexStatement(IDX_NAME, null, TABLE_NAME)) {
//
// protected void preExecuteAssert(DatabaseSnapshotGenerator snapshot) {
// assertNotNull(snapshot.getIndex(IDX_NAME));
// }
//
// protected void postExecuteAssert(DatabaseSnapshotGenerator snapshot) {
// assertNull(snapshot.getIndex(IDX_NAME));
// }
//
// });
// }
//
// //todo: issues with schemas on some databases
//// @Test
//// public void execute_altSchema() throws Exception {
//// new DatabaseTestTemplate().testOnAvailableDatabases(
//// new SqlStatementDatabaseTest(TestContext.ALT_SCHEMA, new DropIndexStatement(ALT_IDX_NAME, TestContext.ALT_SCHEMA, TABLE_NAME)) {
////
//// protected void preExecuteAssert(DatabaseSnapshotGenerator snapshot) {
//// //todo: how do we assert indexes within a schema snapshot?
////// assertNotNull(snapshot.getIndex(ALT_IDX_NAME));
//// }
////
//// protected void postExecuteAssert(DatabaseSnapshotGenerator snapshot) {
//// //todo: how do we assert indexes within a schema snapshot?
////// assertNull(snapshot.getIndex(ALT_IDX_NAME));
//// }
////
//// });
//// }
@Test
public void shouldDropIndexInPostgreSQL() throws Exception {
DropIndexGenerator dropIndexGenerator = new DropIndexGenerator();
DropIndexStatement statement = new DropIndexStatement("indexName", "defaultCatalog", "defaultSchema", "aTable", null);
Database database = new PostgresDatabase();
SortedSet<SqlGenerator> sqlGenerators = new TreeSet<SqlGenerator>();
SqlGeneratorChain sqlGenerationChain = new SqlGeneratorChain(sqlGenerators);
Sql[] sqls = dropIndexGenerator.generateSql(statement, database, sqlGenerationChain);
assertEquals("DROP INDEX \"defaultSchema\".\"indexName\"", sqls[0].toSql());
statement = new DropIndexStatement("index_name", "default_catalog", "default_schema", "a_table", null);
sqls = dropIndexGenerator.generateSql(statement, database, sqlGenerationChain);
assertEquals("DROP INDEX default_schema.index_name", sqls[0].toSql());
statement = new DropIndexStatement("index_name", null, null, "a_table", null);
sqls = dropIndexGenerator.generateSql(statement, database, sqlGenerationChain);
assertEquals("DROP INDEX index_name", sqls[0].toSql());
}
use of liquibase.sql.Sql in project liquibase by liquibase.
the class GetViewDefinitionGeneratorSybaseTest method testGenerateSqlForDefaultSchema.
@Test
public void testGenerateSqlForDefaultSchema() {
GetViewDefinitionGeneratorSybase generator = new GetViewDefinitionGeneratorSybase();
GetViewDefinitionStatement statement = new GetViewDefinitionStatement(null, null, "view_name");
Sql[] sql = generator.generateSql(statement, new SybaseDatabase(), null);
assertEquals(1, sql.length);
assertEquals("select text from syscomments where id = object_id('dbo.view_name') order by colid", sql[0].toSql());
}
use of liquibase.sql.Sql in project liquibase by liquibase.
the class GetViewDefinitionGeneratorSybaseTest method testGenerateSqlForNamedSchema.
@Test
public void testGenerateSqlForNamedSchema() {
GetViewDefinitionGeneratorSybase generator = new GetViewDefinitionGeneratorSybase();
GetViewDefinitionStatement statement = new GetViewDefinitionStatement(null, "owner", "view_name");
Sql[] sql = generator.generateSql(statement, new SybaseDatabase(), null);
assertEquals(1, sql.length);
assertEquals("select text from syscomments where id = object_id('OWNER.view_name') order by colid", sql[0].toSql());
}
use of liquibase.sql.Sql in project liquibase by liquibase.
the class InsertOrUpdateGeneratorOracleTest method testInsertSequenceValWithSchema.
@Test
public void testInsertSequenceValWithSchema() {
OracleDatabase database = new OracleDatabase();
InsertGenerator generator = new InsertGenerator();
InsertStatement statement = new InsertStatement("mycatalog", "myschema", "mytable");
ColumnConfig columnConfig = new ColumnConfig();
columnConfig.setValueSequenceNext(new SequenceNextValueFunction("myschema.my_seq"));
columnConfig.setName("col3");
statement.addColumn(columnConfig);
Sql[] sql = generator.generateSql(statement, database, null);
String theSql = sql[0].toSql();
assertEquals("INSERT INTO mycatalog.mytable (col3) VALUES (\"myschema\".\"my_seq\".nextval)", theSql);
}
use of liquibase.sql.Sql in project liquibase by liquibase.
the class InsertOrUpdateGeneratorOracleTest method testOnlyUpdateFlag.
@Test
public void testOnlyUpdateFlag() {
OracleDatabase database = new OracleDatabase();
InsertOrUpdateGeneratorOracle generator = new InsertOrUpdateGeneratorOracle();
InsertOrUpdateStatement statement = new InsertOrUpdateStatement("mycatalog", "myschema", "mytable", "pk_col1", true);
statement.addColumnValue("pk_col1", "value1");
statement.addColumnValue("col2", "value2");
Sql[] sql = generator.generateSql(statement, database, null);
String theSql = sql[0].toSql();
assertFalse("should not have had insert statement", theSql.contains("INSERT INTO mycatalog.mytable (pk_col1, col2) VALUES ('value1', 'value2');"));
assertTrue("missing update statement", theSql.contains("UPDATE mycatalog.mytable"));
String[] sqlLines = theSql.split("\n");
int lineToCheck = 0;
assertEquals("UPDATE mycatalog.mytable SET col2 = 'value2' WHERE pk_col1 = 'value1'", sqlLines[lineToCheck].trim());
lineToCheck++;
assertEquals("Wrong number of lines", 1, sqlLines.length);
}
Aggregations