Author: shawkins
Date: 2010-02-16 12:04:40 -0500 (Tue, 16 Feb 2010)
New Revision: 1830
Modified:
trunk/connector-api/src/main/java/org/teiid/connector/visitor/util/SQLStringVisitor.java
trunk/test-integration/common/src/test/java/com/metamatrix/connector/jdbc/extension/TestSQLConversionVisitor.java
Log:
TEIID-939 refining fix for nesting set queries.
Modified:
trunk/connector-api/src/main/java/org/teiid/connector/visitor/util/SQLStringVisitor.java
===================================================================
---
trunk/connector-api/src/main/java/org/teiid/connector/visitor/util/SQLStringVisitor.java 2010-02-16
16:40:00 UTC (rev 1829)
+++
trunk/connector-api/src/main/java/org/teiid/connector/visitor/util/SQLStringVisitor.java 2010-02-16
17:04:40 UTC (rev 1830)
@@ -1015,6 +1015,9 @@
append(obj);
buffer.append(SQLReservedWords.RPAREN);
} else {
+ if (!parent.isAll() && obj instanceof ISetQuery) {
+ ((ISetQuery)obj).setAll(false);
+ }
append(obj);
}
}
Modified:
trunk/test-integration/common/src/test/java/com/metamatrix/connector/jdbc/extension/TestSQLConversionVisitor.java
===================================================================
---
trunk/test-integration/common/src/test/java/com/metamatrix/connector/jdbc/extension/TestSQLConversionVisitor.java 2010-02-16
16:40:00 UTC (rev 1829)
+++
trunk/test-integration/common/src/test/java/com/metamatrix/connector/jdbc/extension/TestSQLConversionVisitor.java 2010-02-16
17:04:40 UTC (rev 1830)
@@ -432,5 +432,14 @@
input,
output, TRANSLATOR);
}
+
+ @Test public void testNestedSetQuery3() throws Exception {
+ String input = "select part_id id FROM parts UNION (select part_name FROM parts
Union ALL select part_id FROM parts)"; //$NON-NLS-1$
+ String output = "SELECT rtrim(PARTS.PART_ID) AS id FROM PARTS UNION SELECT
PARTS.PART_NAME FROM PARTS UNION SELECT rtrim(PARTS.PART_ID) FROM PARTS";
//$NON-NLS-1$
+
+ TranslationHelper.helpTestVisitor(TranslationHelper.PARTS_VDB,
+ input,
+ output, TRANSLATOR);
+ }
}