You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by ka...@apache.org on 2008/09/14 17:57:45 UTC

svn commit: r695244 - /db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/TabInfoImpl.java

Author: kahatlen
Date: Sun Sep 14 08:57:45 2008
New Revision: 695244

URL: http://svn.apache.org/viewvc?rev=695244&view=rev
Log:
DERBY-3850: Remove unneeded workarounds for DERBY-177 and DERBY-3693

Removed the wait parameter from TabInfoImpl.updateRow(). The method
only had two callers, both of which called it with
wait=true. updateRow() passed the parameter on to openForUpdate() in
RowChanger, but that method is sometimes called with wait=false, so
the parameter couldn't be removed from that method.

Also removed an unused variable and some unused imports.

Modified:
    db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/TabInfoImpl.java

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/TabInfoImpl.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/TabInfoImpl.java?rev=695244&r1=695243&r2=695244&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/TabInfoImpl.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/TabInfoImpl.java Sun Sep 14 08:57:45 2008
@@ -22,18 +22,14 @@
 package org.apache.derby.impl.sql.catalog;
 
 import org.apache.derby.iapi.services.io.FormatableBitSet;
-import org.apache.derby.iapi.services.context.ContextService;
 import org.apache.derby.iapi.services.sanity.SanityManager;
 import org.apache.derby.iapi.services.io.StreamStorable;
 import org.apache.derby.iapi.error.StandardException;
-import org.apache.derby.iapi.sql.conn.LanguageConnectionContext;
 import org.apache.derby.iapi.sql.dictionary.CatalogRowFactory;
 import org.apache.derby.iapi.sql.dictionary.ConglomerateDescriptor;
 import org.apache.derby.iapi.sql.dictionary.IndexRowGenerator;
 import org.apache.derby.iapi.sql.execute.ExecIndexRow;
 import org.apache.derby.iapi.sql.execute.ExecRow;
-import org.apache.derby.iapi.sql.execute.ExecutionContext;
-import org.apache.derby.iapi.sql.execute.ExecutionFactory;
 import org.apache.derby.iapi.sql.execute.RowChanger;
 import org.apache.derby.iapi.sql.execute.TupleFilter;
 import org.apache.derby.iapi.sql.Activation;
@@ -46,11 +42,8 @@
 import org.apache.derby.iapi.store.access.TransactionController;
 
 import org.apache.derby.iapi.types.DataValueDescriptor;
-import org.apache.derby.iapi.types.DataValueFactory;
 
 import org.apache.derby.iapi.types.RowLocation;
-import org.apache.derby.catalog.UUID;
-import java.util.Enumeration;
 import java.util.Properties;
 
 /**
@@ -936,7 +929,7 @@
 	{
 		ExecRow[] newRows = new ExecRow[1];
 		newRows[0] = newRow;
-		updateRow(key, newRows, indexNumber, indicesToUpdate, colsToUpdate, tc, true);
+		updateRow(key, newRows, indexNumber, indicesToUpdate, colsToUpdate, tc);
 	}
 
 	/**
@@ -964,45 +957,10 @@
 						   TransactionController	tc )
 		throws StandardException
 	{
-		updateRow(key, newRows, indexNumber, indicesToUpdate, colsToUpdate, tc, true);
-	}
-
-	/**
-	 * Updates a set of base rows in a catalog with the same key on an index
-	 * and updates all the corresponding index rows. If parameter wait is true,
-	 * then the caller wants to wait for locks. When using a nested user xaction
-	 * we want to timeout right away if the parent holds the lock.
-	 *
-	 *	@param	key			key row
-	 *	@param	newRows		new version of the array of rows
-	 *	@param	indexNumber	index that key operates
-	 *	@param	indicesToUpdate	array of booleans, one for each index on the catalog.
-	 *							if a boolean is true, that means we must update the
-	 *							corresponding index because changes in the newRow
-	 *							affect it.
-	 *	@param  colsToUpdate	array of ints indicating which columns (1 based)
-	 *							to update.  If null, do all.
-	 *	@param	tc			transaction controller
-	 *	@param wait		If true, then the caller wants to wait for locks. When
-	 *							using a nested user xaction we want to timeout right away
-	 *							if the parent holds the lock. (bug 4821)
-	 *
-	 * @exception StandardException		Thrown on failure
-	 */
-	private void updateRow( ExecIndexRow				key,
-						   ExecRow[]				newRows,
-						   int						indexNumber,
-						   boolean[]				indicesToUpdate,
-						   int[]					colsToUpdate,
-						   TransactionController	tc,
-						   boolean wait)
-		throws StandardException
-	{
 		ConglomerateController		heapCC;
 		ScanController				drivingScan;
 		ExecIndexRow	 			drivingIndexRow;
 		RowLocation					baseRowLocation;
-		ExecIndexRow				templateRow;
 		ExecRow						baseRow = crf.makeEmptyRow();
 
 		if (SanityManager.DEBUG)
@@ -1014,22 +972,20 @@
 		RowChanger 					rc  = getRowChanger( tc, colsToUpdate,baseRow );
 
 		// Row level locking
-		rc.openForUpdate(indicesToUpdate, TransactionController.MODE_RECORD, wait); 
+		rc.openForUpdate(indicesToUpdate, TransactionController.MODE_RECORD, true);
 
 		/* Open the heap conglomerate */
 		heapCC = tc.openConglomerate(
                     getHeapConglomerate(),
                     false,
-                    (TransactionController.OPENMODE_FORUPDATE |
-                    ((wait) ? 0 : TransactionController.OPENMODE_LOCK_NOWAIT)),
+                    TransactionController.OPENMODE_FORUPDATE,
                     TransactionController.MODE_RECORD,
                     TransactionController.ISOLATION_REPEATABLE_READ);
 
 		drivingScan = tc.openScan(
 			getIndexConglomerate(indexNumber),  // conglomerate to open
 			false, // don't hold open across commit
-			(TransactionController.OPENMODE_FORUPDATE |
-            ((wait) ? 0 : TransactionController.OPENMODE_LOCK_NOWAIT)), 
+			TransactionController.OPENMODE_FORUPDATE,
             TransactionController.MODE_RECORD,
             TransactionController.ISOLATION_REPEATABLE_READ,
 			(FormatableBitSet) null,     // all fields as objects