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 2005/03/11 03:34:22 UTC

svn commit: r157032 - in incubator/derby/code/trunk/java: engine/org/apache/derby/impl/sql/compile/ testing/org/apache/derbyTesting/functionTests/master/

Author: djd
Date: Thu Mar 10 18:34:19 2005
New Revision: 157032

URL: http://svn.apache.org/viewcvs?view=rev&rev=157032
Log:
Modify column and table name display in error messages
to match the name in the SQL statement.
Pre-cursor to Derby-18 patch.

Modified:
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ColumnReference.java
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/FromList.java
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/JoinNode.java
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/TableName.java
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/VerifyAggregateExpressionsVisitor.java
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/primarykey.out

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ColumnReference.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ColumnReference.java?view=diff&r1=157031&r2=157032
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ColumnReference.java (original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ColumnReference.java Thu Mar 10 18:34:19 2005
@@ -405,7 +405,7 @@
 		/* Error if no match found in fromList */
 		if (matchingRC == null)
 		{
-			throw StandardException.newException(SQLState.LANG_COLUMN_NOT_FOUND, getFullColumnName());
+			throw StandardException.newException(SQLState.LANG_COLUMN_NOT_FOUND, getSQLColumnName());
 		}
 
 		/* Set the columnNumber from the base table.
@@ -417,22 +417,20 @@
 	}
 
 	/**
-	 * Get the full column name of this column for purposes of error
-	 * messages or debugging.  The full column name includes the table
-	 * name and schema name, if any.
+	 * Get the column name for purposes of error
+	 * messages or debugging. This returns the column
+	 * name as used in the SQL statement. Thus if it was qualified
+	 * with a table, alias name that will be included.
 	 *
-	 * @return	The full column name in the form schema.table.column
+	 * @return	The  column name in the form [[schema.]table.]column
 	 */
 
-	public String getFullColumnName()
+	public String getSQLColumnName()
 	{
-		String	fullColumnName = "";
-
-		if (tableName != null)
-			fullColumnName += tableName.getFullTableName() + ".";
-		fullColumnName += columnName;
-
-		return fullColumnName;
+		if (tableName == null)
+			return columnName;
+		
+		return tableName.toString() + "." + columnName;
 	}
 
 	/**

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/FromList.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/FromList.java?view=diff&r1=157031&r2=157032
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/FromList.java (original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/FromList.java Thu Mar 10 18:34:19 2005
@@ -544,7 +544,7 @@
 				else
 				{
 					throw StandardException.newException(SQLState.LANG_AMBIGUOUS_COLUMN_NAME, 
-							 columnReference.getFullColumnName());
+							 columnReference.getSQLColumnName());
 				}
 			}
 

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/JoinNode.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/JoinNode.java?view=diff&r1=157031&r2=157032
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/JoinNode.java (original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/JoinNode.java Thu Mar 10 18:34:19 2005
@@ -552,7 +552,7 @@
 			if (leftRC != null)
 			{
 				throw StandardException.newException(SQLState.LANG_AMBIGUOUS_COLUMN_NAME, 
-						 columnReference.getFullColumnName());
+						 columnReference.getSQLColumnName());
 			}
 			resultColumn = rightRC;
 		}

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/TableName.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/TableName.java?view=diff&r1=157031&r2=157032
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/TableName.java (original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/TableName.java Thu Mar 10 18:34:19 2005
@@ -46,6 +46,7 @@
 	*/
 	String	tableName;
 	String	schemaName;
+	private boolean hasSchema;
 
 	/*
 	** These fields are used to track the being and end
@@ -66,6 +67,7 @@
 
 	public void init(Object schemaName, Object tableName)
 	{
+		hasSchema = schemaName != null;
 		this.schemaName = (String) schemaName;
 		this.tableName = (String) tableName;
 	}
@@ -88,8 +90,7 @@
 		Object	tokEndOffset
 	)
 	{
-		this.schemaName = (String) schemaName;
-		this.tableName = (String) tableName;
+		init(schemaName, tableName);
 		this.tokBeginOffset = ((Integer) tokBeginOffset).intValue();
 		this.tokEndOffset = ((Integer) tokEndOffset).intValue();
 	}
@@ -177,7 +178,10 @@
 
 	public String toString()
 	{
-		return getFullTableName();
+		if (hasSchema)
+			return getFullTableName();
+		else
+			return tableName;
 	}
 
 	/**

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/VerifyAggregateExpressionsVisitor.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/VerifyAggregateExpressionsVisitor.java?view=diff&r1=157031&r2=157032
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/VerifyAggregateExpressionsVisitor.java (original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/VerifyAggregateExpressionsVisitor.java Thu Mar 10 18:34:19 2005
@@ -77,12 +77,12 @@
 		
 			if (groupByList == null)
 			{
-				throw StandardException.newException(SQLState.LANG_INVALID_COL_REF_NON_GROUPED_SELECT_LIST, cr.getFullColumnName());
+				throw StandardException.newException(SQLState.LANG_INVALID_COL_REF_NON_GROUPED_SELECT_LIST, cr.getSQLColumnName());
 			}
 
 			if (groupByList.containsColumnReference(cr) == null)
 			{
-				throw StandardException.newException(SQLState.LANG_INVALID_COL_REF_GROUPED_SELECT_LIST, cr.getFullColumnName());
+				throw StandardException.newException(SQLState.LANG_INVALID_COL_REF_GROUPED_SELECT_LIST, cr.getSQLColumnName());
 			}
 		} 
 		/*

Modified: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out?view=diff&r1=157031&r2=157032
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out (original)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out Thu Mar 10 18:34:19 2005
@@ -764,7 +764,7 @@
 0 rows inserted/updated/deleted
 ij> -- bad schema name
 alter table x add constraint badschema.newcons primary key (x);
-ERROR 42X85: Constraint 'BADSCHEMA.NEWCONS'is required to be in the same schema as table 'APP.X'.
+ERROR 42X85: Constraint 'BADSCHEMA.NEWCONS'is required to be in the same schema as table 'X'.
 ij> -- two constriants, same name, different schema (second will fail)
 drop table x;
 0 rows inserted/updated/deleted
@@ -773,7 +773,7 @@
 ij> alter table x add constraint con check (x > 1);
 0 rows inserted/updated/deleted
 ij> alter table x add constraint newschema.con check (x > 1);
-ERROR 42X85: Constraint 'NEWSCHEMA.CON'is required to be in the same schema as table 'APP.X'.
+ERROR 42X85: Constraint 'NEWSCHEMA.CON'is required to be in the same schema as table 'X'.
 ij> select schemaname, constraintname from sys.sysconstraints c, sys.sysschemas s where s.schemaid = c.schemaid order by 1;
 SCHEMANAME                                                                                                                      |CONSTRAINTNAME                                                                                                                  
 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -842,7 +842,7 @@
 ij> alter table t1 drop constraint nosuchschema.C2;
 ERROR 42Y07: Schema 'NOSUCHSCHEMA' does not exist
 ij> alter table t1 add constraint emptyschema.C1_PLUS_C2 check ((c1 + c2) < 100);
-ERROR 42X85: Constraint 'EMPTYSCHEMA.C1_PLUS_C2'is required to be in the same schema as table 'APP.T1'.
+ERROR 42X85: Constraint 'EMPTYSCHEMA.C1_PLUS_C2'is required to be in the same schema as table 'T1'.
 ij> alter table t1 add constraint C1_PLUS_C2 check ((c1 + c2) < 100);
 0 rows inserted/updated/deleted
 ij> prepare alplus as 'alter table t1 drop constraint C1_PLUS_C2';

Modified: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/primarykey.out
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/primarykey.out?view=diff&r1=157031&r2=157032
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/primarykey.out (original)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/primarykey.out Thu Mar 10 18:34:19 2005
@@ -20,13 +20,13 @@
 ERROR 42X93: Table 'NEG' contains a constraint definition with column 'CX' which is not in the table.
 ij> -- invalid constraint schema name
 create table neg (c1 int not null, c2 int not null, constraint bar.pkneg primary key(c1, c2));
-ERROR 42X85: Constraint 'BAR.PKNEG'is required to be in the same schema as table 'APP.NEG'.
+ERROR 42X85: Constraint 'BAR.PKNEG'is required to be in the same schema as table 'NEG'.
 ij> create table neg (c1 int not null, c2 int not null, constraint sys.pkneg primary key(c1, c2));
-ERROR 42X85: Constraint 'SYS.PKNEG'is required to be in the same schema as table 'APP.NEG'.
+ERROR 42X85: Constraint 'SYS.PKNEG'is required to be in the same schema as table 'NEG'.
 ij> create table neg (c1 int not null constraint bar.pkneg primary key, c2 int);
-ERROR 42X85: Constraint 'BAR.PKNEG'is required to be in the same schema as table 'APP.NEG'.
+ERROR 42X85: Constraint 'BAR.PKNEG'is required to be in the same schema as table 'NEG'.
 ij> create table neg (c1 int not null constraint sys.pkneg primary key, c2 int);
-ERROR 42X85: Constraint 'SYS.PKNEG'is required to be in the same schema as table 'APP.NEG'.
+ERROR 42X85: Constraint 'SYS.PKNEG'is required to be in the same schema as table 'NEG'.
 ij> -- constraint names must be unique within a schema
 create table neg1(c1 int not null constraint asdf primary key);
 0 rows inserted/updated/deleted