[teiid-commits] teiid SVN: r3568 - in trunk/engine/src: test/java/org/teiid/query/processor and 1 other directory.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Tue Oct 18 15:02:40 EDT 2011


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$



More information about the teiid-commits mailing list