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;
Show replies by date