[teiid-commits] teiid SVN: r1154 - in trunk: engine/src/main/java/org/teiid/dqp/internal/datamgr/language and 1 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Mon Jul 20 13:45:23 EDT 2009


Author: shawkins
Date: 2009-07-20 13:45:23 -0400 (Mon, 20 Jul 2009)
New Revision: 1154

Modified:
   trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/sybase/TestSybaseSQLConversionVisitor.java
   trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/language/LanguageBridgeFactory.java
   trunk/test-integration/src/test/java/org/teiid/connector/visitor/util/TestSQLStringVisitor.java
Log:
TEIID-514 update of language bridge factory to not set the name of unrelated order by items, so that the element itself will be used by the connector.

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-07-20 16:00:33 UTC (rev 1153)
+++ trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/sybase/TestSybaseSQLConversionVisitor.java	2009-07-20 17:45:23 UTC (rev 1154)
@@ -203,8 +203,8 @@
     @Test
     public void testDefect12120() {
         helpTestVisitor(getBQTVDB(),
-            "SELECT BQT1.SmallA.IntKey FROM BQT1.SmallA WHERE BQT1.SmallA.BooleanValue IN ({b'false'}, {b'true'}) ORDER BY IntKey", //$NON-NLS-1$
-            "SELECT SmallA.IntKey FROM SmallA WHERE SmallA.BooleanValue IN (0, 1) ORDER BY IntKey"); //$NON-NLS-1$
+            "SELECT BQT1.SmallA.IntKey FROM BQT1.SmallA WHERE BQT1.SmallA.BooleanValue IN ({b'false'}, {b'true'})", //$NON-NLS-1$
+            "SELECT SmallA.IntKey FROM SmallA WHERE SmallA.BooleanValue IN (0, 1)"); //$NON-NLS-1$
                 
     }
     

Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/language/LanguageBridgeFactory.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/language/LanguageBridgeFactory.java	2009-07-20 16:00:33 UTC (rev 1153)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/language/LanguageBridgeFactory.java	2009-07-20 17:45:23 UTC (rev 1154)
@@ -450,7 +450,11 @@
             OrderByItemImpl orderByItem = null;                                
             if(symbol instanceof ElementSymbol){
                 IElement innerElement = translate((ElementSymbol)symbol);
-                orderByItem = new OrderByItemImpl(symbol.getOutputName(), direction, innerElement);
+                if (symbol.getOutputName() != null && symbol.getOutputName().indexOf(ElementSymbol.SEPARATOR) != -1) {
+                	orderByItem = new OrderByItemImpl(null, direction, innerElement);
+                } else {
+                	orderByItem = new OrderByItemImpl(symbol.getOutputName(), direction, innerElement);
+                }
             } else {
                 orderByItem = new OrderByItemImpl(symbol.getOutputName(), direction, null);                
             }

Modified: trunk/test-integration/src/test/java/org/teiid/connector/visitor/util/TestSQLStringVisitor.java
===================================================================
--- trunk/test-integration/src/test/java/org/teiid/connector/visitor/util/TestSQLStringVisitor.java	2009-07-20 16:00:33 UTC (rev 1153)
+++ trunk/test-integration/src/test/java/org/teiid/connector/visitor/util/TestSQLStringVisitor.java	2009-07-20 17:45:23 UTC (rev 1154)
@@ -457,4 +457,26 @@
     	insert.setValueSource(command);
     	assertEquals("INSERT INTO g1 (e1, e2, e3, e4) SELECT g2.e1, g2.e2, g2.e3, g2.e4 FROM g2", insert.toString()); //$NON-NLS-1$
     }
+    
+    @Test public void testUnrelatedOrderBy() throws Exception {
+    	String sql = "select intkey from bqt1.smalla order by stringkey"; //$NON-NLS-1$ 
+    	
+    	ICommand command = FakeTranslationFactory.getInstance().getBQTTranslationUtility().parseCommand(sql, true, true);
+    	assertEquals("SELECT g_0.IntKey AS c_0 FROM SmallA AS g_0 ORDER BY g_0.StringKey", command.toString()); //$NON-NLS-1$
+    }
+    
+    @Test public void testOrderByDerivedColumn() throws Exception {
+    	String sql = "select intkey as x from bqt1.smalla order by intkey"; //$NON-NLS-1$ 
+    	
+    	ICommand command = FakeTranslationFactory.getInstance().getBQTTranslationUtility().parseCommand(sql, true, true);
+    	assertEquals("SELECT g_0.IntKey AS c_0 FROM SmallA AS g_0 ORDER BY c_0", command.toString()); //$NON-NLS-1$
+    }
+    
+    @Test public void testOrderByAlias() throws Exception {
+    	String sql = "select intkey as x from bqt1.smalla order by x"; //$NON-NLS-1$ 
+    	
+    	ICommand command = FakeTranslationFactory.getInstance().getBQTTranslationUtility().parseCommand(sql, true, true);
+    	assertEquals("SELECT g_0.IntKey AS c_0 FROM SmallA AS g_0 ORDER BY c_0", command.toString()); //$NON-NLS-1$
+    }
+
 }



More information about the teiid-commits mailing list