[teiid-commits] teiid SVN: r3443 - in trunk: 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:47:27 EDT 2011


Author: shawkins
Date: 2011-09-01 20:47:26 -0400 (Thu, 01 Sep 2011)
New Revision: 3443

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

Modified: trunk/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java
===================================================================
--- trunk/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java	2011-09-02 00:46:32 UTC (rev 3442)
+++ trunk/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java	2011-09-02 00:47:26 UTC (rev 3443)
@@ -927,6 +927,7 @@
     	buffer.append(WITH);
     	buffer.append(Tokens.SPACE);
     	append(obj.getItems());
+    	buffer.append(Tokens.SPACE);
     }
     
     @Override
@@ -940,6 +941,7 @@
     		buffer.append(Tokens.SPACE);
     	}
     	buffer.append(AS);
+    	buffer.append(Tokens.SPACE);
 		buffer.append(Tokens.LPAREN);
 		append(obj.getSubquery());
 		buffer.append(Tokens.RPAREN);

Modified: trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java
===================================================================
--- trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java	2011-09-02 00:46:32 UTC (rev 3442)
+++ trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java	2011-09-02 00:47:26 UTC (rev 3443)
@@ -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: trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/LanguageBridgeFactory.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/LanguageBridgeFactory.java	2011-09-02 00:46:32 UTC (rev 3442)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/LanguageBridgeFactory.java	2011-09-02 00:47:26 UTC (rev 3443)
@@ -230,6 +230,7 @@
 		        }
 			}
 			item.setSubquery(translate(withQueryCommand.getCommand()));
+			items.add(item);
 		}
     	result.setItems(items);
     	return result;



More information about the teiid-commits mailing list