[teiid-commits] teiid SVN: r3442 - in branches/7.4.x: connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver and 1 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Thu Sep 1 20:46:33 EDT 2011


Author: shawkins
Date: 2011-09-01 20:46:32 -0400 (Thu, 01 Sep 2011)
New Revision: 3442

Modified:
   branches/7.4.x/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java
   branches/7.4.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java
   branches/7.4.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/LanguageBridgeFactory.java
Log:
TEIID-1737 fix for with clause pushdown

Modified: branches/7.4.x/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java
===================================================================
--- branches/7.4.x/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java	2011-09-01 19:48:30 UTC (rev 3441)
+++ branches/7.4.x/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java	2011-09-02 00:46:32 UTC (rev 3442)
@@ -887,6 +887,7 @@
     	buffer.append(WITH);
     	buffer.append(Tokens.SPACE);
     	append(obj.getItems());
+    	buffer.append(Tokens.SPACE);
     }
     
     @Override
@@ -900,6 +901,7 @@
     		buffer.append(Tokens.SPACE);
     	}
     	buffer.append(AS);
+    	buffer.append(Tokens.SPACE);
 		buffer.append(Tokens.LPAREN);
 		append(obj.getSubquery());
 		buffer.append(Tokens.RPAREN);

Modified: branches/7.4.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java
===================================================================
--- branches/7.4.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java	2011-09-01 19:48:30 UTC (rev 3441)
+++ branches/7.4.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java	2011-09-02 00:46:32 UTC (rev 3442)
@@ -200,5 +200,14 @@
         Command obj = commandBuilder.getCommand(input, true, true);
         TranslationHelper.helpTestVisitor(output, trans, obj);
     }
+    
+    @Test public void testWith() throws Exception {
+        String input = "with x as (select intkey from bqt1.smalla) select intkey from x limit 100"; //$NON-NLS-1$
+        String output = "WITH x AS (SELECT SmallA.IntKey FROM SmallA) SELECT TOP 100 g_0.intkey AS c_0 FROM x g_0"; //$NON-NLS-1$
+               
+		CommandBuilder commandBuilder = new CommandBuilder(RealMetadataFactory.exampleBQTCached());
+        Command obj = commandBuilder.getCommand(input, true, true);
+        TranslationHelper.helpTestVisitor(output, trans, obj);
+    }
        
 }

Modified: branches/7.4.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/LanguageBridgeFactory.java
===================================================================
--- branches/7.4.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/LanguageBridgeFactory.java	2011-09-01 19:48:30 UTC (rev 3441)
+++ branches/7.4.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/LanguageBridgeFactory.java	2011-09-02 00:46:32 UTC (rev 3442)
@@ -235,6 +235,7 @@
 		        }
 			}
 			item.setSubquery(translate(withQueryCommand.getCommand()));
+			items.add(item);
 		}
     	result.setItems(items);
     	return result;



More information about the teiid-commits mailing list