[teiid-commits] teiid SVN: r1959 - in trunk/connectors/connector-jdbc/src: test/java/org/teiid/connector/jdbc/postgresql and 1 other directory.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Fri Mar 12 11:44:26 EST 2010
Author: shawkins
Date: 2010-03-12 11:44:26 -0500 (Fri, 12 Mar 2010)
New Revision: 1959
Modified:
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/postgresql/PostgreSQLTranslator.java
trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/postgresql/TestPostgreSQLTranslator.java
Log:
TEIID-1014 fix for npe in the postgres translator, it's not handling the count(*) case.
Modified: trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/postgresql/PostgreSQLTranslator.java
===================================================================
--- trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/postgresql/PostgreSQLTranslator.java 2010-03-11 16:06:31 UTC (rev 1958)
+++ trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/postgresql/PostgreSQLTranslator.java 2010-03-12 16:44:26 UTC (rev 1959)
@@ -195,7 +195,7 @@
public List<?> translate(LanguageObject obj, ExecutionContext context) {
if (obj instanceof AggregateFunction) {
AggregateFunction agg = (AggregateFunction)obj;
- if (TypeFacility.RUNTIME_TYPES.BOOLEAN.equals(agg.getExpression().getType())) {
+ if (agg.getExpression() != null && TypeFacility.RUNTIME_TYPES.BOOLEAN.equals(agg.getExpression().getType())) {
if (agg.getName().equalsIgnoreCase(SQLReservedWords.MIN)) {
agg.setName("bool_and"); //$NON-NLS-1$
} else if (agg.getName().equalsIgnoreCase(SQLReservedWords.MAX)) {
Modified: trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/postgresql/TestPostgreSQLTranslator.java
===================================================================
--- trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/postgresql/TestPostgreSQLTranslator.java 2010-03-11 16:06:31 UTC (rev 1958)
+++ trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/postgresql/TestPostgreSQLTranslator.java 2010-03-12 16:44:26 UTC (rev 1959)
@@ -517,5 +517,14 @@
input, output,
TRANSLATOR);
}
+
+ @Test public void testAggregate() throws Exception {
+ String input = "SELECT count(*), max(booleanvalue), max(intnum) FROM BQT1.SMALLA"; //$NON-NLS-1$
+ String output = "SELECT COUNT(*), bool_or(SmallA.BooleanValue), MAX(SmallA.IntNum) FROM SmallA"; //$NON-NLS-1$
+
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
+ input, output,
+ TRANSLATOR);
+ }
}
More information about the teiid-commits
mailing list