Author: shawkins
Date: 2011-10-18 15:02:39 -0400 (Tue, 18 Oct 2011)
New Revision: 3568
Modified:
trunk/engine/src/main/java/org/teiid/query/tempdata/TempTable.java
trunk/engine/src/test/java/org/teiid/query/processor/TestTempTables.java
Log:
TEIID-1789 fixing serial type
Modified: trunk/engine/src/main/java/org/teiid/query/tempdata/TempTable.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/tempdata/TempTable.java 2011-10-18 18:59:58
UTC (rev 3567)
+++ trunk/engine/src/main/java/org/teiid/query/tempdata/TempTable.java 2011-10-18 19:02:39
UTC (rev 3568)
@@ -114,7 +114,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 {
@@ -560,6 +560,7 @@
public void remove() {
lock.writeLock().lock();
try {
+ tid.getTableData().removed();
tree.remove();
if (this.indexTables != null) {
for (TempTable indexTable : this.indexTables.values()) {
Modified: trunk/engine/src/test/java/org/teiid/query/processor/TestTempTables.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/TestTempTables.java 2011-10-18
18:59:58 UTC (rev 3567)
+++ trunk/engine/src/test/java/org/teiid/query/processor/TestTempTables.java 2011-10-18
19:02:39 UTC (rev 3568)
@@ -434,6 +434,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