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 dj...@apache.org on 2008/01/03 19:03:38 UTC

svn commit: r608580 - in /db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog: DD_Version.java DataDictionaryImpl.java

Author: djd
Date: Thu Jan  3 10:03:35 2008
New Revision: 608580

URL: http://svn.apache.org/viewvc?rev=608580&view=rev
Log:
DERBY-2775 (partial) Remove one use of DataTypeDescriptor.setNullability() that was not required. Nullabilty was being set for system columns that needed to be upgraded in old databases from an incorrect value. Using the nullability of the original definition is already correct and avoids redundant setting. Changed the name of the method as it is now a generic fix a system column rather than being specific to nullability. 

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

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DD_Version.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DD_Version.java?rev=608580&r1=608579&r2=608580&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DD_Version.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DD_Version.java Thu Jan  3 10:03:35 2008
@@ -762,17 +762,17 @@
 		{
 			// SYSSTATEMENTS table ==> SYSSTATEMENTS_COMPILATION_SCHEMAID needs 
 			// to be modified.
-			bootingDictionary.upgrade_setNullability(rowFactory,
+			bootingDictionary.upgradeFixSystemColumnDefinition(rowFactory,
 				SYSSTATEMENTSRowFactory.SYSSTATEMENTS_COMPILATION_SCHEMAID, 
-				true, tc);
+				tc);
 		}
 		else if (catalogNum == DataDictionaryImpl.SYSVIEWS_CATALOG_NUM)
 		{
 			// SYSVIEWS table ==> SYSVIEWS_COMPILATION_SCHEMAID needs 
 			// to be modified.
-			bootingDictionary.upgrade_setNullability(rowFactory,
+			bootingDictionary.upgradeFixSystemColumnDefinition(rowFactory,
 				SYSVIEWSRowFactory.SYSVIEWS_COMPILATION_SCHEMAID, 
-				true, tc);
+				tc);
 		}
 		
 		/* OLD Cloudscape 5.1 upgrade code. See applySafeChanges(). 

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java?rev=608580&r1=608579&r2=608580&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java Thu Jan  3 10:03:35 2008
@@ -6922,31 +6922,31 @@
 		addSystemTableToDictionary(ti, sd, tc, ddg);
 	}							 
 	/**
-	  *	Upgrade an existing catalog by  setting the nullability
+	  *	Upgrade an existing system catalog column's definition
+      * by setting it to the value it would have in a newly
+      * created database. This is only used to for a couple
+      * of columns that had incorrectly nullability. Other
+      * uses (e.g. changing column type) might require more work.
 	  *
 	  *	@param	columnNumber			The column to change
-	  *	@param	nullability				true if nullable 
 	  *	@param	tc						Transaction controller
 	  *
 	  *	@exception StandardException Standard Derby error policy
 	  */
-	public void upgrade_setNullability(CatalogRowFactory rowFactory,
+	public void upgradeFixSystemColumnDefinition(CatalogRowFactory rowFactory,
 									   int columnNumber,
-									   boolean nullability,
 									   TransactionController tc)
 		throws StandardException
 	{
 		SystemColumn		theColumn;
 		SystemColumn[]		columns = rowFactory.buildColumnList();
 		SchemaDescriptor	sd = getSystemSchemaDescriptor();
-		String columnName;
 
 		TableDescriptor td = getTableDescriptor(rowFactory.getCatalogName(), sd, tc);
 
 		theColumn = columns[columnNumber - 1];	// from 1 to 0 based
 		ColumnDescriptor cd = makeColumnDescriptor(theColumn, columnNumber, td );
-		columnName = cd.getColumnName();
-		cd.getType().setNullability(nullability);
+		String columnName = cd.getColumnName();
 		int[] columnNameColArray = new int[1];
 		columnNameColArray[0] = SYSCOLUMNSRowFactory.SYSCOLUMNS_COLUMNDATATYPE ;
 		updateColumnDescriptor(cd,