assertEquals("Schema[name=dbo]", strategy.getDefaultSchema().toString());
}
public void testQueryRewriterQuoteAliases() throws Exception {
JdbcDataContext strategy = new JdbcDataContext(_connection, TableType.DEFAULT_TABLE_TYPES, _databaseName);
IQueryRewriter queryRewriter = strategy.getQueryRewriter();
assertSame(SQLServerQueryRewriter.class, queryRewriter.getClass());
Schema schema = strategy.getSchemaByName("Sales");
Table customersTable = schema.getTableByName("CUSTOMER");
Query q = new Query().from(customersTable, "cus-tomers").select(
new SelectItem(customersTable.getColumnByName("AccountNumber")).setAlias("c|o|d|e"));
q.setMaxRows(5);
assertEquals("SELECT cus-tomers.\"AccountNumber\" AS c|o|d|e FROM Sales.\"Customer\" cus-tomers", q.toString());
String queryString = queryRewriter.rewriteQuery(q);
assertEquals(
"SELECT TOP 5 \"cus-tomers\".\"AccountNumber\" AS \"c|o|d|e\" FROM Sales.\"Customer\" \"cus-tomers\"",
queryString);
// We have to test that no additional quoting characters are added every
// time we run the rewriting
queryString = queryRewriter.rewriteQuery(q);
queryString = queryRewriter.rewriteQuery(q);
assertEquals(
"SELECT TOP 5 \"cus-tomers\".\"AccountNumber\" AS \"c|o|d|e\" FROM Sales.\"Customer\" \"cus-tomers\"",
queryString);
// Test that the original query is still the same (ie. it has been