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/04/20 00:28:40 UTC
svn commit: r395414 - in /db/derby/code/trunk/java:
client/org/apache/derby/client/am/ engine/org/apache/derby/catalog/
engine/org/apache/derby/impl/jdbc/ engine/org/apache/derby/impl/sql/catalog/
shared/org/apache/derby/shared/common/reference/ testin...
Author: rhillegas
Date: Wed Apr 19 15:28:34 2006
New Revision: 395414
URL: http://svn.apache.org/viewcvs?rev=395414&view=rev
Log:
DERBY-925: Dyre's derby-925.v1.diff patch enabling new JDBC4 getFunctionParamaters() metadata method.
Added:
db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/JDBC40Translation.java (with props)
Modified:
db/derby/code/trunk/java/client/org/apache/derby/client/am/DatabaseMetaData.java
db/derby/code/trunk/java/engine/org/apache/derby/catalog/GetProcedureColumns.java
db/derby/code/trunk/java/engine/org/apache/derby/catalog/SystemProcedures.java
db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedDatabaseMetaData.java
db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedDatabaseMetaData40.java
db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/metadata.properties
db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java
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/metadata.out
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/odbc_metadata.out
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/TestDbMetaData.out
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/Upgrade_10_1_10_2.out
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/metadata.out
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/odbc_metadata.out
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/TestDbMetaData.java
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadata_test.java
Modified: db/derby/code/trunk/java/client/org/apache/derby/client/am/DatabaseMetaData.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/client/org/apache/derby/client/am/DatabaseMetaData.java?rev=395414&r1=395413&r2=395414&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 Wed Apr 19 15:28:34 2006
@@ -1100,7 +1100,6 @@
return executeCatalogQuery(cs);
}
-
/**
* Get the function names available in the database. Calls stored
* procedure <code>SYSIBM.SQLFunctions(CatalogName
@@ -1177,6 +1176,93 @@
return executeCatalogQuery(cs);
}
+ /**
+ * Get the function names available in the database. Calls stored
+ * procedure <code>SYSIBM.SQLFunctionParams(CatalogName
+ * varchar(128), SchemaName varchar(128), FuncName varchar(128),
+ * ParamName varchar(128), Options varchar(4000))</code> on the
+ * server. This procedure will in turn call
+ * <code>EmbedDatabaseMetaData.getFunctionParameters(String,String,
+ * String,String)</code><p> Compatibility: Only available if both
+ * server and client version > 10.1, and JDK version >= 1.6. Older
+ * clients will not have this method available. Newer clients will
+ * be able to call this method when connected to an older server,
+ * but this will be trigger an exception in
+ * <code>checkServerJdbcVersionX()</code>. <p>Upgrade:
+ * <code>SYSIBM.SQLFunctionParams</code> is added in
+ * <code>DataDictionaryImpl.create_10_2_system_procedures
+ * (TransactionController,UUID)</code> so it will become available
+ * in newly created databases and after <b>hard</b> upgrade.
+ *
+ * @param catalog limit search to this catalog
+ * @param schemaPattern limit search to schemas matching this pattern
+ * @param functionNamePattern limit search to functions matching this
+ * pattern
+ * @return a <code>ResultSet</code> listing the fucntions
+ * @exception SqlException if a database error occurs
+ * @see #getFunctionParametersX(String, String, String,String)
+ * @see org.apache.derby.impl.sql.catalog.DataDictionaryImpl#create_10_2_system_procedures(TransactionController,UUID)
+ * @see org.apache.derby.impl.jdbc.EmbedDatabaseMetaData#getFunctions(String,String,String)
+ */
+ public java.sql.ResultSet
+ getFunctionParameters(String catalog,
+ String schemaPattern,
+ String functionNamePattern,
+ String parameterNamePattern)
+ throws SQLException {
+ try
+ {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.
+ traceEntry(this,
+ "getFunctionParameters",
+ catalog, schemaPattern,
+ functionNamePattern, parameterNamePattern);
+ }
+ return getFunctionParametersX(catalog, schemaPattern,
+ functionNamePattern,
+ parameterNamePattern);
+ }
+ }
+ catch ( SqlException se )
+ {
+ throw se.getSQLException();
+ }
+ }
+
+ /**
+ * Untraced version of <code>getFunctionParameters(String, String,
+ * String, String)</code>.
+ * @param catalog limit search to this catalog
+ * @param schemaPattern limit search to schemas matching this pattern
+ * @param functionNamePattern limit search to functions matching this
+ * pattern
+ * @param parameterNamePattern limit search to parameters mathing
+ * this pattern
+ * @return a <code>ResultSet</code> listing the fucntions
+ * @excption SqlException if a database error occurs
+ * @see #getFunctionParameters(String, String, String, String)
+ */
+ private ResultSet getFunctionParametersX(String catalog,
+ String schemaPattern,
+ String functionNamePattern,
+ String parameterNamePattern)
+ throws SqlException {
+ checkForClosedConnectionX();
+ checkServerJdbcVersionX("getFunctionParameters"+
+ "(String,String,String,String)", 4, 0);
+
+ PreparedStatement cs =
+ prepareMetaDataQuery("SYSIBM.SQLFUNCTIONPARAMS(?,?,?,?,?)");
+
+ cs.setStringX(1, catalog);
+ cs.setStringX(2, schemaPattern);
+ cs.setStringX(3, functionNamePattern);
+ cs.setStringX(4, parameterNamePattern);
+ cs.setStringX(5, getOptions());
+ return executeCatalogQuery(cs);
+ }
// call stored procedure SQLTables
// SYSIBM.SQLTables(
Modified: db/derby/code/trunk/java/engine/org/apache/derby/catalog/GetProcedureColumns.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/catalog/GetProcedureColumns.java?rev=395414&r1=395413&r2=395414&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/catalog/GetProcedureColumns.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/catalog/GetProcedureColumns.java Wed Apr 19 15:28:34 2006
@@ -24,6 +24,7 @@
import java.lang.reflect.*;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
+import java.sql.DatabaseMetaData;
import org.apache.derby.catalog.TypeDescriptor;
import org.apache.derby.iapi.types.DataTypeDescriptor;
@@ -32,6 +33,7 @@
import org.apache.derby.impl.jdbc.EmbedResultSetMetaData;
import org.apache.derby.catalog.types.RoutineAliasInfo;
+import org.apache.derby.shared.common.reference.JDBC40Translation;
/**
<P>Use of VirtualTableInterface to provide support for
DatabaseMetaData.getProcedureColumns().
@@ -81,15 +83,36 @@
public class GetProcedureColumns extends org.apache.derby.vti.VTITemplate
{
+ private boolean isFunction;
+ private int translate(int val) {
+ if (!isFunction) { return val; }
+ switch (val) {
+ case DatabaseMetaData.procedureColumnUnknown:
+ return JDBC40Translation.FUNCTION_PARAMETER_UNKNOWN;
+ case DatabaseMetaData.procedureColumnIn:
+ return JDBC40Translation.FUNCTION_PARAMETER_IN;
+ case DatabaseMetaData.procedureColumnInOut:
+ return JDBC40Translation.FUNCTION_PARAMETER_INOUT;
+ case DatabaseMetaData.procedureColumnOut:
+ return JDBC40Translation.FUNCTION_PARAMETER_OUT;
+ case DatabaseMetaData.procedureColumnReturn:
+ return JDBC40Translation.FUNCTION_RETURN;
+ default:
+ return JDBC40Translation.FUNCTION_PARAMETER_UNKNOWN;
+ }
+ }
private boolean isProcedure;
// state for procedures.
private RoutineAliasInfo procedure;
- private int paramCursor = -1;
+ private int paramCursor;
private short method_count;
private short param_number;
private TypeDescriptor sqlType;
+ private String columnName;
+ private short columnType;
+ private final short nullable;
public ResultSetMetaData getMetaData()
{
@@ -106,23 +129,41 @@
{
// compile time aliasInfo will be null.
if (aliasInfo != null) {
-
isProcedure = aliasType.equals("P");
+ isFunction = aliasType.equals("F");
procedure = (RoutineAliasInfo) aliasInfo;
method_count = (short) procedure.getParameterCount();
}
+ if (aliasType == null) {
+ nullable = 0;
+ return;
+ }
+
+ if (isFunction) {
+ nullable = (short) JDBC40Translation.FUNCTION_NULLABLE;
+ sqlType = procedure.getReturnType();
+ columnName = ""; // COLUMN_NAME is VARCHAR NOT NULL
+ columnType = (short) JDBC40Translation.FUNCTION_RETURN;
+ paramCursor = -2;
+ return;
+ }
+ nullable = (short) DatabaseMetaData.procedureNullable;
+
+ paramCursor = -1;
}
public boolean next() throws SQLException {
if (++paramCursor >= procedure.getParameterCount())
return false;
- sqlType = procedure.getParameterTypes()[paramCursor];
-
+ if (paramCursor > -1) {
+ sqlType = procedure.getParameterTypes()[paramCursor];
+ columnName = procedure.getParameterNames()[paramCursor];
+ columnType =
+ (short)translate(procedure.getParameterModes()[paramCursor]);
+ }
param_number = (short) paramCursor;
-
return true;
-
}
//
@@ -136,7 +177,7 @@
switch (column)
{
case 1: // COLUMN_NAME:
- return procedure.getParameterNames()[paramCursor];
+ return columnName;
case 4: //_TYPE_NAME:
return sqlType.getTypeName();
@@ -198,7 +239,7 @@
switch (column)
{
case 2: // COLUMN_TYPE:
- return (short) (procedure.getParameterModes()[paramCursor]);
+ return columnType;
case 3: // DATA_TYPE:
if (sqlType != null)
@@ -229,8 +270,9 @@
// No corresponding SQL type
return 0;
+ //FIXME
case 9: // NULLABLE:
- return (short)java.sql.DatabaseMetaData.procedureNullable;
+ return nullable;
case 11: // METHOD_ID:
return method_count;
Modified: db/derby/code/trunk/java/engine/org/apache/derby/catalog/SystemProcedures.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/catalog/SystemProcedures.java?rev=395414&r1=395413&r2=395414&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/catalog/SystemProcedures.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/catalog/SystemProcedures.java Wed Apr 19 15:28:34 2006
@@ -369,6 +369,36 @@
catalogName, schemaName, procName, paramName)
: getDMD().getProcedureColumns(catalogName, schemaName, procName, paramName);
}
+
+ /**
+ * Map SQLFunctionParameters to
+ * EmbedDatabaseMetaData.getFunctionParameters()
+ *
+ * @param catalogName SYSIBM.SQLFunctionParameters CatalogName
+ * varchar(128),
+ * @param schemaName SYSIBM.SQLFunctionParameters SchemaName
+ * varchar(128),
+ * @param funcName SYSIBM.SQLFunctionParameters FuncName
+ * varchar(128),
+ * @param funcName SYSIBM.SQLFunctionParameters ParamName
+ * varchar(128),
+ * @param options SYSIBM.SQLFunctionParameters Options
+ * varchar(4000))
+ * @param rs output parameter, the resultset object containing the
+ * result of getFunctionParameters().
+ */
+ public static void SQLFUNCTIONPARAMS(String catalogName,
+ String schemaName,
+ String funcName,
+ String paramName,
+ String options,
+ ResultSet[] rs) throws SQLException
+ {
+ rs[0] = ((EmbedDatabaseMetaData)getDMD()).
+ getFunctionParameters(catalogName, schemaName, funcName,
+ paramName);
+ }
+
/**
* Map SQLColumns to EmbedDatabaseMetaData.getColumns
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedDatabaseMetaData.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedDatabaseMetaData.java?rev=395414&r1=395413&r2=395414&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedDatabaseMetaData.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedDatabaseMetaData.java Wed Apr 19 15:28:34 2006
@@ -1546,6 +1546,48 @@
"odbc_getProcedureColumns");
}
+ /**
+ * Implements DatabaseMetaData.getFunctionParameters() for an embedded
+ * database. Queries the database to get information about
+ * function parameters. Executes the
+ * 'getFunctionParameters' query from metadata.properties to obtain the
+ * ResultSet.<p> Compatibility: This is a new method in
+ * the API which is only available with with Derby versions > 10.1 and
+ * JDK versions >= 1.6 <p>Upgrade: Since this is a new query it
+ * does not have an SPS, and will be available as soon as any
+ * database, new or old, is booted with the new version of Derby,
+ * (in <b>soft and hard</b> upgrade).
+ * @param catalog limit the search to functions in this catalog
+ * (not used)
+ * @param schemaPattern limit the search to functions in schemas
+ * matching this pattern
+ * @param functionNamePattern limit the search to functions
+ * matching this pattern
+ * @param parameterNamePattern limit the search parameters
+ * matching this pattern
+ * @return a ResultSet with metadata information
+ * @throws SQLException if a database error occurs
+ */
+ public ResultSet getFunctionParameters(String catalog,
+ String schemaPattern,
+ String functionNamePattern,
+ String parameterNamePattern)
+ throws SQLException {
+ PreparedStatement s = getPreparedQuery("getFunctionParameters");
+
+ // Cannot use doGetProcCols() because our query requires
+ // parameterNamePattern twice, because both LIKE and = is
+ // required to select parameters with an empty parameter
+ // name. That is, WHERE paramName LIKE ? will not match an
+ // empty paramName, but WHERE paramName LIKE ? OR paramName =
+ // ? will.
+ s.setString(1, swapNull(schemaPattern));
+ s.setString(2, swapNull(functionNamePattern));
+ s.setString(3, swapNull(parameterNamePattern));
+ s.setString(4, swapNull(parameterNamePattern));
+ return s.executeQuery();
+ }
+
/**
* Does the actual work for the getProcedureColumns metadata
* calls. See getProcedureColumns() method above for parameter
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedDatabaseMetaData40.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedDatabaseMetaData40.java?rev=395414&r1=395413&r2=395414&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedDatabaseMetaData40.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedDatabaseMetaData40.java Wed Apr 19 15:28:34 2006
@@ -69,15 +69,6 @@
}
- public ResultSet getFunctionParameters(java.lang.String catalog,
- java.lang.String schemaPattern,
- java.lang.String functionNamePattern,
- java.lang.String parameterNamePattern)
- throws SQLException
- {
- return getSimpleQuery("getFunctionParameters");
- }
-
/**
* Returns false unless <code>interfaces</code> is implemented
*
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/metadata.properties
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/metadata.properties?rev=395414&r1=395413&r2=395414&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/metadata.properties (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/metadata.properties Wed Apr 19 15:28:34 2006
@@ -1095,21 +1095,60 @@
# Return an empty result set with the right shape.
#
getFunctionParameters=SELECT \
- CAST(NULL AS VARCHAR(128)) AS FUNCTION_CAT, \
- CAST(NULL AS VARCHAR(128)) AS FUNCTION_SCHEM, \
- CAST(NULL AS VARCHAR(128)) AS PARAMETER_NAME, \
- CAST(NULL AS SMALLINT) AS PARAMETER_TYPE, \
- CAST(NULL AS INT) AS DATA_TYPE, \
- CAST(NULL AS VARCHAR(128)) AS TYPE_NAME, \
- CAST(NULL AS INT) AS PRECISION, \
- CAST(NULL AS INT) AS LENGTH, \
- CAST(NULL AS SMALLINT) AS SCALE, \
- CAST(NULL AS SMALLINT) AS RADIX, \
- CAST(NULL AS SMALLINT) AS NULLABLE, \
- CAST(NULL AS VARCHAR(128)) AS REMARKS, \
- CAST(NULL AS INT) AS CHAR_OCTET_LENGTH, \
- CAST(NULL AS INT) AS ORDINAL_POSITION, \
- CAST(NULL AS VARCHAR(128)) AS IS_NULLABLE, \
- CAST(NULL AS VARCHAR(128)) AS SPECIFIC_NAME \
- FROM SYSIBM.SYSDUMMY1 WHERE 1=0 WITH UR
-
+ CAST(NULL AS VARCHAR(128)) AS FUNCTION_CAT, \
+ S.SCHEMANAME AS FUNCTION_SCHEM, \
+ A.ALIAS AS FUNCTION_NAME, \
+ V."COLUMN_NAME" AS PARAMETER_NAME, \
+ V."COLUMN_TYPE" AS PARAMETER_TYPE, \
+ V."DATA_TYPE" AS DATA_TYPE, \
+ V."TYPE_NAME" AS TYPE_NAME, \
+ V."PRECISION" AS PRECISION, \
+ V."LENGTH" AS LENGTH, \
+ CASE WHEN (V."DATA_TYPE" IN (java.sql.Types::DECIMAL, \
+ java.sql.Types::NUMERIC, java.sql.Types::INTEGER, \
+ java.sql.Types::SMALLINT, java.sql.Types::TINYINT, \
+ java.sql.Types::BIGINT, java.sql.Types::DATE, \
+ java.sql.Types::TIME, java.sql.Types::TIMESTAMP)) \
+ THEN \
+ V."SCALE" \
+ ELSE CAST (NULL AS SMALLINT) END \
+ AS SCALE, \
+ CASE WHEN (V."DATA_TYPE" IN (java.sql.Types::DECIMAL, \
+ java.sql.Types::NUMERIC, java.sql.Types::INTEGER, \
+ java.sql.Types::SMALLINT, java.sql.Types::TINYINT, \
+ java.sql.Types::BIGINT, java.sql.Types::DOUBLE, \
+ java.sql.Types::FLOAT, java.sql.Types::REAL, \
+ java.sql.Types::DATE, java.sql.Types::TIME, \
+ java.sql.Types::TIMESTAMP)) \
+ THEN V."RADIX" \
+ ELSE CAST (NULL AS SMALLINT) END AS RADIX, \
+ V."NULLABLE" AS NULLABLE, \
+ V."REMARKS" AS REMARKS, \
+ CASE WHEN (V."DATA_TYPE" IN ( \
+ java.sql.Types::CHAR, \
+ java.sql.Types::VARCHAR, \
+ java.sql.Types::BINARY, \
+ java.sql.Types::VARBINARY)) \
+ THEN V."LENGTH" \
+ ELSE CAST(NULL AS INT) \
+ END AS CHAR_OCTET_LENGTH, \
+ CAST((V."PARAMETER_ID" + 1) AS INT) AS ORDINAL_POSITION, \
+ CAST(( \
+ CASE \
+ WHEN V."NULLABLE" = java.sql.DatabaseMetaData::procedureNullable \
+ THEN 'YES' ELSE 'NO' \
+ END) AS VARCHAR(128)) AS IS_NULLABLE, \
+ A.SPECIFICNAME AS SPECIFIC_NAME, \
+ V."METHOD_ID" AS METHOD_ID, \
+ V."PARAMETER_ID" AS PARAMETER_ID \
+FROM \
+ SYS.SYSALIASES A, SYS.SYSSCHEMAS S, \
+ NEW org.apache.derby.catalog.GetProcedureColumns(A.ALIASINFO, \
+ A.ALIASTYPE) V \
+WHERE \
+ A.ALIASTYPE = 'F' \
+ AND S.SCHEMANAME LIKE ? \
+ AND A.SCHEMAID = S.SCHEMAID \
+ AND A.ALIAS LIKE ? \
+ AND (V."COLUMN_NAME" LIKE ? OR V."COLUMN_NAME" = ?) \
+ORDER BY FUNCTION_SCHEM, FUNCTION_NAME, SPECIFIC_NAME, ORDINAL_POSITION
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java?rev=395414&r1=395413&r2=395414&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java Wed Apr 19 15:28:34 2006
@@ -9702,6 +9702,38 @@
(TypeDescriptor) null,
tc);
}
+
+ // SYSIBM.SQLFUNCTIONPARAMS(VARCHAR(128), VARCHAR(128),
+ // VARCHAR(128), VARCHAR(128), VARCHAR(4000))
+ {
+
+ // procedure argument names
+ String[] arg_names = {
+ "CATALOGNAME",
+ "SCHEMANAME",
+ "FUNCNAME",
+ "PARAMNAME",
+ "OPTIONS"};
+
+ // procedure argument types
+ TypeDescriptor[] arg_types = {
+ DataTypeDescriptor.getBuiltInDataTypeDescriptor(Types.VARCHAR, 128),
+ DataTypeDescriptor.getBuiltInDataTypeDescriptor(Types.VARCHAR, 128),
+ DataTypeDescriptor.getBuiltInDataTypeDescriptor(Types.VARCHAR, 128),
+ DataTypeDescriptor.getBuiltInDataTypeDescriptor(Types.VARCHAR, 128),
+ DataTypeDescriptor.getBuiltInDataTypeDescriptor(Types.VARCHAR, 4000)};
+
+ createSystemProcedureOrFunction(
+ "SQLFUNCTIONPARAMS",
+ getSysIBMSchemaDescriptor().getUUID(),
+ arg_names,
+ arg_types,
+ 0,
+ 1,
+ RoutineAliasInfo.READS_SQL_DATA,
+ (TypeDescriptor) null,
+ tc);
+ }
}
Added: db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/JDBC40Translation.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/JDBC40Translation.java?rev=395414&view=auto
==============================================================================
--- db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/JDBC40Translation.java (added)
+++ db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/JDBC40Translation.java Wed Apr 19 15:28:34 2006
@@ -0,0 +1,54 @@
+/*
+
+ Derby - Class org.apache.derby.shared.common.reference.JDBC40Translation
+
+ Copyright 2001, 2004 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ */
+
+package org.apache.derby.shared.common.reference;
+
+/**
+ This class contains public statics that map directly to the
+ new public statics in the jdbc 4.0 interfaces. By providing
+ an intermediary class with hard-coded copies of constants that
+ will be available in jdbc 4.0, it becomes possible to refer to
+ these constants when compiling against older jdk versions. The
+ jdbc40 test suite (compiled against jdk16) contains tests that
+ verifies that these hard coded constants are in fact equal to
+ those found in jdk16.
+
+ <P>
+ This class should not be shipped with the product.
+
+ <P>
+ This class has no methods, all it contains are constants
+ are public, static and final since they are declared in an interface.
+*/
+
+public interface JDBC40Translation {
+ /*
+ ** public statics from 4.0 version of java.sql.DatabaseMetaData
+ */
+ public static final int FUNCTION_PARAMETER_UNKNOWN = 0;
+ public static final int FUNCTION_PARAMETER_IN = 1;
+ public static final int FUNCTION_PARAMETER_INOUT = 2;
+ public static final int FUNCTION_PARAMETER_OUT = 3;
+ public static final int FUNCTION_RETURN = 4;
+
+ public static final int FUNCTION_NO_NULLS = 0;
+ public static final int FUNCTION_NULLABLE = 1;
+ public static final int FUNCTION_NULLABLE_UNKNOWN = 2;
+}
Propchange: db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/JDBC40Translation.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/metadata.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/metadata.out?rev=395414&r1=395413&r2=395414&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 Wed Apr 19 15:28:34 2006
@@ -73,6 +73,37 @@
null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,org.apache.derby.catalog.SystemProcedures.SYSCS_GET_RUNTIMESTATISTICS,xxxxGENERATED-IDxxxx
getFunctions("","",null):
FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],REMARKS[VARCHAR],SPECIFIC_NAME[VARCHAR]
+getFunctionParameters(null,null,null,null):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY2,Y,1,5,SMALLINT,5,2,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,SCHEMANAME,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,TABLENAME,1,12,VARCHAR,128,256,null,null,1,null,256,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,,4,12,VARCHAR,32672,65344,null,null,1,null,65344,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,KEY,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,,4,12,VARCHAR,32672,65344,null,null,1,null,65344,0,YES,xxxxGENERATED-IDxxxx,0,-1
+getFunctionParameters(null,"APP","DUMMY%","X"):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+getFunctionParameters(null,"APP","DUMMY%",""):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
getUDTs() with user-named types null :
TYPE_CAT[CHAR],TYPE_SCHEM[CHAR],TYPE_NAME[VARCHAR],CLASS_NAME[LONG VARCHAR],DATA_TYPE[INTEGER],REMARKS[CHAR]
getUDTs() with user-named types in ('JAVA_OBJECT') :
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadata.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadata.out?rev=395414&r1=395413&r2=395414&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadata.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadata.out Wed Apr 19 15:28:34 2006
@@ -73,6 +73,37 @@
null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,org.apache.derby.catalog.SystemProcedures.SYSCS_GET_RUNTIMESTATISTICS,xxxxGENERATED-IDxxxx
getFunctions("","",null):
FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],REMARKS[VARCHAR],SPECIFIC_NAME[VARCHAR]
+getFunctionParameters(null,null,null,null):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY2,Y,1,5,SMALLINT,5,2,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,SCHEMANAME,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,TABLENAME,1,12,VARCHAR,128,256,null,null,1,null,256,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,,4,12,VARCHAR,32672,65344,null,null,1,null,65344,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,KEY,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,,4,12,VARCHAR,32672,65344,null,null,1,null,65344,0,YES,xxxxGENERATED-IDxxxx,0,-1
+getFunctionParameters(null,"APP","DUMMY%","X"):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+getFunctionParameters(null,"APP","DUMMY%",""):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
getUDTs() with user-named types null :
TYPE_CAT[CHAR],TYPE_SCHEM[CHAR],TYPE_NAME[VARCHAR],CLASS_NAME[LONG VARCHAR],DATA_TYPE[INTEGER],REMARKS[CHAR]
getUDTs() with user-named types in ('JAVA_OBJECT') :
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/odbc_metadata.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/odbc_metadata.out?rev=395414&r1=395413&r2=395414&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/odbc_metadata.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/odbc_metadata.out Wed Apr 19 15:28:34 2006
@@ -103,6 +103,37 @@
null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,org.apache.derby.catalog.SystemProcedures.SYSCS_GET_RUNTIMESTATISTICS,xxxxGENERATED-IDxxxx
getFunctions("","",null):
FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],REMARKS[VARCHAR],SPECIFIC_NAME[VARCHAR]
+getFunctionParameters(null,null,null,null):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY2,Y,1,5,SMALLINT,5,2,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,SCHEMANAME,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,TABLENAME,1,12,VARCHAR,128,256,null,null,1,null,256,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,,4,12,VARCHAR,32672,65344,null,null,1,null,65344,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,KEY,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,,4,12,VARCHAR,32672,65344,null,null,1,null,65344,0,YES,xxxxGENERATED-IDxxxx,0,-1
+getFunctionParameters(null,"APP","DUMMY%","X"):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+getFunctionParameters(null,"APP","DUMMY%",""):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
getUDTs() with user-named types null :
TYPE_CAT[CHAR],TYPE_SCHEM[CHAR],TYPE_NAME[VARCHAR],CLASS_NAME[LONG VARCHAR],DATA_TYPE[INTEGER],REMARKS[CHAR]
getUDTs() with user-named types in ('JAVA_OBJECT') :
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/TestDbMetaData.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/TestDbMetaData.out?rev=395414&r1=395413&r2=395414&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/TestDbMetaData.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/TestDbMetaData.out Wed Apr 19 15:28:34 2006
@@ -1,3 +1,11 @@
+true
+true
+true
+true
+true
+true
+true
+true
FUNCTION_CAT,FUNCTION_SCHEM,FUNCTION_NAME,REMARKS,SPECIFIC_NAME
null,APP,DUMMY1,java.some.func,xxxxGENERATED-IDxxxx
null,APP,DUMMY2,java.some.func,xxxxGENERATED-IDxxxx
@@ -21,6 +29,23 @@
FUNCTION_CAT,FUNCTION_SCHEM,FUNCTION_NAME,REMARKS,SPECIFIC_NAME
null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,org.apache.derby.catalog.SystemProcedures.SYSCS_GET_DATABASE_PROPERTY,xxxxGENERATED-IDxxxx
null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,org.apache.derby.catalog.SystemProcedures.SYSCS_GET_RUNTIMESTATISTICS,xxxxGENERATED-IDxxxx
+FUNCTION_CAT,FUNCTION_SCHEM,FUNCTION_NAME,PARAMETER_NAME,PARAMETER_TYPE,DATA_TYPE,TYPE_NAME,PRECISION,LENGTH,SCALE,RADIX,NULLABLE,REMARKS,CHAR_OCTET_LENGTH,ORDINAL_POSITION,IS_NULLABLE,SPECIFIC_NAME,METHOD_ID,PARAMETER_ID
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY2,Y,1,5,SMALLINT,5,2,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+FUNCTION_CAT,FUNCTION_SCHEM,FUNCTION_NAME,PARAMETER_NAME,PARAMETER_TYPE,DATA_TYPE,TYPE_NAME,PRECISION,LENGTH,SCALE,RADIX,NULLABLE,REMARKS,CHAR_OCTET_LENGTH,ORDINAL_POSITION,IS_NULLABLE,SPECIFIC_NAME,METHOD_ID,PARAMETER_ID
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
TABLE_SCHEM,TABLE_CATALOG
APP,null
NULLID,null
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/Upgrade_10_1_10_2.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/Upgrade_10_1_10_2.out?rev=395414&r1=395413&r2=395414&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/Upgrade_10_1_10_2.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/Upgrade_10_1_10_2.out Wed Apr 19 15:28:34 2006
@@ -761,6 +761,37 @@
null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,org.apache.derby.catalog.SystemProcedures.SYSCS_GET_RUNTIMESTATISTICS,xxxxGENERATED-IDxxxx
getFunctions("","",null):
FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],REMARKS[VARCHAR],SPECIFIC_NAME[VARCHAR]
+getFunctionParameters(null,null,null,null):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY2,Y,1,5,SMALLINT,5,2,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,SCHEMANAME,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,TABLENAME,1,12,VARCHAR,128,256,null,null,1,null,256,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,,4,12,VARCHAR,32672,65344,null,null,1,null,65344,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,KEY,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,,4,12,VARCHAR,32672,65344,null,null,1,null,65344,0,YES,xxxxGENERATED-IDxxxx,0,-1
+getFunctionParameters(null,"APP","DUMMY%","X"):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+getFunctionParameters(null,"APP","DUMMY%",""):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
getUDTs() with user-named types null :
TYPE_CAT[CHAR],TYPE_SCHEM[CHAR],TYPE_NAME[VARCHAR],CLASS_NAME[LONG VARCHAR],DATA_TYPE[INTEGER],REMARKS[CHAR]
getUDTs() with user-named types in ('JAVA_OBJECT') :
@@ -2118,6 +2149,37 @@
null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,org.apache.derby.catalog.SystemProcedures.SYSCS_GET_RUNTIMESTATISTICS,xxxxGENERATED-IDxxxx
getFunctions("","",null):
FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],REMARKS[VARCHAR],SPECIFIC_NAME[VARCHAR]
+getFunctionParameters(null,null,null,null):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY2,Y,1,5,SMALLINT,5,2,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,SCHEMANAME,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,TABLENAME,1,12,VARCHAR,128,256,null,null,1,null,256,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,,4,12,VARCHAR,32672,65344,null,null,1,null,65344,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,KEY,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,,4,12,VARCHAR,32672,65344,null,null,1,null,65344,0,YES,xxxxGENERATED-IDxxxx,0,-1
+getFunctionParameters(null,"APP","DUMMY%","X"):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+getFunctionParameters(null,"APP","DUMMY%",""):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
getUDTs() with user-named types null :
TYPE_CAT[CHAR],TYPE_SCHEM[CHAR],TYPE_NAME[VARCHAR],CLASS_NAME[LONG VARCHAR],DATA_TYPE[INTEGER],REMARKS[CHAR]
getUDTs() with user-named types in ('JAVA_OBJECT') :
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/metadata.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/metadata.out?rev=395414&r1=395413&r2=395414&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/metadata.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/metadata.out Wed Apr 19 15:28:34 2006
@@ -73,6 +73,37 @@
null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,org.apache.derby.catalog.SystemProcedures.SYSCS_GET_RUNTIMESTATISTICS,xxxxGENERATED-IDxxxx
getFunctions("","",null):
FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],REMARKS[VARCHAR],SPECIFIC_NAME[VARCHAR]
+getFunctionParameters(null,null,null,null):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY2,Y,1,5,SMALLINT,5,2,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,SCHEMANAME,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,TABLENAME,1,12,VARCHAR,128,256,null,null,1,null,256,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,,4,12,VARCHAR,32672,65344,null,null,1,null,65344,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,KEY,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,,4,12,VARCHAR,32672,65344,null,null,1,null,65344,0,YES,xxxxGENERATED-IDxxxx,0,-1
+getFunctionParameters(null,"APP","DUMMY%","X"):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+getFunctionParameters(null,"APP","DUMMY%",""):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
getUDTs() with user-named types null :
TYPE_CAT[CHAR],TYPE_SCHEM[CHAR],TYPE_NAME[VARCHAR],CLASS_NAME[LONG VARCHAR],DATA_TYPE[INTEGER],REMARKS[CHAR]
getUDTs() with user-named types in ('JAVA_OBJECT') :
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/odbc_metadata.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/odbc_metadata.out?rev=395414&r1=395413&r2=395414&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/odbc_metadata.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/odbc_metadata.out Wed Apr 19 15:28:34 2006
@@ -103,6 +103,37 @@
null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,org.apache.derby.catalog.SystemProcedures.SYSCS_GET_RUNTIMESTATISTICS,xxxxGENERATED-IDxxxx
getFunctions("","",null):
FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],REMARKS[VARCHAR],SPECIFIC_NAME[VARCHAR]
+getFunctionParameters(null,null,null,null):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY2,Y,1,5,SMALLINT,5,2,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,Y,1,4,INTEGER,10,4,0,10,1,null,null,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,SCHEMANAME,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,SYSCS_UTIL,SYSCS_CHECK_TABLE,TABLENAME,1,12,VARCHAR,128,256,null,null,1,null,256,2,YES,xxxxGENERATED-IDxxxx,2,1
+null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,,4,12,VARCHAR,32672,65344,null,null,1,null,65344,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,SYSCS_UTIL,SYSCS_GET_DATABASE_PROPERTY,KEY,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,SYSCS_UTIL,SYSCS_GET_RUNTIMESTATISTICS,,4,12,VARCHAR,32672,65344,null,null,1,null,65344,0,YES,xxxxGENERATED-IDxxxx,0,-1
+getFunctionParameters(null,"APP","DUMMY%","X"):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,X,1,5,SMALLINT,5,2,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,1,0
+null,APP,DUMMY2,X,1,4,INTEGER,10,4,0,10,1,null,null,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY3,X,1,12,VARCHAR,16,32,null,null,1,null,32,1,YES,xxxxGENERATED-IDxxxx,2,0
+null,APP,DUMMY4,X,1,12,VARCHAR,128,256,null,null,1,null,256,1,YES,xxxxGENERATED-IDxxxx,2,0
+getFunctionParameters(null,"APP","DUMMY%",""):
+FUNCTION_CAT[VARCHAR],FUNCTION_SCHEM[VARCHAR],FUNCTION_NAME[VARCHAR],PARAMETER_NAME[VARCHAR],PARAMETER_TYPE[SMALLINT],DATA_TYPE[SMALLINT],TYPE_NAME[VARCHAR],PRECISION[INTEGER],LENGTH[INTEGER],SCALE[SMALLINT],RADIX[SMALLINT],NULLABLE[SMALLINT],REMARKS[VARCHAR],CHAR_OCTET_LENGTH[INTEGER],ORDINAL_POSITION[INTEGER],IS_NULLABLE[VARCHAR],SPECIFIC_NAME[VARCHAR],METHOD_ID[SMALLINT],PARAMETER_ID[SMALLINT]
+null,APP,DUMMY1,,4,5,SMALLINT,5,2,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,1,-1
+null,APP,DUMMY2,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY3,,4,12,VARCHAR,16,32,null,null,1,null,32,0,YES,xxxxGENERATED-IDxxxx,2,-1
+null,APP,DUMMY4,,4,4,INTEGER,10,4,0,10,1,null,null,0,YES,xxxxGENERATED-IDxxxx,2,-1
getUDTs() with user-named types null :
TYPE_CAT[CHAR],TYPE_SCHEM[CHAR],TYPE_NAME[VARCHAR],CLASS_NAME[LONG VARCHAR],DATA_TYPE[INTEGER],REMARKS[CHAR]
getUDTs() with user-named types in ('JAVA_OBJECT') :
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/TestDbMetaData.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/TestDbMetaData.java?rev=395414&r1=395413&r2=395414&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/TestDbMetaData.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/TestDbMetaData.java Wed Apr 19 15:28:34 2006
@@ -30,6 +30,7 @@
import org.apache.derby.tools.ij;
import org.apache.derbyTesting.functionTests.util.SQLStateConstants;
+import org.apache.derby.shared.common.reference.JDBC40Translation;
/**
* Test of database metadata for new methods in JDBC 40.
@@ -98,6 +99,35 @@
dumpSQLExceptions(e);
}
+ // Make sure the constants provided in JDBC40Translation is correct
+
+ // Uncomment this when jdk16 contains functionParameterUnknown
+// System.out.println(""+(JDBC40Translation.FUNCTION_PARAMETER_UNKNOWN ==
+// DatabaseMetaData.functionParameterUnknown));
+ System.out.println(""+(JDBC40Translation.FUNCTION_PARAMETER_IN ==
+ DatabaseMetaData.functionParameterIn));
+ System.out.println(""+(JDBC40Translation.FUNCTION_PARAMETER_INOUT ==
+ DatabaseMetaData.functionParameterInOut));
+ System.out.println(""+(JDBC40Translation.FUNCTION_PARAMETER_OUT ==
+ DatabaseMetaData.functionParameterOut));
+ System.out.println(""+(JDBC40Translation.FUNCTION_RETURN ==
+ DatabaseMetaData.functionReturn));
+
+ System.out.println(""+(JDBC40Translation.FUNCTION_NO_NULLS ==
+ DatabaseMetaData.functionNoNulls));
+ System.out.println(""+(JDBC40Translation.FUNCTION_NULLABLE ==
+ DatabaseMetaData.functionNullable));
+ System.out.println(""+(JDBC40Translation.FUNCTION_NULLABLE_UNKNOWN ==
+ DatabaseMetaData.functionNullableUnknown));
+
+ // Since JDBC40Translation cannot be accessed in queries in
+ // metadata.properties, the query has to use
+ // DatabaseMetaData.procedureNullable. Hence it is necessary
+ // to verify that that value of
+ // DatabaseMetaData.functionNullable is the same.
+ System.out.println(""+(DatabaseMetaData.functionNullable ==
+ DatabaseMetaData.procedureNullable));
+
// Create some functions in the default schema (app) to make
// the output from getFunctions() and getFunctionParameters
// more interesting
@@ -114,19 +144,6 @@
"RETURNS INTEGER PARAMETER STYLE JAVA NO SQL LANGUAGE "+
"JAVA EXTERNAL NAME 'java.some.func'");
- try {
- checkEmptyRS(met.getFunctionParameters(null,null,null,null));
- } catch (SQLException e) {
- // TODO: remove try/catch once method is implemented!
- System.out.println("getFunctionParameters():");
- dumpSQLExceptions(e);
- } catch (AbstractMethodError ame) {
- // TODO: No implementation on client yet, so catch
- // AbstractMethodError for now. Remove when implemented.
- System.out.println("getFunctionParameters():");
- ame.printStackTrace(System.out);
- }
-
// Any function in any schema in any catalog
dumpRS(met.getFunctions(null, null, null));
// Any function in any schema in "Dummy
@@ -142,6 +159,13 @@
// NO catalog (none)
checkEmptyRS(met.getFunctions("", "", null));
+ // Test getFunctionParameters
+ // Dump parameters for all functions beigging with DUMMY
+ dumpRS(met.getFunctionParameters(null,null,"DUMMY%",null));
+
+ // Dump return value for all DUMMY functions
+ dumpRS(met.getFunctionParameters(null,null,"DUMMY%",""));
+
try {
//
// Test the new getSchemas() with no schema qualifiers
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadata_test.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadata_test.java?rev=395414&r1=395413&r2=395414&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadata_test.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadata_test.java Wed Apr 19 15:28:34 2006
@@ -422,15 +422,15 @@
// the current version of Derby
try {
Class s = "".getClass();
- Class [] a = new Class [] { s, s, s };
// Make sure the method is actually implemented
java.lang.reflect.Method gf =
- met.getClass().getMethod("getFunctions", a);
+ met.getClass().getMethod("getFunctions",
+ new Class [] { s, s, s });
if (!java.lang.reflect.Modifier.isAbstract(gf.getModifiers())){
// Any function in any schema in any catalog
System.out.println("getFunctions(null,null,null):");
- dumpRS(0, (ResultSet)gf.
+ dumpRS(IGNORE_PROC_ID, (ResultSet)gf.
invoke(met, new String [] {null, null, null}));
// Any function in any schema in "Dummy
@@ -438,30 +438,62 @@
// argument is ignored (is always null)
System.out.println("getFunctions(\"Dummy Catalog\",null,"+
"null):");
- dumpRS(0, (ResultSet)gf.
+ dumpRS(IGNORE_PROC_ID, (ResultSet)gf.
invoke(met, new String [] {"Dummy Catalog",
null, null}));
// Any function in a schema starting with "SYS"
System.out.println("getFunctions(null,\"%SYS%\",null):");
- dumpRS(0, (ResultSet)gf.
+ dumpRS(IGNORE_PROC_ID, (ResultSet)gf.
invoke(met, new String [] {null, "SYS%", null}));
// All functions containing "GET" in any schema
// (and any catalog)
System.out.println("getFunctions(null,null,\"%GET%\"):");
- dumpRS(0, (ResultSet)gf.
+ dumpRS(IGNORE_PROC_ID, (ResultSet)gf.
invoke(met, new String [] {null, null, "%GET%"}));
// Any function that belongs to NO schema and
// NO catalog (none)
System.out.println("getFunctions(\"\",\"\",null):");
- dumpRS(0, (ResultSet)gf.
+ dumpRS(IGNORE_PROC_ID, (ResultSet)gf.
invoke(met, new String [] {"", "", null}));
}
+
+ // Test getFunctionParameters(String,String,String,String)
+ java.lang.reflect.Method gfp =
+ met.getClass().getMethod("getFunctionParameters",
+ new Class [] { s, s, s, s });
+
+ if (!java.lang.reflect.Modifier.
+ isAbstract(gfp.getModifiers())){
+ System.out.println("getFunctionParameters(null,"+
+ "null,null,null):");
+ dumpRS(IGNORE_PROC_ID, (ResultSet)gfp.
+ invoke(met,
+ new String [] {null, null, null, null}));
+
+ System.out.println("getFunctionParameters(null,\"APP\","+
+ "\"DUMMY%\",\"X\"):");
+ dumpRS(IGNORE_PROC_ID, (ResultSet)gfp.
+ invoke(met,
+ new String [] {null, "APP", "DUMMY%", "X"}));
+
+ System.out.println("getFunctionParameters(null,\"APP\","+
+ "\"DUMMY%\",\"\"):");
+ dumpRS(IGNORE_PROC_ID, (ResultSet)gfp.
+ invoke(met,
+ new String [] {null, "APP", "DUMMY%", ""}));
+
+ }
}
- catch (NoSuchMethodException e) {}
+ catch (NoSuchMethodException e) {
+ if (org.apache.derby.iapi.services.info.JVMInfo.JDK_ID >=
+ org.apache.derby.iapi.services.info.JVMInfo.J2SE_16) {
+ e.printStackTrace();
+ }
+ }
catch (Exception e) { e.printStackTrace(); }
System.out.println("getUDTs() with user-named types null :");