Author: shawkins
Date: 2011-10-18 13:24:41 -0400 (Tue, 18 Oct 2011)
New Revision: 3566
Modified:
branches/7.4.x/engine/src/main/java/org/teiid/query/tempdata/TempTable.java
branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestTempTables.java
Log:
TEIID-1789 fix for serial type
Modified: branches/7.4.x/engine/src/main/java/org/teiid/query/tempdata/TempTable.java
===================================================================
--- branches/7.4.x/engine/src/main/java/org/teiid/query/tempdata/TempTable.java 2011-10-18
16:56:57 UTC (rev 3565)
+++ branches/7.4.x/engine/src/main/java/org/teiid/query/tempdata/TempTable.java 2011-10-18
17:24:41 UTC (rev 3566)
@@ -96,7 +96,7 @@
}
for (int i = 0; i < indexes.length; i++) {
if (indexes[i] == -1) {
- AtomicInteger sequence = sequences.get(i);
+ AtomicInteger sequence = sequences.get(i + (addRowId?1:0));
if (sequence != null) {
newTuple.add(sequence.getAndIncrement());
} else {
Modified:
branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestTempTables.java
===================================================================
---
branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestTempTables.java 2011-10-18
16:56:57 UTC (rev 3565)
+++
branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestTempTables.java 2011-10-18
17:24:41 UTC (rev 3566)
@@ -294,6 +294,13 @@
execute("select * from x", new List[] {Arrays.asList(1, 1), Arrays.asList(2,
3)});
}
+ @Test public void testAutoIncrement1() throws Exception {
+ execute("create local temporary table x (e1 serial, e2 integer)", new List[]
{Arrays.asList(0)}); //$NON-NLS-1$
+ execute("insert into x (e2) values (1)", new List[] {Arrays.asList(1)});
//$NON-NLS-1$
+ execute("insert into x (e2) values (3)", new List[] {Arrays.asList(1)});
//$NON-NLS-1$
+ execute("select * from x", new List[] {Arrays.asList(1, 1), Arrays.asList(2,
3)});
+ }
+
@Test(expected=TeiidProcessingException.class) public void testNotNull() throws
Exception {
execute("create local temporary table x (e1 serial, e2 integer not null, primary
key (e1))", new List[] {Arrays.asList(0)}); //$NON-NLS-1$
execute("insert into x (e1, e2) values ((select null), 1)", new List[]
{Arrays.asList(1)}); //$NON-NLS-1$
Show replies by date