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/07/20 18:22:21 UTC

svn commit: r423976 [1/2] - in /db/derby/code/trunk/java: client/org/apache/derby/client/am/ client/org/apache/derby/client/net/ drda/org/apache/derby/impl/drda/ engine/org/apache/derby/iapi/reference/ engine/org/apache/derby/impl/sql/compile/ testing/...

Author: rhillegas
Date: Thu Jul 20 09:22:18 2006
New Revision: 423976

URL: http://svn.apache.org/viewvc?rev=423976&view=rev
Log:
DERBY-1029: Commit derby-1029_v05.diff, backing out the BOOLEAN datatype introduced by DERBY-499.

Modified:
    db/derby/code/trunk/java/client/org/apache/derby/client/am/ColumnMetaData.java
    db/derby/code/trunk/java/client/org/apache/derby/client/am/CrossConverters.java
    db/derby/code/trunk/java/client/org/apache/derby/client/am/Cursor.java
    db/derby/code/trunk/java/client/org/apache/derby/client/am/DatabaseMetaData.java
    db/derby/code/trunk/java/client/org/apache/derby/client/am/SignedBinary.java
    db/derby/code/trunk/java/client/org/apache/derby/client/am/Types.java
    db/derby/code/trunk/java/client/org/apache/derby/client/net/NetStatementRequest.java
    db/derby/code/trunk/java/client/org/apache/derby/client/net/Typdef.java
    db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/AppRequester.java
    db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java
    db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/FdocaConstants.java
    db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/SQLTypes.java
    db/derby/code/trunk/java/engine/org/apache/derby/iapi/reference/DRDAConstants.java
    db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/sqlgrammar.jj
    db/derby/code/trunk/java/testing/build.xml
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/metadata.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/syscat.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/aggregate.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/cast.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/db2Compatibility.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/implicitConversions.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/logop.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/procedureInTrigger.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/schemas.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/subquery.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/valuesclause.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbylang.runall
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/junitTests/compatibility/JDBCDriverTest.java
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/junitTests/lang/BooleanTest.java
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/junitTests/lang/LangSuite.java
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/junitTests/lang/build.xml
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/junitTests/lang/default_app.properties
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/db2Compatibility.sql
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/logop.sql
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/procedureInTrigger.sql
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/schemas.sql

Modified: db/derby/code/trunk/java/client/org/apache/derby/client/am/ColumnMetaData.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/client/am/ColumnMetaData.java?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/am/ColumnMetaData.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/am/ColumnMetaData.java Thu Jul 20 09:22:18 2006
@@ -277,8 +277,6 @@
             checkForValidColumnIndex(column);
             int jdbcType = types_[column - 1];
             switch (jdbcType) {
-            case Types.BOOLEAN:
-                return 5;
             case Types.INTEGER:
                 return 11;
             case Types.SMALLINT:
@@ -533,9 +531,6 @@
             int sqlType = sqlType_[column - 1];
 
             switch (sqlType) {
-            case DRDAConstants.DB2_SQLTYPE_BOOLEAN:
-            case DRDAConstants.DB2_SQLTYPE_NBOOLEAN:
-                return "BOOLEAN";
             case DRDAConstants.DB2_SQLTYPE_DATE:
             case DRDAConstants.DB2_SQLTYPE_NDATE:
                 return "DATE";

Modified: db/derby/code/trunk/java/client/org/apache/derby/client/am/CrossConverters.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/client/am/CrossConverters.java?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/am/CrossConverters.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/am/CrossConverters.java Thu Jul 20 09:22:18 2006
@@ -1193,7 +1193,7 @@
     //---------------------------- getString*() methods --------------------------
 
     final String getStringFromBoolean(boolean source) throws SqlException {
-        return source ? "true" : "false";
+        return source ? "1" : "0";
     }
 
     final String getStringFromBytes(byte[] bytes) throws SqlException {

Modified: db/derby/code/trunk/java/client/org/apache/derby/client/am/Cursor.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/client/am/Cursor.java?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/am/Cursor.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/am/Cursor.java Thu Jul 20 09:22:18 2006
@@ -19,7 +19,6 @@
 */
 
 package org.apache.derby.client.am;
-import org.apache.derby.iapi.reference.JDBC30Translation;
 import org.apache.derby.shared.common.reference.SQLState;
 
 import java.sql.SQLException;
@@ -358,12 +357,6 @@
     //------- the following getters are called on known column types -------------
     // Direct conversions only, cross conversions are handled by another set of getters.
 
-    // Build a Java boolean from a 1-byte signed binary representation.
-    private final boolean get_BOOLEAN(int column) {
-        return org.apache.derby.client.am.SignedBinary.getBoolean(dataBuffer_,
-                columnDataPosition_[column - 1]);
-    }
-
     // Build a Java short from a 2-byte signed binary representation.
     private final short get_SMALLINT(int column) {
         return org.apache.derby.client.am.SignedBinary.getShort(dataBuffer_,
@@ -666,8 +659,6 @@
 
     final boolean getBoolean(int column) throws SqlException {
         switch (jdbcTypes_[column - 1]) {
-        case JDBC30Translation.BOOLEAN:
-            return get_BOOLEAN(column);
         case java.sql.Types.SMALLINT:
             return agent_.crossConverters_.getBooleanFromShort(get_SMALLINT(column));
         case java.sql.Types.INTEGER:
@@ -695,8 +686,6 @@
     final byte getByte(int column) throws SqlException {
         // This needs to be changed to use jdbcTypes[]
         switch (jdbcTypes_[column - 1]) {
-        case JDBC30Translation.BOOLEAN:
-            return agent_.crossConverters_.getByteFromBoolean( getBoolean(column) );
         case java.sql.Types.SMALLINT:
             return agent_.crossConverters_.getByteFromShort(get_SMALLINT(column));
         case java.sql.Types.INTEGER:
@@ -723,8 +712,6 @@
 
     final short getShort(int column) throws SqlException {
         switch (jdbcTypes_[column - 1]) {
-        case JDBC30Translation.BOOLEAN:
-            return agent_.crossConverters_.getShortFromBoolean( getBoolean(column) );
         case java.sql.Types.SMALLINT:
             return get_SMALLINT(column);
         case java.sql.Types.INTEGER:
@@ -751,8 +738,6 @@
 
     final int getInt(int column) throws SqlException {
         switch (jdbcTypes_[column - 1]) {
-        case JDBC30Translation.BOOLEAN:
-            return agent_.crossConverters_.getIntFromBoolean( getBoolean(column) );
         case java.sql.Types.SMALLINT:
             return (int) get_SMALLINT(column);
         case java.sql.Types.INTEGER:
@@ -779,8 +764,6 @@
 
     final long getLong(int column) throws SqlException {
         switch (jdbcTypes_[column - 1]) {
-        case JDBC30Translation.BOOLEAN:
-            return agent_.crossConverters_.getLongFromBoolean( getBoolean(column) );
         case java.sql.Types.SMALLINT:
             return (long) get_SMALLINT(column);
         case java.sql.Types.INTEGER:
@@ -807,8 +790,6 @@
 
     final float getFloat(int column) throws SqlException {
         switch (jdbcTypes_[column - 1]) {
-        case JDBC30Translation.BOOLEAN:
-            return agent_.crossConverters_.getFloatFromBoolean( getBoolean(column) );
         case java.sql.Types.REAL:
             return get_FLOAT(column);
         case java.sql.Types.DOUBLE:
@@ -835,8 +816,6 @@
 
     final double getDouble(int column) throws SqlException {
         switch (jdbcTypes_[column - 1]) {
-        case JDBC30Translation.BOOLEAN:
-            return agent_.crossConverters_.getDoubleFromBoolean( getBoolean(column) );
         case java.sql.Types.REAL:
             double d = (double) get_FLOAT(column);
             return d;
@@ -865,8 +844,6 @@
 
     final java.math.BigDecimal getBigDecimal(int column) throws SqlException {
         switch (jdbcTypes_[column - 1]) {
-        case JDBC30Translation.BOOLEAN:
-            return agent_.crossConverters_.getBigDecimalFromBoolean( getBoolean(column) );
         case java.sql.Types.DECIMAL:
             return get_DECIMAL(column);
         case java.sql.Types.REAL:
@@ -951,8 +928,6 @@
         try {
             String tempString = null;
             switch (jdbcTypes_[column - 1]) {
-            case JDBC30Translation.BOOLEAN:
-                return agent_.crossConverters_.getStringFromBoolean( getBoolean(column) );
             case java.sql.Types.CHAR:
                 return getCHAR(column);
             case java.sql.Types.VARCHAR:
@@ -1216,8 +1191,6 @@
 
     public final Object getObject(int column) throws SqlException {
         switch (jdbcTypes_[column - 1]) {
-        case JDBC30Translation.BOOLEAN:
-            return new Boolean( getBoolean(column) );
         case java.sql.Types.SMALLINT:
             return new Integer(get_SMALLINT(column)); // See Table 4 in JDBC 1 spec (pg. 932 in jdbc book)
         case java.sql.Types.INTEGER:

Modified: db/derby/code/trunk/java/client/org/apache/derby/client/am/DatabaseMetaData.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/client/am/DatabaseMetaData.java?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/am/DatabaseMetaData.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/am/DatabaseMetaData.java Thu Jul 20 09:22:18 2006
@@ -2271,13 +2271,11 @@
     private boolean getMetaDataInfoBoolean(int infoCallIndex) throws SQLException {
         try
         {
-            if ( !metaDataInfoIsCached_) { metaDataInfoCall(); }
-
-            // account for fact that after 10.2 booleans are really booleans, not ints.
-            Object	metadataScrap = metaDataInfoCache_[infoCallIndex];
-
-            if ( metadataScrap instanceof Boolean ) { return ((Boolean) metadataScrap).booleanValue(); }
-            else { return ((Integer) metadataScrap).intValue() != 0; }
+			if (metaDataInfoIsCached_) {
+				return ((Integer) metaDataInfoCache_[infoCallIndex]).intValue() != 0;
+			}
+			metaDataInfoCall();
+			return ((Integer) metaDataInfoCache_[infoCallIndex]).intValue() != 0;
         }
         catch ( SqlException se )
         {

Modified: db/derby/code/trunk/java/client/org/apache/derby/client/am/SignedBinary.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/client/am/SignedBinary.java?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/am/SignedBinary.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/am/SignedBinary.java Thu Jul 20 09:22:18 2006
@@ -34,15 +34,6 @@
      */
     public final static int LITTLE_ENDIAN = 2;
 
-     /**
-     * Build a Java boolean from a byte.
-     *
-     */
-    public static final boolean getBoolean(byte[] buffer, int offset) {
-		if ( buffer[ offset ] == 0 ) { return false; }
-		else { return true; }
-    }
-	
     /**
      * Build a Java short from a 2-byte signed binary representation.
      *

Modified: db/derby/code/trunk/java/client/org/apache/derby/client/am/Types.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/client/am/Types.java?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/am/Types.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/am/Types.java Thu Jul 20 09:22:18 2006
@@ -121,8 +121,6 @@
 
     static public int mapDERBYTypeToDriverType(boolean isDescribed, int sqlType, long length, int ccsid) {
         switch (Utils.getNonNullableSqlType(sqlType)) { // mask the isNullable bit
-        case DRDAConstants.DB2_SQLTYPE_BOOLEAN:
-            return BOOLEAN;
         case DRDAConstants.DB2_SQLTYPE_SMALL:
             return SMALLINT;
         case DRDAConstants.DB2_SQLTYPE_INTEGER:

Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/NetStatementRequest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/client/net/NetStatementRequest.java?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/NetStatementRequest.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/NetStatementRequest.java Thu Jul 20 09:22:18 2006
@@ -1044,9 +1044,6 @@
                     lidAndLengths[i][1] = 4;
                     break;
                 case java.sql.Types.BOOLEAN:
-                    lidAndLengths[i][0] = DRDAConstants.DRDA_TYPE_NBOOLEAN;
-                    lidAndLengths[i][1] = 1;
-                    break;
                 case java.sql.Types.SMALLINT:
                 case java.sql.Types.TINYINT:
                 case java.sql.Types.BIT:

Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/Typdef.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/client/net/Typdef.java?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/Typdef.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/Typdef.java Thu Jul 20 09:22:18 2006
@@ -680,10 +680,6 @@
         new FdocaSimpleDataArray(0xCE, FdocaConstants.FDOCA_TYPE_LOBCHAR, Cursor.MBCS_CLOB, CCSIDMBC, 1, 1, 8, LOBLENGTH),
         /* 0xCF null Large object char MBCS */
         new FdocaSimpleDataArray(0xCF, FdocaConstants.FDOCA_TYPE_NLOBCHAR, Cursor.MBCS_CLOB, CCSIDMBC, 1, 1, 8, LOBLENGTH),
-        /* 0xD0 boolean */
-        new FdocaSimpleDataArray(DRDAConstants.DRDA_TYPE_BOOLEAN, FdocaConstants.FDOCA_TYPE_INTEGER_BE, SignedBinary.BIG_ENDIAN, NOCCSID, 0, 0, 1, FIXEDLENGTH),
-        /* 0xD1 null boolean */
-        new FdocaSimpleDataArray(DRDAConstants.DRDA_TYPE_NBOOLEAN, FdocaConstants.FDOCA_TYPE_NINTEGER_BE, SignedBinary.BIG_ENDIAN, NOCCSID, 0, 0, 1, FIXEDLENGTH),
     };
 
     private static final int[] protocolToJdbcTypes_ = {
@@ -896,8 +892,6 @@
         0x00,
         java.sql.Types.CLOB, // 0xCE Large object char MBCS
         java.sql.Types.CLOB, // 0xCF null Large object char MBCS
-		JDBC30Translation.BOOLEAN, // 0xD0 boolean
-		JDBC30Translation.BOOLEAN, // 0xD1 null boolean
     };
 
 

Modified: db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/AppRequester.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/AppRequester.java?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/AppRequester.java (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/AppRequester.java Thu Jul 20 09:22:18 2006
@@ -120,19 +120,6 @@
 	}
 
 	/**
-	 * Returns true if the client supports Derby's protocol for
-	 * transmitting BOOLEAN values.
-	 */
-	protected	boolean	supportsBoolean()
-	{
-		return
-			(
-			    ( clientType == DNC_CLIENT ) &&
-			    ( greaterThanOrEqualTo( 10, 2, 0 ) )
-			);
-	}
-
-	/**
 	 * Check if the client expects QRYCLSIMP to be supported when the
 	 * protocol is LMTBLKPRC.
 	 *

Modified: db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DRDAConnThread.java Thu Jul 20 09:22:18 2006
@@ -5985,7 +5985,7 @@
 			int colType = (hasRs ? rsmeta.getColumnType(i) : pmeta.getParameterType(i));
 			int[] outlen = {-1};
 			int drdaType =
-				(hasRs ?FdocaConstants.mapJdbcTypeToDrdaType(appRequester,colType,nullable,outlen): 
+				(hasRs ?FdocaConstants.mapJdbcTypeToDrdaType(colType,nullable,outlen): 
 				 stmt.getParamDRDAType(i));
 
 			boolean isDecimal = ((drdaType | 1) == DRDAConstants.DRDA_TYPE_NDECIMAL);
@@ -6723,8 +6723,7 @@
 										ResultSetMetaData.columnNullable) : 
 			(pmeta.isNullable(jdbcElemNum) == JDBC30Translation.PARAMETER_NULLABLE);
 		
-		int sqlType = SQLTypes.mapJdbcTypeToDB2SqlType(appRequester,
-													   elemType,
+		int sqlType = SQLTypes.mapJdbcTypeToDB2SqlType(elemType,
 													   nullable,
 													   outlen);
 		
@@ -6948,9 +6947,6 @@
 			long valLength = 0;
 			switch (ndrdaType)
 			{
-			    case DRDAConstants.DRDA_TYPE_NBOOLEAN:
-					writer.writeByte( makeInt( (Boolean) val ) );
-					break;
 			    case DRDAConstants.DRDA_TYPE_NSMALL:
  					// DB2 does not have a BOOLEAN java.sql.bit type,
 					// so we need to send it as a small
@@ -7045,17 +7041,6 @@
 					writer.writeLDString(val.toString(), index);
 			}
 		}
-	}
-
- 	/**
-	 * turn a boolean into an int
-	 * @param val	boolean value
-	 * 
-	 **/
-	private	int	makeInt( Boolean val )
-	{
-		if ( val.booleanValue() ) { return 1; }
-		else { return 0; }
 	}
 
 	/**

Modified: db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/FdocaConstants.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/FdocaConstants.java?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/FdocaConstants.java (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/FdocaConstants.java Thu Jul 20 09:22:18 2006
@@ -132,18 +132,13 @@
 	 * @param outlen - output parameter with length of type.
 	 * @return standard drdaTypeLength. -1 if we don't know.
 	 **/
-	protected static int mapJdbcTypeToDrdaType(AppRequester appRequester, int jdbcType, boolean nullable,
+	protected static int mapJdbcTypeToDrdaType(int jdbcType, boolean nullable,
 											   int[] outlen)
 		throws SQLException
 	{
-		jdbcType = clipJdbcType( appRequester, jdbcType );
-
 		int drdaType = 0;
 		switch (jdbcType) {
 			case JDBC30Translation.BOOLEAN:
-				drdaType = DRDAConstants.DRDA_TYPE_NBOOLEAN;
-				outlen[0] = 1;
-				break;
 			case java.sql.Types.BIT:
 			case java.sql.Types.TINYINT:
 			case java.sql.Types.SMALLINT:
@@ -244,22 +239,5 @@
 		return drdaType;
 	}
 
-	/***
-	 * Convert the jdbcType to one which we know how to exchange with
-	 * the client. This depends on the version of the client.
-	 **/
-	protected	static	int	clipJdbcType( AppRequester appRequester, int original )
-	{
-		switch ( original )
-		{
-			case JDBC30Translation.BOOLEAN:
-
-				if ( appRequester.supportsBoolean() ) { return original; }
-				else { return java.sql.Types.BIT; }
-
-		    default:	return original;
-		}
-
-	}
 
 }

Modified: db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/SQLTypes.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/SQLTypes.java?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/SQLTypes.java (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/SQLTypes.java Thu Jul 20 09:22:18 2006
@@ -48,8 +48,6 @@
   static protected int mapDB2SqlTypeToJdbcType (int sqlType, long length, int ccsid)
   {
     switch (getNonNullableSqlType (sqlType)) { // mask the isNullable bit
-    case DRDAConstants.DB2_SQLTYPE_BOOLEAN:
-      return JDBC30Translation.BOOLEAN;
     case DRDAConstants.DB2_SQLTYPE_SMALL:
       return java.sql.Types.SMALLINT;
     case DRDAConstants.DB2_SQLTYPE_INTEGER:
@@ -132,7 +130,7 @@
   * @exception SQLException thrown for unrecognized SQLType
   */
 
- static protected int mapJdbcTypeToDB2SqlType (AppRequester appRequester, int jdbctype, boolean nullable,
+ static protected int mapJdbcTypeToDB2SqlType (int jdbctype, boolean nullable,
 											   int[] outlen)
 	 throws SQLException
   {
@@ -142,14 +140,11 @@
 		  nullAddVal =1; 
 	  
 	  // Call FdocaConstants just to get the length
-	  FdocaConstants.mapJdbcTypeToDrdaType( appRequester, jdbctype,nullable,outlen);
+	  FdocaConstants.mapJdbcTypeToDrdaType(jdbctype,nullable,outlen);
 
-	  jdbctype = FdocaConstants.clipJdbcType( appRequester, jdbctype );
-	  
 	  switch(jdbctype)
 	  {
 		  case JDBC30Translation.BOOLEAN:
-			  return DRDAConstants.DB2_SQLTYPE_BOOLEAN + nullAddVal;
 		  case java.sql.Types.BIT:
 		  case java.sql.Types.TINYINT:
 		  case java.sql.Types.SMALLINT:

Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/reference/DRDAConstants.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/iapi/reference/DRDAConstants.java?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/iapi/reference/DRDAConstants.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/reference/DRDAConstants.java Thu Jul 20 09:22:18 2006
@@ -139,8 +139,8 @@
 	// publishes an addendum to the DRDA spec covering these
 	// datatypes.
 	
-	public	static final int DRDA_TYPE_BOOLEAN = 0xD0;
-	public	static final int DRDA_TYPE_NBOOLEAN = 0xD1;
+	// public	static final int DRDA_TYPE_BOOLEAN = 0xBE;
+	// public	static final int DRDA_TYPE_NBOOLEAN = 0xBF;
 	
 	///////////////////////
 	//
@@ -209,7 +209,7 @@
 	public	static final  int DB2_SQLTYPE_NDBCLOB_LOCATOR = 969;
 
 	// extensions to the db2 datatypes
-    public	static final  int DB2_SQLTYPE_BOOLEAN = 1000;     // BOOLEAN
-    public	static final  int DB2_SQLTYPE_NBOOLEAN = 1001;
+    // public	static final  int DB2_SQLTYPE_BOOLEAN = 1000;     // BOOLEAN
+    // public	static final  int DB2_SQLTYPE_NBOOLEAN = 1001;
 
 }

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/sqlgrammar.jj
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/sqlgrammar.jj?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/sqlgrammar.jj (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/sqlgrammar.jj Thu Jul 20 09:22:18 2006
@@ -3313,7 +3313,7 @@
 	ResultSetNode		resultSetNode = null;
 }
 {
-	<CALL> value = primaryExpression()
+	<CALL> value = primaryExpression( true )
 	{
 		if (! (value instanceof JavaToSQLValueNode) ||
 			! (((JavaToSQLValueNode) value).getJavaValueNode() instanceof MethodCallNode))
@@ -3380,8 +3380,10 @@
 /*
  * <A NAME="primaryExpression">primaryExpression</A>
  * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
-ValueNode primaryExpression() throws StandardException :
+ValueNode primaryExpression( boolean inSelectClause ) throws StandardException :
 {
 	ValueNode			value = null;
 }
@@ -3397,7 +3399,7 @@
 		return value;
 	}
 |
-	value = primaryExpressionXX()
+	value = primaryExpressionXX( inSelectClause )
 	{
 		return value;
 	}
@@ -3754,6 +3756,7 @@
 	typeDescriptor = datetimeType()
 | <BOOLEAN>
 {
+	checkInternalFeature(TypeId.BOOLEAN_NAME);
 	typeDescriptor = new DataTypeDescriptor(TypeId.BOOLEAN_ID, true);
 }
 |
@@ -4937,7 +4940,7 @@
 {
 	//true to additiveExpression ensures that for the derived columns, we will not allow boolean values inside (), 
 	//eg (2 > 1) should be disallowed in the select clause
-	columnExpression = additiveExpression(null, 0) 
+	columnExpression = additiveExpression(null, 0, true) 
 			[ columnName = asClause() ]
 	{ 
 		/*
@@ -4977,15 +4980,17 @@
 /*
  * <A NAME="valueExpression">valueExpression</A>
  * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode
-valueExpression() throws StandardException :
+valueExpression( boolean inSelectClause ) throws StandardException :
 {
 	ValueNode	leftOperand;
 }
 {
-	leftOperand = orExpression(null)
-		(<OR> leftOperand = orExpression(leftOperand) ) *
+	leftOperand = orExpression(null, inSelectClause)
+		(<OR> leftOperand = orExpression(leftOperand, inSelectClause) ) *
 	{
 
 		return leftOperand;
@@ -4994,15 +4999,18 @@
 	
 /*
  * <A NAME="orExpression">orExpression</A>
+ * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode
-orExpression(ValueNode farLeftOperand) throws StandardException :
+orExpression(ValueNode farLeftOperand, boolean inSelectClause) throws StandardException :
 {
 	ValueNode	leftOperand;
 }
 {
-	leftOperand = andExpression(null)
-		(<AND> leftOperand = andExpression(leftOperand)) *
+	leftOperand = andExpression(null, inSelectClause)
+		(<AND> leftOperand = andExpression(leftOperand, inSelectClause)) *
 	{
 		if (farLeftOperand == null)
 		{
@@ -5021,9 +5029,12 @@
 
 /*
  * <A NAME="andExpression">andExpression</A>
+ * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode
-andExpression(ValueNode farLeftOperand) throws StandardException :
+andExpression(ValueNode farLeftOperand, boolean inSelectClause) throws StandardException :
 {
 	Token		tok = null;
 	ValueNode	test;
@@ -5031,7 +5042,7 @@
 {
 	//LOOKAHEAD required to tell that NOT is not part of a class name
 	[ LOOKAHEAD({getToken(1).kind == NOT && !(getToken(2).kind == PERIOD ||
-			getToken(2).kind == DOUBLE_COLON)}) tok = <NOT> ] test = isSearchCondition() 
+			getToken(2).kind == DOUBLE_COLON)}) tok = <NOT> ] test = isSearchCondition(inSelectClause) 
 	{
 		/* Put the NOT on top of test */
 		if (tok != null)
@@ -5056,9 +5067,12 @@
 
 /*
  * <A NAME="isSearchCondition">isSearchCondition</A>
+ * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode
-isSearchCondition() throws StandardException :
+isSearchCondition( boolean inSelectClause ) throws StandardException :
 {
 	ValueNode	result;
 	ValueNode	booleanPrimary;
@@ -5067,7 +5081,7 @@
 	Token		truthValue = null;
 }
 {
-	booleanPrimary = booleanPrimary()
+	booleanPrimary = booleanPrimary(inSelectClause)
 	[
 		isToken = <IS> [ notToken = <NOT> ] <NULL>
 	]
@@ -5096,15 +5110,18 @@
 
 /*
  * <A NAME="booleanPrimary">booleanPrimary</A>
+ * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode
-booleanPrimary() throws StandardException :
+booleanPrimary(boolean inSelectClause) throws StandardException :
 {
 	ValueNode	primary;
 	ValueNode	searchCondition;
 }
 {
-	primary = predicate()
+	primary = predicate(inSelectClause)
 	{
 		return	primary;
 	}
@@ -5112,15 +5129,18 @@
 
 /*
  * <A NAME="predicate">predicate</A>
+ * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode
-predicate() throws StandardException :
+predicate( boolean inSelectClause ) throws StandardException :
 {
 	ValueNode	value;
 }
 {
 	(
-		value = additiveExpression(null, 0) |
+		value = additiveExpression(null, 0, inSelectClause) |
 		value = existsExpression()
 	)
 	(
@@ -5128,7 +5148,7 @@
 		// start with NOT, and what follows a predicate() can also start
 		// with NOT
 		LOOKAHEAD( { remainingPredicateFollows() } )
-		value = remainingPredicate(value)
+		value = remainingPredicate(value, inSelectClause)
 	)*
 	{
 		return value;
@@ -5150,19 +5170,22 @@
 
 /*
  * <A NAME="remainingPredicates">remainingPredicates</A>
+ * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode
-remainingPredicate(ValueNode value) throws StandardException :
+remainingPredicate(ValueNode value, boolean inSelectClause) throws StandardException :
 {
 	Token tok = null;
 }
 {
-	value = remainingNonNegatablePredicate(value)
+	value = remainingNonNegatablePredicate(value, inSelectClause)
 	{
 		return value;
 	}
 |
-	[ tok = <NOT> ] value = remainingNegatablePredicate(value)
+	[ tok = <NOT> ] value = remainingNegatablePredicate(value, inSelectClause)
 	{
 		/* Put the NOT on top of the tree */
 		if (tok != null)
@@ -5179,9 +5202,12 @@
 
 /*
  * <A NAME="remainingNonNegatablePredicate">remainingNonNegatablePredicate</A>
+ * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode 
-remainingNonNegatablePredicate(ValueNode leftOperand) throws StandardException :
+remainingNonNegatablePredicate(ValueNode leftOperand, boolean inSelectClause) throws StandardException :
 {
 	int			operator;
 	String		javaClassName;
@@ -5206,7 +5232,7 @@
 		)
 		|
 		(
-			leftOperand = additiveExpression(leftOperand, operator)
+			leftOperand = additiveExpression(leftOperand, operator, inSelectClause)
 		)
 	)
 	{
@@ -5216,9 +5242,12 @@
 
 /*
  * <A NAME="remainingNegatablePredicate">remainingNegatablePredicate</A>
+ * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode 
-remainingNegatablePredicate(ValueNode leftOperand) throws StandardException :
+remainingNegatablePredicate(ValueNode leftOperand, boolean inSelectClause) throws StandardException :
 {
 	ValueNode	tree = null;
 	ValueNode	likePattern;
@@ -5232,10 +5261,10 @@
 		return tree;
 	}
 |
-	<LIKE> likePattern = additiveExpression(null, 0)
+	<LIKE> likePattern = additiveExpression(null, 0, inSelectClause)
             [
-                <ESCAPE> escapeValue = additiveExpression(null, 0) |
-                <LEFT_BRACE> <ESCAPE> escapeValue = additiveExpression(null, 0) <RIGHT_BRACE>
+                <ESCAPE> escapeValue = additiveExpression(null, 0, inSelectClause) |
+                <LEFT_BRACE> <ESCAPE> escapeValue = additiveExpression(null, 0, inSelectClause) <RIGHT_BRACE>
             ]
 	{
 		tree = (ValueNode) nodeFactory.getNode(
@@ -5248,8 +5277,8 @@
 		return tree;
 	}
 |
-	<BETWEEN> betweenLeft = additiveExpression(null, 0) <AND>
-			betweenRight = additiveExpression(null, 0)
+	<BETWEEN> betweenLeft = additiveExpression(null, 0, inSelectClause) <AND>
+			betweenRight = additiveExpression(null, 0, inSelectClause)
 	{
 		ValueNodeList betweenList = (ValueNodeList) nodeFactory.getNode(
 													C_NodeTypes.VALUE_NODE_LIST,
@@ -5311,18 +5340,21 @@
 
 /*
  * <A NAME="additiveExpression">additiveExpression</A>
+ * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode
-additiveExpression(ValueNode farLeftOperand, int compOp) throws StandardException :
+additiveExpression(ValueNode farLeftOperand, int compOp, boolean inSelectClause) throws StandardException :
 {
 	ValueNode	leftOperand;
 	int			operator;
 	int			nodeType;
 }
 {
-	leftOperand = multiplicativeExpression(null, 0)  			
+	leftOperand = multiplicativeExpression(null, 0, inSelectClause)  			
 			(operator = additiveOperator() 			 
-				leftOperand = multiplicativeExpression(leftOperand, operator) )*
+				leftOperand = multiplicativeExpression(leftOperand, operator, inSelectClause) )*
 	{
 		if (farLeftOperand == null)
 			return leftOperand;
@@ -5389,17 +5421,20 @@
 
 /*
  * <A NAME="multiplicativeExpression">multiplicativeExpression</A>
+ * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode
-multiplicativeExpression(ValueNode farLeftOperand, int additiveOperator) throws StandardException :
+multiplicativeExpression(ValueNode farLeftOperand, int additiveOperator, boolean inSelectClause) throws StandardException :
 {
 	ValueNode	leftOperand;
 	int			multOp;
 }
 {
-	leftOperand = unaryExpression(null, 0) 
+	leftOperand = unaryExpression(null, 0, inSelectClause) 
 				(multOp = multiplicativeOperator() 
-				 leftOperand = unaryExpression(leftOperand, multOp) )*
+				 leftOperand = unaryExpression(leftOperand, multOp, inSelectClause) )*
 	{
 		if (farLeftOperand == null)
 			return leftOperand;
@@ -5455,9 +5490,12 @@
 
 /*
  * <A NAME="unaryExpression">unaryExpression</A>
+ * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode
-unaryExpression(ValueNode farLeftOperand, int multiplicativeOperator) throws StandardException :
+unaryExpression(ValueNode farLeftOperand, int multiplicativeOperator, boolean inSelectClause) throws StandardException :
 {
 	ValueNode	value;
 	String		sign = null;
@@ -5480,7 +5518,7 @@
 				   } )
 		sign = sign()
 	]
-	value = primaryExpression()
+	value = primaryExpression(inSelectClause)
 	{
 		if ("-".equals(sign))
 		{
@@ -5533,14 +5571,17 @@
 
 /*
  * <A NAME="primaryExpressionXX">primaryExpressionXX</A>
+ * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode
-primaryExpressionXX() throws StandardException :
+primaryExpressionXX( boolean inSelectClause ) throws StandardException :
 {
 	ValueNode	value;
 }
 {
-	value = primary()
+	value = primary(inSelectClause)
 	  ( value = nonStaticMethodCallOrFieldAccess(value)) *	
 	{
 		return value;
@@ -5693,7 +5734,7 @@
 	ValueNode	parameter;
 }
 {
-	parameter = additiveExpression(null,0)
+	parameter = additiveExpression(null,0, false)
 	{
 		parameterList.addElement(parameter);
 	}
@@ -5706,9 +5747,12 @@
 
 /*
  * <A NAME="primary">primary</A>
+ * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode
-primary() throws StandardException :
+primary(boolean inSelectClause) throws StandardException :
 {
 	String		javaClassName;
 	ValueNode	value;
@@ -5722,7 +5766,7 @@
 		return value;
 	}
 |
-	value = valueExpressionPrimary()
+	value = valueExpressionPrimary(inSelectClause)
 	{
 		return value;
 	}
@@ -5839,7 +5883,7 @@
 	}
 |
 	/* Escaped function substring() */
-    <SUBSTRING> <LEFT_PAREN> value = additiveExpression(null, 0) <COMMA> startPosition = additiveExpression(null, 0) [ <COMMA> length = additiveExpression(null, 0) ] <RIGHT_PAREN>
+    <SUBSTRING> <LEFT_PAREN> value = additiveExpression(null, 0, false) <COMMA> startPosition = additiveExpression(null, 0, false) [ <COMMA> length = additiveExpression(null, 0, false) ] <RIGHT_PAREN>
 	{
         return getSubstringNode(value, startPosition, length, Boolean.FALSE);
 	}
@@ -5867,8 +5911,8 @@
     /* CONCAT( string1, string2 )
      * CONCAT is not a reserved word.
      */
-    <CONCAT> <LEFT_PAREN> str1 = additiveExpression(null,0) <COMMA> 
-            str2 = additiveExpression(null,0) <RIGHT_PAREN>
+    <CONCAT> <LEFT_PAREN> str1 = additiveExpression(null,0, false) <COMMA> 
+            str2 = additiveExpression(null,0, false) <RIGHT_PAREN>
     {
         return (ValueNode) nodeFactory.getNode(
                             C_NodeTypes.CONCATENATION_OPERATOR_NODE,
@@ -5957,8 +6001,8 @@
 }
 {
     <TIMESTAMPADD> <LEFT_PAREN> intervalType = jdbcIntervalType() <COMMA>
-       count = additiveExpression(null,0) <COMMA>
-       tstamp1 = additiveExpression(null,0) <RIGHT_PAREN>
+       count = additiveExpression(null,0,false) <COMMA>
+       tstamp1 = additiveExpression(null,0,false) <RIGHT_PAREN>
     {
         return (ValueNode) nodeFactory.getNode( C_NodeTypes.TIMESTAMP_ADD_FN_NODE,
                                                 tstamp1,
@@ -5970,8 +6014,8 @@
     }
 |
     <TIMESTAMPDIFF> <LEFT_PAREN> intervalType = jdbcIntervalType() <COMMA>
-       tstamp1 = additiveExpression(null,0) <COMMA>
-       tstamp2 = additiveExpression(null,0) <RIGHT_PAREN>
+       tstamp1 = additiveExpression(null,0,false) <COMMA>
+       tstamp2 = additiveExpression(null,0,false) <RIGHT_PAREN>
     {
         return (ValueNode) nodeFactory.getNode( C_NodeTypes.TIMESTAMP_DIFF_FN_NODE,
                                                 tstamp2,
@@ -6061,7 +6105,7 @@
 		return value;
     }
 |
-    <SQRT> <LEFT_PAREN> value = additiveExpression(null,0) <RIGHT_PAREN>
+    <SQRT> <LEFT_PAREN> value = additiveExpression(null,0,false) <RIGHT_PAREN>
     {
         return (ValueNode)nodeFactory.getNode(
                 C_NodeTypes.SQRT_OPERATOR_NODE,
@@ -6117,7 +6161,7 @@
 	ValueNode	expression;
 }
 {
-	expression = additiveExpression(null,0)
+	expression = additiveExpression(null,0,false)
 	{
 		expressionList.addElement(expression);
 	}
@@ -6132,7 +6176,7 @@
     ValueNode value;
 }
 {
-    <LEFT_PAREN> value = additiveExpression(null,0) <RIGHT_PAREN>
+    <LEFT_PAREN> value = additiveExpression(null,0, false) <RIGHT_PAREN>
     {
         return (ValueNode)nodeFactory.getNode(
                 C_NodeTypes.ABSOLUTE_OPERATOR_NODE,
@@ -6150,8 +6194,8 @@
 	ValueNode int2;
 }
 {
-    <LEFT_PAREN> int1 = additiveExpression(null,0) <COMMA> 
-            int2 = additiveExpression(null,0) <RIGHT_PAREN>
+    <LEFT_PAREN> int1 = additiveExpression(null,0,false) <COMMA> 
+            int2 = additiveExpression(null,0,false) <RIGHT_PAREN>
     {
         return (ValueNode)nodeFactory.getNode(
                 C_NodeTypes.MOD_OPERATOR_NODE,
@@ -6193,12 +6237,12 @@
     ValueNode	length = null;
 }
 {
-	<SUBSTR> <LEFT_PAREN> value = additiveExpression(null,0) <COMMA> startPosition = additiveExpression(null,0) [ <COMMA> length = additiveExpression(null,0) ] <RIGHT_PAREN>
+	<SUBSTR> <LEFT_PAREN> value = additiveExpression(null,0,false) <COMMA> startPosition = additiveExpression(null,0,false) [ <COMMA> length = additiveExpression(null,0,false) ] <RIGHT_PAREN>
 	{
         return getSubstringNode( value, startPosition, length, Boolean.FALSE );
 	}
 |
-	( upperTok = <UPPER> | lowerTok = <LOWER> ) <LEFT_PAREN> value = additiveExpression(null,0) <RIGHT_PAREN>
+	( upperTok = <UPPER> | lowerTok = <LOWER> ) <LEFT_PAREN> value = additiveExpression(null,0,false) <RIGHT_PAREN>
 	{
 		return (ValueNode) nodeFactory.getNode(
 					C_NodeTypes.SIMPLE_STRING_OPERATOR_NODE,
@@ -6207,7 +6251,7 @@
 					getContextManager());
 	}
 |
-	( upperTok = <UCASE> | lowerTok = <LCASE> ) <LEFT_PAREN> value = additiveExpression(null,0) <RIGHT_PAREN>
+	( upperTok = <UCASE> | lowerTok = <LCASE> ) <LEFT_PAREN> value = additiveExpression(null,0,false) <RIGHT_PAREN>
 	{
 		return (ValueNode) nodeFactory.getNode(
 					C_NodeTypes.SIMPLE_STRING_OPERATOR_NODE,
@@ -6224,9 +6268,9 @@
     /* LOCATE( string1, string2[, start] )
      * LOCATE is a SQLJ reserved word.
      */
-    <LOCATE> <LEFT_PAREN> str1 = additiveExpression(null,0) <COMMA>
-            str2 = additiveExpression(null,0)
-            [ <COMMA> value = additiveExpression(null,0) ]
+    <LOCATE> <LEFT_PAREN> str1 = additiveExpression(null,0,false) <COMMA>
+            str2 = additiveExpression(null,0,false)
+            [ <COMMA> value = additiveExpression(null,0,false) ]
             <RIGHT_PAREN>
     {
 		// if start is missing, start is equal to 1
@@ -6253,7 +6297,7 @@
 	Integer		trimType;
 }
 {
-	trimType = trimType() <LEFT_PAREN> source = additiveExpression(null,0) <RIGHT_PAREN>
+	trimType = trimType() <LEFT_PAREN> source = additiveExpression(null,0,false) <RIGHT_PAREN>
 	{
 		return (ValueNode) nodeFactory.getNode(
 									C_NodeTypes.TRIM_OPERATOR_NODE,
@@ -6283,9 +6327,12 @@
 
 /*
  * <A NAME="valueExpressionPrimary">valueExpressionPrimary</A>
+ * 
+ * @param inSelectClause will be true if this method got called while parsing the select or values clause
+ * If in select or values clause, we do not want to allow boolean values.
  */
 ValueNode
-valueExpressionPrimary() throws StandardException :
+valueExpressionPrimary(boolean inSelectClause) throws StandardException :
 {
 	ValueNode	value;
 	int			tokKind;
@@ -6372,10 +6419,10 @@
 		** is supplied.
 		*/
 		// without the following check, select/values (c1>c2) will not be caught
-		//LOOKAHEAD({inSelectClause})
-		//value = additiveExpression(null,0)
-		//|
-		value = valueExpression()
+		LOOKAHEAD({inSelectClause})
+		value = additiveExpression(null,0, inSelectClause)
+		| //following will happen if we are not coming here for select/values clause
+		value = valueExpression(inSelectClause)
 	)
 	<RIGHT_PAREN>
 	{
@@ -6519,7 +6566,7 @@
 		return value;
 	}
 |
-	<LENGTH> <LEFT_PAREN> value = additiveExpression(null,0) <RIGHT_PAREN>
+	<LENGTH> <LEFT_PAREN> value = additiveExpression(null,0, false) <RIGHT_PAREN>
 	{
 		ContextManager	localCM = getContextManager();
                 if( isJDBCEscape)
@@ -6567,7 +6614,7 @@
 		return value;
 	}
 	|
-	 dts = numericFunctionType() <LEFT_PAREN> operand = additiveExpression(null,0) <RIGHT_PAREN>
+	 dts = numericFunctionType() <LEFT_PAREN> operand = additiveExpression(null,0, false) <RIGHT_PAREN>
 	  {
 			value = (ValueNode) nodeFactory.getNode(
 									C_NodeTypes.CAST_NODE,
@@ -6578,7 +6625,7 @@
 
 			return value;
 	  }
-	 | charType = charOrVarchar() <LEFT_PAREN> operand = additiveExpression(null,0) [ <COMMA> length = length() ] <RIGHT_PAREN>
+	 | charType = charOrVarchar() <LEFT_PAREN> operand = additiveExpression(null,0, false) [ <COMMA> length = length() ] <RIGHT_PAREN>
 	{
 		// Always check db2 limits for this function. It's new
 		checkTypeLimits(charType,length);
@@ -6659,7 +6706,7 @@
 	boolean wsOption;
 }
 {
-	value = additiveExpression(null,0) wsOption = xmlPreserveWhitespace() {
+	value = additiveExpression(null,0,false) wsOption = xmlPreserveWhitespace() {
 		return (ValueNode) nodeFactory.getNode(
 					C_NodeTypes.XML_PARSE_OPERATOR_NODE,
 					value,
@@ -6722,7 +6769,7 @@
 	DataTypeDescriptor targetType;
 }
 {
-	value = additiveExpression(null,0)
+	value = additiveExpression(null,0,false)
 		targetType = xmlSerializeTargetType()
 	{
 		return (ValueNode) nodeFactory.getNode(
@@ -6785,8 +6832,8 @@
 	ValueNode xmlValue;
 }
 {
-	xpathExpr = additiveExpression(null,0)
-		xmlPassingMechanism() xmlValue = additiveExpression(null, 0)
+	xpathExpr = additiveExpression(null,0,false)
+		xmlPassingMechanism() xmlValue = additiveExpression(null, 0, false)
 	{
 		return (ValueNode) nodeFactory.getNode(
 					C_NodeTypes.XML_EXISTS_OPERATOR_NODE,
@@ -6862,7 +6909,7 @@
      * NOTE: If you add a new rule here, you must add the appropriate
      *    LOOKAHEAD rule to miscBuiltins().
      */
-        <TIME> <LEFT_PAREN> value = additiveExpression(null,0) <RIGHT_PAREN>
+        <TIME> <LEFT_PAREN> value = additiveExpression(null,0, false) <RIGHT_PAREN>
 	{
 		return (ValueNode) nodeFactory.getNode(
 							C_NodeTypes.CAST_NODE,
@@ -6871,7 +6918,7 @@
                                                         getContextManager());
         }
 |
-        <DATE> <LEFT_PAREN> value = additiveExpression(null,0) <RIGHT_PAREN>
+        <DATE> <LEFT_PAREN> value = additiveExpression(null,0, false) <RIGHT_PAREN>
 	{
 		return (ValueNode) nodeFactory.getNode(
 							C_NodeTypes.UNARY_DATE_TIMESTAMP_OPERATOR_NODE,
@@ -6880,12 +6927,12 @@
                                                         getContextManager());
         }
 |
-        <TIMESTAMP> <LEFT_PAREN> value = additiveExpression(null,0) timestampNode = timestampFunctionCompletion( value)
+        <TIMESTAMP> <LEFT_PAREN> value = additiveExpression(null,0, false) timestampNode = timestampFunctionCompletion( value)
 	{
                 return timestampNode;
         }
 |
-        field = datetimeField() <LEFT_PAREN> value = additiveExpression(null,0) <RIGHT_PAREN>
+        field = datetimeField() <LEFT_PAREN> value = additiveExpression(null,0, false) <RIGHT_PAREN>
 	{
 		return (ValueNode) nodeFactory.getNode(
 								C_NodeTypes.EXTRACT_OPERATOR_NODE,
@@ -6914,7 +6961,7 @@
                                                         getContextManager());
         }
 |
-        <COMMA> timeValue = additiveExpression(null,0) <RIGHT_PAREN>
+        <COMMA> timeValue = additiveExpression(null,0, false) <RIGHT_PAREN>
 	{
 		return (ValueNode) nodeFactory.getNode(
 							C_NodeTypes.TIMESTAMP_OPERATOR_NODE,
@@ -6942,11 +6989,6 @@
 	{
 		return tok;
 	}
-|
-	tok = <UNKNOWN>
-	{
-		return tok;
-	}
 }
 
 /*
@@ -7403,7 +7445,7 @@
 	ValueNode columnExpression;
 } 
 {
-	columnExpression = additiveExpression(null,0)
+	columnExpression = additiveExpression(null,0,true)
 	{
 		return (OrderByColumn) nodeFactory.getNode(
 								C_NodeTypes.ORDER_BY_COLUMN,
@@ -7532,7 +7574,7 @@
 	ValueNode	valueNode;
 }
 {
-	valueNode = additiveExpression(null,0) 
+	valueNode = additiveExpression(null,0, false) 
 	{
 		return valueNode;
 	}
@@ -7757,7 +7799,7 @@
 	ValueNode	value;
 }
 {
-	value = additiveExpression(null, 0)
+	value = additiveExpression(null, 0, true)
 	{
 		resultColumns.addResultColumn(
 			(ResultColumn) nodeFactory.getNode(
@@ -7906,7 +7948,7 @@
 	ValueNode valueNode;
 }
 {
-	valueNode = additiveExpression(null, 0)
+	valueNode = additiveExpression(null, 0, false)
 	{
 		inList.addElement(valueNode);
 	}
@@ -8739,7 +8781,7 @@
 }
 {
 	/* valueExpression() was searchCondition() */
-	<ON> joinClause = valueExpression()
+	<ON> joinClause = valueExpression(false)
 	{
 		return joinClause;
 	}
@@ -8891,7 +8933,7 @@
 	ValueNode	value;
 }
 {
-	[ distinct = setQuantifier() ] value = additiveExpression(null, 0)
+	[ distinct = setQuantifier() ] value = additiveExpression(null, 0, false)
 	{
 		return (ValueNode) nodeFactory.getNode(
 								C_NodeTypes.AGGREGATE_NODE,
@@ -9009,7 +9051,7 @@
 	ValueNode value;
 }
 {
-	value = additiveExpression(null, 0)
+	value = additiveExpression(null, 0, false)
 	{
 		return value;
 	}
@@ -9047,7 +9089,7 @@
 }
 {
 	/* valueExpression() was searchCondition() */
-	value = valueExpression()
+	value = valueExpression(false)
 	{
 		endToken = getToken(0);
 
@@ -9107,7 +9149,7 @@
 }
 {
 	/* valueExpression() was searchCondition() */
-	<HAVING> value = valueExpression()
+	<HAVING> value = valueExpression(false)
 	{
 		return value;
 	}
@@ -10093,20 +10135,12 @@
 |
 	tok = booleanLiteral()
 	{
-		if ( StringUtil.SQLEqualsIgnoreCase(tok.image, "unknown") )
-		{
-			return (ValueNode) nodeFactory.getNode(
-									C_NodeTypes.UNTYPED_NULL_CONSTANT_NODE,
-									getContextManager());
-		}
-		else
-		{
-			return (ValueNode) nodeFactory.getNode(
- 									C_NodeTypes.BOOLEAN_CONSTANT_NODE,
- 									StringUtil.SQLEqualsIgnoreCase(tok.image, "true") ?
- 										Boolean.TRUE : Boolean.FALSE,
+		checkInternalFeature(tok.image);
+		return (ValueNode) nodeFactory.getNode(
+									C_NodeTypes.BOOLEAN_CONSTANT_NODE,
+									StringUtil.SQLEqualsIgnoreCase(tok.image, "true") ?
+										Boolean.TRUE : Boolean.FALSE,
  									getContextManager());
-		}
 	}
 /*
 	JDBC and ODBC do not support the interval type, so let's not do it
@@ -10405,7 +10439,7 @@
 {
 	/* valueExpression() was searchCondition() */
 	<CHECK>  beginToken = 
-		<LEFT_PAREN> value = valueExpression() endToken = <RIGHT_PAREN>
+		<LEFT_PAREN> value = valueExpression(false) endToken = <RIGHT_PAREN>
 	{
 		if (columnName != null)
 		{
@@ -10834,7 +10868,7 @@
 		return value;
 	}
 |
-	<NULLIF> <LEFT_PAREN> leftExpression = additiveExpression(null, 0) <COMMA> rightExpression = additiveExpression(null, 0) <RIGHT_PAREN>
+	<NULLIF> <LEFT_PAREN> leftExpression = additiveExpression(null, 0, false) <COMMA> rightExpression = additiveExpression(null, 0, false) <RIGHT_PAREN>
 	{
 		// "NULLIF(L, R)" is the same as "L=R ? untyped NULL : L"
 		// An impl assumption here is that Cloudscape can promote CHAR to any comparable datatypes such as numeric
@@ -10907,8 +10941,8 @@
 	ValueNode	   elseExpr;
 }
 {
-	<WHEN> expr = orExpression(null) 
-		   (<OR> expr = orExpression(expr) )*
+	<WHEN> expr = orExpression(null, false) 
+		   (<OR> expr = orExpression(expr, false) )*
 	<THEN> thenExpr = thenElseExpression()
 	elseExpr = caseExpression()
 	{
@@ -10945,7 +10979,7 @@
 										getContextManager()));
 	}
 |
-	expr = additiveExpression(null, 0)
+	expr = additiveExpression(null, 0, false)
 	{
 		return expr;
 	}

Modified: db/derby/code/trunk/java/testing/build.xml
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/build.xml?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/build.xml (original)
+++ db/derby/code/trunk/java/testing/build.xml Thu Jul 20 09:22:18 2006
@@ -46,7 +46,6 @@
     <ant dir="${derby.testing.src.dir}/${derby.testing.unittest.dir}"/> 
     <ant dir="${derby.testing.src.dir}/${derby.testing.functest.dir}/tests/junitTests/compatibility"/> 
     <ant dir="${derby.testing.src.dir}/${derby.testing.functest.dir}/tests/junitTests/derbyNet"/>
-    <ant dir="${derby.testing.src.dir}/${derby.testing.functest.dir}/tests/junitTests/lang"/>
     <ant dir="${derby.testing.src.dir}/${derby.testing.functest.dir}/tests/jdbcapi"/> 
     <ant dir="${derby.testing.src.dir}/${derby.testing.functest.dir}/tests/lang"/> 
     <ant dir="${derby.testing.src.dir}/${derby.testing.functest.dir}/tests/store"/> 

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/metadata.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/metadata.out?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/metadata.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/metadata.out Thu Jul 20 09:22:18 2006
@@ -527,43 +527,43 @@
 getCrossReference('','badschema','LOUIE','','APP','REFTAB' ):
 PKTABLE_CAT[VARCHAR],PKTABLE_SCHEM[VARCHAR],PKTABLE_NAME[VARCHAR],PKCOLUMN_NAME[VARCHAR],FKTABLE_CAT[VARCHAR],FKTABLE_SCHEM[VARCHAR],FKTABLE_NAME[VARCHAR],FKCOLUMN_NAME[VARCHAR],KEY_SEQ[SMALLINT],UPDATE_RULE[SMALLINT],DELETE_RULE[SMALLINT],FK_NAME[VARCHAR],PK_NAME[VARCHAR],DEFERRABILITY[SMALLINT]
 getTypeInfo():
-TYPE_NAME[VARCHAR],DATA_TYPE[INTEGER],PRECISION[INTEGER],LITERAL_PREFIX[VARCHAR],LITERAL_SUFFIX[VARCHAR],CREATE_PARAMS[VARCHAR],NULLABLE[SMALLINT],CASE_SENSITIVE[BOOLEAN],SEARCHABLE[SMALLINT],UNSIGNED_ATTRIBUTE[BOOLEAN],FIXED_PREC_SCALE[BOOLEAN],AUTO_INCREMENT[BOOLEAN],LOCAL_TYPE_NAME[VARCHAR],MINIMUM_SCALE[SMALLINT],MAXIMUM_SCALE[SMALLINT],SQL_DATA_TYPE[INTEGER],SQL_DATETIME_SUB[INTEGER],NUM_PREC_RADIX[INTEGER]
-BIGINT,-5,19,null,null,null,1,false,2,false,false,true,BIGINT,0,0,null,null,10
-LONG VARCHAR FOR BIT DATA,-4,32700,X',',null,1,false,2,true,false,false,LONG VARCHAR FOR BIT DATA,null,null,null,null,null
-VARCHAR () FOR BIT DATA,-3,32762,X',',length,1,false,2,true,false,false,VARCHAR () FOR BIT DATA,null,null,null,null,null
-CHAR () FOR BIT DATA,-2,254,X',',length,1,false,2,true,false,false,CHAR () FOR BIT DATA,null,null,null,null,null
-LONG VARCHAR,-1,32700,',',null,1,true,3,true,false,false,LONG VARCHAR,null,null,null,null,null
-LONG NVARCHAR,-1,32700,',',null,1,true,3,true,false,false,LONG NVARCHAR,null,null,null,null,null
-CHAR,1,254,',',length,1,true,3,true,false,false,CHAR,null,null,null,null,null
-NATIONAL CHAR,1,2147483647,',',length,1,true,3,true,false,false,NATIONAL CHAR,null,null,null,null,null
-NUMERIC,2,31,null,null,precision,scale,1,false,2,false,true,false,NUMERIC,0,32767,null,null,10
-DECIMAL,3,31,null,null,precision,scale,1,false,2,false,true,false,DECIMAL,0,32767,null,null,10
-INTEGER,4,10,null,null,null,1,false,2,false,false,true,INTEGER,0,0,null,null,10
-SMALLINT,5,5,null,null,null,1,false,2,false,false,true,SMALLINT,0,0,null,null,10
-FLOAT,6,52,null,null,precision,1,false,2,false,false,false,FLOAT,null,null,null,null,2
-REAL,7,23,null,null,null,1,false,2,false,false,false,REAL,null,null,null,null,2
-DOUBLE,8,52,null,null,null,1,false,2,false,false,false,DOUBLE,null,null,null,null,2
-VARCHAR,12,32672,',',length,1,true,3,true,false,false,VARCHAR,null,null,null,null,null
-NATIONAL CHAR VARYING,12,2147483647,',',length,1,true,3,true,false,false,NATIONAL CHAR VARYING,null,null,null,null,null
-DATE,91,10,DATE',',null,1,false,2,true,false,false,DATE,0,0,null,null,10
-TIME,92,8,TIME',',null,1,false,2,true,false,false,TIME,0,0,null,null,10
-TIMESTAMP,93,26,TIMESTAMP',',null,1,false,2,true,false,false,TIMESTAMP,0,6,null,null,10
-BLOB,2004,2147483647,null,null,length,1,false,1,null,false,null,BLOB,null,null,null,null,null
-CLOB,2005,2147483647,',',length,1,true,1,null,false,null,CLOB,null,null,null,null,null
+TYPE_NAME[VARCHAR],DATA_TYPE[INTEGER],PRECISION[INTEGER],LITERAL_PREFIX[VARCHAR],LITERAL_SUFFIX[VARCHAR],CREATE_PARAMS[VARCHAR],NULLABLE[SMALLINT],CASE_SENSITIVE[SMALLINT],SEARCHABLE[SMALLINT],UNSIGNED_ATTRIBUTE[SMALLINT],FIXED_PREC_SCALE[SMALLINT],AUTO_INCREMENT[SMALLINT],LOCAL_TYPE_NAME[VARCHAR],MINIMUM_SCALE[SMALLINT],MAXIMUM_SCALE[SMALLINT],SQL_DATA_TYPE[INTEGER],SQL_DATETIME_SUB[INTEGER],NUM_PREC_RADIX[INTEGER]
+BIGINT,-5,19,null,null,null,1,0,2,0,0,1,BIGINT,0,0,null,null,10
+LONG VARCHAR FOR BIT DATA,-4,32700,X',',null,1,0,2,1,0,0,LONG VARCHAR FOR BIT DATA,null,null,null,null,null
+VARCHAR () FOR BIT DATA,-3,32762,X',',length,1,0,2,1,0,0,VARCHAR () FOR BIT DATA,null,null,null,null,null
+CHAR () FOR BIT DATA,-2,254,X',',length,1,0,2,1,0,0,CHAR () FOR BIT DATA,null,null,null,null,null
+LONG VARCHAR,-1,32700,',',null,1,1,3,1,0,0,LONG VARCHAR,null,null,null,null,null
+LONG NVARCHAR,-1,32700,',',null,1,1,3,1,0,0,LONG NVARCHAR,null,null,null,null,null
+CHAR,1,254,',',length,1,1,3,1,0,0,CHAR,null,null,null,null,null
+NATIONAL CHAR,1,2147483647,',',length,1,1,3,1,0,0,NATIONAL CHAR,null,null,null,null,null
+NUMERIC,2,31,null,null,precision,scale,1,0,2,0,1,0,NUMERIC,0,32767,null,null,10
+DECIMAL,3,31,null,null,precision,scale,1,0,2,0,1,0,DECIMAL,0,32767,null,null,10
+INTEGER,4,10,null,null,null,1,0,2,0,0,1,INTEGER,0,0,null,null,10
+SMALLINT,5,5,null,null,null,1,0,2,0,0,1,SMALLINT,0,0,null,null,10
+FLOAT,6,52,null,null,precision,1,0,2,0,0,0,FLOAT,null,null,null,null,2
+REAL,7,23,null,null,null,1,0,2,0,0,0,REAL,null,null,null,null,2
+DOUBLE,8,52,null,null,null,1,0,2,0,0,0,DOUBLE,null,null,null,null,2
+VARCHAR,12,32672,',',length,1,1,3,1,0,0,VARCHAR,null,null,null,null,null
+NATIONAL CHAR VARYING,12,2147483647,',',length,1,1,3,1,0,0,NATIONAL CHAR VARYING,null,null,null,null,null
+DATE,91,10,DATE',',null,1,0,2,1,0,0,DATE,0,0,null,null,10
+TIME,92,8,TIME',',null,1,0,2,1,0,0,TIME,0,0,null,null,10
+TIMESTAMP,93,26,TIMESTAMP',',null,1,0,2,1,0,0,TIMESTAMP,0,6,null,null,10
+BLOB,2004,2147483647,null,null,length,1,0,1,null,0,null,BLOB,null,null,null,null,null
+CLOB,2005,2147483647,',',length,1,1,1,null,0,null,CLOB,null,null,null,null,null
 getIndexInfo():
-TABLE_CAT[VARCHAR],TABLE_SCHEM[VARCHAR],TABLE_NAME[VARCHAR],NON_UNIQUE[BOOLEAN],INDEX_QUALIFIER[VARCHAR],INDEX_NAME[VARCHAR],TYPE[SMALLINT],ORDINAL_POSITION[SMALLINT],COLUMN_NAME[VARCHAR],ASC_OR_DESC[CHAR],CARDINALITY[INTEGER],PAGES[INTEGER],FILTER_CONDITION[VARCHAR]
-,SYS,SYSCOLUMNS,false,,SYSCOLUMNS_INDEX1,3,1,REFERENCEID,A,null,null,null
-,SYS,SYSCOLUMNS,false,,SYSCOLUMNS_INDEX1,3,2,COLUMNNAME,A,null,null,null
+TABLE_CAT[VARCHAR],TABLE_SCHEM[VARCHAR],TABLE_NAME[VARCHAR],NON_UNIQUE[SMALLINT],INDEX_QUALIFIER[VARCHAR],INDEX_NAME[VARCHAR],TYPE[SMALLINT],ORDINAL_POSITION[SMALLINT],COLUMN_NAME[VARCHAR],ASC_OR_DESC[CHAR],CARDINALITY[INTEGER],PAGES[INTEGER],FILTER_CONDITION[VARCHAR]
+,SYS,SYSCOLUMNS,0,,SYSCOLUMNS_INDEX1,3,1,REFERENCEID,A,null,null,null
+,SYS,SYSCOLUMNS,0,,SYSCOLUMNS_INDEX1,3,2,COLUMNNAME,A,null,null,null
 getIndexInfo():
-TABLE_CAT[VARCHAR],TABLE_SCHEM[VARCHAR],TABLE_NAME[VARCHAR],NON_UNIQUE[BOOLEAN],INDEX_QUALIFIER[VARCHAR],INDEX_NAME[VARCHAR],TYPE[SMALLINT],ORDINAL_POSITION[SMALLINT],COLUMN_NAME[VARCHAR],ASC_OR_DESC[CHAR],CARDINALITY[INTEGER],PAGES[INTEGER],FILTER_CONDITION[VARCHAR]
-,SYS,SYSCOLUMNS,false,,SYSCOLUMNS_INDEX1,3,1,REFERENCEID,A,null,null,null
-,SYS,SYSCOLUMNS,false,,SYSCOLUMNS_INDEX1,3,2,COLUMNNAME,A,null,null,null
-,SYS,SYSCOLUMNS,true,,SYSCOLUMNS_INDEX2,3,1,COLUMNDEFAULTID,A,null,null,null
+TABLE_CAT[VARCHAR],TABLE_SCHEM[VARCHAR],TABLE_NAME[VARCHAR],NON_UNIQUE[SMALLINT],INDEX_QUALIFIER[VARCHAR],INDEX_NAME[VARCHAR],TYPE[SMALLINT],ORDINAL_POSITION[SMALLINT],COLUMN_NAME[VARCHAR],ASC_OR_DESC[CHAR],CARDINALITY[INTEGER],PAGES[INTEGER],FILTER_CONDITION[VARCHAR]
+,SYS,SYSCOLUMNS,0,,SYSCOLUMNS_INDEX1,3,1,REFERENCEID,A,null,null,null
+,SYS,SYSCOLUMNS,0,,SYSCOLUMNS_INDEX1,3,2,COLUMNNAME,A,null,null,null
+,SYS,SYSCOLUMNS,1,,SYSCOLUMNS_INDEX2,3,1,COLUMNDEFAULTID,A,null,null,null
 getIndexInfo():
-TABLE_CAT[VARCHAR],TABLE_SCHEM[VARCHAR],TABLE_NAME[VARCHAR],NON_UNIQUE[BOOLEAN],INDEX_QUALIFIER[VARCHAR],INDEX_NAME[VARCHAR],TYPE[SMALLINT],ORDINAL_POSITION[SMALLINT],COLUMN_NAME[VARCHAR],ASC_OR_DESC[CHAR],CARDINALITY[INTEGER],PAGES[INTEGER],FILTER_CONDITION[VARCHAR]
-,SYS,SYSTABLES,false,,SYSTABLES_INDEX1,3,1,TABLENAME,A,null,null,null
-,SYS,SYSTABLES,false,,SYSTABLES_INDEX1,3,2,SCHEMAID,A,null,null,null
-,SYS,SYSTABLES,false,,SYSTABLES_INDEX2,3,1,TABLEID,A,null,null,null
+TABLE_CAT[VARCHAR],TABLE_SCHEM[VARCHAR],TABLE_NAME[VARCHAR],NON_UNIQUE[SMALLINT],INDEX_QUALIFIER[VARCHAR],INDEX_NAME[VARCHAR],TYPE[SMALLINT],ORDINAL_POSITION[SMALLINT],COLUMN_NAME[VARCHAR],ASC_OR_DESC[CHAR],CARDINALITY[INTEGER],PAGES[INTEGER],FILTER_CONDITION[VARCHAR]
+,SYS,SYSTABLES,0,,SYSTABLES_INDEX1,3,1,TABLENAME,A,null,null,null
+,SYS,SYSTABLES,0,,SYSTABLES_INDEX1,3,2,SCHEMAID,A,null,null,null
+,SYS,SYSTABLES,0,,SYSTABLES_INDEX2,3,1,TABLEID,A,null,null,null
 getColumns('SYSTABLES'):
 TABLE_CAT[VARCHAR],TABLE_SCHEM[VARCHAR],TABLE_NAME[VARCHAR],COLUMN_NAME[VARCHAR],DATA_TYPE[INTEGER],TYPE_NAME[VARCHAR],COLUMN_SIZE[INTEGER],BUFFER_LENGTH[INTEGER],DECIMAL_DIGITS[INTEGER],NUM_PREC_RADIX[INTEGER],NULLABLE[INTEGER],REMARKS[VARCHAR],COLUMN_DEF[VARCHAR],SQL_DATA_TYPE[INTEGER],SQL_DATETIME_SUB[INTEGER],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SCOPE_CATLOG[VARCHAR],SCOPE_SCHEMA[VARCHAR],SCOPE_TABLE[VARCHAR],SOURCE_DATA_TYPE[SMALLINT],IS_AUTOINCREMENT[VARCHAR]
 ,SYS,SYSTABLES,TABLEID,1,CHAR,36,null,null,null,0,,null,null,null,72,1,NO,null,null,null,null,NO

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/syscat.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/syscat.out?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/syscat.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/syscat.out Thu Jul 20 09:22:18 2006
@@ -272,65 +272,65 @@
 from sys.systables t, sys.sysconglomerates c
 where t.TABLEID=c.TABLEID
 order by TABLENAME, ISINDEX;
-TABLENAME |ISIN&
+TABLENAME |ISIND&
 -----
-SYSALIASES |false
-SYSALIASES |true 
-SYSALIASES |true 
-SYSALIASES |true 
-SYSCHECKS |false
-SYSCHECKS |true 
-SYSCOLPERMS |false
-SYSCOLPERMS |true 
-SYSCOLPERMS |true 
-SYSCOLUMNS |false
-SYSCOLUMNS |true 
-SYSCOLUMNS |true 
-SYSCONGLOMERATES |false
-SYSCONGLOMERATES |true 
-SYSCONGLOMERATES |true 
-SYSCONGLOMERATES |true 
-SYSCONSTRAINTS |false
-SYSCONSTRAINTS |true 
-SYSCONSTRAINTS |true 
-SYSCONSTRAINTS |true 
-SYSDEPENDS |false
-SYSDEPENDS |true 
-SYSDEPENDS |true 
-SYSDUMMY1 |false
-SYSFILES |false
-SYSFILES |true 
-SYSFILES |true 
-SYSFOREIGNKEYS |false
-SYSFOREIGNKEYS |true 
-SYSFOREIGNKEYS |true 
-SYSKEYS |false
-SYSKEYS |true 
-SYSREQUIREDPERM |false
-SYSREQUIREDPERM |true 
-SYSROUTINEPERMS |false
-SYSROUTINEPERMS |true 
-SYSROUTINEPERMS |true 
-SYSSCHEMAS |false
-SYSSCHEMAS |true 
-SYSSCHEMAS |true 
-SYSSTATEMENTS |false
-SYSSTATEMENTS |true 
-SYSSTATEMENTS |true 
-SYSSTATISTICS |false
-SYSSTATISTICS |true 
-SYSTABLEPERMS |false
-SYSTABLEPERMS |true 
-SYSTABLEPERMS |true 
-SYSTABLES |false
-SYSTABLES |true 
-SYSTABLES |true 
-SYSTRIGGERS |false
-SYSTRIGGERS |true 
-SYSTRIGGERS |true 
-SYSTRIGGERS |true 
-SYSVIEWS |false
-SYSVIEWS |true 
+SYSALIASES |0     
+SYSALIASES |1     
+SYSALIASES |1     
+SYSALIASES |1     
+SYSCHECKS |0     
+SYSCHECKS |1     
+SYSCOLPERMS |0     
+SYSCOLPERMS |1     
+SYSCOLPERMS |1     
+SYSCOLUMNS |0     
+SYSCOLUMNS |1     
+SYSCOLUMNS |1     
+SYSCONGLOMERATES |0     
+SYSCONGLOMERATES |1     
+SYSCONGLOMERATES |1     
+SYSCONGLOMERATES |1     
+SYSCONSTRAINTS |0     
+SYSCONSTRAINTS |1     
+SYSCONSTRAINTS |1     
+SYSCONSTRAINTS |1     
+SYSDEPENDS |0     
+SYSDEPENDS |1     
+SYSDEPENDS |1     
+SYSDUMMY1 |0     
+SYSFILES |0     
+SYSFILES |1     
+SYSFILES |1     
+SYSFOREIGNKEYS |0     
+SYSFOREIGNKEYS |1     
+SYSFOREIGNKEYS |1     
+SYSKEYS |0     
+SYSKEYS |1     
+SYSREQUIREDPERM |0     
+SYSREQUIREDPERM |1     
+SYSROUTINEPERMS |0     
+SYSROUTINEPERMS |1     
+SYSROUTINEPERMS |1     
+SYSSCHEMAS |0     
+SYSSCHEMAS |1     
+SYSSCHEMAS |1     
+SYSSTATEMENTS |0     
+SYSSTATEMENTS |1     
+SYSSTATEMENTS |1     
+SYSSTATISTICS |0     
+SYSSTATISTICS |1     
+SYSTABLEPERMS |0     
+SYSTABLEPERMS |1     
+SYSTABLEPERMS |1     
+SYSTABLES |0     
+SYSTABLES |1     
+SYSTABLES |1     
+SYSTRIGGERS |0     
+SYSTRIGGERS |1     
+SYSTRIGGERS |1     
+SYSTRIGGERS |1     
+SYSVIEWS |0     
+SYSVIEWS |1     
 ij> create table t (i int, s smallint);
 0 rows inserted/updated/deleted
 ij> select TABLENAME, TABLETYPE from sys.systables order by tablename;
@@ -495,66 +495,66 @@
 from sys.systables t, sys.sysconglomerates c
 where t.TABLEID=c.TABLEID
 order by TABLENAME, ISINDEX;
-TABLENAME |ISIN&
+TABLENAME |ISIND&
 -----
-SYSALIASES |false
-SYSALIASES |true 
-SYSALIASES |true 
-SYSALIASES |true 
-SYSCHECKS |false
-SYSCHECKS |true 
-SYSCOLPERMS |false
-SYSCOLPERMS |true 
-SYSCOLPERMS |true 
-SYSCOLUMNS |false
-SYSCOLUMNS |true 
-SYSCOLUMNS |true 
-SYSCONGLOMERATES |false
-SYSCONGLOMERATES |true 
-SYSCONGLOMERATES |true 
-SYSCONGLOMERATES |true 
-SYSCONSTRAINTS |false
-SYSCONSTRAINTS |true 
-SYSCONSTRAINTS |true 
-SYSCONSTRAINTS |true 
-SYSDEPENDS |false
-SYSDEPENDS |true 
-SYSDEPENDS |true 
-SYSDUMMY1 |false
-SYSFILES |false
-SYSFILES |true 
-SYSFILES |true 
-SYSFOREIGNKEYS |false
-SYSFOREIGNKEYS |true 
-SYSFOREIGNKEYS |true 
-SYSKEYS |false
-SYSKEYS |true 
-SYSREQUIREDPERM |false
-SYSREQUIREDPERM |true 
-SYSROUTINEPERMS |false
-SYSROUTINEPERMS |true 
-SYSROUTINEPERMS |true 
-SYSSCHEMAS |false
-SYSSCHEMAS |true 
-SYSSCHEMAS |true 
-SYSSTATEMENTS |false
-SYSSTATEMENTS |true 
-SYSSTATEMENTS |true 
-SYSSTATISTICS |false
-SYSSTATISTICS |true 
-SYSTABLEPERMS |false
-SYSTABLEPERMS |true 
-SYSTABLEPERMS |true 
-SYSTABLES |false
-SYSTABLES |true 
-SYSTABLES |true 
-SYSTRIGGERS |false
-SYSTRIGGERS |true 
-SYSTRIGGERS |true 
-SYSTRIGGERS |true 
-SYSVIEWS |false
-SYSVIEWS |true 
-T |false
+SYSALIASES |0     
+SYSALIASES |1     
+SYSALIASES |1     
+SYSALIASES |1     
+SYSCHECKS |0     
+SYSCHECKS |1     
+SYSCOLPERMS |0     
+SYSCOLPERMS |1     
+SYSCOLPERMS |1     
+SYSCOLUMNS |0     
+SYSCOLUMNS |1     
+SYSCOLUMNS |1     
+SYSCONGLOMERATES |0     
+SYSCONGLOMERATES |1     
+SYSCONGLOMERATES |1     
+SYSCONGLOMERATES |1     
+SYSCONSTRAINTS |0     
+SYSCONSTRAINTS |1     
+SYSCONSTRAINTS |1     
+SYSCONSTRAINTS |1     
+SYSDEPENDS |0     
+SYSDEPENDS |1     
+SYSDEPENDS |1     
+SYSDUMMY1 |0     
+SYSFILES |0     
+SYSFILES |1     
+SYSFILES |1     
+SYSFOREIGNKEYS |0     
+SYSFOREIGNKEYS |1     
+SYSFOREIGNKEYS |1     
+SYSKEYS |0     
+SYSKEYS |1     
+SYSREQUIREDPERM |0     
+SYSREQUIREDPERM |1     
+SYSROUTINEPERMS |0     
+SYSROUTINEPERMS |1     
+SYSROUTINEPERMS |1     
+SYSSCHEMAS |0     
+SYSSCHEMAS |1     
+SYSSCHEMAS |1     
+SYSSTATEMENTS |0     
+SYSSTATEMENTS |1     
+SYSSTATEMENTS |1     
+SYSSTATISTICS |0     
+SYSSTATISTICS |1     
+SYSTABLEPERMS |0     
+SYSTABLEPERMS |1     
+SYSTABLEPERMS |1     
+SYSTABLES |0     
+SYSTABLES |1     
+SYSTABLES |1     
+SYSTRIGGERS |0     
+SYSTRIGGERS |1     
+SYSTRIGGERS |1     
+SYSTRIGGERS |1     
+SYSVIEWS |0     
+SYSVIEWS |1     
+T |0     
 ij> -- > 30 char table and column names
 create table t234567890123456789012345678901234567890
 (c23456789012345678901234567890 int);

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/aggregate.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/aggregate.out?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/aggregate.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/aggregate.out Thu Jul 20 09:22:18 2006
@@ -214,14 +214,7 @@
 WARNING 01003: Null values were eliminated from the argument of a column function.
 ij> -- binary list operator
 select (1 in (1,2)), count(c1) from t1 group by c1;
-1    |2          
------------------
-true |1          
-true |1          
-true |1          
-true |1          
-true |0          
-WARNING 01003: Null values were eliminated from the argument of a column function.
+ERROR 42X01: Syntax error: Encountered "in" at line 2, column 11.
 ij> select count((1 in (1,2))) from t1 group by c1;
 1          
 -----------

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/cast.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/cast.out?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/cast.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/cast.out Thu Jul 20 09:22:18 2006
@@ -1591,9 +1591,7 @@
 ij> -- test some casting from a java type to standard SQL types.
 -- should all fail at runtime
 select cast (aliasinfo as BOOLEAN) from sys.sysaliases;
-1    
------
-ERROR XCL12: An attempt was made to put a data value of type 'org.apache.derby.catalog.types.RoutineAliasInfo' into a data value of type 'BOOLEAN'.
+ERROR 42X01: Syntax error: BOOLEAN.
 ij> select cast (aliasinfo as SMALLINT) from sys.sysaliases;
 1     
 ------

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/db2Compatibility.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/db2Compatibility.out?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/db2Compatibility.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/db2Compatibility.out Thu Jul 20 09:22:18 2006
@@ -134,8 +134,10 @@
 ij> drop schema "sysok" restrict;
 0 rows inserted/updated/deleted
 ij> -- data types not supported
-create table NOTYPE(i int, b TINYINT);
-ERROR 42X01: Syntax error: Encountered "" at line 2, column 30.
+create table NOTYPE(i int, b BOOLEAN);
+ERROR 42X01: Syntax error: BOOLEAN.
+ij> create table NOTYPE(i int, b TINYINT);
+ERROR 42X01: Syntax error: Encountered "" at line 1, column 30.
 ij> create table NOTYPE(i int, b java.lang.String);
 ERROR 42X01: Syntax error: Encountered "" at line 1, column 30.
 ij> create table NOTYPE(i int, b com.acme.Address);
@@ -404,8 +406,10 @@
 0 rows inserted/updated/deleted
 ij> -- INSTANCEOF in where clause of select, delete, update,
 -- beetle 5224
-create table mm (x org.apache.derbyTesting.functionTests.util.ManyMethods);
-ERROR 42X01: Syntax error: Encountered "" at line 3, column 20.
+create table t1 (i int, s smallint, c10 char(10), vc30 varchar(30), b boolean);
+ERROR 42X01: Syntax error: BOOLEAN.
+ij> create table mm (x org.apache.derbyTesting.functionTests.util.ManyMethods);
+ERROR 42X01: Syntax error: Encountered "" at line 1, column 20.
 ij> create table sc (x org.apache.derbyTesting.functionTests.util.SubClass);
 ERROR 42X01: Syntax error: Encountered "" at line 1, column 20.
 ij> select i from t1 where i instanceof java.lang.Integer;
@@ -452,6 +456,9 @@
 ERROR 42X01: Syntax error: Encountered "bit" at line 3, column 29.
 ij> create table testtype2(col1 bit varying(10));
 ERROR 42X01: Syntax error: Encountered "bit" at line 1, column 29.
+ij> --- boolean datatype already disabled
+create table testtype3(col1 boolean);
+ERROR 42X01: Syntax error: BOOLEAN.
 ij> create table testtype4(col1 LONG NVARCHAR);
 ERROR 0A000: Feature not implemented: LONG NVARCHAR.
 ij> create table testtype5(col1 LONG VARBINARY);
@@ -906,6 +913,21 @@
 ij> -- (4) USING should be disabled in INNER JOIN of SELECT statement
 SELECT * FROM t1 RIGHT OUTER JOIN t2 USING (col1);
 ERROR 42X01: Syntax error: Encountered "USING" at line 2, column 38.
+ij> -- (5) TRUE and FALSE constants should be disabled in WHERE clause of SELECT statement
+SELECT * FROM t1 INNER JOIN t2 ON t1.col1 = t2.col1 WHERE true;
+ERROR 42X01: Syntax error: true.
+ij> SELECT * FROM t1 INNER JOIN t2 ON t1.col1 = t2.col1 WHERE false;
+ERROR 42X01: Syntax error: false.
+ij> -- (5) TRUE and FALSE constants should be disabled in WHERE clause of DELETE statement
+DELETE FROM t1 where true;
+ERROR 42X01: Syntax error: true.
+ij> DELETE FROM t1 where false;
+ERROR 42X01: Syntax error: false.
+ij> -- (5) TRUE and FALSE constants should be disabled in WHERE clause of DELETE statement
+UPDATE t2 SET col1 = NULL WHERE true;
+ERROR 42X01: Syntax error: true.
+ij> UPDATE t2 SET col1 = NULL WHERE false;
+ERROR 42X01: Syntax error: false.
 ij> -- (6) AT ISOLATION clause should be disabled in SELECT statement
 -- AT ISOLATION not supported in both Cloudscape and DB2 mode and that is why rather than getting feature not implemented, we will get syntax error
 SELECT * FROM t1 AT ISOLATION READ UNCOMMITTED;

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/implicitConversions.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/implicitConversions.out?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/implicitConversions.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/implicitConversions.out Thu Jul 20 09:22:18 2006
@@ -2596,15 +2596,9 @@
 ij> values 'a', 1.1;
 ERROR 42X61: Types 'CHAR' and 'DECIMAL' are not UNION compatible.
 ij> values true, 'a';
-1    
------
-true 
-true 
+ERROR 42X01: Syntax error: true.
 ij> values 'a', true;
-1    
------
-true 
-true 
+ERROR 42X01: Syntax error: true.
 ij> values date('1996-09-09'), 'a';
 1         
 ----------

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/logop.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/logop.out?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/logop.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/logop.out Thu Jul 20 09:22:18 2006
@@ -251,25 +251,18 @@
 X          
 -----------
 1          
-ij> select ( not ( (1 = 1) or (2 = 2) ) and (3 = 4) ) from s;
-1    
------
-false
+ij> -- following NOTs in select clause won't work because it results in a transient boolean datatype
+select ( not ( (1 = 1) or (2 = 2) ) and (3 = 4) ) from s;
+ERROR 42X01: Syntax error: Encountered "not" at line 2, column 10.
 ij> --
 select ( not ( ( (1 = 1) or (2 = 2) ) and (3 = 4) ) ) from s;
-1    
------
-true 
+ERROR 42X01: Syntax error: Encountered "not" at line 2, column 10.
 ij> --
 select ( (1 = 2) and not ( (3 = 3) or (4 = 4) ) ) from s;
-1    
------
-false
+ERROR 42X01: Syntax error: Encountered "=" at line 2, column 13.
 ij> --
 select ( not ( (1 = 2) and ( (3 = 3) or (4 = 4) ) ) ) from s;
-1    
------
-true 
+ERROR 42X01: Syntax error: Encountered "not" at line 2, column 10.
 ij> -- Ands under ands under ands ...
 select * from s where not (	( ( ((1=1) and (1=1)) and ((1=1) and (1=1)) ) and
 						      ( ((1=1) and (1=1)) and ((1=1) and (1=1)) ) ) and

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/procedureInTrigger.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/procedureInTrigger.out?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/procedureInTrigger.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/procedureInTrigger.out Thu Jul 20 09:22:18 2006
@@ -804,7 +804,7 @@
 1          |2          
 2          |4          
 ij> --- check index is not created
-select count(*) from SYS.SYSCONGLOMERATES where CONGLOMERATENAME='IX' and ISINDEX=true;
+select count(*) from SYS.SYSCONGLOMERATES where CONGLOMERATENAME='IX' and ISINDEX=1;
 1          
 -----------
 0          
@@ -828,7 +828,7 @@
 6          |four           
 8          |eight          
 ij> --- check index is not dropped
-select count(*) from SYS.SYSCONGLOMERATES where CONGLOMERATENAME='IX' and ISINDEX=true;
+select count(*) from SYS.SYSCONGLOMERATES where CONGLOMERATENAME='IX' and ISINDEX=1;
 1          
 -----------
 1          

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/schemas.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/schemas.out?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/schemas.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/schemas.out Thu Jul 20 09:22:18 2006
@@ -717,16 +717,13 @@
 I          |S     |C                             |VC                            
 --------------------------------------------------------------------------------
 ij> -- correlated subqueries
+-- exists disallowed in select clause
 select (exists (select * from test.ttt 
 				where iii = (select 11 from test.tt where ii = i and ii <> 1)) )
 a
 from test.s
 order by a;
-A    
------
-NULL 
-NULL 
-true 
+ERROR 42X01: Syntax error: Encountered "exists" at line 4, column 9.
 ij> -- negative tests
 -- multiple matches at parent level
 select * from test.s, test.t where exists (select i from test.tt);

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/subquery.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/subquery.out?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/subquery.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/subquery.out Thu Jul 20 09:22:18 2006
@@ -467,23 +467,11 @@
 -----------------------------------------------------------------------------------------------------
 ij> -- select list
 select ( i in (select i from t) ) a from s order by a;
-A    
------
-false
-true 
-true 
+ERROR 42X01: Syntax error: Encountered "in" at line 2, column 12.
 ij> select ( i in (select i from t where 1 = 0) ) a from s order by a;
-A    
------
-false
-false
-false
+ERROR 42X01: Syntax error: Encountered "in" at line 1, column 12.
 ij> select ( (i in (select i from t where 1 = 0)) is null ) a from s order by a;
-A    
------
-false
-false
-false
+ERROR 42X01: Syntax error: Encountered "in" at line 1, column 13.
 ij> -- subquery under an or
 select i from s where i = -1 or i in (select i from t);
 I          

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/valuesclause.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/valuesclause.out?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/valuesclause.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/valuesclause.out Thu Jul 20 09:22:18 2006
@@ -160,34 +160,22 @@
 ij> remove v2;
 ij> -- type precedence tests. tinyint not supported by DB2 Cloudscape
 values (1 = 1.2);
-1    
------
-false
+ERROR 42X01: Syntax error: Encountered "=" at line 2, column 11.
 ij> -- this test runs in SPS mode too, hence adding a comment line before the sql, so we get correct column number in error message in both SPS and non-SPS mode
 values (1.2 = 1);
-1    
------
-false
+ERROR 42X01: Syntax error: Encountered "=" at line 2, column 13.
 ij> -- this test runs in SPS mode too, hence adding a comment line before the sql, so we get correct column number in error message in both SPS and non-SPS mode
 values (1 = cast(1 as bigint));
-1    
------
-true 
+ERROR 42X01: Syntax error: Encountered "=" at line 2, column 11.
 ij> -- this test runs in SPS mode too, hence adding a comment line before the sql, so we get correct column number in error message in both SPS and non-SPS mode
 values (1 = cast(1 as smallint));
-1    
------
-true 
+ERROR 42X01: Syntax error: Encountered "=" at line 2, column 11.
 ij> -- this test runs in SPS mode too, hence adding a comment line before the sql, so we get correct column number in error message in both SPS and non-SPS mode
 values (cast(1 as bigint) = 1);
-1    
------
-true 
+ERROR 42X01: Syntax error: Encountered "=" at line 2, column 27.
 ij> -- this test runs in SPS mode too, hence adding a comment line before the sql, so we get correct column number in error message in both SPS and non-SPS mode
 values (cast(1 as smallint) = 1);
-1    
------
-true 
+ERROR 42X01: Syntax error: Encountered "=" at line 2, column 29.
 ij> -- inserts
 create table insert_test1 (c1 int);
 0 rows inserted/updated/deleted
@@ -433,14 +421,10 @@
 ERROR 42X01: Syntax error: Encountered "=" at line 2, column 10.
 ij> -- this test runs in SPS mode too, hence adding a comment line before the sql, so we get correct column number in error message in both SPS and non-SPS mode
 values (nullif('abc','a') = 'abc');
-1    
------
-true 
+ERROR 42X01: Syntax error: Encountered "=" at line 2, column 27.
 ij> -- this test runs in SPS mode too, hence adding a comment line before the sql, so we get correct column number in error message in both SPS and non-SPS mode
 select (nullif('abc','a') = 'abc') from t1;
-1    
------
-true 
+ERROR 42X01: Syntax error: Encountered "=" at line 2, column 27.
 ij> -- this test runs in SPS mode too, hence adding a comment line before the sql, so we get correct column number in error message in both SPS and non-SPS mode
 select c11 = any (select c11 from t1) from t1;
 ERROR 42X01: Syntax error: Encountered "=" at line 2, column 12.
@@ -470,24 +454,16 @@
 ERROR 42X01: Syntax error: Encountered "<=" at line 2, column 10.
 ij> -- this test runs in SPS mode too, hence adding a comment line before the sql, so we get correct column number in error message in both SPS and non-SPS mode
 values (1>1);
-1    
------
-false
+ERROR 42X01: Syntax error: Encountered ">" at line 2, column 10.
 ij> -- this test runs in SPS mode too, hence adding a comment line before the sql, so we get correct column number in error message in both SPS and non-SPS mode
 select (c1 < 2) from t1;
-1    
------
-true 
+ERROR 42X01: Syntax error: Encountered "<" at line 2, column 12.
 ij> -- this test runs in SPS mode too, hence adding a comment line before the sql, so we get correct column number in error message in both SPS and non-SPS mode
 values (1 between 2 and 5);
-1    
------
-false
+ERROR 42X01: Syntax error: Encountered "between" at line 2, column 11.
 ij> -- this test runs in SPS mode too, hence adding a comment line before the sql, so we get correct column number in error message in both SPS and non-SPS mode
 select (c1 between 1 and 3) from t1;
-1    
------
-true 
+ERROR 42X01: Syntax error: Encountered "between" at line 2, column 12.
 ij> -- boolean expression LIKE disallowed in values and select clause
 prepare ll1 as 'values ''asdf'' like ?';
 ERROR 42X01: Syntax error: Encountered "like" at line 1, column 15.
@@ -536,7 +512,7 @@
 ERROR 42X01: Syntax error: Encountered "is" at line 2, column 33.
 ij> -- this test runs in SPS mode too, hence adding a comment line before the sql, so we get correct column number in error message in both SPS and non-SPS mode
 select c1, (c1=1? cast(null as int) : c1) is null from t1;
-ERROR 42X01: Syntax error: Encountered "?" at line 2, column 17.
+ERROR 42X01: Syntax error: Encountered "=" at line 2, column 15.
 ij> -- try few tests in cloudscape mode for boolean expressions in values or select clause
 -- this test runs in SPS mode too, hence adding a comment line before the sql, so we get correct column number in error message in both SPS and non-SPS mode
 values new java.lang.String() = '';

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbylang.runall
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbylang.runall?rev=423976&r1=423975&r2=423976&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbylang.runall (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbylang.runall Thu Jul 20 09:22:18 2006
@@ -1,7 +1,6 @@
 jdbcapi/metadata.java
 jdbcapi/metadataMultiConn.java
 jdbcapi/odbc_metadata.java
-junitTests/lang/LangSuite.java
 lang/AIjdbc.java
 lang/AggregateClassLoading.java
 lang/CharUTF8.java