Skip to content

Commit 98f1bb9

Browse files
committed
TEIID-2393 displaying insert columns as unqualified
1 parent 2d34179 commit 98f1bb9

File tree

7 files changed

+28
-26
lines changed

7 files changed

+28
-26
lines changed

engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java

+2
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,9 @@ public void visit( Insert obj ) {
289289
List<ElementSymbol> vars = obj.getVariables();
290290
if (vars != null) {
291291
append("("); //$NON-NLS-1$
292+
this.shortNameOnly = true;
292293
registerNodes(vars, 0);
294+
this.shortNameOnly = false;
293295
append(")"); //$NON-NLS-1$
294296
}
295297
}

engine/src/test/java/org/teiid/query/processor/TestInherintlyUpdatableViews.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ private Command helpTest(String userSql, String viewSql, String expectedSql, Pro
9292
@Test public void testInsertPassThrough() throws Exception {
9393
String userSql = "insert into vm1.gx (e1) values (1)"; //$NON-NLS-1$
9494
String viewSql = "select * from pm1.g1 where e3 < 5";
95-
String expectedSql = "INSERT INTO pm1.g1 (pm1.g1.e1) VALUES ('1')";
95+
String expectedSql = "INSERT INTO pm1.g1 (e1) VALUES ('1')";
9696
helpTest(userSql, viewSql, expectedSql, null);
9797
}
9898

@@ -111,7 +111,7 @@ private Command helpTest(String userSql, String viewSql, String expectedSql, Pro
111111
@Test public void testInsertPassThrough1() throws Exception {
112112
String userSql = "insert into vm1.gx (e1) values (1)"; //$NON-NLS-1$
113113
String viewSql = "select g2.* from pm1.g1 inner join pm1.g2 on g1.e1 = g2.e1";
114-
String expectedSql = "INSERT INTO pm1.g2 (pm1.g2.e1) VALUES ('1')";
114+
String expectedSql = "INSERT INTO pm1.g2 (e1) VALUES ('1')";
115115
helpTest(userSql, viewSql, expectedSql, null);
116116
}
117117

engine/src/test/java/org/teiid/query/processor/TestInsertProcessing.java

+18-18
Original file line numberDiff line numberDiff line change
@@ -109,17 +109,17 @@ public void helpSelectInto_Case5569Processor( boolean doBatching, boolean doBulk
109109
Arrays.asList(new Object[] { "2", new Integer(2), Boolean.TRUE, new Double(2) })}); //$NON-NLS-1$
110110

111111
if (doBulkInsert) {
112-
dataManager.addData("INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES (...)", //$NON-NLS-1$
112+
dataManager.addData("INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES (...)", //$NON-NLS-1$
113113
new List[] { Arrays.asList(new Object[] { new Integer(2)})});
114114
}
115115
else
116116
if (doBatching) {
117117
dataManager.addData("BatchedUpdate{I,I}", //$NON-NLS-1$
118118
new List[] { Arrays.asList(new Object[] { new Integer(2)})});
119119
} else {
120-
dataManager.addData("INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES ('1', 1, FALSE, 1.0)", //$NON-NLS-1$
120+
dataManager.addData("INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES ('1', 1, FALSE, 1.0)", //$NON-NLS-1$
121121
new List[] { Arrays.asList(new Object[] { new Integer(1)})});
122-
dataManager.addData("INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES ('2', 2, TRUE, 2.0)", //$NON-NLS-1$
122+
dataManager.addData("INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES ('2', 2, TRUE, 2.0)", //$NON-NLS-1$
123123
new List[] { Arrays.asList(new Object[] { new Integer(1)})});
124124
}
125125

@@ -140,8 +140,8 @@ public void helpSelectInto_Case5569Processor( boolean doBatching, boolean doBulk
140140
if ( !doBulkInsert && doBatching ) {
141141
BatchedUpdateCommand bu = (BatchedUpdateCommand)dataManager.getCommandHistory().get(1);
142142
assertEquals(2, bu.getUpdateCommands().size());
143-
assertEquals( "INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES ('1', 1, FALSE, 1.0)", bu.getUpdateCommands().get(0).toString() ); //$NON-NLS-1$
144-
assertEquals( "INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES ('2', 2, TRUE, 2.0)", bu.getUpdateCommands().get(1).toString() ); //$NON-NLS-1$
143+
assertEquals( "INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES ('1', 1, FALSE, 1.0)", bu.getUpdateCommands().get(0).toString() ); //$NON-NLS-1$
144+
assertEquals( "INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES ('2', 2, TRUE, 2.0)", bu.getUpdateCommands().get(1).toString() ); //$NON-NLS-1$
145145
}
146146
}
147147

@@ -165,7 +165,7 @@ public void helpSelectInto_Case5569Processor( boolean doBatching, boolean doBulk
165165
QueryMetadataInterface metadata = RealMetadataFactory.createTransformationMetadata(metadataStore, "foo");
166166

167167
HardcodedDataManager dataManager = new HardcodedDataManager();
168-
dataManager.addData("INSERT INTO pm1.g1 (pm1.g1.e1, pm1.g1.e2) VALUES (...)", //$NON-NLS-1$
168+
dataManager.addData("INSERT INTO pm1.g1 (e1, e2) VALUES (...)", //$NON-NLS-1$
169169
new List[] { Arrays.asList(new Object[] { new Integer(1) })});
170170

171171
String sql = "SELECT 1, convert(1, float) INTO pm1.g1"; //$NON-NLS-1$
@@ -199,7 +199,7 @@ public void helpSelectInto_Case5569Processor( boolean doBatching, boolean doBulk
199199
QueryMetadataInterface metadata = RealMetadataFactory.createTransformationMetadata(metadataStore, "foo");
200200

201201
HardcodedDataManager dataManager = new HardcodedDataManager();
202-
dataManager.addData("INSERT INTO pm1.g1 (pm1.g1.e1, pm1.g1.e2) VALUES (1, 1.0)", //$NON-NLS-1$
202+
dataManager.addData("INSERT INTO pm1.g1 (e1, e2) VALUES (1, 1.0)", //$NON-NLS-1$
203203
new List[] { Arrays.asList(new Object[] { new Integer(1) })});
204204

205205
String sql = "SELECT 1, convert(1, float) INTO pm1.g1"; //$NON-NLS-1$
@@ -259,22 +259,22 @@ public void helpInsertIntoWithSubquery( Capability cap ) {
259259
if (cap != null) {
260260
switch (cap) {
261261
case INSERT_WITH_ITERATOR:
262-
dataManager.addData("INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES (...)", //$NON-NLS-1$
262+
dataManager.addData("INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES (...)", //$NON-NLS-1$
263263
new List[] { Arrays.asList(new Object[] { new Integer(2)})});
264264
break;
265265
case BATCHED_UPDATES:
266266
dataManager.addData("BatchedUpdate{I,I}", //$NON-NLS-1$
267267
new List[] { Arrays.asList(new Object[] { new Integer(2)})});
268268
break;
269269
case INSERT_WITH_QUERYEXPRESSION:
270-
dataManager.addData("INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) SELECT pm1.g1.e1, pm1.g1.e2, pm1.g1.e3, pm1.g1.e4 FROM pm1.g1", //$NON-NLS-1$
270+
dataManager.addData("INSERT INTO pm1.g2 (e1, e2, e3, e4) SELECT pm1.g1.e1, pm1.g1.e2, pm1.g1.e3, pm1.g1.e4 FROM pm1.g1", //$NON-NLS-1$
271271
new List[] { Arrays.asList(new Object[] { new Integer(2)})});
272272
break;
273273
}
274274
} else {
275-
dataManager.addData("INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES ('1', 1, FALSE, 1.0)", //$NON-NLS-1$
275+
dataManager.addData("INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES ('1', 1, FALSE, 1.0)", //$NON-NLS-1$
276276
new List[] { Arrays.asList(new Object[] { new Integer(1)})});
277-
dataManager.addData("INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES ('2', 2, TRUE, 2.0)", //$NON-NLS-1$
277+
dataManager.addData("INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES ('2', 2, TRUE, 2.0)", //$NON-NLS-1$
278278
new List[] { Arrays.asList(new Object[] { new Integer(1)})});
279279
}
280280

@@ -295,8 +295,8 @@ public void helpInsertIntoWithSubquery( Capability cap ) {
295295
if ( cap == Capability.BATCHED_UPDATES ) {
296296
BatchedUpdateCommand bu = (BatchedUpdateCommand)dataManager.getCommandHistory().get(1);
297297
assertEquals(2, bu.getUpdateCommands().size());
298-
assertEquals( "INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES ('1', 1, FALSE, 1.0)", bu.getUpdateCommands().get(0).toString() ); //$NON-NLS-1$
299-
assertEquals( "INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES ('2', 2, TRUE, 2.0)", bu.getUpdateCommands().get(1).toString() ); //$NON-NLS-1$
298+
assertEquals( "INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES ('1', 1, FALSE, 1.0)", bu.getUpdateCommands().get(0).toString() ); //$NON-NLS-1$
299+
assertEquals( "INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES ('2', 2, TRUE, 2.0)", bu.getUpdateCommands().get(1).toString() ); //$NON-NLS-1$
300300
}
301301
}
302302

@@ -339,17 +339,17 @@ public void helpInsertIntoWithSubquery2( boolean doBatching, boolean doBulkInser
339339
Arrays.asList(new Object[] { "2", new Integer(2), Boolean.TRUE, new Double(2) })}); //$NON-NLS-1$
340340

341341
if (doBulkInsert) {
342-
dataManager.addData("INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES (...)", //$NON-NLS-1$
342+
dataManager.addData("INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES (...)", //$NON-NLS-1$
343343
new List[] { Arrays.asList(new Object[] { new Integer(4)})});
344344
}
345345
else
346346
if (doBatching) {
347347
dataManager.addData("BatchedUpdate{I,I}", //$NON-NLS-1$
348348
new List[] { Arrays.asList(new Object[] { new Integer(2)})});
349349
} else {
350-
dataManager.addData("INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES ('1', 1, FALSE, 1.0)", //$NON-NLS-1$
350+
dataManager.addData("INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES ('1', 1, FALSE, 1.0)", //$NON-NLS-1$
351351
new List[] { Arrays.asList(new Object[] { new Integer(1)})});
352-
dataManager.addData("INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES ('2', 2, TRUE, 2.0)", //$NON-NLS-1$
352+
dataManager.addData("INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES ('2', 2, TRUE, 2.0)", //$NON-NLS-1$
353353
new List[] { Arrays.asList(new Object[] { new Integer(1)})});
354354
}
355355

@@ -371,8 +371,8 @@ public void helpInsertIntoWithSubquery2( boolean doBatching, boolean doBulkInser
371371
if ( !doBulkInsert && doBatching ) {
372372
BatchedUpdateCommand bu = (BatchedUpdateCommand)dataManager.getCommandHistory().get(2);
373373
assertEquals(2, bu.getUpdateCommands().size());
374-
assertEquals( "INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES ('1', 1, FALSE, 1.0)", bu.getUpdateCommands().get(0).toString() ); //$NON-NLS-1$
375-
assertEquals( "INSERT INTO pm1.g2 (pm1.g2.e1, pm1.g2.e2, pm1.g2.e3, pm1.g2.e4) VALUES ('2', 2, TRUE, 2.0)", bu.getUpdateCommands().get(1).toString() ); //$NON-NLS-1$
374+
assertEquals( "INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES ('1', 1, FALSE, 1.0)", bu.getUpdateCommands().get(0).toString() ); //$NON-NLS-1$
375+
assertEquals( "INSERT INTO pm1.g2 (e1, e2, e3, e4) VALUES ('2', 2, TRUE, 2.0)", bu.getUpdateCommands().get(1).toString() ); //$NON-NLS-1$
376376
}
377377
}
378378

engine/src/test/java/org/teiid/query/processor/TestProcessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -3795,7 +3795,7 @@ static List getProcResultSetSymbols(List params){
37953795

37963796
// Construct data manager with data
37973797
HardcodedDataManager dataManager = new HardcodedDataManager();
3798-
dataManager.addData("INSERT INTO pm1.g1 (pm1.g1.e1, pm1.g1.e2) VALUES ('MyString', 1)", new List[] {Arrays.asList(1)});
3798+
dataManager.addData("INSERT INTO pm1.g1 (e1, e2) VALUES ('MyString', 1)", new List[] {Arrays.asList(1)});
37993799

38003800
// Plan query
38013801
ProcessorPlan plan = helpGetPlan(sql, RealMetadataFactory.example1Cached());

engine/src/test/java/org/teiid/query/processor/proc/TestProcedureProcessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,7 @@ private FakeDataManager exampleDataManagerPm5(QueryMetadataInterface metadata) t
625625

626626
// Set up data
627627
HardcodedDataManager dataMgr = new HardcodedDataManager();
628-
dataMgr.addData("INSERT INTO pm1.g1 (pm1.g1.e2) VALUES (5)", new List[] {Arrays.asList(1)});
628+
dataMgr.addData("INSERT INTO pm1.g1 (e2) VALUES (5)", new List[] {Arrays.asList(1)});
629629

630630
// Create expected results
631631
List[] expected = new List[] {

engine/src/test/java/org/teiid/query/resolver/TestResolver.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2559,7 +2559,7 @@ private void verifyProjectedTypes(Command c, Class[] types) {
25592559

25602560
Command cmd = helpResolve(proc.toString());
25612561

2562-
String sExpected = "CREATE VIRTUAL PROCEDURE\nBEGIN\nCREATE LOCAL TEMPORARY TABLE #matt (x integer);\nINSERT INTO #matt (#matt.x) VALUES (1);\nEND\n\tCREATE LOCAL TEMPORARY TABLE #matt (x integer)\n\tINSERT INTO #matt (#matt.x) VALUES (1)\n"; //$NON-NLS-1$
2562+
String sExpected = "CREATE VIRTUAL PROCEDURE\nBEGIN\nCREATE LOCAL TEMPORARY TABLE #matt (x integer);\nINSERT INTO #matt (x) VALUES (1);\nEND\n\tCREATE LOCAL TEMPORARY TABLE #matt (x integer)\n\tINSERT INTO #matt (x) VALUES (1)\n"; //$NON-NLS-1$
25632563
String sActual = cmd.printCommandTree();
25642564
assertEquals( sExpected, sActual );
25652565
}

engine/src/test/java/org/teiid/query/rewriter/TestQueryRewriter.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1233,7 +1233,7 @@ public static Command helpTestRewriteCommand(String original, String expected, Q
12331233

12341234
@Test public void testRewriteSelectInto() {
12351235
String sql = "select distinct pm1.g1.e1 into #temp from pm1.g1"; //$NON-NLS-1$
1236-
String expected = "INSERT INTO #temp (#temp.e1) SELECT DISTINCT pm1.g1.e1 FROM pm1.g1"; //$NON-NLS-1$
1236+
String expected = "INSERT INTO #temp (e1) SELECT DISTINCT pm1.g1.e1 FROM pm1.g1"; //$NON-NLS-1$
12371237

12381238
helpTestRewriteCommand(sql, expected);
12391239
}
@@ -1243,7 +1243,7 @@ public static Command helpTestRewriteCommand(String original, String expected, Q
12431243
*/
12441244
@Test public void testRewriteSelectInto1() {
12451245
String sql = "select distinct e2, e2, e3, e4 into pm1.g1 from pm1.g2"; //$NON-NLS-1$
1246-
String expected = "INSERT INTO pm1.g1 (pm1.g1.e1, pm1.g1.e2, pm1.g1.e3, pm1.g1.e4) SELECT convert(X.e2, string) AS e1, X.e2_0 AS e2, X.e3, X.e4 FROM (SELECT DISTINCT e2, e2 AS e2_0, e3, e4 FROM pm1.g2) AS X"; //$NON-NLS-1$
1246+
String expected = "INSERT INTO pm1.g1 (e1, e2, e3, e4) SELECT convert(X.e2, string) AS e1, X.e2_0 AS e2, X.e3, X.e4 FROM (SELECT DISTINCT e2, e2 AS e2_0, e3, e4 FROM pm1.g2) AS X"; //$NON-NLS-1$
12471247

12481248
helpTestRewriteCommand(sql, expected);
12491249
}
@@ -1300,7 +1300,7 @@ private void verifyProjectedTypesOnUnionBranches(String unionQuery, Class<?>[] t
13001300
procedure += "Select x from temp;\n"; //$NON-NLS-1$
13011301
procedure += "END\n"; //$NON-NLS-1$
13021302

1303-
helpTestRewriteCommand(procedure, "CREATE VIRTUAL PROCEDURE\nBEGIN\nCREATE LOCAL TEMPORARY TABLE temp (x string, y integer, z integer);\nINSERT INTO temp (temp.x, temp.y, temp.z) SELECT convert(X.e2, string) AS x, X.x AS y, X.x_0 AS z FROM (SELECT pm1.g1.e2, 1 AS x, 2 AS x_0 FROM pm1.g1 ORDER BY pm1.g1.e2 LIMIT 1) AS X;\nSELECT x FROM temp;\nEND"); //$NON-NLS-1$
1303+
helpTestRewriteCommand(procedure, "CREATE VIRTUAL PROCEDURE\nBEGIN\nCREATE LOCAL TEMPORARY TABLE temp (x string, y integer, z integer);\nINSERT INTO temp (x, y, z) SELECT convert(X.e2, string) AS x, X.x AS y, X.x_0 AS z FROM (SELECT pm1.g1.e2, 1 AS x, 2 AS x_0 FROM pm1.g1 ORDER BY pm1.g1.e2 LIMIT 1) AS X;\nSELECT x FROM temp;\nEND"); //$NON-NLS-1$
13041304
}
13051305

13061306
@Test public void testRewriteNot() {

0 commit comments

Comments
 (0)