[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