[teiid-commits] teiid SVN: r1308 - in trunk/connectors/connector-jdbc/src: test/java/org/teiid/connector/jdbc/sybase and 1 other directory.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Sat Sep 5 12:28:24 EDT 2009


Author: shawkins
Date: 2009-09-05 12:28:23 -0400 (Sat, 05 Sep 2009)
New Revision: 1308

Modified:
   trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/translator/SQLConversionVisitor.java
   trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/sybase/TestSybaseSQLConversionVisitor.java
Log:
TEIID-818 fixing the handling of null ordering in the sql conversion visitor

Modified: trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/translator/SQLConversionVisitor.java
===================================================================
--- trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/translator/SQLConversionVisitor.java	2009-09-04 14:36:59 UTC (rev 1307)
+++ trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/translator/SQLConversionVisitor.java	2009-09-05 16:28:23 UTC (rev 1308)
@@ -118,15 +118,15 @@
 	@Override
 	public void visit(IOrderByItem obj) {
 		super.visit(obj);
-		if (!this.translator.supportsExplicitNullOrdering()) {
+		NullOrder nullOrder = this.translator.getDefaultNullOrder();
+		if (!this.translator.supportsExplicitNullOrdering() || nullOrder == NullOrder.LOW) {
 			return;
 		}
-		NullOrder nullOrder = this.translator.getDefaultNullOrder();
 		if (obj.getDirection() == IOrderByItem.ASC) {
-			if (nullOrder != NullOrder.LOW && nullOrder != NullOrder.FIRST) {
+			if (nullOrder != NullOrder.FIRST) {
 				buffer.append(" NULLS FIRST"); //$NON-NLS-1$
 			}
-		} else if (nullOrder != NullOrder.HIGH && nullOrder != NullOrder.LAST) {
+		} else if (nullOrder == NullOrder.FIRST) {
 			buffer.append(" NULLS LAST"); //$NON-NLS-1$
 		}
 	}

Modified: trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/sybase/TestSybaseSQLConversionVisitor.java
===================================================================
--- trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/sybase/TestSybaseSQLConversionVisitor.java	2009-09-04 14:36:59 UTC (rev 1307)
+++ trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/sybase/TestSybaseSQLConversionVisitor.java	2009-09-05 16:28:23 UTC (rev 1308)
@@ -225,5 +225,15 @@
             input, 
             output);
     }
+    
+    @Test public void testOrderByDesc() throws Exception {
+    	String input = "select intnum + 1 x from bqt1.smalla order by x desc"; //$NON-NLS-1$
+        String output = "SELECT (SmallA.IntNum + 1) AS x FROM SmallA ORDER BY x DESC"; //$NON-NLS-1$
+               
+        helpTestVisitor(getBQTVDB(),
+            input, 
+            output);
+    }
 
+
 }



More information about the teiid-commits mailing list