use of org.apache.cayenne.access.jdbc.SQLStatement in project cayenne by apache.
the class VelocitySQLTemplateProcessor_ChainTest method testProcessTemplateWithFalseOrZero2.
@Test
public void testProcessTemplateWithFalseOrZero2() throws Exception {
String template = "#chain(' OR ' 'WHERE ')" + "#chunk($a)$a#end" + "#chunk($b)$b#end" + "#chunk($c)$c#end" + "#end";
Map<String, Object> map = new HashMap<>();
map.put("a", false);
map.put("b", 0);
SQLStatement compiled = processor.processTemplate(template, map);
assertEquals("WHERE false OR 0", compiled.getSql());
}
use of org.apache.cayenne.access.jdbc.SQLStatement in project cayenne by apache.
the class VelocitySQLTemplateProcessor_ChainTest method testProcessTemplatePartialChainEnd.
@Test
public void testProcessTemplatePartialChainEnd() throws Exception {
String template = "#chain(' OR ' 'WHERE ')" + "#chunk($a)$a#end" + "#chunk($b)$b#end" + "#chunk($c)$c#end" + "#end";
Map<String, Object> map = new HashMap<>();
map.put("a", "[A]");
map.put("b", "[B]");
SQLStatement compiled = processor.processTemplate(template, map);
assertEquals("WHERE [A] OR [B]", compiled.getSql());
}
use of org.apache.cayenne.access.jdbc.SQLStatement in project cayenne by apache.
the class VelocitySQLTemplateProcessor_SelectTest method testProcessSelectTemplate3.
@Test
public void testProcessSelectTemplate3() throws Exception {
String sqlTemplate = "SELECT #result('A' 'String' 'B') FROM ME";
SQLStatement compiled = processor.processTemplate(sqlTemplate, Collections.<String, Object>emptyMap());
assertEquals("SELECT A AS B FROM ME", compiled.getSql());
assertEquals(0, compiled.getBindings().length);
assertEquals(1, compiled.getResultColumns().length);
ColumnDescriptor column = compiled.getResultColumns()[0];
assertEquals("A", column.getName());
assertEquals("B", column.getDataRowKey());
assertEquals("java.lang.String", column.getJavaClass());
}
use of org.apache.cayenne.access.jdbc.SQLStatement in project cayenne by apache.
the class VelocitySQLTemplateProcessor_SelectTest method testProcessTemplateUnchanged.
@Test
public void testProcessTemplateUnchanged() throws Exception {
String sqlTemplate = "SELECT * FROM ME";
SQLStatement compiled = processor.processTemplate(sqlTemplate, Collections.<String, Object>emptyMap());
assertEquals(sqlTemplate, compiled.getSql());
assertEquals(0, compiled.getBindings().length);
assertEquals(0, compiled.getResultColumns().length);
}
use of org.apache.cayenne.access.jdbc.SQLStatement in project cayenne by apache.
the class VelocitySQLTemplateProcessor_SelectTest method testProcessSelectTemplate1.
@Test
public void testProcessSelectTemplate1() throws Exception {
String sqlTemplate = "SELECT #result('A') FROM ME";
SQLStatement compiled = processor.processTemplate(sqlTemplate, Collections.<String, Object>emptyMap());
assertEquals("SELECT A FROM ME", compiled.getSql());
assertEquals(0, compiled.getBindings().length);
assertEquals(1, compiled.getResultColumns().length);
assertEquals("A", compiled.getResultColumns()[0].getName());
assertNull(compiled.getResultColumns()[0].getJavaClass());
}
Aggregations