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 rh...@apache.org on 2006/08/25 20:59:09 UTC

svn commit: r436905 - in /db/derby/code/branches/10.2/java: drda/org/apache/derby/impl/drda/ engine/org/apache/derby/iapi/sql/dictionary/ engine/org/apache/derby/impl/sql/catalog/ testing/org/apache/derbyTesting/functionTests/master/DerbyNet/ testing/o...

Author: rhillegas
Date: Fri Aug 25 11:59:07 2006
New Revision: 436905

URL: http://svn.apache.org/viewvc?rev=436905&view=rev
Log:
DERBY-1725: Merge from trunk to 10.2 branch: No JIRA (433790), DERBY-1674 (433688, 433685, 433655, 433632), DERBY-1558 (433607).

Added:
    db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/jdk15/blobclob4BLOB.out
      - copied unchanged from r433791, db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/jdk15/blobclob4BLOB.out
    db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/ver2.6/blobclob4BLOB.out
      - copied unchanged from r433791, db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/ver2.6/blobclob4BLOB.out
    db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/_Suite_app.properties
      - copied unchanged from r433791, db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/_Suite_app.properties
Removed:
    db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/IndexScan.java
Modified:
    db/derby/code/branches/10.2/java/drda/org/apache/derby/impl/drda/DDMReader.java
    db/derby/code/branches/10.2/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java
    db/derby/code/branches/10.2/java/engine/org/apache/derby/iapi/sql/dictionary/DataDictionary.java
    db/derby/code/branches/10.2/java/engine/org/apache/derby/iapi/sql/dictionary/TabInfo.java
    db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/DD_Version.java
    db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java
    db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/IndexInfoImpl.java
    db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/TabInfoImpl.java
    db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/blobclob4BLOB.out
    db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/parameterMapping.out
    db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/ConcurrencyTest.java
    db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/_Suite.java
    db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/junit/NetworkServerTestSetup.java

Modified: db/derby/code/branches/10.2/java/drda/org/apache/derby/impl/drda/DDMReader.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.2/java/drda/org/apache/derby/impl/drda/DDMReader.java?rev=436905&r1=436904&r2=436905&view=diff
==============================================================================
--- db/derby/code/branches/10.2/java/drda/org/apache/derby/impl/drda/DDMReader.java (original)
+++ db/derby/code/branches/10.2/java/drda/org/apache/derby/impl/drda/DDMReader.java Fri Aug 25 11:59:07 2006
@@ -950,19 +950,17 @@
   {
     boolean readHeader;
     int copySize;
-    MemorySavedByteArrayOutputStream baos;
+    ByteArrayOutputStream baos;
     boolean isLengthAndNullabilityUnknown = false;
 
 	
 	if (desiredLength != -1) {
         // allocate a stream based on a known amount of data
-        baos = new MemorySavedByteArrayOutputStream ((int) desiredLength - 
-													 ( checkNullability ? 1:0 )
-													 );
+        baos = new ByteArrayOutputStream ((int) desiredLength);
 	}
 	else {
         // allocate a stream to hold an unknown amount of data
-        baos = new MemorySavedByteArrayOutputStream ();
+        baos = new ByteArrayOutputStream ();
         //isLengthAndNullabilityUnknown = true;
 		// If we aren't given a  length get the whole thing.
 		desiredLength = MAX_EXTDTA_SIZE;
@@ -1786,41 +1784,6 @@
 
 		return DssConstants.DSSCHAIN;
 
-	}
-	
-
-	/**
-	 *
-	 * This class supress to allocate another memory when toByteArray() method was called.
-	 * In compensation for the saving memory, program using this class should not modify the return value of  toByteArray() method.
-	 *
-	 */
-	static class MemorySavedByteArrayOutputStream extends ByteArrayOutputStream {
-		
-		
-		MemorySavedByteArrayOutputStream(){
-			super();
-		}
-		
-		
-		MemorySavedByteArrayOutputStream(int size){
-			buf = new byte[size];
-			count = 0;
-		}
-		
-		
-		public byte[] toByteArray() {
-			
-			if(buf.length == count){
-				return buf;
-				
-			}else{
-				return super.toByteArray();
-
-			}
-		}
-		
-		
 	}
 
 }

Modified: db/derby/code/branches/10.2/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.2/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java?rev=436905&r1=436904&r2=436905&view=diff
==============================================================================
--- db/derby/code/branches/10.2/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java (original)
+++ db/derby/code/branches/10.2/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java Fri Aug 25 11:59:07 2006
@@ -4509,9 +4509,7 @@
 									  paramBytes.length);
 							}
 						}
-						ps.setBinaryStream(i+1, 
-										   new ByteArrayInputStream(paramBytes),
-										   paramBytes.length);
+						ps.setBytes(i+1, paramBytes);
 						break;
 					case DRDAConstants.DRDA_TYPE_LOBCSBCS:
 					case DRDAConstants.DRDA_TYPE_NLOBCSBCS:

Modified: db/derby/code/branches/10.2/java/engine/org/apache/derby/iapi/sql/dictionary/DataDictionary.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.2/java/engine/org/apache/derby/iapi/sql/dictionary/DataDictionary.java?rev=436905&r1=436904&r2=436905&view=diff
==============================================================================
--- db/derby/code/branches/10.2/java/engine/org/apache/derby/iapi/sql/dictionary/DataDictionary.java (original)
+++ db/derby/code/branches/10.2/java/engine/org/apache/derby/iapi/sql/dictionary/DataDictionary.java Fri Aug 25 11:59:07 2006
@@ -273,21 +273,6 @@
 	public boolean usesSqlAuthorization();
 
 	/**
- 	  *	Get the tabinfo of a system catalog. Paw through the tabinfo arrays looking for the tabinfo
- 	  *	corresponding to this table name.
- 	  *
- 	  * RESOLVE: This does not bother to fault in the TabInfo. It assumes it already
- 	  *          has been faulted in. This seems odd.
- 	  *
- 	  *	@param	tableName	name of table to get the TabInfo for.
- 	  *
- 	  *	@return	tabinfo corresponding to tablename
- 	  *
- 	  * @exception StandardException		Thrown on error
- 	  */
-	public	TabInfo	getTabInfo( String tableName ) throws StandardException;
-
-	/**
 	 * Get the descriptor for the named schema.
 	   Schema descriptors include authorization ids and schema ids.
 	 * SQL92 allows a schema to specify a default character set - we will
@@ -1361,16 +1346,6 @@
 	public void dropAliasDescriptor(AliasDescriptor ad, 
 									TransactionController tc)
 			throws StandardException;
-
-	/**
-	 * Get core catalog info.
-	 *
-	 * @param coreNum	The index into coreInfo[].
-	 *
-	 * @exception StandardException		Thrown on error
-	 */
-	public TabInfo getCoreCatalog(int coreNum)
-		throws StandardException;
 
 	public	int	getEngineType();
 

Modified: db/derby/code/branches/10.2/java/engine/org/apache/derby/iapi/sql/dictionary/TabInfo.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.2/java/engine/org/apache/derby/iapi/sql/dictionary/TabInfo.java?rev=436905&r1=436904&r2=436905&view=diff
==============================================================================
--- db/derby/code/branches/10.2/java/engine/org/apache/derby/iapi/sql/dictionary/TabInfo.java (original)
+++ db/derby/code/branches/10.2/java/engine/org/apache/derby/iapi/sql/dictionary/TabInfo.java Fri Aug 25 11:59:07 2006
@@ -102,14 +102,6 @@
 	 */
 	public String getIndexName(int indexID);
 
-	/**
-	 * Set the index name for the specified indexID
-	 *
-	 * @param indexID	Index number for index for table
-	 * @param indexName	The name for that index ID
-	 */
-	public void setIndexName(int indexID, String indexName);
-
 	/** 
 	 * Get the CatalogRowFactory for this TabInfo.
 	 *
@@ -169,19 +161,6 @@
 	 * @return int		The base column position for the column.
 	 */
 	public int getBaseColumnPosition(int indexNumber, int colNumber);
-
-	/**
-	 * Set the base column position for a column within a catalog
-	 * given the (0-based) index number for this catalog and the
-	 * (0-based) column number for the column within the index.
-	 *
-	 * @param indexNumber	The index number
-	 * @param colNumber		The column number within the index
-	 * @param baseColumnPosition	The base column position for the column.
-	 *
-	 */
-	public void setBaseColumnPosition(int indexNumber, int colNumber,
-									  int baseColumnPosition);
 
 	/**
 	 * Return whether or not this index is declared unique

Modified: db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/DD_Version.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/DD_Version.java?rev=436905&r1=436904&r2=436905&view=diff
==============================================================================
--- db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/DD_Version.java (original)
+++ db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/DD_Version.java Fri Aug 25 11:59:07 2006
@@ -30,7 +30,6 @@
 import org.apache.derby.iapi.sql.dictionary.DataDictionary;
 import org.apache.derby.iapi.sql.dictionary.SPSDescriptor;
 import org.apache.derby.iapi.sql.dictionary.SchemaDescriptor;
-import org.apache.derby.iapi.sql.dictionary.TabInfo;
 import org.apache.derby.iapi.sql.dictionary.TableDescriptor;
 import org.apache.derby.iapi.sql.dictionary.AliasDescriptor;
 import org.apache.derby.iapi.types.DataValueFactory;
@@ -483,7 +482,7 @@
 	 *	@exception StandardException  Standard Cloudscape error policy.
 	 */
 	protected void makeSystemCatalog(TransactionController tc,
-									 TabInfo ti)
+									 TabInfoImpl ti)
 		throws StandardException
 	{
 		SchemaDescriptor sd = bootingDictionary.getSystemSchemaDescriptor();
@@ -551,7 +550,7 @@
 	(
 		TransactionController	tc,
 		long					heapConglomerateNumber,
-		TabInfo					tabInfo,
+		TabInfoImpl					tabInfo,
 		int						indexNumber
     )
 		throws StandardException

Modified: db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java?rev=436905&r1=436904&r2=436905&view=diff
==============================================================================
--- db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java (original)
+++ db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java Fri Aug 25 11:59:07 2006
@@ -58,7 +58,6 @@
 import org.apache.derby.iapi.sql.dictionary.SubCheckConstraintDescriptor;
 import org.apache.derby.iapi.sql.dictionary.SubConstraintDescriptor;
 import org.apache.derby.iapi.sql.dictionary.SubKeyConstraintDescriptor;
-import org.apache.derby.iapi.sql.dictionary.TabInfo;
 import org.apache.derby.iapi.sql.dictionary.TableDescriptor;
 import org.apache.derby.iapi.sql.dictionary.TriggerDescriptor;
 import org.apache.derby.iapi.sql.dictionary.ViewDescriptor;
@@ -256,7 +255,7 @@
 	private static final int[] SYSFUN_PMODE = {JDBC30Translation.PARAMETER_MODE_IN};
 
 	// the structure that holds all the core table info
-	private TabInfo[] coreInfo;
+	private TabInfoImpl[] coreInfo;
 
 	/*
 	** SchemaDescriptors for system and app schemas.  Both
@@ -338,7 +337,7 @@
 	*/
 
 	// the structure that holds all the noncore info
-	private TabInfo[] noncoreInfo;
+	private TabInfoImpl[] noncoreInfo;
 
 	// no other system tables have id's in the configuration.
 
@@ -1495,7 +1494,7 @@
 		throws StandardException
 	{
 		DataValueDescriptor		UUIDStringOrderable;
-		TabInfo					ti = coreInfo[SYSSCHEMAS_CORE_NUM];
+		TabInfoImpl					ti = coreInfo[SYSSCHEMAS_CORE_NUM];
 
 		/* Use UUIDStringOrderable in both start and stop positions for scan */
 		UUIDStringOrderable = dvf.getCharDataValue(schemaId.toString());
@@ -1534,7 +1533,7 @@
 		throws StandardException
 	{
 		DataValueDescriptor		  schemaNameOrderable;
-		TabInfo					  ti = coreInfo[SYSSCHEMAS_CORE_NUM];
+		TabInfoImpl					  ti = coreInfo[SYSSCHEMAS_CORE_NUM];
 
 		/* Use aliasNameOrderable in both start 
 		 * and stop position for scan. 
@@ -1645,7 +1644,7 @@
 							  TransactionController tc, boolean wait)
 		throws StandardException
 	{
-		TabInfo ti =  (catalogNumber < NUM_CORE) ? coreInfo[catalogNumber] :
+		TabInfoImpl ti =  (catalogNumber < NUM_CORE) ? coreInfo[catalogNumber] :
 			getNonCoreTI(catalogNumber);
 
 		ExecRow row = ti.getCatalogRowFactory().makeRow(td, parent);
@@ -1654,7 +1653,7 @@
 
 		if (!duplicatesAllowed)
 		{
-			if (insertRetCode != TabInfo.ROWNOTDUPLICATE)
+			if (insertRetCode != TabInfoImpl.ROWNOTDUPLICATE)
 				throw duplicateDescriptorException(td, parent);
 		}	
 	}
@@ -1687,7 +1686,7 @@
 								   TransactionController tc)
 		throws StandardException
 	{
-		TabInfo ti =  (catalogNumber < NUM_CORE) ? coreInfo[catalogNumber] :
+		TabInfoImpl ti =  (catalogNumber < NUM_CORE) ? coreInfo[catalogNumber] :
 			getNonCoreTI(catalogNumber);
 		CatalogRowFactory crf = ti.getCatalogRowFactory();
 
@@ -1700,7 +1699,7 @@
 		}
 
 		int insertRetCode = ti.insertRowList( rl, tc );
-		if (!allowDuplicates && insertRetCode != TabInfo.ROWNOTDUPLICATE)
+		if (!allowDuplicates && insertRetCode != TabInfoImpl.ROWNOTDUPLICATE)
 		{
 			throw duplicateDescriptorException(td[insertRetCode], parent);
 		}
@@ -1720,7 +1719,7 @@
 	{
 		ExecIndexRow			keyRow1 = null;
 		DataValueDescriptor		schemaNameOrderable;
-		TabInfo					ti = coreInfo[SYSSCHEMAS_CORE_NUM];
+		TabInfoImpl					ti = coreInfo[SYSSCHEMAS_CORE_NUM];
 
 		if (SanityManager.DEBUG)
 		{
@@ -1832,7 +1831,7 @@
 		DataValueDescriptor		  schemaIDOrderable;
 		DataValueDescriptor		  tableNameOrderable;
 		TableDescriptor			  td;
-		TabInfo					  ti = coreInfo[SYSTABLES_CORE_NUM];
+		TabInfoImpl					  ti = coreInfo[SYSTABLES_CORE_NUM];
 
 		/* Use tableNameOrderable and schemaIdOrderable in both start 
 		 * and stop position for scan. 
@@ -1945,7 +1944,7 @@
 	{
 		DataValueDescriptor		  tableIDOrderable;
 		TableDescriptor			  td;
-		TabInfo					  ti = coreInfo[SYSTABLES_CORE_NUM];
+		TabInfoImpl					  ti = coreInfo[SYSTABLES_CORE_NUM];
 
 		/* Use tableNameOrderable and schemaIdOrderable in both start 
 		 * and stop position for scan. 
@@ -2067,7 +2066,7 @@
 	 * @exception StandardException on error
 	 */
 	protected boolean isSchemaReferenced(TransactionController	tc, 
-						TabInfo					ti, 
+						TabInfoImpl					ti, 
 						int						indexId, 
 						int						indexCol, 
 						DataValueDescriptor		schemaIdOrderable )
@@ -2159,7 +2158,7 @@
 		ExecIndexRow			keyRow1 = null;
 		DataValueDescriptor		schemaIDOrderable;
 		DataValueDescriptor		tableNameOrderable;
-		TabInfo					ti = coreInfo[SYSTABLES_CORE_NUM];
+		TabInfoImpl					ti = coreInfo[SYSTABLES_CORE_NUM];
 
 		/* Use tableIdOrderable and schemaIdOrderable in both start 
 		 * and stop position for index 1 scan. 
@@ -2194,7 +2193,7 @@
 		ExecRow    				row;
 		DataValueDescriptor		schemaIDOrderable;
 		DataValueDescriptor		tableNameOrderable;
-		TabInfo					ti = coreInfo[SYSTABLES_CORE_NUM];
+		TabInfoImpl					ti = coreInfo[SYSTABLES_CORE_NUM];
 		SYSTABLESRowFactory  rf = (SYSTABLESRowFactory) ti.getCatalogRowFactory();
 
 		/* Use tableIdOrderable and schemaIdOrderable in both start 
@@ -2254,7 +2253,7 @@
 				throws StandardException
 	{
 		DataValueDescriptor	UUIDStringOrderable;
-		TabInfo				ti = coreInfo[SYSCOLUMNS_CORE_NUM];
+		TabInfoImpl				ti = coreInfo[SYSCOLUMNS_CORE_NUM];
 
 		/* Use UUIDStringOrderable in both start and stop positions for scan */
 		UUIDStringOrderable = dvf.getCharDataValue(uuid.toString());
@@ -2315,7 +2314,7 @@
 		ColumnDescriptor		cd;
 		ColumnDescriptorList    cdlCopy         = new ColumnDescriptorList();
 		DataValueDescriptor		refIDOrderable  = null;
-		TabInfo                 ti              = coreInfo[SYSCOLUMNS_CORE_NUM];
+		TabInfoImpl                 ti              = coreInfo[SYSCOLUMNS_CORE_NUM];
 
 		/* Use refIDOrderable in both start and stop position for scan. */
 		refIDOrderable = getValueAsDVD(uuid);
@@ -2461,7 +2460,7 @@
 	public void	dropAllRoutinePermDescriptors(UUID routineID, TransactionController tc)
 		throws StandardException
 	{
-		TabInfo	ti = getNonCoreTI(SYSROUTINEPERMS_CATALOG_NUM);
+		TabInfoImpl	ti = getNonCoreTI(SYSROUTINEPERMS_CATALOG_NUM);
 		SYSROUTINEPERMSRowFactory rf = (SYSROUTINEPERMSRowFactory) ti.getCatalogRowFactory();
 		DataValueDescriptor	routineIdOrderable;
 		ExecRow curRow;
@@ -2505,7 +2504,7 @@
 					ExecIndexRow keyRow)
 			throws StandardException
 	{
-		TabInfo				   ti = coreInfo[SYSCOLUMNS_CORE_NUM];
+		TabInfoImpl				   ti = coreInfo[SYSCOLUMNS_CORE_NUM];
 
 		ti.deleteRow( tc, keyRow, SYSCOLUMNSRowFactory.SYSCOLUMNS_INDEX1_ID );
 	}
@@ -2527,7 +2526,7 @@
 		ExecRow curRow;
 		PermissionsDescriptor perm;
 		ExecIndexRow newKey;
-		TabInfo	ti = getNonCoreTI(SYSTABLEPERMS_CATALOG_NUM);
+		TabInfoImpl	ti = getNonCoreTI(SYSTABLEPERMS_CATALOG_NUM);
 		SYSTABLEPERMSRowFactory rf = (SYSTABLEPERMSRowFactory) ti.getCatalogRowFactory();
 
 		while ((curRow=ti.getRow(tc, keyRow, rf.TABLEID_INDEX_NUM)) != null)
@@ -2559,7 +2558,7 @@
 		ExecRow curRow;
 		PermissionsDescriptor perm;
 		ExecIndexRow newKey;
-		TabInfo	ti = getNonCoreTI(SYSCOLPERMS_CATALOG_NUM);
+		TabInfoImpl	ti = getNonCoreTI(SYSCOLPERMS_CATALOG_NUM);
 		SYSCOLPERMSRowFactory rf = (SYSCOLPERMSRowFactory) ti.getCatalogRowFactory();
 
 		while ((curRow=ti.getRow(tc, keyRow, rf.TABLEID_INDEX_NUM)) != null)
@@ -2606,7 +2605,7 @@
 		ExecRow    					row;
 		DataValueDescriptor			refIDOrderable;
 		DataValueDescriptor			columnNameOrderable;
-		TabInfo						ti = coreInfo[SYSCOLUMNS_CORE_NUM];
+		TabInfoImpl						ti = coreInfo[SYSCOLUMNS_CORE_NUM];
 		SYSCOLUMNSRowFactory  rf = (SYSCOLUMNSRowFactory) ti.getCatalogRowFactory();
 
 		/* Use objectID/columnName in both start 
@@ -2735,7 +2734,7 @@
 	{
 		ViewDescriptor		  vd;
 		DataValueDescriptor	  viewIdOrderable;
-		TabInfo				  ti = getNonCoreTI(SYSVIEWS_CATALOG_NUM);
+		TabInfoImpl				  ti = getNonCoreTI(SYSVIEWS_CATALOG_NUM);
 		UUID				  viewID = tdi.getUUID();
 
 		/* Use viewIdOrderable in both start 
@@ -2777,7 +2776,7 @@
 		throws StandardException
 	{
 		DataValueDescriptor		viewIdOrderable;
-		TabInfo					ti = getNonCoreTI(SYSVIEWS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSVIEWS_CATALOG_NUM);
 
 		/* Use aliasNameOrderable in both start 
 		 * and stop position for scan. 
@@ -2802,7 +2801,7 @@
 				throws StandardException
 	{
 		DataValueDescriptor		  idOrderable;
-		TabInfo					  ti = getNonCoreTI(SYSFILES_CATALOG_NUM);
+		TabInfoImpl					  ti = getNonCoreTI(SYSFILES_CATALOG_NUM);
 		idOrderable = dvf.getCharDataValue(id.toString());
 
 		/* Set up the start/stop position for the scan */
@@ -2843,7 +2842,7 @@
 	{
 		DataValueDescriptor		  schemaIDOrderable;
 		DataValueDescriptor		  nameOrderable;
-		TabInfo					  ti = getNonCoreTI(SYSFILES_CATALOG_NUM);
+		TabInfoImpl					  ti = getNonCoreTI(SYSFILES_CATALOG_NUM);
 
 		nameOrderable = dvf.getVarcharDataValue(name);
 		schemaIDOrderable = dvf.getCharDataValue(schemaId.toString());
@@ -2884,7 +2883,7 @@
 		ConglomerateController	heapCC;
 		ExecIndexRow			keyRow1 = null;
 		DataValueDescriptor		idOrderable;
-		TabInfo					ti = getNonCoreTI(SYSFILES_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSFILES_CATALOG_NUM);
 		TransactionController   tc = getTransactionExecute();
 		
 		/* Use tableIdOrderable and schemaIdOrderable in both start 
@@ -3024,7 +3023,7 @@
 				throws StandardException
 	{
 		DataValueDescriptor		  stmtIDOrderable;
-		TabInfo					  ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
+		TabInfoImpl					  ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
 
 		/* Use stmtIdOrderable in both start 
 		 * and stop position for scan. 
@@ -3116,7 +3115,7 @@
 	{
 		DataValueDescriptor		  schemaIDOrderable;
 		DataValueDescriptor		  stmtNameOrderable;
-		TabInfo					  ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
+		TabInfoImpl					  ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
 
 		/* Use stmtNameOrderable and schemaIdOrderable in both start 
 		 * and stop position for scan. 
@@ -3175,7 +3174,7 @@
 	) throws StandardException
 	{
 		ExecRow        			row;
-		TabInfo					ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
 		SYSSTATEMENTSRowFactory	rf = (SYSSTATEMENTSRowFactory) ti.getCatalogRowFactory();
 		int						insertRetCode;
 
@@ -3197,7 +3196,7 @@
 		}
 
 		// Throw an exception duplicate table descriptor
-		if (insertRetCode != TabInfo.ROWNOTDUPLICATE)
+		if (insertRetCode != TabInfoImpl.ROWNOTDUPLICATE)
 		{
 			throw StandardException.newException(SQLState.LANG_OBJECT_ALREADY_EXISTS_IN_OBJECT, 
 												 descriptor.getDescriptorType(),
@@ -3312,7 +3311,7 @@
 		ExecRow    					row;
 		DataValueDescriptor			idOrderable;
 		DataValueDescriptor			columnNameOrderable;
-		TabInfo						ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
+		TabInfoImpl						ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
 		SYSSTATEMENTSRowFactory  rf = (SYSSTATEMENTSRowFactory) ti.getCatalogRowFactory();
 		int[] updCols;
 		if (recompile)
@@ -3463,7 +3462,7 @@
 	 */
 	void clearSPSPlans() throws StandardException
 	{
-		TabInfo ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
+		TabInfoImpl ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
 		faultInTabInfo(ti);
 
 		TransactionController tc = getTransactionExecute();
@@ -3537,7 +3536,7 @@
 	) throws StandardException
 	{
 		DataValueDescriptor		stmtIdOrderable;
-		TabInfo					ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
 
 		stmtIdOrderable = getValueAsDVD(uuid);
 
@@ -3562,7 +3561,7 @@
 	public List getAllSPSDescriptors()
 		throws StandardException
 	{
-		TabInfo					ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
 
 		List list = newSList();
 
@@ -3590,7 +3589,7 @@
 	private ConstraintDescriptorList getAllConstraintDescriptors()
 		throws StandardException
 	{
-		TabInfo					ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
 
 		ConstraintDescriptorList list = new ConstraintDescriptorList();
 
@@ -3616,7 +3615,7 @@
 	private GenericDescriptorList getAllTriggerDescriptors()
 		throws StandardException
 	{
-		TabInfo					ti = getNonCoreTI(SYSTRIGGERS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSTRIGGERS_CATALOG_NUM);
 
 		GenericDescriptorList list = new GenericDescriptorList();
 
@@ -3640,7 +3639,7 @@
 	public TriggerDescriptor getTriggerDescriptor(UUID uuid)
 				throws StandardException
 	{
-		TabInfo					  ti = getNonCoreTI(SYSTRIGGERS_CATALOG_NUM);
+		TabInfoImpl					  ti = getNonCoreTI(SYSTRIGGERS_CATALOG_NUM);
 		DataValueDescriptor triggerIdOrderable = dvf.getCharDataValue(uuid.toString());
 
 		/* Set up the start/stop position for the scan */
@@ -3674,7 +3673,7 @@
 	{
 		DataValueDescriptor		  schemaIDOrderable;
 		DataValueDescriptor		  triggerNameOrderable;
-		TabInfo					  ti = getNonCoreTI(SYSTRIGGERS_CATALOG_NUM);
+		TabInfoImpl					  ti = getNonCoreTI(SYSTRIGGERS_CATALOG_NUM);
 
 		/* Use triggerNameOrderable and schemaIdOrderable in both start 
 		 * and stop position for scan. 
@@ -3755,7 +3754,7 @@
 	{
 		GenericDescriptorList  	gdl = (td).getTriggerDescriptorList();
 		DataValueDescriptor		tableIDOrderable = null;
-		TabInfo					ti = getNonCoreTI(SYSTRIGGERS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSTRIGGERS_CATALOG_NUM);
 
 		/* Use tableIDOrderable in both start and stop positions for scan */
 		tableIDOrderable = getValueAsDVD(td.getUUID());
@@ -3792,7 +3791,7 @@
 	) throws StandardException
 	{
 		DataValueDescriptor		idOrderable;
-		TabInfo					ti = getNonCoreTI(SYSTRIGGERS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSTRIGGERS_CATALOG_NUM);
 
 		idOrderable = getValueAsDVD(descriptor.getUUID());
 
@@ -3829,7 +3828,7 @@
 		ExecRow    					row;
 		DataValueDescriptor			IDOrderable;
 		DataValueDescriptor			columnNameOrderable;
-		TabInfo						ti = getNonCoreTI(SYSTRIGGERS_CATALOG_NUM);
+		TabInfoImpl						ti = getNonCoreTI(SYSTRIGGERS_CATALOG_NUM);
 		SYSTRIGGERSRowFactory  		rf = (SYSTRIGGERSRowFactory) ti.getCatalogRowFactory();
 
 		/* Use objectID in both start 
@@ -3915,7 +3914,7 @@
 				throws StandardException
 	{
 		DataValueDescriptor		UUIDStringOrderable;
-		TabInfo					ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
 
 		/* Use UUIDStringOrderable in both start and stop positions for scan */
 		UUIDStringOrderable = dvf.getCharDataValue(uuid.toString());
@@ -3954,7 +3953,7 @@
 	{
 		DataValueDescriptor		UUIDStringOrderable;
 		DataValueDescriptor		constraintNameOrderable;
-		TabInfo					ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
 
 		/* Construct keys for both start and stop positions for scan */
 		constraintNameOrderable = dvf.getVarcharDataValue(constraintName);
@@ -3980,7 +3979,7 @@
 	public List getStatisticsDescriptors(TableDescriptor td)
 		throws StandardException
 	{
-		TabInfo ti = getNonCoreTI(SYSSTATISTICS_CATALOG_NUM);
+		TabInfoImpl ti = getNonCoreTI(SYSSTATISTICS_CATALOG_NUM);
 		List statDescriptorList = newSList();
 		DataValueDescriptor UUIDStringOrderable;
 
@@ -4174,7 +4173,7 @@
 	{
 		ConstraintDescriptorList  cdl = td.getConstraintDescriptorList();
 		DataValueDescriptor		  tableIDOrderable = null;
-		TabInfo					  ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
+		TabInfoImpl					  ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
 
 		/* Use tableIDOrderable in both start and stop positions for scan */
 		tableIDOrderable = getValueAsDVD(td.getUUID());
@@ -4200,7 +4199,7 @@
 	 *
 	 * @param indexId	The id of the index (0 to # of indexes on table) to use
 	 * @param keyRow	The supplied ExecIndexRow for search
-	 * @param ti		The TabInfo to use
+	 * @param ti		The TabInfoImpl to use
 	 * @param td		The TableDescriptor, if supplied.
 	 * @param dList		The list to build, if supplied.  If null, then caller expects
 	 *					a single descriptor
@@ -4213,7 +4212,7 @@
 	protected ConstraintDescriptor getConstraintDescriptorViaIndex(
 						int indexId,
 						ExecIndexRow keyRow,
-						TabInfo ti,
+						TabInfoImpl ti,
 						TableDescriptor td,
 						ConstraintDescriptorList dList,
 						boolean forUpdate)
@@ -4345,7 +4344,7 @@
 	 * SYSCONSTRAINTS through a heap scan 
 	 *
 	 * @param scanQualifiers			qualifiers
-	 * @param ti						The TabInfo to use
+	 * @param ti						The TabInfoImpl to use
 	 * @param parentTupleDescriptor		The parentDescriptor, if applicable.
 	 * @param list						The list to build, if supplied.  
 	 *									If null, then caller expects a single descriptor
@@ -4356,7 +4355,7 @@
 	 */
 	protected TupleDescriptor getConstraintDescriptorViaHeap(
 						ScanQualifier [][] scanQualifiers,
-						TabInfo ti,
+						TabInfoImpl ti,
 						TupleDescriptor parentTupleDescriptor,
 						List list)
 			throws StandardException
@@ -4490,7 +4489,7 @@
 	public ConstraintDescriptorList getForeignKeys(UUID constraintId)
 			throws StandardException
 	{
-		TabInfo ti = getNonCoreTI(SYSFOREIGNKEYS_CATALOG_NUM);
+		TabInfoImpl ti = getNonCoreTI(SYSFOREIGNKEYS_CATALOG_NUM);
 		List fkList = newSList();
 
 		// Use constraintIDOrderable in both start and stop positions for scan
@@ -4547,7 +4546,7 @@
 		ConglomerateController	heapCC = null;
 		ScanController			scanController = null;
 		TransactionController	tc;
-		TabInfo 				ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
+		TabInfoImpl 				ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
 		SYSCONSTRAINTSRowFactory rf = (SYSCONSTRAINTSRowFactory) ti.getCatalogRowFactory();
 		TableDescriptor			td = null;
 		List					slist = newSList();
@@ -4663,7 +4662,7 @@
 	{
 		ExecRow        			row = null;
 		int						type = descriptor.getConstraintType();
-		TabInfo					  ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
+		TabInfoImpl					  ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
 		SYSCONSTRAINTSRowFactory  rf = (SYSCONSTRAINTSRowFactory) ti.getCatalogRowFactory();
 		int						insertRetCode;
 
@@ -4741,7 +4740,7 @@
 		ExecRow    					row;
 		DataValueDescriptor			IDOrderable;
 		DataValueDescriptor			columnNameOrderable;
-		TabInfo						ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
+		TabInfoImpl						ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
 		SYSCONSTRAINTSRowFactory  	rf = (SYSCONSTRAINTSRowFactory) ti.getCatalogRowFactory();
 
 		/* Use objectID/columnName in both start 
@@ -4829,7 +4828,7 @@
 		ExecIndexRow			keyRow = null;
 		DataValueDescriptor		schemaIDOrderable;
 		DataValueDescriptor		constraintNameOrderable;
-		TabInfo					ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
 
 		switch (descriptor.getConstraintType())
 		{
@@ -4911,7 +4910,7 @@
 		throws StandardException
 	{
 		DataValueDescriptor		constraintIDOrderable = null;
-		TabInfo					ti;
+		TabInfoImpl					ti;
 		int						indexNum;
 		int						baseNum;
 
@@ -4958,7 +4957,7 @@
 		throws StandardException
 	{
 		ExecRow	row;
-		TabInfo	ti;
+		TabInfoImpl	ti;
 
 		/*
 		** Foreign keys get a row in SYSFOREIGNKEYS, and
@@ -5028,7 +5027,7 @@
 	{
 		ExecIndexRow			keyRow1 = null;
 		DataValueDescriptor		constraintIdOrderable;
-		TabInfo					ti;
+		TabInfoImpl					ti;
 		int						baseNum;
 		int						indexNum;
 
@@ -5101,7 +5100,7 @@
 		throws StandardException
 	{
 		DataValueDescriptor			constraintIDOrderable = null;
-		TabInfo						ti = getNonCoreTI(SYSCHECKS_CATALOG_NUM);
+		TabInfoImpl						ti = getNonCoreTI(SYSCHECKS_CATALOG_NUM);
 		SYSCHECKSRowFactory			rf = (SYSCHECKSRowFactory) ti.getCatalogRowFactory();
 
 		/* Use constraintIDOrderable in both start and stop positions for scan */
@@ -5135,7 +5134,7 @@
 	{
 		ExecIndexRow			checkRow1 = null;
 		DataValueDescriptor		constraintIdOrderable;
-		TabInfo					ti = getNonCoreTI(SYSCHECKS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSCHECKS_CATALOG_NUM);
 
 		/* Use constraintIdOrderable in both start 
 		 * and stop position for index 1 scan. 
@@ -5170,7 +5169,7 @@
 		ScanController			  scanController;
 		ExecRow 				  outRow;
 		// ExecIndexRow			  keyRow = null;
-		TabInfo					  ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
+		TabInfoImpl					  ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
 		SYSCONGLOMERATESRowFactory  rf = (SYSCONGLOMERATESRowFactory) ti.getCatalogRowFactory();
 
 		outRow = rf.makeEmptyRow();
@@ -5225,7 +5224,7 @@
 		Hashtable ht = new Hashtable();
 		ScanController			  scanController;
 		ExecRow 				  outRow;
-		TabInfo					ti = coreInfo[SYSTABLES_CORE_NUM];
+		TabInfoImpl					ti = coreInfo[SYSTABLES_CORE_NUM];
 		SYSTABLESRowFactory
 					rf = (SYSTABLESRowFactory) ti.getCatalogRowFactory();
 
@@ -5298,7 +5297,7 @@
 	{
 		DataValueDescriptor		UUIDStringOrderable;
 		SYSCONGLOMERATESRowFactory rf;
-		TabInfo					ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
+		TabInfoImpl					ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
 
 		/* Use UUIDStringOrderable in both start and stop positions for scan */
 		UUIDStringOrderable = dvf.getCharDataValue(uuid.toString());
@@ -5368,7 +5367,7 @@
   		TransactionController	  tc;
   		ExecRow 				  outRow;
   		DataValueDescriptor		  conglomNumberOrderable = null;
-  		TabInfo					  ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
+  		TabInfoImpl					  ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
   		SYSCONGLOMERATESRowFactory  rf = (SYSCONGLOMERATESRowFactory) ti.getCatalogRowFactory();
 
   		conglomNumberOrderable = 
@@ -5416,7 +5415,7 @@
 
 		ExecIndexRow			keyRow3 = null;
 		DataValueDescriptor		tableIDOrderable;
-		TabInfo					ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
+		TabInfoImpl					ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
 
 		/* Use tableIDOrderable in both start and stop positions for scan */
 		tableIDOrderable = getValueAsDVD(td.getUUID());
@@ -5459,7 +5458,7 @@
 		ExecIndexRow			  keyRow2 = null;
 		DataValueDescriptor		  nameOrderable;
 		DataValueDescriptor		  schemaIDOrderable = null;
-		TabInfo					  ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
+		TabInfoImpl					  ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
 
 		nameOrderable = dvf.getVarcharDataValue(indexName);
 		schemaIDOrderable = getValueAsDVD(sd.getUUID());
@@ -5496,7 +5495,7 @@
 		ExecIndexRow			keyRow2 = null;
 		DataValueDescriptor		nameOrderable;
 		DataValueDescriptor		schemaIDOrderable = null;
-		TabInfo					ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
+		TabInfoImpl					ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
 
 		nameOrderable = dvf.getVarcharDataValue(conglomerate.getConglomerateName());
 		schemaIDOrderable = getValueAsDVD(conglomerate.getSchemaID());
@@ -5526,7 +5525,7 @@
 	{		
 		ExecIndexRow			keyRow3 = null;
 		DataValueDescriptor		tableIDOrderable;
-		TabInfo					ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
+		TabInfoImpl					ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
 
 		/* Use tableIDOrderable in both start 
 		 * and stop position for index 3 scan. 
@@ -5607,7 +5606,7 @@
 	{
 		ExecIndexRow				keyRow;
 		DataValueDescriptor			schemaNameOrderable;
-		TabInfo						ti = coreInfo[SYSSCHEMAS_CORE_NUM];
+		TabInfoImpl						ti = coreInfo[SYSSCHEMAS_CORE_NUM];
 
 		/* Use schemaNameOrderable in both start 
 		 * and stop position for index 1 scan. 
@@ -5657,7 +5656,7 @@
 		ExecIndexRow				keyRow1 = null;
 		ExecRow[]    				rows = new ExecRow[cds.length];
 		DataValueDescriptor			conglomIDOrderable;
-		TabInfo						ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
+		TabInfoImpl						ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
 		SYSCONGLOMERATESRowFactory  rf = (SYSCONGLOMERATESRowFactory) ti.getCatalogRowFactory();
 
 		/* Use conglomIDOrderable in both start 
@@ -5706,7 +5705,7 @@
 	{
 		List					ddlList = newSList();
 		DataValueDescriptor		dependentIDOrderable;
-		TabInfo					ti = getNonCoreTI(SYSDEPENDS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSDEPENDS_CATALOG_NUM);
 
 		/* Use dependentIDOrderable in both start and stop positions for scan */
 		dependentIDOrderable = dvf.getCharDataValue(dependentID);
@@ -5743,7 +5742,7 @@
 	{
 		List					ddlList = newSList();
 		DataValueDescriptor		providerIDOrderable;
-		TabInfo					ti = getNonCoreTI(SYSDEPENDS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSDEPENDS_CATALOG_NUM);
 
 		/* Use providerIDOrderable in both start and stop positions for scan */
 		providerIDOrderable = dvf.getCharDataValue(providerID);
@@ -5783,7 +5782,7 @@
 		ExecRow					  	outRow;
 		ExecRow					 	templateRow;
 		List						ddl = newSList();
-		TabInfo						ti = getNonCoreTI(SYSDEPENDS_CATALOG_NUM);
+		TabInfoImpl						ti = getNonCoreTI(SYSDEPENDS_CATALOG_NUM);
 		SYSDEPENDSRowFactory		rf = (SYSDEPENDSRowFactory) ti.getCatalogRowFactory();
 
 
@@ -5838,7 +5837,7 @@
 		UUID					dependentID = dd.getUUID();
 		UUID					providerID = dd.getProviderID();
 		DataValueDescriptor		dependentIDOrderable = getValueAsDVD(dependentID);
-		TabInfo					ti = getNonCoreTI(SYSDEPENDS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSDEPENDS_CATALOG_NUM);
 
 		/* Use dependentIDOrderable in both start 
 		 * and stop position for index 1 scan. 
@@ -5876,7 +5875,7 @@
 	{
 		ExecIndexRow			keyRow1 = null;
 		DataValueDescriptor		dependentIDOrderable;
-		TabInfo					ti = getNonCoreTI(SYSDEPENDS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSDEPENDS_CATALOG_NUM);
 
 		/* Use dependentIDOrderable in both start 
 		 * and stop position for index 1 scan. 
@@ -5916,7 +5915,7 @@
 	{
 		DataValueDescriptor		UUIDStringOrderable;
 		SYSALIASESRowFactory	rf;
-		TabInfo					ti = getNonCoreTI(SYSALIASES_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSALIASES_CATALOG_NUM);
 
 		rf = (SYSALIASESRowFactory) ti.getCatalogRowFactory();
 
@@ -5955,7 +5954,7 @@
 	{
 		DataValueDescriptor		  aliasNameOrderable;
 		DataValueDescriptor		  nameSpaceOrderable;
-		TabInfo					  ti = getNonCoreTI(SYSALIASES_CATALOG_NUM);
+		TabInfoImpl					  ti = getNonCoreTI(SYSALIASES_CATALOG_NUM);
 		SYSALIASESRowFactory	  rf = (SYSALIASESRowFactory) ti.getCatalogRowFactory();
 
 		/* Use aliasNameOrderable and aliasTypeOrderable in both start 
@@ -6082,7 +6081,7 @@
 		ExecIndexRow			keyRow1 = null;
 		DataValueDescriptor		aliasNameOrderable;
 		DataValueDescriptor		nameSpaceOrderable;
-		TabInfo					ti = getNonCoreTI(SYSALIASES_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSALIASES_CATALOG_NUM);
 
 		/* Use aliasNameOrderable and nameSpaceOrderable in both start 
 		 * and stop position for index 1 scan. 
@@ -6142,13 +6141,13 @@
 	 *
 	 * @exception StandardException		Thrown on error
 	 */
-	public void loadCatalogs(DataDescriptorGenerator ddg, TabInfo[] catalogArray)
+	public void loadCatalogs(DataDescriptorGenerator ddg, TabInfoImpl[] catalogArray)
 		throws StandardException
 	{
 		int			ictr;
 		int			numIndexes;
 		int			indexCtr;
-		TabInfo		catalog;
+		TabInfoImpl		catalog;
 		int			catalogCount = catalogArray.length;
 
 		/* Initialize the various variables associated with index scans of these catalogs */
@@ -6215,7 +6214,7 @@
 		 */
 		for (int coreCtr = 0; coreCtr < NUM_CORE; coreCtr++)
 		{
-			TabInfo	ti = coreInfo[coreCtr];
+			TabInfoImpl	ti = coreInfo[coreCtr];
 
 			Properties	heapProperties = ti.getCreateHeapProperties();
 
@@ -6239,7 +6238,7 @@
 		for ( int ictr = 0; ictr < NUM_CORE; ictr++ )
 		{
 			/* RESOLVE - need to do something with COLUMNTYPE in following table creating code */
-			TabInfo			ti = coreInfo[ictr];
+			TabInfoImpl			ti = coreInfo[ictr];
 
 			addSystemTableToDictionary(ti, systemSchemaDesc, tc, ddg);
 		}
@@ -6322,7 +6321,7 @@
 			int catalogNumber = noncoreCtr + NUM_CORE;
 			boolean isDummy = (catalogNumber == SYSDUMMY1_CATALOG_NUM);
 
-			TabInfo ti = getNonCoreTIByNumber(catalogNumber);
+			TabInfoImpl ti = getNonCoreTIByNumber(catalogNumber);
 
 			makeCatalog(ti, isDummy ? sysIBMSchemaDesc : systemSchemaDesc, tc );
 
@@ -6438,7 +6437,7 @@
 	protected void upgradeMakeCatalog(TransactionController tc, int catalogNumber)
 		throws StandardException
 	{
-		TabInfo ti;
+		TabInfoImpl ti;
 		if (catalogNumber >= NUM_CORE)
 			ti = getNonCoreTIByNumber(catalogNumber);
 		else
@@ -6451,13 +6450,13 @@
 	/**
 	 *	The dirty work of creating a catalog.
 	 *
-	 *	@param	ti			TabInfo describing catalog to create.
+	 *	@param	ti			TabInfoImpl describing catalog to create.
 	 *	@param	sd			Schema to create catalogs in.
 	 *	@param	tc			Transaction context.
 	 *
 	 *	@exception StandardException Standard Cloudscape error policy
 	 */
-	public	void	makeCatalog( TabInfo					ti,
+	public	void	makeCatalog( TabInfoImpl					ti,
 								 SchemaDescriptor			sd,
 								 TransactionController 		tc )
 					throws StandardException
@@ -6663,7 +6662,7 @@
 	public	long	upgrade_makeOneIndex
 	(
 		TransactionController	tc,
-		TabInfo					ti,
+		TabInfoImpl					ti,
 		int						indexNumber,
 		long					heapConglomerateNumber
     )
@@ -6710,7 +6709,7 @@
 		DataValueDescriptor	    schemaIDOrderable;
 		DataValueDescriptor		tableNameOrderable;
 		ScanController			scanController;
-		TabInfo					ti = coreInfo[SYSTABLES_CORE_NUM];
+		TabInfoImpl					ti = coreInfo[SYSTABLES_CORE_NUM];
 		CatalogRowFactory		rf = ti.getCatalogRowFactory();
 
 		// We only want the 1st column from the heap
@@ -6806,7 +6805,7 @@
 		throws StandardException
 	{
 		
-		TabInfo ti = (isCoreTable) ?  coreInfo[tableNum] :
+		TabInfoImpl ti = (isCoreTable) ?  coreInfo[tableNum] :
 										getNonCoreTIByNumber(tableNum);
 
 		if (!isCoreTable)
@@ -6865,7 +6864,7 @@
 								  SchemaDescriptor sd, 
 								  TransactionController tc,
 								  DataDescriptorGenerator ddg,
-								  TabInfo ti)
+								  TabInfoImpl ti)
 						throws StandardException
 	{
 		ConglomerateDescriptor[] cgd = new ConglomerateDescriptor[ti.getNumberOfIndexes()];
@@ -6927,7 +6926,7 @@
 		FormatableBitSet columnToUpdate = new 
   			FormatableBitSet(SYSCOLUMNSRowFactory.SYSCOLUMNS_COLUMN_COUNT);
   		int columnNum = SYSCOLUMNSRowFactory.SYSCOLUMNS_AUTOINCREMENTVALUE;
-		TabInfo ti = coreInfo[SYSCOLUMNS_CORE_NUM];
+		TabInfoImpl ti = coreInfo[SYSCOLUMNS_CORE_NUM];
   		ConglomerateController heapCC = null;
 		SYSCOLUMNSRowFactory	rf = (SYSCOLUMNSRowFactory) ti.getCatalogRowFactory();
 		ExecRow row = rf.makeEmptyRow();
@@ -7002,7 +7001,7 @@
 		SchemaDescriptor		sd, 
 		TransactionController	tc,
 		DataDescriptorGenerator	ddg,
-		TabInfo					ti,
+		TabInfoImpl					ti,
 		int						indexNumber,
 		long					heapConglomerateNumber
     )
@@ -7092,7 +7091,7 @@
 	}
 
 	public void initSystemIndexVariables(DataDescriptorGenerator ddg,
-										   TabInfo ti,
+										   TabInfoImpl ti,
 										   int indexNumber)
 		throws StandardException
 	{
@@ -7128,8 +7127,7 @@
 							TransactionController tc)
 		throws StandardException
 	{
-		TabInfo						ti = getNonCoreTI(SYSDUMMY1_CATALOG_NUM);
-		SYSDUMMY1RowFactory			rf = (SYSDUMMY1RowFactory) ti.getCatalogRowFactory();
+		TabInfoImpl						ti = getNonCoreTI(SYSDUMMY1_CATALOG_NUM);
 		ExecRow row = ti.getCatalogRowFactory().makeRow(null, null);
 
 		int insertRetCode = ti.insertRow(row, tc, true);
@@ -7160,7 +7158,7 @@
 		Add the required entries to the data dictionary for a System table.
 	*/
 
-	private void addSystemTableToDictionary(TabInfo ti,
+	private void addSystemTableToDictionary(TabInfoImpl ti,
 		                          SchemaDescriptor sd, 
 								  TransactionController tc, 
 								  DataDescriptorGenerator ddg)
@@ -7310,7 +7308,7 @@
 	private void initializeCoreInfo()
 		throws StandardException
 	{
-		TabInfo[] lcoreInfo = coreInfo = new TabInfo[NUM_CORE];
+		TabInfoImpl[] lcoreInfo = coreInfo = new TabInfoImpl[NUM_CORE];
 
 		UUIDFactory luuidFactory = uuidFactory;
 
@@ -7330,43 +7328,7 @@
 	private void initializeNoncoreInfo()
 		throws StandardException
 	{
-		noncoreInfo = new TabInfo[NUM_NONCORE];
-	}
-
- 	/**
- 	  *	Get the tabinfo of a system catalog. Paw through the tabinfo arrays looking for the tabinfo
- 	  *	corresponding to this table name.
- 	  *
-	  * RESOLVE: This does not bother to fault in the TabInfo. It assumes it already
-	  *          has been faulted in. This seems odd.
- 	  *
-	  *	@param	tableName	name of table to get the TabInfo for.
- 	  *
-	  *	@return	tabinfo corresponding to tablename
- 	  *
- 	  * @exception StandardException		Thrown on error
-	  */
- 	public	TabInfo	getTabInfo( String tableName ) throws StandardException
- 	{
- 		TabInfo		tabinfo;
- 
- 		for ( int ictr = 0; ictr < coreInfo.length; ictr++ )
- 		{
- 			tabinfo = coreInfo[ ictr ];
- 			if ( tabinfo.getTableName().equals( tableName ) ) { return tabinfo; }
- 		}
- 
- 		// Non-core tables are not pre-loaded. Translate the name
- 		// to a number and look it up that way.
- 		for (int ictr = 0; ictr < nonCoreNames.length; ictr++)
-		{
- 			if (nonCoreNames[ictr].equals(tableName))
-			{
-				return getNonCoreTI(ictr);
-			}
-		}
-
- 		return	null;
+		noncoreInfo = new TabInfoImpl[NUM_NONCORE];
 	}
 
 	/**
@@ -7446,7 +7408,7 @@
 	 *
 	 * @param indexId	The id of the index (0 to # of indexes on table) to use
 	 * @param keyRow	The supplied ExecIndexRow for search
-	 * @param ti		The TabInfo to use
+	 * @param ti		The TabInfoImpl to use
 	 * @param parentTupleDescriptor		The parentDescriptor, if applicable.
 	 * @param list		The list to build, if supplied.  If null, then caller expects
 	 *					a single descriptor
@@ -7460,7 +7422,7 @@
 						int indexId,
 						ExecIndexRow keyRow,
 						ScanQualifier [][] scanQualifiers,
-						TabInfo ti,
+						TabInfoImpl ti,
 						TupleDescriptor parentTupleDescriptor,
 						List list,
 						boolean forUpdate)
@@ -7595,7 +7557,7 @@
 
 
     private void debugGenerateInfo(StringBuffer strbuf,
-        TransactionController tc, ConglomerateController heapCC, TabInfo ti,
+        TransactionController tc, ConglomerateController heapCC, TabInfoImpl ti,
         int indexId)
     {
 		if (SanityManager.DEBUG) {
@@ -7657,7 +7619,7 @@
 	 * system table where the access a heap scan
 	 *
 	 * @param scanQualifiers			qualifiers
-	 * @param ti						The TabInfo to use
+	 * @param ti						The TabInfoImpl to use
 	 * @param parentTupleDescriptor		The parentDescriptor, if applicable.
 	 * @param list						The list to build, if supplied.  
 	 *									If null, then caller expects a single descriptor
@@ -7668,7 +7630,7 @@
 	 */
 	protected TupleDescriptor getDescriptorViaHeap(
 						ScanQualifier [][] scanQualifiers,
-						TabInfo ti,
+						TabInfoImpl ti,
 						TupleDescriptor parentTupleDescriptor,
 						List list)
 			throws StandardException
@@ -7722,17 +7684,17 @@
 	}
 
 	/**
-	 * Get a TabInfo for a non-core table.
+	 * Get a TabInfoImpl for a non-core table.
 	 * (We fault in information about non-core tables as needed.)
 	 *
 	 * @param catalogNumber	The index into noncoreTable[].
 	 *
 	 * @exception StandardException		Thrown on error
 	 */
-	private TabInfo getNonCoreTI(int catalogNumber)
+	private TabInfoImpl getNonCoreTI(int catalogNumber)
 		throws StandardException
 	{
-		TabInfo	ti = getNonCoreTIByNumber(catalogNumber);
+		TabInfoImpl	ti = getNonCoreTIByNumber(catalogNumber);
 
 		faultInTabInfo( ti );
 
@@ -7742,19 +7704,19 @@
 	/** returns the tabinfo for a non core system catalog. Input is a
 	 * catalogNumber (defined in DataDictionary). 
 	 */
-	protected TabInfo getNonCoreTIByNumber(int catalogNumber)
+	protected TabInfoImpl getNonCoreTIByNumber(int catalogNumber)
 						throws StandardException
 	{
 		int nonCoreNum = catalogNumber - NUM_CORE;
 
-		// Look up the TabInfo in the array. This does not have to be
+		// Look up the TabInfoImpl in the array. This does not have to be
 		// synchronized, because getting a reference is atomic.
 
-		TabInfo retval = noncoreInfo[nonCoreNum];
+		TabInfoImpl retval = noncoreInfo[nonCoreNum];
 
 		if (retval == null)
 		{
-			// If we did not find the TabInfo, get the right one and
+			// If we did not find the TabInfoImpl, get the right one and
 			// load it into the array. There is a small chance that
 			// two threads will do this at the same time. The code will
 			// work properly in that case, since storing a reference
@@ -7848,7 +7810,7 @@
 		return retval;
 	}
 
-	protected void initSystemIndexVariables(TabInfo ti)
+	protected void initSystemIndexVariables(TabInfoImpl ti)
 						throws StandardException
 	{
 		int numIndexes = ti.getNumberOfIndexes();
@@ -7871,27 +7833,14 @@
 	}
 
 	/**
-	 * Get core catalog info.
-	 *
-	 * @param coreNum	The index into coreInfo[].
-	 *
-	 * @exception StandardException		Thrown on error
-	 */
-	public TabInfo getCoreCatalog(int coreNum)
-		throws StandardException
-	{
-		return coreInfo[coreNum];
-	}
-
-	/**
-	  *	Finishes building a TabInfo if it hasn't already been faulted in.
-	  *	NOP if TabInfo has already been faulted in.
+	  *	Finishes building a TabInfoImpl if it hasn't already been faulted in.
+	  *	NOP if TabInfoImpl has already been faulted in.
 	  *
-	  *	@param	ti	TabInfo to fault in.
+	  *	@param	ti	TabInfoImpl to fault in.
 	  *
 	  * @exception StandardException		Thrown on error
 	  */
-	public	void	faultInTabInfo( TabInfo ti )
+	public	void	faultInTabInfo( TabInfoImpl ti )
 		throws StandardException
 	{
 		int		numIndexes;
@@ -8183,7 +8132,7 @@
 									  long aiValue, boolean incrementNeeded)
 			throws StandardException						  
 	{
-		TabInfo ti = coreInfo[SYSCOLUMNS_CORE_NUM];
+		TabInfoImpl ti = coreInfo[SYSCOLUMNS_CORE_NUM];
 		ExecIndexRow keyRow = null;
 
 		keyRow = (ExecIndexRow)exFactory.getIndexableRow(2);
@@ -8237,7 +8186,7 @@
 										  String columnName)
 		throws StandardException								  
 	{
-		TabInfo ti = coreInfo[SYSCOLUMNS_CORE_NUM];
+		TabInfoImpl ti = coreInfo[SYSCOLUMNS_CORE_NUM];
 		ExecIndexRow keyRow = null;
 		ExecRow row;
 		UUID tableUUID = td.getUUID();
@@ -8326,7 +8275,7 @@
 									 TransactionController tc)
 		throws StandardException
 	{
-		TabInfo					ti = getNonCoreTI(SYSSTATISTICS_CATALOG_NUM);
+		TabInfoImpl					ti = getNonCoreTI(SYSSTATISTICS_CATALOG_NUM);
 		DataValueDescriptor first, second;
 		first = dvf.getCharDataValue(tableUUID.toString());
 
@@ -10171,7 +10120,7 @@
     	// call of this method.
     	perm.setUUID(null);    	
         perm.setGrantee( grantee);
-        TabInfo ti = getNonCoreTI( catalogNumber);
+        TabInfoImpl ti = getNonCoreTI( catalogNumber);
         PermissionsCatalogRowFactory rf = (PermissionsCatalogRowFactory) ti.getCatalogRowFactory();
         int primaryIndexNumber = rf.getPrimaryKeyIndexNumber();
         ConglomerateController heapCC = tc.openConglomerate( ti.getHeapConglomerate(),
@@ -10206,7 +10155,7 @@
             ExecRow row = ti.getCatalogRowFactory().makeRow( perm, (TupleDescriptor) null);
             int insertRetCode = ti.insertRow(row, tc, true /* wait */);
             if( SanityManager.DEBUG)
-                SanityManager.ASSERT( insertRetCode == TabInfo.ROWNOTDUPLICATE,
+                SanityManager.ASSERT( insertRetCode == TabInfoImpl.ROWNOTDUPLICATE,
                                       "Race condition in inserting table privilege.");
         }
         else
@@ -10338,7 +10287,7 @@
                                                               PermissionsDescriptor key)
         throws StandardException
     {
-		TabInfo ti = getNonCoreTI( catalogNumber);
+		TabInfoImpl ti = getNonCoreTI( catalogNumber);
         PermissionsCatalogRowFactory rowFactory = (PermissionsCatalogRowFactory) ti.getCatalogRowFactory();
         ExecIndexRow keyRow = rowFactory.buildIndexKeyRow( indexNumber, key);
         return

Modified: db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/IndexInfoImpl.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/IndexInfoImpl.java?rev=436905&r1=436904&r2=436905&view=diff
==============================================================================
--- db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/IndexInfoImpl.java (original)
+++ db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/IndexInfoImpl.java Fri Aug 25 11:59:07 2006
@@ -37,35 +37,27 @@
 */
 class IndexInfoImpl
 {
-	private boolean				isUnique;
-	private int[]				columnPositions;
 	private IndexRowGenerator	irg;
-	private int					columnCount;
+
 	private long				conglomerateNumber;
-	private String				name;
+    
+    private final CatalogRowFactory crf;
+    private final int indexNumber;
 
 	/**
 	 * Constructor
 	 *
-	 * @param conglomerateNumber	The conglomerate number for the index
-	 * @param indexName				The name of the index
-	 * @param columnCount			The number of columns in the index
-	 * @param isUnique				Whether or not the index was declared as unique
 	 * @param indexNumber			(0-based) number of index within catalog's indexes
 	 * @param crf					CatalogRowFactory for the catalog
 	 */
-	IndexInfoImpl(long conglomerateNumber, String indexName, int columnCount,
-				  boolean isUnique,
-				  int indexNumber, CatalogRowFactory crf)
+	IndexInfoImpl(int indexNumber, CatalogRowFactory crf)
 	{
-		this.conglomerateNumber = conglomerateNumber;
-		name = indexName;
-		this.columnCount = columnCount;
-		this.isUnique = isUnique;
-		columnPositions = crf.getIndexColumnPositions(indexNumber);
+        this.crf = crf;
+        this.indexNumber = indexNumber;
+		this.conglomerateNumber = -1;
 	}
 
-	/**
+    /**
 	 * Get the conglomerate number for the index.
 	 *
 	 * @return long	The conglomerate number for the index.
@@ -92,17 +84,7 @@
 	 */
 	String getIndexName()
 	{
-		return name;
-	}
-
-	/**
-	 * Set the name for the index.
-	 *
-	 * @param indexName		The name for the index.
-	 */
-	void setIndexName(String indexName)
-	{
-		name = indexName;
+		return crf.getIndexName(indexNumber);
 	}
 
 	/**
@@ -112,7 +94,7 @@
 	 */
 	int getColumnCount()
 	{
-		return columnCount;
+		return crf.getIndexColumnCount(indexNumber);
 	}
 
 	/**
@@ -145,20 +127,7 @@
 	 */
 	int getBaseColumnPosition(int colNumber)
 	{
-		return columnPositions[colNumber];
-	}
-
-	/**
-	 * Set the base column position for a column within a catalog
-	 * given the (0-based) column number for the column within the index.
-	 *
-	 * @param colNumber		The column number within the index
-	 * @param baseColumnPosition	The base column position for the column.
-	 */
-	void setBaseColumnPosition(int colNumber,
-									 int baseColumnPosition)
-	{
-		columnPositions[colNumber] = baseColumnPosition;
+		return crf.getIndexColumnPositions(indexNumber)[colNumber];
 	}
 
 	/**
@@ -168,6 +137,6 @@
 	 */
 	boolean isIndexUnique()
 	{
-		return isUnique;
+		return crf.isIndexUnique(indexNumber);
 	}
 }

Modified: db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/TabInfoImpl.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/TabInfoImpl.java?rev=436905&r1=436904&r2=436905&view=diff
==============================================================================
--- db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/TabInfoImpl.java (original)
+++ db/derby/code/branches/10.2/java/engine/org/apache/derby/impl/sql/catalog/TabInfoImpl.java Fri Aug 25 11:59:07 2006
@@ -63,14 +63,10 @@
 class TabInfoImpl implements TabInfo
 {
 	private IndexInfoImpl[]				indexes;
-	private String						name;
 	private long						heapConglomerate;
 	private int							numIndexesSet;
 	private boolean						heapSet;
-	private UUID						uuid;
-	private CatalogRowFactory			crf;
-
-	private	ExecutionFactory			executionFactory;
+	private final CatalogRowFactory			crf;
 
 	/**
 	 * Constructor
@@ -79,10 +75,8 @@
 	 */
 	TabInfoImpl(CatalogRowFactory crf)
 	{
-		this.name = crf.getCatalogName();
 		this.heapConglomerate = -1;
 		this.crf = crf;
-		this.executionFactory = crf.getExecutionFactory();
 
 		int numIndexes = crf.getNumIndexes();
 
@@ -94,10 +88,6 @@
 			for (int indexCtr = 0; indexCtr < numIndexes; indexCtr++)
 			{
 				indexes[indexCtr] = new IndexInfoImpl(
-											-1, 
-											crf.getIndexName(indexCtr),
-											crf.getIndexColumnCount(indexCtr),
-											crf.isIndexUnique(indexCtr),
 											indexCtr,
 											crf);
 			}
@@ -214,7 +204,7 @@
 	 */
 	public String getTableName()
 	{
-		return name;
+		return crf.getCatalogName();
 	}
 
 	/**
@@ -226,24 +216,6 @@
 	}
 
 	/**
-	 * @see TabInfo#setIndexName
-	 */
-	public void setIndexName(int indexID, String indexName)
-	{
-		if (SanityManager.DEBUG)
-		{
-			SanityManager.ASSERT(indexes != null,
-				"indexes is expected to be non-null");
-
-			if (indexID >= indexes.length)
-				SanityManager.THROWASSERT(
-				"indexID (" + indexID + ") is out of range(0-" +
-				indexes.length + ")");
-		}
-		indexes[indexID].setIndexName(indexName);
-	}
-
-	/**
 	 * @see TabInfo#getCatalogRowFactory
 	 */
 	public CatalogRowFactory getCatalogRowFactory()
@@ -360,26 +332,6 @@
 	}
 
 	/**
-	 * @see TabInfo#setBaseColumnPosition
-	 */
-	public void setBaseColumnPosition(int indexNumber, int colNumber,
-									 int baseColumnPosition)
-	{
-		if (SanityManager.DEBUG)
-		{
-			SanityManager.ASSERT(indexes != null,
-				"indexes is expected to be non-null");
-			if (indexNumber >= indexes.length)
-			{
-				SanityManager.THROWASSERT("indexNumber (" + indexNumber + ") is out of range(0-" +
-					indexes.length + ")");
-			}
-		}
-
-		indexes[indexNumber].setBaseColumnPosition(colNumber, baseColumnPosition);
-	}
-
-	/**
 	 * @see TabInfo#isIndexUnique
 	 */
 	public boolean isIndexUnique(int indexNumber)
@@ -1177,7 +1129,7 @@
 			cids[ictr] = getIndexConglomerate(ictr);
 		}
 
-		rc = executionFactory.getRowChanger(getHeapConglomerate(),
+		rc = crf.getExecutionFactory().getRowChanger(getHeapConglomerate(),
 											(StaticCompiledOpenConglomInfo) null,
 											(DynamicCompiledOpenConglomInfo) null,
 											irgs,
@@ -1253,12 +1205,12 @@
 	{
 		if (SanityManager.DEBUG)
 		{
-			return "name: " + name + 
+			return "name: " + this.getTableName() + 
 				"\n\theapCongolomerate: "+heapConglomerate +
 				"\n\tnumIndexes: " + ((indexes != null) ? indexes.length : 0) +
 				"\n\tnumIndexesSet: " + numIndexesSet +
 				"\n\theapSet: " + heapSet +
-				"\n\tuuid: " + uuid; 
+				"\n"; 
 		}
 		else
 		{

Modified: db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/blobclob4BLOB.out
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/blobclob4BLOB.out?rev=436905&r1=436904&r2=436905&view=diff
==============================================================================
--- db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/blobclob4BLOB.out (original)
+++ db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/blobclob4BLOB.out Fri Aug 25 11:59:07 2006
@@ -464,7 +464,6 @@
 START: clobTest53
 clobTest53 finished
 START: clobTest54
-java.lang.StringIndexOutOfBoundsException: String index out of range: -1
 EXPECTED SQLSTATE(22018): Invalid character string format for type INTEGER.
 end clobTest54
 START: clobTest6
@@ -473,6 +472,7 @@
 EXPECTED SQLSTATE(null): Invalid position 1 or length -1
 EXPECTED SQLSTATE(null): Invalid position 0 or length 0
 FAIL -- unexpected exception:java.lang.StringIndexOutOfBoundsException: String index out of range: -1
+java.lang.StringIndexOutOfBoundsException: String index out of range: -1
 START: clobTest7
 clobTest7 finished
 START: clobTest8
@@ -773,7 +773,6 @@
 blobTest53 finished
 START: blobTest54
 EXPECTED SQLSTATE(XCL12): An attempt was made to put a data value of type 'byte[]' into a data value of type 'INTEGER'.
-java.lang.NegativeArraySizeException
 blobTest54 finished
 START: blobTest6
 EXPECTED SQLSTATE(null): Invalid position 0 or length 5
@@ -781,6 +780,7 @@
 EXPECTED SQLSTATE(null): Invalid position 1 or length -1
 EXPECTED SQLSTATE(null): Invalid position 0 or length 0
 FAIL -- unexpected exception:java.lang.NegativeArraySizeException
+java.lang.NegativeArraySizeException
 START: blobTest7
 blobTest7 finished
 START: blobTest8Trigger

Modified: db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/parameterMapping.out
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/parameterMapping.out?rev=436905&r1=436904&r2=436905&view=diff
==============================================================================
--- db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/parameterMapping.out (original)
+++ db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/parameterMapping.out Fri Aug 25 11:59:07 2006
@@ -1379,8 +1379,8 @@
   setAsciiStream() as batch getString=eg012d                                                       was null false JDBC MATCH(OK)
   setAsciiStream(null) getString=null was null true JDBC MATCH(OK)
   setAsciiStream(null) as batch getString=null was null true JDBC MATCH(OK)
-  setBinaryStream() IC JDBC MATCH (INVALID)
-  setBinaryStream() as batch IC JDBC MATCH (INVALID)
+  setBinaryStream() getString=EncodedString: > 33347 51966 50 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 < was null false CLOUD EXT (OK)
+  setBinaryStream() as batch getString=EncodedString: > 33347 51966 50 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 < was null false CLOUD EXT (OK)
   setBinaryStream(null) getString=null was null true CLOUD EXT (OK)
   setBinaryStream(null) as batch getString=null was null true CLOUD EXT (OK)
   setCharacterStream() getString=89                                                           was null false JDBC MATCH(OK)
@@ -1391,8 +1391,8 @@
   setClob() as batch getString=72                                                           was null false CLOUD EXT (OK)
   setClob(null) getString=null was null true CLOUD EXT (OK)
   setClob(null) as batch getString=null was null true CLOUD EXT (OK)
-  setBlob() IC JDBC MATCH (INVALID)
-  setBlob() as batch IC JDBC MATCH (INVALID)
+  setBlob() getString=EncodedString: > 12867 29251 55 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 < was null false CLOUD EXT (OK)
+  setBlob() as batch getString=EncodedString: > 12867 29251 55 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 < was null false CLOUD EXT (OK)
   setBlob(null) getString=null was null true CLOUD EXT (OK)
   setBlob(null) as batch getString=null was null true CLOUD EXT (OK)
   setUnicodeStream()  (0A000):Feature not implemented: setUnicodeStream. JDBC MATCH (INVALID)
@@ -1555,8 +1555,8 @@
   setAsciiStream() as batch getString=eg012d was null false JDBC MATCH(OK)
   setAsciiStream(null) getString=null was null true JDBC MATCH(OK)
   setAsciiStream(null) as batch getString=null was null true JDBC MATCH(OK)
-  setBinaryStream() IC JDBC MATCH (INVALID)
-  setBinaryStream() as batch IC JDBC MATCH (INVALID)
+  setBinaryStream() getString=EncodedString: > 33347 51966 50 < was null false CLOUD EXT (OK)
+  setBinaryStream() as batch getString=EncodedString: > 33347 51966 50 < was null false CLOUD EXT (OK)
   setBinaryStream(null) getString=null was null true CLOUD EXT (OK)
   setBinaryStream(null) as batch getString=null was null true CLOUD EXT (OK)
   setCharacterStream() getString=89 was null false JDBC MATCH(OK)
@@ -1567,8 +1567,8 @@
   setClob() as batch getString=72 was null false CLOUD EXT (OK)
   setClob(null) getString=null was null true CLOUD EXT (OK)
   setClob(null) as batch getString=null was null true CLOUD EXT (OK)
-  setBlob() IC JDBC MATCH (INVALID)
-  setBlob() as batch IC JDBC MATCH (INVALID)
+  setBlob() getString=EncodedString: > 12867 29251 55 < was null false CLOUD EXT (OK)
+  setBlob() as batch getString=EncodedString: > 12867 29251 55 < was null false CLOUD EXT (OK)
   setBlob(null) getString=null was null true CLOUD EXT (OK)
   setBlob(null) as batch getString=null was null true CLOUD EXT (OK)
   setUnicodeStream()  (0A000):Feature not implemented: setUnicodeStream. JDBC MATCH (INVALID)
@@ -1731,8 +1731,8 @@
   setAsciiStream() as batch getString=eg012d was null false JDBC MATCH(OK)
   setAsciiStream(null) getString=null was null true JDBC MATCH(OK)
   setAsciiStream(null) as batch getString=null was null true JDBC MATCH(OK)
-  setBinaryStream() IC JDBC MATCH (INVALID)
-  setBinaryStream() as batch IC JDBC MATCH (INVALID)
+  setBinaryStream() getString=EncodedString: > 33347 51966 50 < was null false CLOUD EXT (OK)
+  setBinaryStream() as batch getString=EncodedString: > 33347 51966 50 < was null false CLOUD EXT (OK)
   setBinaryStream(null) getString=null was null true CLOUD EXT (OK)
   setBinaryStream(null) as batch getString=null was null true CLOUD EXT (OK)
   setCharacterStream() getString=89 was null false JDBC MATCH(OK)
@@ -1743,8 +1743,8 @@
   setClob() as batch getString=72 was null false CLOUD EXT (OK)
   setClob(null) getString=null was null true CLOUD EXT (OK)
   setClob(null) as batch getString=null was null true CLOUD EXT (OK)
-  setBlob() IC JDBC MATCH (INVALID)
-  setBlob() as batch IC JDBC MATCH (INVALID)
+  setBlob() getString=EncodedString: > 12867 29251 55 < was null false CLOUD EXT (OK)
+  setBlob() as batch getString=EncodedString: > 12867 29251 55 < was null false CLOUD EXT (OK)
   setBlob(null) getString=null was null true CLOUD EXT (OK)
   setBlob(null) as batch getString=null was null true CLOUD EXT (OK)
   setUnicodeStream()  (0A000):Feature not implemented: setUnicodeStream. JDBC MATCH (INVALID)

Modified: db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/ConcurrencyTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/ConcurrencyTest.java?rev=436905&r1=436904&r2=436905&view=diff
==============================================================================
--- db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/ConcurrencyTest.java (original)
+++ db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/ConcurrencyTest.java Fri Aug 25 11:59:07 2006
@@ -20,8 +20,9 @@
 package org.apache.derbyTesting.functionTests.tests.jdbcapi;
 import junit.framework.*;
 import java.sql.*;
-
+import java.util.Properties;
 import org.apache.derbyTesting.junit.JDBC;
+import org.apache.derbyTesting.junit.SystemPropertyTestSetup;
 
 /**
  * Testing concurrency behaviour in derby when creating the resultsets with
@@ -830,42 +831,51 @@
     // The default is to run all tests in the TestCase subclass.
     
     public static Test suite() {
-        TestSuite suite = new TestSuite();
+        final TestSuite suite = new TestSuite();
         
-        // DB2 client doesn't support this functionality
-        if (usingDerbyNet())
-            return suite;
-
-                
-        // Requires holdability
-        if (JDBC.vmSupportsJDBC3() || JDBC.vmSupportsJSR169()) {
-        
-        suite.addTest(new ConcurrencyTest("testUpdateLockDownGrade1"));
-        suite.addTest(new ConcurrencyTest("testAquireUpdateLock1"));
-                
-        suite.addTest(new ConcurrencyTest("testSharedLocks1"));
+        // This testcase does not require JDBC3/JSR169, since it does not
+        // specify result set concurrency) in Connection.createStatement().
         suite.addTest(new ConcurrencyTest("testSharedLocks2"));
-        suite.addTest(new ConcurrencyTest("testSharedAndUpdateLocks1"));
-        suite.addTest(new ConcurrencyTest("testSharedAndUpdateLocks2"));
         
-        // The following testcases requires Scrollable Updatable ResultSets:
-//         suite.addTest(new ConcurrencyTest("testUpdatePurgedTuple1"));
-//         suite.addTest(new ConcurrencyTest("testUpdatePurgedTuple2"));
-//         suite.addTest(new ConcurrencyTest("testUpdatePurgedTuple3"));
-//         suite.addTest(new ConcurrencyTest("testUpdatePurgedTuple4"));
-        
-        
-//         suite.addTest(new ConcurrencyTest("testUpdateModifiedTuple1"));
-//         suite.addTest(new ConcurrencyTest("testUpdateModifiedTuple2"));
-//         suite.addTest(new ConcurrencyTest("testTableIntentLock1"));
-//         suite.addTest(new ConcurrencyTest("testUpdateLockInReadUncommitted"));
-//         suite.addTest(new ConcurrencyTest("testDefragmentDuringScan"));
-//         suite.addTest(new ConcurrencyTest("testTruncateDuringScan"));
-        /// ---------------
+        // The following testcases requires JDBC3/JSR169:
+        if ((JDBC.vmSupportsJDBC3() || JDBC.vmSupportsJSR169())) {
+            
+            // The following testcases do not use updatable result sets:
+            suite.addTest(new ConcurrencyTest("testUpdateLockDownGrade1"));
+            suite.addTest(new ConcurrencyTest("testAquireUpdateLock1"));
+            suite.addTest(new ConcurrencyTest("testSharedLocks1"));
+            suite.addTest(new ConcurrencyTest("testSharedAndUpdateLocks1"));
+            suite.addTest(new ConcurrencyTest("testSharedAndUpdateLocks2"));
+            
+            // The following testcases do use updatable result sets.            
+            if (!usingDerbyNet()) { // DB2 client does not support UR with Derby
+                suite.addTest(new ConcurrencyTest ("testUpdatePurgedTuple2"));
+                suite.addTest(new ConcurrencyTest("testUpdatePurgedTuple3"));
+                suite.addTest(new ConcurrencyTest("testUpdatePurgedTuple4"));
+                suite.addTest(new ConcurrencyTest("testUpdateModifiedTuple1"));
+                suite.addTest(new ConcurrencyTest("testUpdateModifiedTuple2"));
+                suite.addTest(new ConcurrencyTest("testTableIntentLock1"));
+                suite.addTest
+                    (new ConcurrencyTest("testUpdateLockInReadUncommitted"));
+                suite.addTest(new ConcurrencyTest("testDefragmentDuringScan"));
+                suite.addTest(new ConcurrencyTest("testTruncateDuringScan"));
+                
+                // This testcase fails in DerbyNetClient framework due to 
+                // DERBY-1696
+                if (usingEmbedded()) {
+                    suite.addTest
+                        (new ConcurrencyTest("testUpdatePurgedTuple1"));
+                }
                 
+            }         
         }
-            
-        return suite;
+        
+        // Since this test relies on lock waiting, setting this property will
+        // make it go a lot faster:
+        final Properties properties = new Properties();
+        properties.setProperty("derby.locks.waitTimeout", "4");
+        
+        return new SystemPropertyTestSetup(suite, properties);
     }
     
 }

Modified: db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/_Suite.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/_Suite.java?rev=436905&r1=436904&r2=436905&view=diff
==============================================================================
--- db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/_Suite.java (original)
+++ db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/_Suite.java Fri Aug 25 11:59:07 2006
@@ -23,6 +23,7 @@
 
 import org.apache.derbyTesting.junit.BaseTestCase;
 import org.apache.derbyTesting.junit.JDBC;
+import org.apache.derbyTesting.junit.NetworkServerTestSetup;
 
 import junit.framework.Test; 
 import junit.framework.TestSuite;
@@ -63,6 +64,6 @@
 			suite.addTest(ScrollResultSetTest.suite());
 		}
 
-		return suite;
+		return new NetworkServerTestSetup(suite);
 	}
 }

Modified: db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/junit/NetworkServerTestSetup.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/junit/NetworkServerTestSetup.java?rev=436905&r1=436904&r2=436905&view=diff
==============================================================================
--- db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/junit/NetworkServerTestSetup.java (original)
+++ db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/junit/NetworkServerTestSetup.java Fri Aug 25 11:59:07 2006
@@ -58,7 +58,7 @@
             networkServerController = new NetworkServerControl
                 (InetAddress.getByName(config.getHostName()), config.getPort());
             
-            networkServerController.start(new PrintWriter(System.out));
+            networkServerController.start(null);
             
             final long startTime = System.currentTimeMillis();
             while (true) {