[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