Adding JMCR-Stable version
[Benchmarks_CSolver.git] / JMCR-Stable / real-world application / derby-10.3.2.1 / java / engine / org / apache / derby / impl / sql / catalog / metadata_net.properties
diff --git a/JMCR-Stable/real-world application/derby-10.3.2.1/java/engine/org/apache/derby/impl/sql/catalog/metadata_net.properties b/JMCR-Stable/real-world application/derby-10.3.2.1/java/engine/org/apache/derby/impl/sql/catalog/metadata_net.properties
new file mode 100644 (file)
index 0000000..795dcc0
--- /dev/null
@@ -0,0 +1,383 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more\r
+# contributor license agreements.  See the NOTICE file distributed with\r
+# this work for additional information regarding copyright ownership.\r
+# The ASF licenses this file to you under the Apache License, Version 2.0\r
+# (the "License"); you may not use this file except in compliance with\r
+# the License.  You may obtain a copy of the License at\r
+#\r
+#    http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+#\r
+#\r
+#\r
+# ANY CHANGE MADE TO THIS FILE SHOULD PROBABLY ALSO BE MADE TO\r
+# $WS/java/com/ibm/db2j/impl/Connectivity/JDBC/Local/metadata.properties\r
+#\r
+# This file is used by DRDA to determine values for methods\r
+# from java.sql.DatabaseMetadata.  We try to emulate the SYSIBM\r
+# stored procedures that are used in DB2 for the MetaData.  \r
+# These are called from\r
+# $WS/drda/jcc/src/com/ibm/db2/jcc/am/DatabaseMetaData\r
+#\r
+# JDBC driver will take the value and perform\r
+# a statement.execute() request on it, returning the result set or using the\r
+# result set to produce an answer of the required type and format for the\r
+# DatabaseMetadata method.  If the query has AS clauses in its select list items,\r
+# you can be pretty sure that the JDBC driver was looking for a result set,\r
+# because it specifies what it wants the column names to be.\r
+#\r
+#\r
+# Note that property values can span multiple lines, by ending the line with a \\r
+#\r
+# Note: be sure to always enter SQL keywords in CAPS, this is both\r
+# for convention, and because of the way the parser uppercases\r
+# things (so it is purportedly faster that way).\r
+#\r
+# REMIND: using SYSALIASES; need to deal with ProcedureColumns still.\r
+# there are no procedures or metadata about them in our system yet.\r
+# NOTE: the order by would include PROCEDURE_SCHEM, but it is always ''\r
+# so we leave it out.\r
+#\r
+# PROCEDURE_TYPE is always procedureResultUnknown as it could map to\r
+# multiple methods, some of which could return a value and some not.\r
+#\r
+# Now that we have java Stored procedures we can more easily implement these calls\r
+# Thus, $WS/java/com/ibm/db2j/catalog/SystemProcedures now calls the LocalDatabaseMetadata methods.\r
+\r
+# call stored procedure SQLProcedures\r
+# SYSIBM.SQLProcedures(\r
+#              CatalogName varchar(128),\r
+#              SchemaName  varchar(128),\r
+#              ProcName    varchar(128),\r
+#              Options     varchar(4000))\r
+#\r
+SQLPROCEDURES=CALL SYSIBM.SQLPROCEDURES(?, ?, ?, ?)\r
+\r
+# getSchemas\r
+# DB2 overloads the SQLTABLES stored procedure for this\r
+# but jcc has specific code now to make an exception for Cloudscape\r
+GETSCHEMAS=CALL SYSIBM.SQLTABLES('', '', '', '', 'GETSCHEMAS=1')\r
+\r
+\r
+#getTables\r
+# SYSIBM.SQLTABLES(\r
+#              CatalogName varchar(128),\r
+#              SchemaName  varchar(128),\r
+#              TableName   varchar(128),\r
+#              TaleType    varchar(4000),\r
+#              Options     varchar(4000))\r
+#\r
+SQLTABLES=CALL SYSIBM.SQLTABLES(?, ?, ?, ?, ?)\r
+       \r
+# getCrossReference, getExportedKeys, getImportedKeys  \r
+# SYSIBM.SQLFOREGNKEYS(\r
+#              PKCatalogName varchar(128),\r
+#              PKSchemaName  varchar(128),\r
+#              PKTableName   varchar(128),\r
+#              FKCatalogName varchar(128),\r
+#              FKSchemaName  varchar(128),\r
+#              FKTableName   varchar(128),\r
+#              Options       varchar(4000))\r
+#\r
+SQLFOREIGNKEYS=CALL SYSIBM.SQLFOREIGNKEYS(?, ?, ?, ?, ?, ?, ?)\r
+                       \r
+\r
+# getProcedureColumns\r
+# SYSIBM.SQLProcedureCols(\r
+#              CatalogName varchar(128),\r
+#              SchemaName  varchar(128),\r
+#              ProcName    varchar(128),\r
+#              ParamName   varchar(128),\r
+#              Options     varchar(4000))\r
+#\r
+#\r
+#\r
+SQLPROCEDURECOLS=CALL SYSIBM.SQLPROCEDURECOLS(?, ?, ?, ?, ?)\r
+  \r
+\r
+# This wants a result set with a specific column name,\r
+# DB2 overloads SQLGETTABLES, but jcc now has exception code for Cloudscape...\r
+GETTABLETYPES=CALL SYSIBM.SQLTABLES('', '', '', '', 'GETTABLETYPES=1')\r
+\r
+#getColumns\r
+# SYSIBM.SQLColumns(\r
+#              CatalogName varchar(128),\r
+#              SchemaName  varchar(128),\r
+#              TableName   varchar(128),\r
+#              ColumnName  varchar(128),\r
+#              Options     varchar(4000))\r
+\r
+# REMIND: the true or is to guard against nulls\r
+# REMIND: need to check that sqltype column starts with SERIALIZE...\r
+#\r
+# DECIMAL_DIGITS returns scale for DECIMAL and NUMERIC,\r
+# otherwise it returns null.  This is as per JavaSoft.\r
+#\r
+# CHAR_OCTET_LENGTH returns maximumWidth() * 2 for\r
+# character types to account for the fact that we\r
+# java uses 2 bytes per char and getMaximumWidth()\r
+# returns the string length, not the length in bytes.\r
+#\r
+SQLCOLUMNS=CALL SYSIBM.SQLCOLUMNS(?, ?, ?, ?, ?)\r
+\r
+\r
+\r
+#  SYSIBM.SQLColPrivileges(\r
+#              CatalogName varchar(128),\r
+#              SchemaName  varchar(128),\r
+#              TableName   varchar(128),\r
+#              ColumnName  varchar(128),\r
+#              Options     varchar(4000))\r
+#\r
+# REMIND: this query is set up to return 0 rows of the right shape, since\r
+# there are none of these or metadata about them in our system yet.\r
+SQLCOLPRIVILEGES=CALL SYSIBM.SQLCOLPRIVILEGES(?, ?, ?, ?, ?)\r
+\r
+\r
+# SYSIBM.SQLTablePrivileges(\r
+#              CatalogName varchar(128),\r
+#              SchemaName  varchar(128),\r
+#              TableName   varchar(128),\r
+#              Options     varchar(4000))\r
+#\r
+# REMIND: this query is set up to return 0 rows of the right shape, since\r
+# there are none of these or metadata about them in our system yet.\r
+SQLTABLEPRIVILEGES=CALL SYSIBM.SQLTABLEPRIVILEGES(?, ?, ?, ?)\r
+\r
+\r
+# SYSIBM.SQLPrimaryKeys(\r
+#              CatalogName varchar(128),\r
+#              SchemaName  varchar(128),\r
+#              TableName   varchar(128),\r
+#              Options     varchar(4000))\r
+#\r
+SQLPRIMARYKEYS=CALL SYSIBM.SQLPRIMARYKEYS(?, ?, ?, ?)\r
+\r
+# getTypeInfo\r
+# SYSIBM.SQLGetTypeInfo (IN DATATYPE SMALLINT,\r
+#                        IN Options VARCHAR(4000))\r
+#\r
+#\r
+#\r
+SQLGETTYPEINFO=CALL SYSIBM.SQLGETTYPEINFO(?, ?)\r
+       \r
+\r
+# getIndexInfo\r
+#  SYSIBM.SQLStatistics(\r
+#              CatalogName varchar(128),\r
+#              SchemaName  varchar(128),\r
+#              TableName   varchar(128),\r
+#              Unique      Smallint,           // WARNING: 0 = unique, 1 = all keys\r
+#              Reserved    Smallint,\r
+#              Options     varchar(4000))\r
+#\r
+SQLSTATISTICS=CALL SYSIBM.SQLSTATISTICS(?, ?, ?, ?, ?, ?)\r
+\r
+############################################\r
+# \r
+# getBestRowIdentifier queries\r
+#\r
+############################################\r
+#getBestRowIdentifier, getVersionColumns\r
+# call stored procedure\r
+# SYSIBM.SQLSPECIALCOLUMNS ( IN COLTYPE SMALLINT,\r
+#                            IN CATALOG_NAME VARCHAR(128),\r
+#                            IN SCHEMA_NAME  VARCHAR(128),\r
+#                            IN TABLE_NAME   VARCHAR(128),\r
+#                            IN SCOPE        SMALLINT,\r
+#                            IN NULLABLE     SMALLINT,\r
+#                            IN OPTIONS      VARCHAR(4000) )\r
+#\r
+SQLSPECIALCOLUMNS=CALL SYSIBM.SQLSPECIALCOLUMNS(?, ?, ?, ?, ?, ?, ?)\r
+\r
+\r
+# SYSIBM.SQLUDTS ( IN CATALOG_NAME VARCHAR(128),\r
+#                            IN SCHEMA_NAME_PATTERN  VARCHAR(128),\r
+#                            IN TYPE_NAME_PATTERN  VARCHAR(128),\r
+#                            IN UDTTYPES VARCHAR(128),\r
+#                            IN OPTIONS      VARCHAR(4000) )\r
+SQLUDTS=CALL SYSIBM.SQLUDTS(?, ?, ?, ?, ?)\r
+\r
+\r
+# REMIND: this query is set up to return 0 rows of the right shape, since\r
+# there are no catalogs or metadata about them in our system yet.\r
+# would have order by table_cat if it mattered...\r
+# ORDER BY TABLE_CAT\r
+# DB2 overloads SQLGETTABLES, but jcc now has exception code for Cloudscape...\r
+GETCATALOGS=CALL SYSIBM.SQLTABLES('', '', '', '', 'GETCATALOGS=1')\r
+\r
+#SYSIBM.Metadata gets several miscellanous database metadata values\r
+# for caching on the JCC side\r
+#\r
+# METADATA column comments\r
+#\r
+# column 97:\r
+# Encoding for DatabaseMetaData#supportsResultSetConcurrency.\r
+# If a concurrency is given for a type, supportsResultSetConcurrency \r
+# will return true for that combination. Absence means false.\r
+# String syntax:  \r
+# <type> { "," <concurrency>}* { ";" <type> { "," <concurrency>}* }}*\r
+#\r
+# <type> ::= <the integer value for that type from interface\r
+#             java.sql.Resultset i.e. TYPE_FORWARD_ONLY is 1003>\r
+# <concurrency> ::= <the integer value for that concurrency\r
+#                    from interface java.sql.Resultset, i.e.\r
+#                    CONCUR_UPDATABLE is 1008> \r
+#\r
+# Please keep in synch with the client's decoding (in \r
+# DatabaseMetaData.java)\r
+#\r
+# columns 98--106:\r
+#\r
+# For the following *AreVisible and *AreDetected methods.\r
+# The encoding is:  \r
+# If a type is given, the metadata method will give true for\r
+# that type, else false.\r
+#\r
+# column 98    Encoding for DatabaseMetaData#ownUpdatesAreVisible       \r
+# column 99    Encoding for DatabaseMetaData#ownDeletesAreVisible       \r
+# column 100   Encoding for DatabaseMetaData#ownInsertsAreVisible       \r
+#\r
+# column 101   Encoding for DatabaseMetaData#othersUpdatesAreVisible \r
+# column 102   Encoding for DatabaseMetaData#othersDeletesAreVisible \r
+# column 103   Encoding for DatabaseMetaData#othersInsertsAreVisible    \r
+#\r
+# column 104   Encoding for DatabaseMetaData#updatesAreDetected         \r
+# column 105   Encoding for DatabaseMetaData#deletesAreDetected         \r
+# column 106   Encoding for DatabaseMetaData#insertsAreDetected      \r
+#\r
+#\r
+# NOTE: DERBY-1252: Values for 98,99 and 104,105 do not reflect\r
+# truth, since DERBY-775 (SUR) is now implemented in 10.2.\r
+# When we move to major version 11, compatible clients shall handle\r
+# down negotiating so we can start returning truth again without risk\r
+# of breaking apps in mixed client/Server mode, i.e. old client/new\r
+# server. See also comments on this in\r
+# org.apache.derby.client.am.DatabaseMetaData\r
+# Value for 97 does reflect truth, though, since all < 10.2 clients\r
+# (and JCC) were broken parsing this anyway.\r
+\r
+METADATA=\\r
+SELECT \\r
+       M->allProceduresAreCallable(),  \\r
+       M->allTablesAreSelectable(),    \\r
+       M->nullsAreSortedHigh(),        \\r
+       M->nullsAreSortedLow(), \\r
+       M->nullsAreSortedAtStart(),     \\r
+       M->nullsAreSortedAtEnd(),       \\r
+       M->usesLocalFiles(),    \\r
+       M->usesLocalFilePerTable(),     \\r
+       M->storesUpperCaseIdentifiers(),        \\r
+       M->storesLowerCaseIdentifiers(),        \\r
+       M->storesMixedCaseIdentifiers(),        \\r
+       M->storesUpperCaseQuotedIdentifiers(),  \\r
+       M->storesLowerCaseQuotedIdentifiers(),  \\r
+       M->storesMixedCaseQuotedIdentifiers(),  \\r
+       M->getSQLKeywords(),    \\r
+       M->getNumericFunctions(),       \\r
+       M->getStringFunctions(),        \\r
+       M->getSystemFunctions(),        \\r
+       M->getTimeDateFunctions(),      \\r
+       M->getSearchStringEscape(),     \\r
+       M->getExtraNameCharacters(),    \\r
+       M->supportsAlterTableWithAddColumn(),   \\r
+       M->supportsAlterTableWithDropColumn(),  \\r
+       M->supportsConvert(),   \\r
+       '1', \\r
+       M->supportsDifferentTableCorrelationNames(),    \\r
+       M->supportsExpressionsInOrderBy(),      \\r
+       M->supportsOrderByUnrelated(),  \\r
+       M->supportsGroupBy(),   \\r
+       M->supportsGroupByUnrelated(),          \\r
+       M->supportsGroupByBeyondSelect(),       \\r
+       M->supportsMultipleResultSets(),        \\r
+       M->supportsMultipleTransactions(),      \\r
+       M->supportsCoreSQLGrammar(),    \\r
+       M->supportsExtendedSQLGrammar(),        \\r
+       M->supportsANSI92IntermediateSQL(),     \\r
+       M->supportsANSI92FullSQL(),     \\r
+       M->supportsIntegrityEnhancementFacility(),      \\r
+       M->supportsOuterJoins(),        \\r
+       M->supportsFullOuterJoins(),    \\r
+       M->supportsLimitedOuterJoins(), \\r
+       M->getSchemaTerm(),     \\r
+       M->getProcedureTerm(),  \\r
+       M->getCatalogTerm(),    \\r
+       M->isCatalogAtStart(),  \\r
+       M->getCatalogSeparator(),       \\r
+       M->supportsSchemasInDataManipulation(), \\r
+       M->supportsSchemasInProcedureCalls(),   \\r
+       M->supportsSchemasInTableDefinitions(), \\r
+       M->supportsSchemasInIndexDefinitions(), \\r
+       M->supportsSchemasInPrivilegeDefinitions(),     \\r
+       M->supportsCatalogsInDataManipulation(),        \\r
+       M->supportsCatalogsInProcedureCalls(),  \\r
+       M->supportsCatalogsInTableDefinitions(),        \\r
+       M->supportsCatalogsInIndexDefinitions(),        \\r
+       M->supportsCatalogsInPrivilegeDefinitions(),    \\r
+       M->supportsPositionedDelete(),  \\r
+       M->supportsPositionedUpdate(),  \\r
+       M->supportsSelectForUpdate(),   \\r
+       M->supportsStoredProcedures(),  \\r
+       M->supportsSubqueriesInComparisons(),   \\r
+       M->supportsUnion(),     \\r
+       M->supportsUnionAll(),  \\r
+       M->supportsOpenCursorsAcrossCommit(),   \\r
+       M->supportsOpenCursorsAcrossRollback(), \\r
+       M->supportsOpenStatementsAcrossCommit(),        \\r
+       M->supportsOpenStatementsAcrossRollback(),      \\r
+       M->getMaxBinaryLiteralLength(), \\r
+       M->getMaxCharLiteralLength(),   \\r
+       M->getMaxColumnNameLength(),    \\r
+       M->getMaxColumnsInGroupBy(),    \\r
+       M->getMaxColumnsInIndex(),      \\r
+       M->getMaxColumnsInOrderBy(),    \\r
+       M->getMaxColumnsInSelect(),     \\r
+       M->getMaxColumnsInTable(),      \\r
+       M->getMaxConnections(), \\r
+       M->getMaxCursorNameLength(),    \\r
+       M->getMaxIndexLength(), \\r
+       M->getMaxSchemaNameLength(),    \\r
+       M->getMaxProcedureNameLength(), \\r
+       M->getMaxCatalogNameLength(),   \\r
+       M->getMaxRowSize(),     \\r
+       M->doesMaxRowSizeIncludeBlobs(),        \\r
+       M->getMaxStatementLength(),     \\r
+       M->getMaxStatements(),  \\r
+       M->getMaxTableNameLength(),     \\r
+       M->getMaxTablesInSelect(),      \\r
+       M->getMaxUserNameLength(),      \\r
+       M->getDefaultTransactionIsolation(),    \\r
+       M->supportsTransactions(),      \\r
+       '1,2,4,8' ,     \\r
+       M->supportsDataDefinitionAndDataManipulationTransactions(),     \\r
+       M->supportsDataManipulationTransactionsOnly(),  \\r
+       M->dataDefinitionCausesTransactionCommit(),     \\r
+       M->dataDefinitionIgnoredInTransactions(),       \\r
+       (cast (RTRIM(CAST(java.sql.ResultSet::TYPE_FORWARD_ONLY as CHAR(10))) AS VARCHAR(10)) || (',') || (cast (RTRIM(CAST(java.sql.ResultSet::TYPE_SCROLL_INSENSITIVE AS CHAR(10))) as VARCHAR(10)))), \\r
+       '1003,1007,1008;1004,1007,1008;1005', \\r
+       '',\\r
+       '',\\r
+       '',\\r
+       '1003',\\r
+       '1003',\\r
+       '1003',\\r
+       '',\\r
+       '',\\r
+       '',\\r
+       M->supportsBatchUpdates()\\r
+        from (values(getCurrentConnection()->getMetaData())) as DBMetaData(M)\r
+       \r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r