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 2006/08/20 01:17:25 UTC

svn commit: r432895 - in /db/derby/code/trunk/java/engine/org/apache/derby: iapi/sql/dictionary/SystemColumn.java impl/sql/catalog/DataDictionaryImpl.java impl/sql/catalog/SystemColumnImpl.java

Author: djd
Date: Sat Aug 19 16:17:24 2006
New Revision: 432895

URL: http://svn.apache.org/viewvc?rev=432895&view=rev
Log:
DERBY-1674 (partial) Clean up SystemColumn interface and implementation to hold the data type of
the column using the standard DataTypeDescriptor class rather than individual fields.

Modified:
    db/derby/code/trunk/java/engine/org/apache/derby/iapi/sql/dictionary/SystemColumn.java
    db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java
    db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/SystemColumnImpl.java

Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/sql/dictionary/SystemColumn.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/iapi/sql/dictionary/SystemColumn.java?rev=432895&r1=432894&r2=432895&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/iapi/sql/dictionary/SystemColumn.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/sql/dictionary/SystemColumn.java Sat Aug 19 16:17:24 2006
@@ -20,10 +20,9 @@
  */
 
 package org.apache.derby.iapi.sql.dictionary;
-import org.apache.derby.iapi.error.StandardException;
+
 import org.apache.derby.iapi.types.DataTypeDescriptor;
-import org.apache.derby.iapi.types.DataValueDescriptor;
-import org.apache.derby.iapi.types.DataValueFactory;
+
 
 /**
  * Implements the description of a column in a system table.
@@ -48,47 +47,11 @@
 	 * @return	The column id.
 	 */
 	public int	getID();
+    
+    /**
+     * Return the type of this column.
+      */
+    public DataTypeDescriptor getType();
 
-	/**
-	 * Gets the precision of this column.
-	 *
-	 * @return	The precision of data stored in this column.
-	 */
-	public int	getPrecision();
-
-	/**
-	 * Gets the scale of this column.
-	 *
-	 * @return	The scale of data stored in this column.
-	 */
-	public int	getScale();
-
-	/**
-	 * Gets the nullability of this column.
-	 *
-	 * @return	True if this column is nullable. False otherwise.
-	 */
-	public boolean	getNullability();
-
-	/**
-	 * Gets the datatype of this column.
-	 *
-	 * @return	The datatype of this column.
-	 */
-	public String	getDataType();
-
-	/**
-	 * Is it a built-in type?
-	 *
-	 * @return	True if it's a built-in type.
-	 */
-	public boolean	builtInType();
-
-	/**
-	 * Gets the maximum length of this column.
-	 *
-	 * @return	The maximum length of data stored in this column.
-	 */
-	public int	getMaxLength();
 }
 

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=432895&r1=432894&r2=432895&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 Sat Aug 19 16:17:24 2006
@@ -7240,30 +7240,9 @@
 													  TableDescriptor	td )
 						throws StandardException
 	{
-		DataTypeDescriptor	typeDesc;
-		TypeId	typeId;
-
-		if (column.builtInType())
-	    {
-			typeId = TypeId.getBuiltInTypeId(column.getDataType());
-		}
-		else
-		{
-
-			typeId = TypeId.getUserDefinedTypeId(column.getDataType(), false);
-		}
-
-		typeDesc = new DataTypeDescriptor(
-							   typeId,
-							   column.getPrecision(),
-							   column.getScale(),
-							   column.getNullability(),
-							   column.getMaxLength()
-							   );
-
 		//RESOLVEAUTOINCREMENT
 		return new ColumnDescriptor
-			(column.getName(), column.getID(), typeDesc, null, null, td,
+			(column.getName(), column.getID(), column.getType(), null, null, td,
 			 (UUID) null, // No defaults yet for system columns
 			 0, 0
 			 );

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/SystemColumnImpl.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/SystemColumnImpl.java?rev=432895&r1=432894&r2=432895&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/SystemColumnImpl.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/SystemColumnImpl.java Sat Aug 19 16:17:24 2006
@@ -26,6 +26,7 @@
 import org.apache.derby.iapi.types.DataTypeDescriptor;
 import org.apache.derby.iapi.types.DataValueDescriptor;
 import org.apache.derby.iapi.types.DataValueFactory;
+import org.apache.derby.iapi.types.TypeId;
 
 /**
  * Implements the description of a column in a system table.
@@ -37,14 +38,13 @@
 
 public class SystemColumnImpl implements SystemColumn
 {
-	private	String	name;
-	private	int		id;
-	private	int		precision;
-	private int		scale;
-	private	boolean	nullability;
-	private String	dataType;
-	private boolean	builtInType;
-	private	int		maxLength;
+	private	final String	name;
+	private	final int		id;
+    
+    /**
+     * Fully described type of the column.
+     */
+    private final DataTypeDescriptor type;
 
 	/**
 	 * Constructor to create a description of a column in a system table.
@@ -68,12 +68,26 @@
 	{
 		this.name			= name;
 		this.id				= id;
-		this.precision		= precision;
-		this.scale			= scale;
-		this.nullability	= nullability;
-		this.dataType		= dataType;
-		this.builtInType	= builtInType;
-		this.maxLength		= maxLength;
+        
+        TypeId  typeId;
+
+        if (builtInType)
+        {
+            typeId = TypeId.getBuiltInTypeId(dataType);
+        }
+        else
+        {
+
+            typeId = TypeId.getUserDefinedTypeId(dataType, false);
+        }
+
+        this.type = new DataTypeDescriptor(
+                               typeId,
+                               precision,
+                               scale,
+                               nullability,
+                               maxLength
+                               );
 	}
 
 	/**
@@ -88,12 +102,7 @@
 								int		id,
 								boolean	nullability)
 	{
-		this.name			= name;
-		this.id				= id;
-		this.nullability	= nullability;
-		this.dataType		= "VARCHAR";
-		this.builtInType	= true;
-		this.maxLength		= 128;
+        this(name, id, 0, 0, nullability, "VARCHAR", true, 128);
 	}
 
 	/**
@@ -116,65 +125,11 @@
 		return	id;
 	}
 
-	/**
-	 * Gets the precision of this column.
-	 *
-	 * @return	The precision of data stored in this column.
-	 */
-	public int	getPrecision()
-	{
-		return	precision;
-	}
-
-	/**
-	 * Gets the scale of this column.
-	 *
-	 * @return	The scale of data stored in this column.
-	 */
-	public int	getScale()
-	{
-		return	scale;
-	}
-
-	/**
-	 * Gets the nullability of this column.
-	 *
-	 * @return	True if this column is nullable. False otherwise.
-	 */
-	public boolean	getNullability()
-	{
-		return	nullability;
-	}
-
-	/**
-	 * Gets the datatype of this column.
-	 *
-	 * @return	The datatype of this column.
-	 */
-	public String	getDataType()
-	{
-		return	dataType;
-	}
-
-	/**
-	 * Is it a built-in type?
-	 *
-	 * @return	True if it's a built-in type.
-	 */
-	public boolean	builtInType()
-	{
-		return builtInType;
-	}
-
-	/**
-	 * Gets the maximum length of this column.
-	 *
-	 * @return	The maximum length of data stored in this column.
-	 */
-	public int	getMaxLength()
-	{
-		return	maxLength;
-	}
-
+    /**
+     * Return the type of this column.
+     */
+    public DataTypeDescriptor getType() {
+        return type;
+    }
 }