db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fuzzylo...@apache.org
Subject svn commit: r190514 [1/7] - in /incubator/derby/code/branches/10.1/java: engine/org/apache/derby/iapi/reference/ engine/org/apache/derby/iapi/services/io/ engine/org/apache/derby/iapi/services/loader/ engine/org/apache/derby/iapi/types/ engine/org/apache/derby/impl/jdbc/ engine/org/apache/derby/impl/sql/compile/ engine/org/apache/derby/loc/ testing/org/apache/derbyTesting/functionTests/master/ testing/org/apache/derbyTesting/functionTests/master/DerbyNet/ testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/ testing/org/apache/derbyTesting/functionTests/master/j9_13/ testing/org/apache/derbyTesting/functionTests/master/j9_22/ testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/ testing/org/apache/derbyTesting/functionTests/tests/lang/ testing/org/apache/derbyTesting/functionTests/tests/tools/
Date Mon, 13 Jun 2005 21:41:35 GMT
Author: fuzzylogic
Date: Mon Jun 13 14:41:33 2005
New Revision: 190514

URL: http://svn.apache.org/viewcvs?rev=190514&view=rev
Log:
Merge changes from 189890 to 190512 in preparation for making release candidate
jars for Derby 10.1

Modified:
    incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/reference/SQLState.java
    incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/services/io/LimitReader.java
    incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/services/loader/ClassInspector.java
    incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/types/SQLChar.java
    incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/types/SQLVarchar.java
    incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/jdbc/ReaderToUTF8Stream.java
    incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/compile/CreateAliasNode.java
    incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/compile/MethodCallNode.java
    incubator/derby/code/branches/10.1/java/engine/org/apache/derby/loc/messages_en.properties
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/parameterMapping.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/procedure.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/synonym.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/parameterMapping.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/procedure.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/synonym.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/functions.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/distinct.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/ejbql.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/floattypes.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/groupBy.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/outparams.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/parameterMapping.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/j9_22/distinct.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/j9_22/groupBy.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/miscerrors.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/parameterMapping.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/procedure.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/synonym.out
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/parameterMapping.java
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/tests/lang/copyfiles.ant
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/tests/lang/functions.sql
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/tests/lang/miscerrors.sql
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/tests/lang/procedure.java
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/tests/lang/synonym.sql
    incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/tests/tools/dblook_makeDB_2.sql

Modified: incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/reference/SQLState.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/reference/SQLState.java?rev=190514&r1=190513&r2=190514&view=diff
==============================================================================
--- incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/reference/SQLState.java (original)
+++ incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/reference/SQLState.java Mon Jun 13 14:41:33 2005
@@ -1456,9 +1456,12 @@
 	String UU_INVALID_PARAMETER										= "XCZ02.S";
 
 	/*
+	** SQL Java DDL 46xxx
 	** SQLJ jar file support
 	*/
 	String SQLJ_INVALID_JAR				= "46001";
+	String SQLJ_SIGNATURE_INVALID	    		= "46J01";
+	String SQLJ_SIGNATURE_PARAMETER_COUNT	    = "46J02";
 
 	/*
 	** Import/Export

Modified: incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/services/io/LimitReader.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/services/io/LimitReader.java?rev=190514&r1=190513&r2=190514&view=diff
==============================================================================
--- incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/services/io/LimitReader.java (original)
+++ incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/services/io/LimitReader.java Mon Jun 13 14:41:33 2005
@@ -119,6 +119,16 @@
 		limitInPlace = true;
 		return;
 	}
+    
+    /**
+     * return limit of the stream that can be read without throwing
+     * EOFException
+     * @return the remaining bytes left to be read from the stream
+     */
+    public final int getLimit()
+    {
+        return remainingBytes;
+    }
 
 	/**
 		Clear any limit set by setLimit. After this call no limit checking

Modified: incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/services/loader/ClassInspector.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/services/loader/ClassInspector.java?rev=190514&r1=190513&r2=190514&view=diff
==============================================================================
--- incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/services/loader/ClassInspector.java (original)
+++ incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/services/loader/ClassInspector.java Mon Jun 13 14:41:33 2005
@@ -316,41 +316,6 @@
 						primParamClasses, isParam, staticMethod, repeatLastParameter, methodList);
 	}
 
-    public Method findPublicMethod(String className, String signature, boolean isStatic) throws ClassNotFoundException {
-        Class javaClass = getClass(className);
-        StringTokenizer tokenizer = new StringTokenizer(signature, "(,)", true);
-        try {
-            String methodName = tokenizer.nextToken();
-            if (!tokenizer.nextToken().equals("(")) {
-                return null;
-            }
-            List paramTypes;
-            String token = tokenizer.nextToken();
-            if (")".equals(token)) {
-                paramTypes = Collections.EMPTY_LIST;
-            } else {
-                paramTypes = new ArrayList();
-                paramTypes.add(getClass(token));
-                while ((token = tokenizer.nextToken()).equals(",")) {
-                    token = tokenizer.nextToken();
-                    paramTypes.add(getClass(token));
-                }
-            }
-
-            Method method;
-            try {
-                method = javaClass.getMethod(methodName, (Class[])paramTypes.toArray(new Class[paramTypes.size()]));
-                if (isStatic != Modifier.isStatic(method.getModifiers())) {
-                    return null;
-                }
-            } catch (NoSuchMethodException e) {
-                return null;
-            }
-            return method;
-        } catch (NoSuchElementException e) {
-            return null;
-        }
-    }
 
 	/**
 	 * Find a public field  for a class.

Modified: incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/types/SQLChar.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/types/SQLChar.java?rev=190514&r1=190513&r2=190514&view=diff
==============================================================================
--- incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/types/SQLChar.java (original)
+++ incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/types/SQLChar.java Mon Jun 13 14:41:33 2005
@@ -86,6 +86,18 @@
 	extends DataType implements StringDataValue, StreamStorable
 {
 
+    /**
+     * threshold, that decides when we return space back to the VM
+     * see getString() where it is used
+     */
+    protected final static int RETURN_SPACE_THRESHOLD = 4096;
+    
+    /**
+     * when we know that the array needs to grow by at least
+     * one byte, it is not performant to grow by just one byte
+     * instead this amount is used to provide a reasonable growby size.
+     */
+    private final static int GROWBY_FOR_CHAR = 64;
 	/**
 		Static array that can be used for blank padding.
 	*/
@@ -335,7 +347,7 @@
 				// data is stored in the char[] array
 
 				value = new String(rawData, 0, len);
-				if (len > 4096) {
+				if (len > RETURN_SPACE_THRESHOLD) {
 					// free up this char[] array to reduce memory usage
 					rawData = null;
 					rawLength = -1;
@@ -641,6 +653,11 @@
         int utflen = in.readUnsignedShort();
 
         int requiredLength;
+        // minimum amount that is reasonable to grow the array
+        // when we know the array needs to growby at least one
+        // byte but we dont want to grow by one byte as that
+        // is not performant
+        int minGrowBy = growBy();
         if (utflen != 0)
         {
             // the object was not stored as a streaming column 
@@ -654,8 +671,8 @@
             // OR
             // The original string was a 0 length string.
             requiredLength = in.available();
-            if (requiredLength < 64)
-                requiredLength = 64;
+            if (requiredLength < minGrowBy)
+                requiredLength = minGrowBy;
         }
 
         char str[];
@@ -707,12 +724,26 @@
             if (strlen >= arrayLength) // the char array needs to be grown 
             {
                 int growby = in.available();
-
-                // We know at the array needs to be grown by at least one.
+                // We know that the array needs to be grown by at least one.
                 // However, even if the input stream wants to block on every
                 // byte, we don't want to grow by a byte at a time.
-                if (growby < 64)
-                    growby = 64;
+                // Note, for large data (clob > 32k), it is performant
+                // to grow the array by atleast 4k rather than a small amount
+                // Even better maybe to grow by 32k but then may be
+                // a little excess(?) for small data. 
+                // hopefully in.available() will give a fair
+                // estimate of how much data can be read to grow the 
+                // array by larger and necessary chunks.
+                // This performance issue due to 
+                // the slow growth of this array was noticed since inserts
+                // on clobs was taking a really long time as
+                // the array here grew previously by 64 bytes each time 
+                // till stream was drained.  (Derby-302)
+                // for char, growby 64 seems reasonable, but for varchar
+                // clob 4k or 32k is performant and hence
+                // growBy() is override correctly to ensure this
+                if (growby < minGrowBy)
+                    growby = minGrowBy;
 
                 int newstrlength = arrayLength + growby;
                 char oldstr[] = str;
@@ -804,6 +835,18 @@
         cKey = null;
     }
 
+    /**
+     * returns the reasonable minimum amount by 
+     * which the array can grow . See readExternal. 
+     * when we know that the array needs to grow by at least
+     * one byte, it is not performant to grow by just one byte
+     * instead this amount is used to provide a resonable growby size.
+     * @return minimum reasonable growby size
+     */
+    protected int growBy()
+    {
+        return GROWBY_FOR_CHAR;  //seems reasonable for a char
+    }
 	/**
 	 * @see Storable#restoreToNull
 	 *

Modified: incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/types/SQLVarchar.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/types/SQLVarchar.java?rev=190514&r1=190513&r2=190514&view=diff
==============================================================================
--- incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/types/SQLVarchar.java (original)
+++ incubator/derby/code/branches/10.1/java/engine/org/apache/derby/iapi/types/SQLVarchar.java Mon Jun 13 14:41:33 2005
@@ -182,4 +182,17 @@
 	{
 		return TypeId.VARCHAR_PRECEDENCE;
 	}
+    
+    /**
+     * returns the reasonable minimum amount by 
+     * which the array can grow . See readExternal. 
+     * when we know that the array needs to grow by at least
+     * one byte, it is not performant to grow by just one byte
+     * instead this amount is used to provide a resonable growby size.
+     * @return minimum reasonable growby size
+     */
+    protected final int growBy()
+    {
+        return RETURN_SPACE_THRESHOLD;  //seems reasonable for a varchar or clob 
+    }
 }

Modified: incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/jdbc/ReaderToUTF8Stream.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/jdbc/ReaderToUTF8Stream.java?rev=190514&r1=190513&r2=190514&view=diff
==============================================================================
--- incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/jdbc/ReaderToUTF8Stream.java (original)
+++ incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/jdbc/ReaderToUTF8Stream.java Mon Jun 13 14:41:33 2005
@@ -43,11 +43,14 @@
 	private int blen;
 	private boolean eof;
 	private boolean multipleBuffer;
+    // buffer to hold the data read from stream 
+    // and converted to UTF8 format
+    private final static int BUFSIZE = 32768;
 
 	ReaderToUTF8Stream(LimitReader reader)
 	{
 		this.reader = reader;
-		buffer = new byte[4096];
+		buffer = new byte[BUFSIZE];
 		blen = -1;
 	}
 
@@ -196,5 +199,20 @@
 		reader.close();
 	}
 
+    /**
+     * Return an optimized version of bytes available to read from 
+     * the stream 
+     * Note, it is not exactly per java.io.InputStream#available()
+     */
+    public final int available()
+    {
+       int remainingBytes = reader.getLimit();
+       // this object buffers BUFSIZE bytes that can be read 
+       // and when that is finished it reads the next available bytes
+       // from the reader object 
+       // reader.getLimit() returns the remaining bytes available
+       // on this stream
+       return (BUFSIZE > remainingBytes ? remainingBytes : BUFSIZE);
+    }
 }
 

Modified: incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/compile/CreateAliasNode.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/compile/CreateAliasNode.java?rev=190514&r1=190513&r2=190514&view=diff
==============================================================================
--- incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/compile/CreateAliasNode.java (original)
+++ incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/compile/CreateAliasNode.java Mon Jun 13 14:41:33 2005
@@ -201,6 +201,7 @@
 
 			case AliasInfo.ALIAS_TYPE_SYNONYM_AS_CHAR:
 				String targetSchema;
+				implicitCreateSchema = true;
 				TableName t = (TableName) targetObject;
 				if (t.getSchemaName() != null)
 					targetSchema = t.getSchemaName();
@@ -257,13 +258,8 @@
 						this.getFullName(),
 						targetSchema+"."+targetTable);
 
-		// Raise error if targetSchema doesn't exists
-		SchemaDescriptor targetSD = getSchemaDescriptor(targetSchema);
-
-		// Synonym can't be defined on temporary tables.
-		TableDescriptor targetTD = getTableDescriptor(targetTable, targetSD);
-		if (targetTD != null &&
-			targetTD.getTableType() == TableDescriptor.GLOBAL_TEMPORARY_TABLE_TYPE)
+		SchemaDescriptor targetSD = getSchemaDescriptor(targetSchema, false);
+		if ((targetSD != null) && isSessionSchema(targetSD))
 			throw StandardException.newException(SQLState.LANG_OPERATION_NOT_ALLOWED_ON_SESSION_SCHEMA_TABLES);
 
 		return this;

Modified: incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/compile/MethodCallNode.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/compile/MethodCallNode.java?rev=190514&r1=190513&r2=190514&view=diff
==============================================================================
--- incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/compile/MethodCallNode.java (original)
+++ incubator/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/compile/MethodCallNode.java Mon Jun 13 14:41:33 2005
@@ -56,6 +56,7 @@
 import java.lang.reflect.Modifier;
 import java.lang.reflect.Member;
 
+import java.util.StringTokenizer;
 import java.util.Vector;
 
 /**
@@ -671,7 +672,8 @@
 
 		ClassInspector classInspector = getClassFactory().getClassInspector();
 
-		String[]		parmTypeNames = getObjectSignature();
+		
+		String[]		parmTypeNames;
 		String[]		primParmTypeNames = null;
 		boolean[]		isParam = getIsParam();
 
@@ -680,16 +682,27 @@
         /*
         ** Find the matching method that is public.
         */
-        try
-        {
+
+        	int signatureOffset = methodName.indexOf('(');
+        	
             // support Java signatures by checking if the method name contains a '('
-            if (methodName.indexOf('(') != -1) {
-                method = classInspector.findPublicMethod(javaClassName, methodName, staticMethod);
-                methodName = method.getName();
+            if (signatureOffset != -1) {
+               	parmTypeNames = parseValidateSignature(methodName, signatureOffset, hasDynamicResultSets);
+               methodName = methodName.substring(0, signatureOffset);
+               
+               // If the signature is specified then Derby resolves to exactly
+               // that method. Setting this flag to false disables the method
+               // resolution from automatically optionally repeating the last
+               // parameter as needed.
+               hasDynamicResultSets = false;
+              	 
             }
             else
             {
-                /* First try with built-in types and mappings */
+            	parmTypeNames = getObjectSignature();
+            }
+        try
+        {                      	
                 method = classInspector.findPublicMethod(javaClassName,
                                                     methodName,
                                                     parmTypeNames,
@@ -702,7 +715,8 @@
                 // DB2 LUW does not support Java object types for SMALLINT, INTEGER, BIGINT, REAL, DOUBLE
                 // and these are the only types that can map to a primitive or an object type according
                 // to SQL part 13. So we never have a second chance match.
-                if (routineInfo == null) {
+                // Also if the DDL specified a signature, then no alternate resolution
+                if (signatureOffset == -1 && routineInfo == null) {
 
                     /* If no match, then retry with combinations of object and
                      * primitive types.
@@ -720,7 +734,6 @@
                                                     hasDynamicResultSets);
                     }
                 }
-            }
         }
         catch (ClassNotFoundException e)
         {
@@ -829,7 +842,7 @@
 				}
 			}
 
-			if (classInspector.primitiveType(methodParameter))
+			if (ClassInspector.primitiveType(methodParameter))
 				methodParms[i].castToPrimitive(true);
 		}
 
@@ -853,6 +866,137 @@
 			getCompilerContext().getParameterTypes()[0] = dts;
 		}
   }
+	
+	/**
+	 * Parse the user supplied signature for a method and validate
+	 * it, need to match the number of parameters passed in and match
+	 * the valid types for the parameter.
+	 * @param signature complete external name with signature
+	 * @param offset Character offset of first paren
+	 * @param hasDynamicResultSets Can ResultSet[] parameters be specified.
+	 * @return The valid array of types for resolution.
+	 * @throws StandardException
+	 */
+	private String[] parseValidateSignature(String externalName, int offset,
+			boolean hasDynamicResultSets)
+		throws StandardException
+	{
+		int siglen = externalName.length();
+
+		// Ensure the opening paren is not the last
+		// character and that the last character is a close paren
+		if (((offset + 1) == siglen)
+			|| (externalName.charAt(siglen - 1) != ')'))
+			throw StandardException.newException(SQLState.SQLJ_SIGNATURE_INVALID); // invalid
+		
+        StringTokenizer st = new StringTokenizer(externalName.substring(offset + 1, siglen - 1), ",", true);
+        
+        String[] signatureTypes = new String[signature.length];
+        int count;
+        boolean seenClass = false;
+        for (count = 0; st.hasMoreTokens();)
+        {
+           	String type = st.nextToken().trim();
+ 
+           	// check sequence is <class><comma>class> etc.
+           	if (",".equals(type))
+           	{
+           		if (!seenClass)
+           			throw StandardException.newException(SQLState.SQLJ_SIGNATURE_INVALID); // invalid
+           		seenClass = false;
+           		continue;
+           	}
+           	else
+           	{
+           		if (type.length() == 0)
+           			throw StandardException.newException(SQLState.SQLJ_SIGNATURE_INVALID); // invalid
+           		seenClass = true;
+           		count++;
+           	}
+           	           	           	           
+           	if (count > signature.length)
+        	{
+        		if (hasDynamicResultSets)
+        		{
+        			// Allow any number of dynamic result set holders
+        			// but they must match the exact type.
+        			String rsType = signature[signature.length - 1].getSQLType().
+						getTypeId().getCorrespondingJavaTypeName();
+        			
+        			if (!type.equals(rsType))
+        				throw StandardException.newException(SQLState.LANG_DATA_TYPE_GET_MISMATCH, 
+                				type, rsType);
+
+        			if (signatureTypes.length == signature.length)
+        			{
+        				// expand once
+        				String[] sigs = new String[st.countTokens()];
+        				System.arraycopy(signatureTypes, 0, sigs, 0, signatureTypes.length);
+        				signatureTypes = sigs;
+        			}
+        			
+            		signatureTypes[count - 1] = type;
+            		continue;
+       			
+        		}
+    			throw StandardException.newException(SQLState.SQLJ_SIGNATURE_PARAMETER_COUNT, 
+        				Integer.toString(count),
+        				Integer.toString(signature.length)); // too many types
+        	}
+
+        	       	
+        	TypeId	paramTypeId = signature[count - 1].getSQLType().getTypeId();
+        	        	
+        	// Does it match the object name
+        	if (type.equals(paramTypeId.getCorrespondingJavaTypeName()))
+        	{
+        		signatureTypes[count - 1] = type;
+        		continue;
+        	}
+      	
+        	// how about the primitive name
+			if ((paramTypeId.isNumericTypeId() && !paramTypeId.isDecimalTypeId())
+					|| paramTypeId.isBooleanTypeId())
+			{
+				TypeCompiler tc = getTypeCompiler(paramTypeId);
+				if (type.equals(tc.getCorrespondingPrimitiveTypeName()))
+				{
+		       		signatureTypes[count - 1] = type;
+	        		continue;					
+				}
+			}
+        	throw StandardException.newException(SQLState.LANG_DATA_TYPE_GET_MISMATCH, 
+        				type, paramTypeId.getSQLTypeName()); // type conversion error
+        }
+        
+        // Did signature end with trailing comma?
+        if (count != 0 && !seenClass)
+        	throw StandardException.newException(SQLState.SQLJ_SIGNATURE_INVALID); // invalid
+        
+        if (count < signatureTypes.length)
+        {
+        	if (hasDynamicResultSets)
+        	{
+        		// we can tolerate a count of one less than the
+        		// expected count, which means the procedure is declared
+        		// to have dynamic result sets, but the explict signature
+        		// doesn't have any ResultSet[] types.
+        		// So accept, and procedure will automatically have 0
+        		// dynamic results at runtime
+        		if (count == (signature.length - 1))
+        		{
+        			String[] sigs = new String[count];
+        			System.arraycopy(signatureTypes, 0, sigs, 0, count);
+        			return sigs;
+        		}
+        	}
+			throw StandardException.newException(SQLState.SQLJ_SIGNATURE_PARAMETER_COUNT, 
+    				Integer.toString(count),
+    				Integer.toString(signature.length)); // too few types
+        }
+
+        return signatureTypes;
+	}
 
 	/**
 	  *	Return true if some parameters are null, false otherwise.

Modified: incubator/derby/code/branches/10.1/java/engine/org/apache/derby/loc/messages_en.properties
URL: http://svn.apache.org/viewcvs/incubator/derby/code/branches/10.1/java/engine/org/apache/derby/loc/messages_en.properties?rev=190514&r1=190513&r2=190514&view=diff
==============================================================================
--- incubator/derby/code/branches/10.1/java/engine/org/apache/derby/loc/messages_en.properties (original)
+++ incubator/derby/code/branches/10.1/java/engine/org/apache/derby/loc/messages_en.properties Mon Jun 13 14:41:33 2005
@@ -1135,6 +1135,8 @@
 
 # SQL J Jar support
 46001=Exception while accessing jar file using URL ''{0}''.
+46J01=Java method signature has invalid format.
+46J02=Java method signature contains incorrect number ({0}) of parameters, expected {1}.
 
 ###############################################################################
 #

Modified: incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/parameterMapping.out
URL: http://svn.apache.org/viewcvs/incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/parameterMapping.out?rev=190514&r1=190513&r2=190514&view=diff
==============================================================================
--- incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/parameterMapping.out (original)
+++ incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/parameterMapping.out Mon Jun 13 14:41:33 2005
@@ -92,24 +92,39 @@
 setXXX() with all JDBC Types on SMALLINT
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() getShort=98 was null false JDBC MATCH(OK)
+  setByte() as batch getShort=98 was null false JDBC MATCH(OK)
   setShort() getShort=98 was null false JDBC MATCH(OK)
+  setShort() as batch getShort=98 was null false JDBC MATCH(OK)
   setInt() getShort=98 was null false JDBC MATCH(OK)
+  setInt() as batch getShort=98 was null false JDBC MATCH(OK)
   setLong() getShort=98 was null false JDBC MATCH(OK)
+  setLong() as batch getShort=98 was null false JDBC MATCH(OK)
   setFloat() getShort=98 was null false JDBC MATCH(OK)
+  setFloat() as batch getShort=98 was null false JDBC MATCH(OK)
   setDouble() getShort=98 was null false JDBC MATCH(OK)
+  setDouble() as batch getShort=98 was null false JDBC MATCH(OK)
   setBigDecimal() getShort=99 was null false JDBC MATCH(OK)
+  setBigDecimal() as batch getShort=99 was null false JDBC MATCH(OK)
   setBigDecimal(null) getShort=0 was null true JDBC MATCH(OK)
+  setBigDecimal(null) as batch getShort=0 was null true JDBC MATCH(OK)
   setBoolean() getShort=1 was null false JDBC MATCH(OK)
+  setBoolean() as batch getShort=1 was null false JDBC MATCH(OK)
   setString() getShort=97 was null false JDBC MATCH(OK)
+  setString() as batch getShort=97 was null false JDBC MATCH(OK)
   setString(null) getShort=0 was null true JDBC MATCH(OK)
+  setString(null) as batch getShort=0 was null true JDBC MATCH(OK)
   setBytes() IC JDBC MATCH (INVALID)
   setBytes(null) getShort=0 was null true CLOUD EXT (OK)
   setDate() IC JDBC MATCH (INVALID)
+  setDate() as batch IC JDBC MATCH (INVALID)
   setDate(null) getShort=0 was null true CLOUD EXT (OK)
+  setDate(null) as batch getShort=0 was null true CLOUD EXT (OK)
   setTime() IC JDBC MATCH (INVALID)
   setTime(null) getShort=0 was null true CLOUD EXT (OK)
   setTimestamp() IC JDBC MATCH (INVALID)
+  setTimestamp() as batch IC JDBC MATCH (INVALID)
   setTimestamp(null) getShort=0 was null true CLOUD EXT (OK)
+  setTimestamp(null) as batch getShort=0 was null true CLOUD EXT (OK)
   setAsciiStream() IC JDBC MATCH (INVALID)
   setAsciiStream(null) getShort=0 was null true CLOUD EXT (OK)
   setBinaryStream() IC JDBC MATCH (INVALID)
@@ -223,24 +238,39 @@
 setXXX() with all JDBC Types on INTEGER
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() getInt=98 was null false JDBC MATCH(OK)
+  setByte() as batch getInt=98 was null false JDBC MATCH(OK)
   setShort() getInt=98 was null false JDBC MATCH(OK)
+  setShort() as batch getInt=98 was null false JDBC MATCH(OK)
   setInt() getInt=98 was null false JDBC MATCH(OK)
+  setInt() as batch getInt=98 was null false JDBC MATCH(OK)
   setLong() getInt=98 was null false JDBC MATCH(OK)
+  setLong() as batch getInt=98 was null false JDBC MATCH(OK)
   setFloat() getInt=98 was null false JDBC MATCH(OK)
+  setFloat() as batch getInt=98 was null false JDBC MATCH(OK)
   setDouble() getInt=98 was null false JDBC MATCH(OK)
+  setDouble() as batch getInt=98 was null false JDBC MATCH(OK)
   setBigDecimal() getInt=99 was null false JDBC MATCH(OK)
+  setBigDecimal() as batch getInt=99 was null false JDBC MATCH(OK)
   setBigDecimal(null) getInt=0 was null true JDBC MATCH(OK)
+  setBigDecimal(null) as batch getInt=0 was null true JDBC MATCH(OK)
   setBoolean() getInt=1 was null false JDBC MATCH(OK)
+  setBoolean() as batch getInt=1 was null false JDBC MATCH(OK)
   setString() getInt=97 was null false JDBC MATCH(OK)
+  setString() as batch getInt=97 was null false JDBC MATCH(OK)
   setString(null) getInt=0 was null true JDBC MATCH(OK)
+  setString(null) as batch getInt=0 was null true JDBC MATCH(OK)
   setBytes() IC JDBC MATCH (INVALID)
   setBytes(null) getInt=0 was null true CLOUD EXT (OK)
   setDate() IC JDBC MATCH (INVALID)
+  setDate() as batch IC JDBC MATCH (INVALID)
   setDate(null) getInt=0 was null true CLOUD EXT (OK)
+  setDate(null) as batch getInt=0 was null true CLOUD EXT (OK)
   setTime() IC JDBC MATCH (INVALID)
   setTime(null) getInt=0 was null true CLOUD EXT (OK)
   setTimestamp() IC JDBC MATCH (INVALID)
+  setTimestamp() as batch IC JDBC MATCH (INVALID)
   setTimestamp(null) getInt=0 was null true CLOUD EXT (OK)
+  setTimestamp(null) as batch getInt=0 was null true CLOUD EXT (OK)
   setAsciiStream() IC JDBC MATCH (INVALID)
   setAsciiStream(null) getInt=0 was null true CLOUD EXT (OK)
   setBinaryStream() IC JDBC MATCH (INVALID)
@@ -354,24 +384,39 @@
 setXXX() with all JDBC Types on BIGINT
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() getLong=98 was null false JDBC MATCH(OK)
+  setByte() as batch getLong=98 was null false JDBC MATCH(OK)
   setShort() getLong=98 was null false JDBC MATCH(OK)
+  setShort() as batch getLong=98 was null false JDBC MATCH(OK)
   setInt() getLong=98 was null false JDBC MATCH(OK)
+  setInt() as batch getLong=98 was null false JDBC MATCH(OK)
   setLong() getLong=98 was null false JDBC MATCH(OK)
+  setLong() as batch getLong=98 was null false JDBC MATCH(OK)
   setFloat() getLong=98 was null false JDBC MATCH(OK)
+  setFloat() as batch getLong=98 was null false JDBC MATCH(OK)
   setDouble() getLong=98 was null false JDBC MATCH(OK)
+  setDouble() as batch getLong=98 was null false JDBC MATCH(OK)
   setBigDecimal() getLong=99 was null false JDBC MATCH(OK)
+  setBigDecimal() as batch getLong=99 was null false JDBC MATCH(OK)
   setBigDecimal(null) getLong=0 was null true JDBC MATCH(OK)
+  setBigDecimal(null) as batch getLong=0 was null true JDBC MATCH(OK)
   setBoolean() getLong=1 was null false JDBC MATCH(OK)
+  setBoolean() as batch getLong=1 was null false JDBC MATCH(OK)
   setString() getLong=97 was null false JDBC MATCH(OK)
+  setString() as batch getLong=97 was null false JDBC MATCH(OK)
   setString(null) getLong=0 was null true JDBC MATCH(OK)
+  setString(null) as batch getLong=0 was null true JDBC MATCH(OK)
   setBytes() IC JDBC MATCH (INVALID)
   setBytes(null) getLong=0 was null true CLOUD EXT (OK)
   setDate() IC JDBC MATCH (INVALID)
+  setDate() as batch IC JDBC MATCH (INVALID)
   setDate(null) getLong=0 was null true CLOUD EXT (OK)
+  setDate(null) as batch getLong=0 was null true CLOUD EXT (OK)
   setTime() IC JDBC MATCH (INVALID)
   setTime(null) getLong=0 was null true CLOUD EXT (OK)
   setTimestamp() IC JDBC MATCH (INVALID)
+  setTimestamp() as batch IC JDBC MATCH (INVALID)
   setTimestamp(null) getLong=0 was null true CLOUD EXT (OK)
+  setTimestamp(null) as batch getLong=0 was null true CLOUD EXT (OK)
   setAsciiStream() IC JDBC MATCH (INVALID)
   setAsciiStream(null) getLong=0 was null true CLOUD EXT (OK)
   setBinaryStream() IC JDBC MATCH (INVALID)
@@ -485,24 +530,39 @@
 setXXX() with all JDBC Types on REAL
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() getFloat=98.0 was null false JDBC MATCH(OK)
+  setByte() as batch getFloat=98.0 was null false JDBC MATCH(OK)
   setShort() getFloat=98.0 was null false JDBC MATCH(OK)
+  setShort() as batch getFloat=98.0 was null false JDBC MATCH(OK)
   setInt() getFloat=98.0 was null false JDBC MATCH(OK)
+  setInt() as batch getFloat=98.0 was null false JDBC MATCH(OK)
   setLong() getFloat=98.0 was null false JDBC MATCH(OK)
+  setLong() as batch getFloat=98.0 was null false JDBC MATCH(OK)
   setFloat() getFloat=98.4 was null false JDBC MATCH(OK)
+  setFloat() as batch getFloat=98.4 was null false JDBC MATCH(OK)
   setDouble() getFloat=98.5 was null false JDBC MATCH(OK)
+  setDouble() as batch getFloat=98.5 was null false JDBC MATCH(OK)
   setBigDecimal() getFloat=99.0 was null false JDBC MATCH(OK)
+  setBigDecimal() as batch getFloat=99.0 was null false JDBC MATCH(OK)
   setBigDecimal(null) getFloat=0.0 was null true JDBC MATCH(OK)
+  setBigDecimal(null) as batch getFloat=0.0 was null true JDBC MATCH(OK)
   setBoolean() getFloat=1.0 was null false JDBC MATCH(OK)
+  setBoolean() as batch getFloat=1.0 was null false JDBC MATCH(OK)
   setString() getFloat=97.0 was null false JDBC MATCH(OK)
+  setString() as batch getFloat=97.0 was null false JDBC MATCH(OK)
   setString(null) getFloat=0.0 was null true JDBC MATCH(OK)
+  setString(null) as batch getFloat=0.0 was null true JDBC MATCH(OK)
   setBytes() IC JDBC MATCH (INVALID)
   setBytes(null) getFloat=0.0 was null true CLOUD EXT (OK)
   setDate() IC JDBC MATCH (INVALID)
+  setDate() as batch IC JDBC MATCH (INVALID)
   setDate(null) getFloat=0.0 was null true CLOUD EXT (OK)
+  setDate(null) as batch getFloat=0.0 was null true CLOUD EXT (OK)
   setTime() IC JDBC MATCH (INVALID)
   setTime(null) getFloat=0.0 was null true CLOUD EXT (OK)
   setTimestamp() IC JDBC MATCH (INVALID)
+  setTimestamp() as batch IC JDBC MATCH (INVALID)
   setTimestamp(null) getFloat=0.0 was null true CLOUD EXT (OK)
+  setTimestamp(null) as batch getFloat=0.0 was null true CLOUD EXT (OK)
   setAsciiStream() IC JDBC MATCH (INVALID)
   setAsciiStream(null) getFloat=0.0 was null true CLOUD EXT (OK)
   setBinaryStream() IC JDBC MATCH (INVALID)
@@ -617,24 +677,39 @@
 setXXX() with all JDBC Types on FLOAT
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() getDouble=98.0 was null false JDBC MATCH(OK)
+  setByte() as batch getDouble=98.0 was null false JDBC MATCH(OK)
   setShort() getDouble=98.0 was null false JDBC MATCH(OK)
+  setShort() as batch getDouble=98.0 was null false JDBC MATCH(OK)
   setInt() getDouble=98.0 was null false JDBC MATCH(OK)
+  setInt() as batch getDouble=98.0 was null false JDBC MATCH(OK)
   setLong() getDouble=98.0 was null false JDBC MATCH(OK)
+  setLong() as batch getDouble=98.0 was null false JDBC MATCH(OK)
   setFloat() getDouble=98.4 was null false JDBC MATCH(OK)
+  setFloat() as batch getDouble=98.4 was null false JDBC MATCH(OK)
   setDouble() getDouble=98.5 was null false JDBC MATCH(OK)
+  setDouble() as batch getDouble=98.5 was null false JDBC MATCH(OK)
   setBigDecimal() getDouble=99.0 was null false JDBC MATCH(OK)
+  setBigDecimal() as batch getDouble=99.0 was null false JDBC MATCH(OK)
   setBigDecimal(null) getDouble=0.0 was null true JDBC MATCH(OK)
+  setBigDecimal(null) as batch getDouble=0.0 was null true JDBC MATCH(OK)
   setBoolean() getDouble=1.0 was null false JDBC MATCH(OK)
+  setBoolean() as batch getDouble=1.0 was null false JDBC MATCH(OK)
   setString() getDouble=97.0 was null false JDBC MATCH(OK)
+  setString() as batch getDouble=97.0 was null false JDBC MATCH(OK)
   setString(null) getDouble=0.0 was null true JDBC MATCH(OK)
+  setString(null) as batch getDouble=0.0 was null true JDBC MATCH(OK)
   setBytes() IC JDBC MATCH (INVALID)
   setBytes(null) getDouble=0.0 was null true CLOUD EXT (OK)
   setDate() IC JDBC MATCH (INVALID)
+  setDate() as batch IC JDBC MATCH (INVALID)
   setDate(null) getDouble=0.0 was null true CLOUD EXT (OK)
+  setDate(null) as batch getDouble=0.0 was null true CLOUD EXT (OK)
   setTime() IC JDBC MATCH (INVALID)
   setTime(null) getDouble=0.0 was null true CLOUD EXT (OK)
   setTimestamp() IC JDBC MATCH (INVALID)
+  setTimestamp() as batch IC JDBC MATCH (INVALID)
   setTimestamp(null) getDouble=0.0 was null true CLOUD EXT (OK)
+  setTimestamp(null) as batch getDouble=0.0 was null true CLOUD EXT (OK)
   setAsciiStream() IC JDBC MATCH (INVALID)
   setAsciiStream(null) getDouble=0.0 was null true CLOUD EXT (OK)
   setBinaryStream() IC JDBC MATCH (INVALID)
@@ -748,24 +823,39 @@
 setXXX() with all JDBC Types on DOUBLE
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() getDouble=98.0 was null false JDBC MATCH(OK)
+  setByte() as batch getDouble=98.0 was null false JDBC MATCH(OK)
   setShort() getDouble=98.0 was null false JDBC MATCH(OK)
+  setShort() as batch getDouble=98.0 was null false JDBC MATCH(OK)
   setInt() getDouble=98.0 was null false JDBC MATCH(OK)
+  setInt() as batch getDouble=98.0 was null false JDBC MATCH(OK)
   setLong() getDouble=98.0 was null false JDBC MATCH(OK)
+  setLong() as batch getDouble=98.0 was null false JDBC MATCH(OK)
   setFloat() getDouble=98.4 was null false JDBC MATCH(OK)
+  setFloat() as batch getDouble=98.4 was null false JDBC MATCH(OK)
   setDouble() getDouble=98.5 was null false JDBC MATCH(OK)
+  setDouble() as batch getDouble=98.5 was null false JDBC MATCH(OK)
   setBigDecimal() getDouble=99.0 was null false JDBC MATCH(OK)
+  setBigDecimal() as batch getDouble=99.0 was null false JDBC MATCH(OK)
   setBigDecimal(null) getDouble=0.0 was null true JDBC MATCH(OK)
+  setBigDecimal(null) as batch getDouble=0.0 was null true JDBC MATCH(OK)
   setBoolean() getDouble=1.0 was null false JDBC MATCH(OK)
+  setBoolean() as batch getDouble=1.0 was null false JDBC MATCH(OK)
   setString() getDouble=97.0 was null false JDBC MATCH(OK)
+  setString() as batch getDouble=97.0 was null false JDBC MATCH(OK)
   setString(null) getDouble=0.0 was null true JDBC MATCH(OK)
+  setString(null) as batch getDouble=0.0 was null true JDBC MATCH(OK)
   setBytes() IC JDBC MATCH (INVALID)
   setBytes(null) getDouble=0.0 was null true CLOUD EXT (OK)
   setDate() IC JDBC MATCH (INVALID)
+  setDate() as batch IC JDBC MATCH (INVALID)
   setDate(null) getDouble=0.0 was null true CLOUD EXT (OK)
+  setDate(null) as batch getDouble=0.0 was null true CLOUD EXT (OK)
   setTime() IC JDBC MATCH (INVALID)
   setTime(null) getDouble=0.0 was null true CLOUD EXT (OK)
   setTimestamp() IC JDBC MATCH (INVALID)
+  setTimestamp() as batch IC JDBC MATCH (INVALID)
   setTimestamp(null) getDouble=0.0 was null true CLOUD EXT (OK)
+  setTimestamp(null) as batch getDouble=0.0 was null true CLOUD EXT (OK)
   setAsciiStream() IC JDBC MATCH (INVALID)
   setAsciiStream(null) getDouble=0.0 was null true CLOUD EXT (OK)
   setBinaryStream() IC JDBC MATCH (INVALID)
@@ -879,24 +969,39 @@
 setXXX() with all JDBC Types on DECIMAL(10,5)
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() getBigDecimal=98.00000 was null false JDBC MATCH(OK)
+  setByte() as batch getBigDecimal=98.00000 was null false JDBC MATCH(OK)
   setShort() getBigDecimal=98.00000 was null false JDBC MATCH(OK)
+  setShort() as batch getBigDecimal=98.00000 was null false JDBC MATCH(OK)
   setInt() getBigDecimal=98.00000 was null false JDBC MATCH(OK)
+  setInt() as batch getBigDecimal=98.00000 was null false JDBC MATCH(OK)
   setLong() getBigDecimal=98.00000 was null false JDBC MATCH(OK)
+  setLong() as batch getBigDecimal=98.00000 was null false JDBC MATCH(OK)
   setFloat() getBigDecimal=98.40000 was null false JDBC MATCH(OK)
+  setFloat() as batch getBigDecimal=98.40000 was null false JDBC MATCH(OK)
   setDouble() getBigDecimal=98.50000 was null false JDBC MATCH(OK)
+  setDouble() as batch getBigDecimal=98.50000 was null false JDBC MATCH(OK)
   setBigDecimal() getBigDecimal=99.00000 was null false JDBC MATCH(OK)
+  setBigDecimal() as batch getBigDecimal=99.00000 was null false JDBC MATCH(OK)
   setBigDecimal(null) getBigDecimal=null was null true JDBC MATCH(OK)
+  setBigDecimal(null) as batch getBigDecimal=null was null true JDBC MATCH(OK)
   setBoolean() getBigDecimal=1.00000 was null false JDBC MATCH(OK)
+  setBoolean() as batch getBigDecimal=1.00000 was null false JDBC MATCH(OK)
   setString() getBigDecimal=97.00000 was null false JDBC MATCH(OK)
+  setString() as batch getBigDecimal=97.00000 was null false JDBC MATCH(OK)
   setString(null) getBigDecimal=null was null true JDBC MATCH(OK)
+  setString(null) as batch getBigDecimal=null was null true JDBC MATCH(OK)
   setBytes() IC JDBC MATCH (INVALID)
   setBytes(null) getBigDecimal=null was null true CLOUD EXT (OK)
   setDate() IC JDBC MATCH (INVALID)
+  setDate() as batch IC JDBC MATCH (INVALID)
   setDate(null) getBigDecimal=null was null true CLOUD EXT (OK)
+  setDate(null) as batch getBigDecimal=null was null true CLOUD EXT (OK)
   setTime() IC JDBC MATCH (INVALID)
   setTime(null) getBigDecimal=null was null true CLOUD EXT (OK)
   setTimestamp() IC JDBC MATCH (INVALID)
+  setTimestamp() as batch IC JDBC MATCH (INVALID)
   setTimestamp(null) getBigDecimal=null was null true CLOUD EXT (OK)
+  setTimestamp(null) as batch getBigDecimal=null was null true CLOUD EXT (OK)
   setAsciiStream() IC JDBC MATCH (INVALID)
   setAsciiStream(null) getBigDecimal=null was null true CLOUD EXT (OK)
   setBinaryStream() IC JDBC MATCH (INVALID)
@@ -1016,24 +1121,39 @@
 setXXX() with all JDBC Types on CHAR(60)
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() getString=98                                                           was null false JDBC MATCH(OK)
+  setByte() as batch getString=98                                                           was null false JDBC MATCH(OK)
   setShort() getString=98                                                           was null false JDBC MATCH(OK)
+  setShort() as batch getString=98                                                           was null false JDBC MATCH(OK)
   setInt() getString=98                                                           was null false JDBC MATCH(OK)
+  setInt() as batch getString=98                                                           was null false JDBC MATCH(OK)
   setLong() getString=98                                                           was null false JDBC MATCH(OK)
+  setLong() as batch getString=98                                                           was null false JDBC MATCH(OK)
   setFloat() getString=98.4                                                         was null false JDBC MATCH(OK)
+  setFloat() as batch getString=98.4                                                         was null false JDBC MATCH(OK)
   setDouble() getString=98.5                                                         was null false JDBC MATCH(OK)
+  setDouble() as batch getString=98.5                                                         was null false JDBC MATCH(OK)
   setBigDecimal() getString=99                                                           was null false JDBC MATCH(OK)
+  setBigDecimal() as batch getString=99                                                           was null false JDBC MATCH(OK)
   setBigDecimal(null) getString=null was null true JDBC MATCH(OK)
+  setBigDecimal(null) as batch getString=null was null true JDBC MATCH(OK)
   setBoolean() getString=1                                                            was null false JDBC MATCH(OK)
+  setBoolean() as batch getString=1                                                            was null false JDBC MATCH(OK)
   setString() getString=97                                                           was null false JDBC MATCH(OK)
+  setString() as batch getString=97                                                           was null false JDBC MATCH(OK)
   setString(null) getString=null was null true JDBC MATCH(OK)
+  setString(null) as batch getString=null was null true JDBC MATCH(OK)
   setBytes() IC JDBC MATCH (INVALID)
   setBytes(null) getString=null was null true CLOUD EXT (OK)
   setDate() getString=2004-02-14                                                   was null false JDBC MATCH(OK)
+  setDate() as batch getString=2004-02-14                                                   was null false JDBC MATCH(OK)
   setDate(null) getString=null was null true JDBC MATCH(OK)
+  setDate(null) as batch getString=null was null true JDBC MATCH(OK)
   setTime() getString=13:26:42                                                     was null false JDBC MATCH(OK)
   setTime(null) getString=null was null true JDBC MATCH(OK)
   setTimestamp() getString=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
+  setTimestamp() as batch getString=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
   setTimestamp(null) getString=null was null true JDBC MATCH(OK)
+  setTimestamp(null) as batch getString=null was null true JDBC MATCH(OK)
   setAsciiStream() getString=eg012d                                                       was null false JDBC MATCH(OK)
   setAsciiStream(null) getString=null was null true JDBC MATCH(OK)
   setBinaryStream() IC JDBC MATCH (INVALID)
@@ -1147,24 +1267,39 @@
 setXXX() with all JDBC Types on VARCHAR(60)
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() getString=98 was null false JDBC MATCH(OK)
+  setByte() as batch getString=98 was null false JDBC MATCH(OK)
   setShort() getString=98 was null false JDBC MATCH(OK)
+  setShort() as batch getString=98 was null false JDBC MATCH(OK)
   setInt() getString=98 was null false JDBC MATCH(OK)
+  setInt() as batch getString=98 was null false JDBC MATCH(OK)
   setLong() getString=98 was null false JDBC MATCH(OK)
+  setLong() as batch getString=98 was null false JDBC MATCH(OK)
   setFloat() getString=98.4 was null false JDBC MATCH(OK)
+  setFloat() as batch getString=98.4 was null false JDBC MATCH(OK)
   setDouble() getString=98.5 was null false JDBC MATCH(OK)
+  setDouble() as batch getString=98.5 was null false JDBC MATCH(OK)
   setBigDecimal() getString=99 was null false JDBC MATCH(OK)
+  setBigDecimal() as batch getString=99 was null false JDBC MATCH(OK)
   setBigDecimal(null) getString=null was null true JDBC MATCH(OK)
+  setBigDecimal(null) as batch getString=null was null true JDBC MATCH(OK)
   setBoolean() getString=1 was null false JDBC MATCH(OK)
+  setBoolean() as batch getString=1 was null false JDBC MATCH(OK)
   setString() getString=97 was null false JDBC MATCH(OK)
+  setString() as batch getString=97 was null false JDBC MATCH(OK)
   setString(null) getString=null was null true JDBC MATCH(OK)
+  setString(null) as batch getString=null was null true JDBC MATCH(OK)
   setBytes() IC JDBC MATCH (INVALID)
   setBytes(null) getString=null was null true CLOUD EXT (OK)
   setDate() getString=2004-02-14 was null false JDBC MATCH(OK)
+  setDate() as batch getString=2004-02-14 was null false JDBC MATCH(OK)
   setDate(null) getString=null was null true JDBC MATCH(OK)
+  setDate(null) as batch getString=null was null true JDBC MATCH(OK)
   setTime() getString=13:26:42 was null false JDBC MATCH(OK)
   setTime(null) getString=null was null true JDBC MATCH(OK)
   setTimestamp() getString=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
+  setTimestamp() as batch getString=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
   setTimestamp(null) getString=null was null true JDBC MATCH(OK)
+  setTimestamp(null) as batch getString=null was null true JDBC MATCH(OK)
   setAsciiStream() getString=eg012d was null false JDBC MATCH(OK)
   setAsciiStream(null) getString=null was null true JDBC MATCH(OK)
   setBinaryStream() IC JDBC MATCH (INVALID)
@@ -1278,24 +1413,39 @@
 setXXX() with all JDBC Types on LONG VARCHAR
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() getString=98 was null false JDBC MATCH(OK)
+  setByte() as batch getString=98 was null false JDBC MATCH(OK)
   setShort() getString=98 was null false JDBC MATCH(OK)
+  setShort() as batch getString=98 was null false JDBC MATCH(OK)
   setInt() getString=98 was null false JDBC MATCH(OK)
+  setInt() as batch getString=98 was null false JDBC MATCH(OK)
   setLong() getString=98 was null false JDBC MATCH(OK)
+  setLong() as batch getString=98 was null false JDBC MATCH(OK)
   setFloat() getString=98.4 was null false JDBC MATCH(OK)
+  setFloat() as batch getString=98.4 was null false JDBC MATCH(OK)
   setDouble() getString=98.5 was null false JDBC MATCH(OK)
+  setDouble() as batch getString=98.5 was null false JDBC MATCH(OK)
   setBigDecimal() getString=99 was null false JDBC MATCH(OK)
+  setBigDecimal() as batch getString=99 was null false JDBC MATCH(OK)
   setBigDecimal(null) getString=null was null true JDBC MATCH(OK)
+  setBigDecimal(null) as batch getString=null was null true JDBC MATCH(OK)
   setBoolean() getString=1 was null false JDBC MATCH(OK)
+  setBoolean() as batch getString=1 was null false JDBC MATCH(OK)
   setString() getString=97 was null false JDBC MATCH(OK)
+  setString() as batch getString=97 was null false JDBC MATCH(OK)
   setString(null) getString=null was null true JDBC MATCH(OK)
+  setString(null) as batch getString=null was null true JDBC MATCH(OK)
   setBytes() IC JDBC MATCH (INVALID)
   setBytes(null) getString=null was null true CLOUD EXT (OK)
   setDate() getString=2004-02-14 was null false JDBC MATCH(OK)
+  setDate() as batch getString=2004-02-14 was null false JDBC MATCH(OK)
   setDate(null) getString=null was null true JDBC MATCH(OK)
+  setDate(null) as batch getString=null was null true JDBC MATCH(OK)
   setTime() getString=13:26:42 was null false JDBC MATCH(OK)
   setTime(null) getString=null was null true JDBC MATCH(OK)
   setTimestamp() getString=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
+  setTimestamp() as batch getString=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
   setTimestamp(null) getString=null was null true JDBC MATCH(OK)
+  setTimestamp(null) as batch getString=null was null true JDBC MATCH(OK)
   setAsciiStream() getString=eg012d was null false JDBC MATCH(OK)
   setAsciiStream(null) getString=null was null true JDBC MATCH(OK)
   setBinaryStream() IC JDBC MATCH (INVALID)
@@ -1411,24 +1561,39 @@
 setXXX() with all JDBC Types on VARCHAR(60) FOR BIT DATA
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() IC JDBC MATCH (INVALID)
+  setByte() as batch IC JDBC MATCH (INVALID)
   setShort() IC JDBC MATCH (INVALID)
+  setShort() as batch IC JDBC MATCH (INVALID)
   setInt() IC JDBC MATCH (INVALID)
+  setInt() as batch IC JDBC MATCH (INVALID)
   setLong() IC JDBC MATCH (INVALID)
+  setLong() as batch IC JDBC MATCH (INVALID)
   setFloat() IC JDBC MATCH (INVALID)
+  setFloat() as batch IC JDBC MATCH (INVALID)
   setDouble() IC JDBC MATCH (INVALID)
+  setDouble() as batch IC JDBC MATCH (INVALID)
   setBigDecimal() IC JDBC MATCH (INVALID)
+  setBigDecimal() as batch IC JDBC MATCH (INVALID)
   setBigDecimal(null) getBytes=null was null true CLOUD EXT (OK)
+  setBigDecimal(null) as batch getBytes=null was null true CLOUD EXT (OK)
   setBoolean() IC JDBC MATCH (INVALID)
+  setBoolean() as batch IC JDBC MATCH (INVALID)
   setString() IC JDBC MATCH (INVALID)
+  setString() as batch IC JDBC MATCH (INVALID)
   setString(null) getBytes=null was null true CLOUD EXT (OK)
+  setString(null) as batch getBytes=null was null true CLOUD EXT (OK)
   setBytes() getBytes=0x4,0x3 was null false JDBC MATCH(OK)
   setBytes(null) getBytes=null was null true JDBC MATCH(OK)
   setDate() IC JDBC MATCH (INVALID)
+  setDate() as batch IC JDBC MATCH (INVALID)
   setDate(null) getBytes=null was null true CLOUD EXT (OK)
+  setDate(null) as batch getBytes=null was null true CLOUD EXT (OK)
   setTime() IC JDBC MATCH (INVALID)
   setTime(null) getBytes=null was null true CLOUD EXT (OK)
   setTimestamp() IC JDBC MATCH (INVALID)
+  setTimestamp() as batch IC JDBC MATCH (INVALID)
   setTimestamp(null) getBytes=null was null true CLOUD EXT (OK)
+  setTimestamp(null) as batch getBytes=null was null true CLOUD EXT (OK)
   setAsciiStream() IC JDBC MATCH (INVALID)
   setAsciiStream(null) getBytes=null was null true CLOUD EXT (OK)
   setBinaryStream() getBytes=0x82,0x43 was null false JDBC MATCH(OK)
@@ -1544,25 +1709,41 @@
 setXXX() with all JDBC Types on DATE
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() IC JDBC MATCH (INVALID)
+  setByte() as batch IC JDBC MATCH (INVALID)
   setShort() IC JDBC MATCH (INVALID)
+  setShort() as batch IC JDBC MATCH (INVALID)
   setInt() IC JDBC MATCH (INVALID)
+  setInt() as batch IC JDBC MATCH (INVALID)
   setLong() IC JDBC MATCH (INVALID)
+  setLong() as batch IC JDBC MATCH (INVALID)
   setFloat() IC JDBC MATCH (INVALID)
+  setFloat() as batch IC JDBC MATCH (INVALID)
   setDouble() IC JDBC MATCH (INVALID)
+  setDouble() as batch IC JDBC MATCH (INVALID)
   setBigDecimal() IC JDBC MATCH (INVALID)
+  setBigDecimal() as batch IC JDBC MATCH (INVALID)
   setBigDecimal(null) getDate=null was null true CLOUD EXT (OK)
+  setBigDecimal(null) as batch getDate=null was null true CLOUD EXT (OK)
   setBoolean() IC JDBC MATCH (INVALID)
+  setBoolean() as batch IC JDBC MATCH (INVALID)
   setString() String index out of range: 2
  JDBC FAIL DATE
+  setString() as batch String index out of range: 2
+ JDBC FAIL DATE
   setString(null) getDate=null was null true JDBC MATCH(OK)
+  setString(null) as batch getDate=null was null true JDBC MATCH(OK)
   setBytes() IC JDBC MATCH (INVALID)
   setBytes(null) getDate=null was null true CLOUD EXT (OK)
   setDate() getDate=2004-02-14 was null false JDBC MATCH(OK)
+  setDate() as batch getDate=2004-02-14 was null false JDBC MATCH(OK)
   setDate(null) getDate=null was null true JDBC MATCH(OK)
+  setDate(null) as batch getDate=null was null true JDBC MATCH(OK)
   setTime() IC JDBC MATCH (INVALID)
   setTime(null) getDate=null was null true CLOUD EXT (OK)
   setTimestamp() getDate=2004-02-23 was null false JDBC MATCH(OK)
+  setTimestamp() as batch getDate=2004-02-23 was null false JDBC MATCH(OK)
   setTimestamp(null) getDate=null was null true JDBC MATCH(OK)
+  setTimestamp(null) as batch getDate=null was null true JDBC MATCH(OK)
   setAsciiStream() IC JDBC MATCH (INVALID)
   setAsciiStream(null) getDate=null was null true CLOUD EXT (OK)
   setBinaryStream() IC JDBC MATCH (INVALID)
@@ -1676,25 +1857,41 @@
 setXXX() with all JDBC Types on TIME
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() IC JDBC MATCH (INVALID)
+  setByte() as batch IC JDBC MATCH (INVALID)
   setShort() IC JDBC MATCH (INVALID)
+  setShort() as batch IC JDBC MATCH (INVALID)
   setInt() IC JDBC MATCH (INVALID)
+  setInt() as batch IC JDBC MATCH (INVALID)
   setLong() IC JDBC MATCH (INVALID)
+  setLong() as batch IC JDBC MATCH (INVALID)
   setFloat() IC JDBC MATCH (INVALID)
+  setFloat() as batch IC JDBC MATCH (INVALID)
   setDouble() IC JDBC MATCH (INVALID)
+  setDouble() as batch IC JDBC MATCH (INVALID)
   setBigDecimal() IC JDBC MATCH (INVALID)
+  setBigDecimal() as batch IC JDBC MATCH (INVALID)
   setBigDecimal(null) getTime=null was null true CLOUD EXT (OK)
+  setBigDecimal(null) as batch getTime=null was null true CLOUD EXT (OK)
   setBoolean() IC JDBC MATCH (INVALID)
+  setBoolean() as batch IC JDBC MATCH (INVALID)
   setString() String index out of range: 2
  JDBC FAIL TIME
+  setString() as batch String index out of range: 2
+ JDBC FAIL TIME
   setString(null) getTime=null was null true JDBC MATCH(OK)
+  setString(null) as batch getTime=null was null true JDBC MATCH(OK)
   setBytes() IC JDBC MATCH (INVALID)
   setBytes(null) getTime=null was null true CLOUD EXT (OK)
   setDate() IC JDBC MATCH (INVALID)
+  setDate() as batch IC JDBC MATCH (INVALID)
   setDate(null) getTime=null was null true CLOUD EXT (OK)
+  setDate(null) as batch getTime=null was null true CLOUD EXT (OK)
   setTime() getTime=13:26:42 was null false JDBC MATCH(OK)
   setTime(null) getTime=null was null true JDBC MATCH(OK)
   setTimestamp() getTime=17:14:24 was null false JDBC MATCH(OK)
+  setTimestamp() as batch getTime=17:14:24 was null false JDBC MATCH(OK)
   setTimestamp(null) getTime=null was null true JDBC MATCH(OK)
+  setTimestamp(null) as batch getTime=null was null true JDBC MATCH(OK)
   setAsciiStream() IC JDBC MATCH (INVALID)
   setAsciiStream(null) getTime=null was null true CLOUD EXT (OK)
   setBinaryStream() IC JDBC MATCH (INVALID)
@@ -1808,25 +2005,41 @@
 setXXX() with all JDBC Types on TIMESTAMP
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() IC JDBC MATCH (INVALID)
+  setByte() as batch IC JDBC MATCH (INVALID)
   setShort() IC JDBC MATCH (INVALID)
+  setShort() as batch IC JDBC MATCH (INVALID)
   setInt() IC JDBC MATCH (INVALID)
+  setInt() as batch IC JDBC MATCH (INVALID)
   setLong() IC JDBC MATCH (INVALID)
+  setLong() as batch IC JDBC MATCH (INVALID)
   setFloat() IC JDBC MATCH (INVALID)
+  setFloat() as batch IC JDBC MATCH (INVALID)
   setDouble() IC JDBC MATCH (INVALID)
+  setDouble() as batch IC JDBC MATCH (INVALID)
   setBigDecimal() IC JDBC MATCH (INVALID)
+  setBigDecimal() as batch IC JDBC MATCH (INVALID)
   setBigDecimal(null) getTimestamp=null was null true CLOUD EXT (OK)
+  setBigDecimal(null) as batch getTimestamp=null was null true CLOUD EXT (OK)
   setBoolean() IC JDBC MATCH (INVALID)
+  setBoolean() as batch IC JDBC MATCH (INVALID)
   setString() String index out of range: 2
  JDBC FAIL TIMESTAMP
+  setString() as batch String index out of range: 2
+ JDBC FAIL TIMESTAMP
   setString(null) getTimestamp=null was null true JDBC MATCH(OK)
+  setString(null) as batch getTimestamp=null was null true JDBC MATCH(OK)
   setBytes() IC JDBC MATCH (INVALID)
   setBytes(null) getTimestamp=null was null true CLOUD EXT (OK)
   setDate() getTimestamp=00:00:00 was null false JDBC MATCH(OK)
+  setDate() as batch getTimestamp=00:00:00 was null false JDBC MATCH(OK)
   setDate(null) getTimestamp=null was null true JDBC MATCH(OK)
+  setDate(null) as batch getTimestamp=null was null true JDBC MATCH(OK)
   setTime()  (?????):Illegal Conversion JDBC FAIL TIMESTAMP
   setTime(null) getTimestamp=null was null true JDBC MATCH(OK)
   setTimestamp() getTimestamp=17:14:24 was null false JDBC MATCH(OK)
+  setTimestamp() as batch getTimestamp=17:14:24 was null false JDBC MATCH(OK)
   setTimestamp(null) getTimestamp=null was null true JDBC MATCH(OK)
+  setTimestamp(null) as batch getTimestamp=null was null true JDBC MATCH(OK)
   setAsciiStream() IC JDBC MATCH (INVALID)
   setAsciiStream(null) getTimestamp=null was null true CLOUD EXT (OK)
   setBinaryStream() IC JDBC MATCH (INVALID)
@@ -1940,24 +2153,39 @@
 setXXX() with all JDBC Types on CLOB(1k)
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() IC JDBC MATCH (INVALID)
+  setByte() as batch IC JDBC MATCH (INVALID)
   setShort() IC JDBC MATCH (INVALID)
+  setShort() as batch IC JDBC MATCH (INVALID)
   setInt() IC JDBC MATCH (INVALID)
+  setInt() as batch IC JDBC MATCH (INVALID)
   setLong() IC JDBC MATCH (INVALID)
+  setLong() as batch IC JDBC MATCH (INVALID)
   setFloat() IC JDBC MATCH (INVALID)
+  setFloat() as batch IC JDBC MATCH (INVALID)
   setDouble() IC JDBC MATCH (INVALID)
+  setDouble() as batch IC JDBC MATCH (INVALID)
   setBigDecimal() IC JDBC MATCH (INVALID)
+  setBigDecimal() as batch IC JDBC MATCH (INVALID)
   setBigDecimal(null) getClob=null was null true CLOUD EXT (OK)
+  setBigDecimal(null) as batch getClob=null was null true CLOUD EXT (OK)
   setBoolean() IC JDBC MATCH (INVALID)
+  setBoolean() as batch IC JDBC MATCH (INVALID)
   setString() getClob=0x39,0x37 was null false CLOUD EXT (OK)
+  setString() as batch getClob=0x39,0x37 was null false CLOUD EXT (OK)
   setString(null) getClob=null was null true CLOUD EXT (OK)
+  setString(null) as batch getClob=null was null true CLOUD EXT (OK)
   setBytes() IC JDBC MATCH (INVALID)
   setBytes(null) getClob=null was null true CLOUD EXT (OK)
   setDate() IC JDBC MATCH (INVALID)
+  setDate() as batch IC JDBC MATCH (INVALID)
   setDate(null) getClob=null was null true CLOUD EXT (OK)
+  setDate(null) as batch getClob=null was null true CLOUD EXT (OK)
   setTime() IC JDBC MATCH (INVALID)
   setTime(null) getClob=null was null true CLOUD EXT (OK)
   setTimestamp() IC JDBC MATCH (INVALID)
+  setTimestamp() as batch IC JDBC MATCH (INVALID)
   setTimestamp(null) getClob=null was null true CLOUD EXT (OK)
+  setTimestamp(null) as batch getClob=null was null true CLOUD EXT (OK)
   setAsciiStream() getClob=0x65,0x67 was null false JDBC MATCH(OK)
   setAsciiStream(null) getClob=null was null true JDBC MATCH(OK)
   setBinaryStream() IC JDBC MATCH (INVALID)
@@ -2071,24 +2299,39 @@
 setXXX() with all JDBC Types on BLOB(1k)
 For setXXX() methods that pass an object, a null and valid values are checked
   setByte() IC JDBC MATCH (INVALID)
+  setByte() as batch IC JDBC MATCH (INVALID)
   setShort() IC JDBC MATCH (INVALID)
+  setShort() as batch IC JDBC MATCH (INVALID)
   setInt() IC JDBC MATCH (INVALID)
+  setInt() as batch IC JDBC MATCH (INVALID)
   setLong() IC JDBC MATCH (INVALID)
+  setLong() as batch IC JDBC MATCH (INVALID)
   setFloat() IC JDBC MATCH (INVALID)
+  setFloat() as batch IC JDBC MATCH (INVALID)
   setDouble() IC JDBC MATCH (INVALID)
+  setDouble() as batch IC JDBC MATCH (INVALID)
   setBigDecimal() IC JDBC MATCH (INVALID)
+  setBigDecimal() as batch IC JDBC MATCH (INVALID)
   setBigDecimal(null) getBlob=null was null true CLOUD EXT (OK)
+  setBigDecimal(null) as batch getBlob=null was null true CLOUD EXT (OK)
   setBoolean() IC JDBC MATCH (INVALID)
+  setBoolean() as batch IC JDBC MATCH (INVALID)
   setString() IC JDBC MATCH (INVALID)
+  setString() as batch IC JDBC MATCH (INVALID)
   setString(null) getBlob=null was null true CLOUD EXT (OK)
+  setString(null) as batch getBlob=null was null true CLOUD EXT (OK)
   setBytes() getBlob=0x4,0x3 was null false CLOUD EXT (OK)
   setBytes(null) getBlob=null was null true CLOUD EXT (OK)
   setDate() IC JDBC MATCH (INVALID)
+  setDate() as batch IC JDBC MATCH (INVALID)
   setDate(null) getBlob=null was null true CLOUD EXT (OK)
+  setDate(null) as batch getBlob=null was null true CLOUD EXT (OK)
   setTime() IC JDBC MATCH (INVALID)
   setTime(null) getBlob=null was null true CLOUD EXT (OK)
   setTimestamp() IC JDBC MATCH (INVALID)
+  setTimestamp() as batch IC JDBC MATCH (INVALID)
   setTimestamp(null) getBlob=null was null true CLOUD EXT (OK)
+  setTimestamp(null) as batch getBlob=null was null true CLOUD EXT (OK)
   setAsciiStream() IC JDBC MATCH (INVALID)
   setAsciiStream(null) getBlob=null was null true CLOUD EXT (OK)
   setBinaryStream() getBlob=0x82,0x43 was null false JDBC MATCH(OK)

Modified: incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/procedure.out
URL: http://svn.apache.org/viewcvs/incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/procedure.out?rev=190514&r1=190513&r2=190514&view=diff
==============================================================================
--- incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/procedure.out (original)
+++ incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/procedure.out Mon Jun 13 14:41:33 2005
@@ -51,6 +51,27 @@
 EXPECTED SQL Exception: (42Y03) 'APP.NSP' is not recognized as a function or procedure.
 call syscs_util.syscs_set_database_property("foo", "bar")
 EXPECTED SQL Exception: (42X15) Column name 'foo' appears in a statement without a FROM list.
+signature mismatched types
+CALL APP.SIGNATURE_BUG_DERBY_258_A(4)
+EXPECTED SQL Exception: (22005) An attempt was made to get a data value of type 'java.lang.String' from a data value of type 'INTEGER'.
+signature too many parameters
+VALUES APP.SIGNATURE_BUG_DERBY_258_B(4)
+EXPECTED SQL Exception: (46J02) Java method signature contains incorrect number (2) of parameters, expected 1.
+signature too few parameters
+CALL APP.SIGNATURE_BUG_DERBY_258_C(4)
+EXPECTED SQL Exception: (46J02) Java method signature contains incorrect number (0) of parameters, expected 1.
+signature invalid format
+CALL APP.SIGNATURE_BUG_DERBY_258_F(4)
+EXPECTED SQL Exception: (46J01) Java method signature has invalid format.
+signature invalid format
+CALL APP.SIGNATURE_BUG_DERBY_258_G(4)
+EXPECTED SQL Exception: (46J01) Java method signature has invalid format.
+signature invalid format
+CALL APP.SIGNATURE_BUG_DERBY_258_H(4)
+EXPECTED SQL Exception: (46J01) Java method signature has invalid format.
+signature invalid format
+CALL APP.SIGNATURE_BUG_DERBY_258_I(4)
+EXPECTED SQL Exception: (46J01) Java method signature has invalid format.
 testDelayedClassChecking
 call noclass()
 EXPECTED SQL Exception: (42X51) The class 'asdf' does not exist or is inaccessible. This can happen if the class is not public. SQLSTATE: XJ001: Java exception: 'asdf: java.lang.ClassNotFoundException'.

Modified: incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/synonym.out
URL: http://svn.apache.org/viewcvs/incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/synonym.out?rev=190514&r1=190513&r2=190514&view=diff
==============================================================================
--- incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/synonym.out (original)
+++ incubator/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/synonym.out Mon Jun 13 14:41:33 2005
@@ -216,6 +216,54 @@
 0 rows inserted/updated/deleted
 ij> drop synonym synPrimary;
 0 rows inserted/updated/deleted
+ij> -- Tests with non existant schemas
+----- Implicitly creates junkSchema
+create synonym junkSchema.syn1 for table2;
+0 rows inserted/updated/deleted
+WARNING 01522: The newly defined synonym 'SYN1' resolved to the object 'JUNKSCHEMA.TABLE2' which is currently undefined. : 
+ij> select * from junkSchema.syn1;
+ERROR 42X05: Table 'JUNKSCHEMA.TABLE2' does not exist.
+ij> set schema junkSchema;
+0 rows inserted/updated/deleted
+ij> create table table2(c char(10));
+0 rows inserted/updated/deleted
+ij> select * from syn1;
+C         
+-----
+ij> set schema APP;
+0 rows inserted/updated/deleted
+ij> -- Should resolve to junkSchema.table2
+select * from junkSchema.syn1;
+C         
+-----
+ij> drop table junkSchema.table2;
+0 rows inserted/updated/deleted
+ij> -- Should fail. Need to drop synonym first
+drop schema junkSchema restrict;
+ERROR X0Y54: Schema 'JUNKSCHEMA' cannot be dropped because it is not empty.
+ij> drop synonym junkSchema.syn1;
+0 rows inserted/updated/deleted
+ij> drop schema junkSchema restrict;
+0 rows inserted/updated/deleted
+ij> -- Test with target schema missing
+create synonym mySynonym for notPresent.t1;
+0 rows inserted/updated/deleted
+WARNING 01522: The newly defined synonym 'MYSYNONYM' resolved to the object 'NOTPRESENT.T1' which is currently undefined. : 
+ij> select * from mySynonym;
+ERROR 42Y07: Schema 'NOTPRESENT' does not exist
+ij> create table notPresent.t1(j int, c char(10));
+0 rows inserted/updated/deleted
+ij> insert into notPresent.t1 values (100, 'satheesh');
+1 row inserted/updated/deleted
+ij> -- Should resolve now
+select * from mySynonym;
+J |C         
+-----
+100 |satheesh  
+ij> drop table notPresent.t1;
+0 rows inserted/updated/deleted
+ij> drop synonym mySynonym;
+0 rows inserted/updated/deleted
 ij> -- Positive test case with three levels of synonym chaining
 create schema synonymSchema;
 0 rows inserted/updated/deleted



Mime
View raw message