Changeset: 7cbd20ff628c for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=7cbd20ff628c
Modified Files:
src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
Branch: default
Log Message:
Removed DISTINCT from SELECT DISTINCT where it should not be needed (in
getTables() and getFunctionColumns())
Replace "cast(null as varchar(1))" into "cast(null as char(1))"
Replace "CAST(" into "cast(" consistently.
diffs (truncated from 351 to 300 lines):
diff --git a/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
b/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
--- a/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
@@ -1708,7 +1708,7 @@ public class MonetDatabaseMetaData exten
{
boolean useCommentsTable =
((MonetConnection)con).commentsTableExists();
StringBuilder query = new StringBuilder(980);
- query.append("SELECT cast(null as varchar(1)) AS
\"PROCEDURE_CAT\", " +
+ query.append("SELECT cast(null as char(1)) AS
\"PROCEDURE_CAT\", " +
"\"schemas\".\"name\" AS \"PROCEDURE_SCHEM\", " +
"\"functions\".\"name\" AS \"PROCEDURE_NAME\", " +
"cast(null as char(1)) AS \"Field4\", " +
@@ -1716,7 +1716,7 @@ public class MonetDatabaseMetaData exten
"cast(null as char(1)) AS \"Field6\", ")
.append(useCommentsTable ?
"COALESCE(\"comments\".\"remark\", cast(\"functions\".\"func\" as
varchar(9999)))" : "cast(\"functions\".\"func\" as varchar(9999))").append(" AS
\"REMARKS\", " +
// in MonetDB procedures have no return value by design.
-
"CAST(").append(DatabaseMetaData.procedureNoResult).append(" AS smallint) AS
\"PROCEDURE_TYPE\", " +
+
"cast(").append(DatabaseMetaData.procedureNoResult).append(" AS smallint) AS
\"PROCEDURE_TYPE\", " +
// only the id value uniquely identifies a procedure.
Include it to be able to differentiate between multiple overloaded procedures
with the same name
"cast(\"functions\".\"id\" as varchar(10)) AS
\"SPECIFIC_NAME\" " +
"FROM \"sys\".\"functions\" JOIN \"sys\".\"schemas\" ON
(\"functions\".\"schema_id\" = \"schemas\".\"id\") ");
@@ -1818,29 +1818,29 @@ public class MonetDatabaseMetaData exten
String columnNamePattern
) throws SQLException {
StringBuilder query = new StringBuilder(2900);
- query.append("SELECT cast(null as varchar(1)) AS
\"PROCEDURE_CAT\", " +
+ query.append("SELECT cast(null as char(1)) AS
\"PROCEDURE_CAT\", " +
"\"schemas\".\"name\" AS \"PROCEDURE_SCHEM\", " +
"\"functions\".\"name\" AS \"PROCEDURE_NAME\", " +
"\"args\".\"name\" AS \"COLUMN_NAME\", " +
- "CAST(CASE \"args\".\"inout\"" +
+ "cast(CASE \"args\".\"inout\"" +
" WHEN 0 THEN (CASE \"args\".\"number\" WHEN 0
THEN ").append(DatabaseMetaData.procedureColumnReturn).append(" ELSE
").append(DatabaseMetaData.procedureColumnOut).append(" END)" +
" WHEN 1 THEN
").append(DatabaseMetaData.procedureColumnIn)
.append(" ELSE
").append(DatabaseMetaData.procedureColumnUnknown).append(" END AS smallint) AS
\"COLUMN_TYPE\", " +
-
"CAST(").append(MonetDriver.getSQLTypeMap("\"args\".\"type\"")).append(" AS
int) AS \"DATA_TYPE\", " +
+
"cast(").append(MonetDriver.getSQLTypeMap("\"args\".\"type\"")).append(" AS
int) AS \"DATA_TYPE\", " +
"\"args\".\"type\" AS \"TYPE_NAME\", " +
"CASE \"args\".\"type\" WHEN 'tinyint' THEN 3 WHEN
'smallint' THEN 5 WHEN 'int' THEN 10 WHEN 'bigint' THEN 19 WHEN 'hugeint' THEN
38 WHEN 'oid' THEN 19 WHEN 'wrd' THEN 19 ELSE \"args\".\"type_digits\" END AS
\"PRECISION\", " +
"CASE \"args\".\"type\" WHEN 'tinyint' THEN 1 WHEN
'smallint' THEN 2 WHEN 'int' THEN 4 WHEN 'bigint' THEN 8 WHEN 'hugeint' THEN 16
WHEN 'oid' THEN 8 WHEN 'wrd' THEN 8 ELSE \"args\".\"type_digits\" END AS
\"LENGTH\", " +
- "CAST(CASE WHEN \"args\".\"type\" IN
('tinyint','smallint','int','bigint','hugeint','oid','wrd','decimal','numeric','time','timetz','timestamp','timestamptz','sec_interval')
THEN \"args\".\"type_scale\" ELSE NULL END AS smallint) AS \"SCALE\", " +
- "CAST(CASE WHEN \"args\".\"type\" IN
('tinyint','smallint','int','bigint','hugeint','oid','wrd','decimal','numeric')
THEN 10 WHEN \"args\".\"type\" IN ('real','float','double') THEN 2 ELSE NULL
END AS smallint) AS \"RADIX\", " +
-
"CAST(").append(DatabaseMetaData.procedureNullableUnknown).append(" AS
smallint) AS \"NULLABLE\", " +
- "CAST(null as char(1)) AS \"REMARKS\", " +
- "CAST(null as char(1)) AS \"COLUMN_DEF\", " +
- "CAST(0 as int) AS \"SQL_DATA_TYPE\", " +
- "CAST(0 as int) AS \"SQL_DATETIME_SUB\", " +
- "CAST(CASE WHEN \"args\".\"type\" IN
('char','varchar','clob') THEN \"args\".\"type_digits\" ELSE NULL END as int)
AS \"CHAR_OCTET_LENGTH\", " +
+ "cast(CASE WHEN \"args\".\"type\" IN
('tinyint','smallint','int','bigint','hugeint','oid','wrd','decimal','numeric','time','timetz','timestamp','timestamptz','sec_interval')
THEN \"args\".\"type_scale\" ELSE NULL END AS smallint) AS \"SCALE\", " +
+ "cast(CASE WHEN \"args\".\"type\" IN
('tinyint','smallint','int','bigint','hugeint','oid','wrd','decimal','numeric')
THEN 10 WHEN \"args\".\"type\" IN ('real','float','double') THEN 2 ELSE NULL
END AS smallint) AS \"RADIX\", " +
+
"cast(").append(DatabaseMetaData.procedureNullableUnknown).append(" AS
smallint) AS \"NULLABLE\", " +
+ "cast(null as char(1)) AS \"REMARKS\", " +
+ "cast(null as char(1)) AS \"COLUMN_DEF\", " +
+ "cast(0 as int) AS \"SQL_DATA_TYPE\", " +
+ "cast(0 as int) AS \"SQL_DATETIME_SUB\", " +
+ "cast(CASE WHEN \"args\".\"type\" IN
('char','varchar','clob') THEN \"args\".\"type_digits\" ELSE NULL END as int)
AS \"CHAR_OCTET_LENGTH\", " +
// in MonetDB procedures have no return value by
design. The arguments in sys.args are numbered from 0 so we must add 1 to
comply with the API specification.
- "CAST(\"args\".\"number\" + 1 as int) AS
\"ORDINAL_POSITION\", " +
- "CAST('' as varchar(3)) AS \"IS_NULLABLE\", " +
+ "cast(\"args\".\"number\" + 1 as int) AS
\"ORDINAL_POSITION\", " +
+ "cast('' as varchar(3)) AS \"IS_NULLABLE\", " +
// the specific name contains the function id, in order
to be able to match the args to the correct overloaded procedure name
"cast(\"functions\".\"id\" as varchar(10)) AS
\"SPECIFIC_NAME\" " +
"FROM \"sys\".\"args\" " +
@@ -1964,7 +1964,7 @@ public class MonetDatabaseMetaData exten
// we need to filter on the constructed "TABLE_TYPE"
expression, this is only possible when we use a subquery in the FROM
query.append("SELECT * FROM (");
}
- query.append("SELECT DISTINCT cast(null as char(1)) AS
\"TABLE_CAT\", " +
+ query.append("SELECT cast(null as char(1)) AS \"TABLE_CAT\", " +
"\"schemas\".\"name\" AS \"TABLE_SCHEM\", " +
"\"tables\".\"name\" AS \"TABLE_NAME\", ");
if (preJul2015) {
@@ -2226,16 +2226,16 @@ public class MonetDatabaseMetaData exten
"ELSE 0 END AS int) AS \"NUM_PREC_RADIX\", " +
"cast(CASE \"null\" WHEN true THEN
").append(ResultSetMetaData.columnNullable)
.append(" WHEN false THEN
").append(ResultSetMetaData.columnNoNulls).append(" END AS int) AS
\"NULLABLE\", ")
- .append(useCommentsTable ? "\"comments\".\"remark\"" :
"cast(null AS varchar(1))").append(" AS \"REMARKS\", " +
+ .append(useCommentsTable ? "\"comments\".\"remark\"" :
"cast(null AS varchar(9999))").append(" AS \"REMARKS\", " +
"\"columns\".\"default\" AS \"COLUMN_DEF\", " +
"cast(0 as int) AS \"SQL_DATA_TYPE\", " +
"cast(0 as int) AS \"SQL_DATETIME_SUB\", " +
"cast(CASE WHEN \"columns\".\"type\" IN
('char','varchar','clob') THEN \"columns\".\"type_digits\" ELSE NULL END as
int) AS \"CHAR_OCTET_LENGTH\", " +
"cast(\"columns\".\"number\" + 1 as int) AS
\"ORDINAL_POSITION\", " +
"cast(CASE \"null\" WHEN true THEN 'YES' WHEN false
THEN 'NO' ELSE '' END AS varchar(3)) AS \"IS_NULLABLE\", " +
- "cast(null AS varchar(1)) AS \"SCOPE_CATALOG\", " +
- "cast(null AS varchar(1)) AS \"SCOPE_SCHEMA\", " +
- "cast(null AS varchar(1)) AS \"SCOPE_TABLE\", " +
+ "cast(null AS char(1)) AS \"SCOPE_CATALOG\", " +
+ "cast(null AS char(1)) AS \"SCOPE_SCHEMA\", " +
+ "cast(null AS char(1)) AS \"SCOPE_TABLE\", " +
"cast(null AS smallint) AS \"SOURCE_DATA_TYPE\", " +
"cast(CASE WHEN \"columns\".\"default\" IS NOT NULL AND
\"columns\".\"default\" LIKE 'next value for %' THEN 'YES' ELSE 'NO' END AS
varchar(3)) AS \"IS_AUTOINCREMENT\", " +
"cast('NO' AS varchar(3)) AS \"IS_GENERATEDCOLUMN\" " +
@@ -2313,7 +2313,7 @@ public class MonetDatabaseMetaData exten
"\"columns\".\"name\" AS \"COLUMN_NAME\", " +
"\"grantors\".\"name\" AS \"GRANTOR\", " +
"\"grantees\".\"name\" AS \"GRANTEE\", " +
- "CAST(CASE \"privileges\".\"privileges\" " +
+ "cast(CASE \"privileges\".\"privileges\" " +
"WHEN 1 THEN 'SELECT' " +
"WHEN 2 THEN 'UPDATE' " +
"WHEN 4 THEN 'INSERT' " +
@@ -2322,7 +2322,7 @@ public class MonetDatabaseMetaData exten
"WHEN 32 THEN 'GRANT' " +
"ELSE NULL " +
"END AS varchar(7)) AS \"PRIVILEGE\", " +
- "CAST(CASE \"privileges\".\"grantable\" " +
+ "cast(CASE \"privileges\".\"grantable\" " +
"WHEN 0 THEN 'NO' " +
"WHEN 1 THEN 'YES' " +
"ELSE NULL " +
@@ -2401,7 +2401,7 @@ public class MonetDatabaseMetaData exten
"\"tables\".\"name\" AS \"TABLE_NAME\", " +
"\"grantors\".\"name\" AS \"GRANTOR\", " +
"\"grantees\".\"name\" AS \"GRANTEE\", " +
- "CAST(CASE \"privileges\".\"privileges\" " +
+ "cast(CASE \"privileges\".\"privileges\" " +
"WHEN 1 THEN 'SELECT' " +
"WHEN 2 THEN 'UPDATE' " +
"WHEN 4 THEN 'INSERT' " +
@@ -2410,7 +2410,7 @@ public class MonetDatabaseMetaData exten
"WHEN 32 THEN 'GRANT' " +
"ELSE NULL " +
"END AS varchar(7)) AS \"PRIVILEGE\", " +
- "CAST(CASE \"privileges\".\"grantable\" " +
+ "cast(CASE \"privileges\".\"grantable\" " +
"WHEN 0 THEN 'NO' " +
"WHEN 1 THEN 'YES' " +
"ELSE NULL " +
@@ -2488,14 +2488,14 @@ public class MonetDatabaseMetaData exten
) throws SQLException
{
StringBuilder query = new StringBuilder(1500);
- query.append("SELECT
CAST(").append(DatabaseMetaData.bestRowSession).append(" AS smallint) AS
\"SCOPE\", " +
+ query.append("SELECT
cast(").append(DatabaseMetaData.bestRowSession).append(" AS smallint) AS
\"SCOPE\", " +
"\"columns\".\"name\" AS \"COLUMN_NAME\", " +
"cast(").append(MonetDriver.getSQLTypeMap("\"columns\".\"type\"")).append(" AS
int) AS \"DATA_TYPE\", " +
"\"columns\".\"type\" AS \"TYPE_NAME\", " +
"\"columns\".\"type_digits\" AS \"COLUMN_SIZE\", " +
- "CAST(0 as int) AS \"BUFFER_LENGTH\", " +
- "CAST(\"columns\".\"type_scale\" AS smallint) AS
\"DECIMAL_DIGITS\", " +
-
"CAST(").append(DatabaseMetaData.bestRowNotPseudo).append(" AS smallint) AS
\"PSEUDO_COLUMN\" " +
+ "cast(0 as int) AS \"BUFFER_LENGTH\", " +
+ "cast(\"columns\".\"type_scale\" AS smallint) AS
\"DECIMAL_DIGITS\", " +
+
"cast(").append(DatabaseMetaData.bestRowNotPseudo).append(" AS smallint) AS
\"PSEUDO_COLUMN\" " +
"FROM \"sys\".\"keys\", " +
"\"sys\".\"objects\", " +
"\"sys\".\"columns\", " +
@@ -2571,14 +2571,14 @@ public class MonetDatabaseMetaData exten
{
// MonetDB currently does not have columns which update
themselves, so return an empty ResultSet
String query =
- "SELECT CAST(0 as smallint) AS \"SCOPE\", " +
- "CAST(null as varchar(1)) AS \"COLUMN_NAME\", " +
- "CAST(0 as int) AS \"DATA_TYPE\", " +
- "CAST(null as varchar(1)) AS \"TYPE_NAME\", " +
- "CAST(0 as int) AS \"COLUMN_SIZE\", " +
- "CAST(0 as int) AS \"BUFFER_LENGTH\", " +
- "CAST(0 as smallint) AS \"DECIMAL_DIGITS\", " +
- "CAST(0 as smallint) AS \"PSEUDO_COLUMN\" " +
+ "SELECT cast(0 as smallint) AS \"SCOPE\", " +
+ "cast(null as char(1)) AS \"COLUMN_NAME\", " +
+ "cast(0 as int) AS \"DATA_TYPE\", " +
+ "cast(null as char(1)) AS \"TYPE_NAME\", " +
+ "cast(0 as int) AS \"COLUMN_SIZE\", " +
+ "cast(0 as int) AS \"BUFFER_LENGTH\", " +
+ "cast(0 as smallint) AS \"DECIMAL_DIGITS\", " +
+ "cast(0 as smallint) AS \"PSEUDO_COLUMN\" " +
"WHERE 1 = 0";
return executeMetaDataQuery(query);
@@ -2613,11 +2613,11 @@ public class MonetDatabaseMetaData exten
) throws SQLException
{
StringBuilder query = new StringBuilder(600);
- query.append("SELECT cast(null AS varchar(1)) AS \"TABLE_CAT\",
" +
+ query.append("SELECT cast(null AS char(1)) AS \"TABLE_CAT\", " +
"\"schemas\".\"name\" AS \"TABLE_SCHEM\", " +
"\"tables\".\"name\" AS \"TABLE_NAME\", " +
"\"objects\".\"name\" AS \"COLUMN_NAME\", " +
- "CAST(1 + \"objects\".\"nr\" AS smallint) AS
\"KEY_SEQ\", " +
+ "cast(1 + \"objects\".\"nr\" AS smallint) AS
\"KEY_SEQ\", " +
" \"keys\".\"name\" AS \"PK_NAME\" " +
"FROM \"sys\".\"keys\", " +
"\"sys\".\"objects\", " +
@@ -2648,15 +2648,15 @@ public class MonetDatabaseMetaData exten
private static final String keyQuery =
- "SELECT cast(null AS varchar(1)) AS \"PKTABLE_CAT\", " +
+ "SELECT cast(null AS char(1)) AS \"PKTABLE_CAT\", " +
"\"pkschema\".\"name\" AS \"PKTABLE_SCHEM\", " +
"\"pktable\".\"name\" AS \"PKTABLE_NAME\", " +
"\"pkkeycol\".\"name\" AS \"PKCOLUMN_NAME\", " +
- "cast(null AS varchar(1)) AS \"FKTABLE_CAT\", " +
+ "cast(null AS char(1)) AS \"FKTABLE_CAT\", " +
"\"fkschema\".\"name\" AS \"FKTABLE_SCHEM\", " +
"\"fktable\".\"name\" AS \"FKTABLE_NAME\", " +
"\"fkkeycol\".\"name\" AS \"FKCOLUMN_NAME\", " +
- "CAST(1 + \"pkkeycol\".\"nr\" AS smallint) AS \"KEY_SEQ\", " +
+ "cast(1 + \"pkkeycol\".\"nr\" AS smallint) AS \"KEY_SEQ\", " +
DatabaseMetaData.importedKeyNoAction + " AS \"UPDATE_RULE\", " +
DatabaseMetaData.importedKeyNoAction + " AS \"DELETE_RULE\", " +
"\"fkkey\".\"name\" AS \"FK_NAME\", " +
@@ -3126,19 +3126,19 @@ public class MonetDatabaseMetaData exten
StringBuilder query = new StringBuilder(1250);
query.append(
- "SELECT CAST(null AS char(1)) AS \"TABLE_CAT\", " +
+ "SELECT cast(null AS char(1)) AS \"TABLE_CAT\", " +
"\"schemas\".\"name\" AS \"TABLE_SCHEM\", " +
"\"tables\".\"name\" AS \"TABLE_NAME\", " +
"CASE WHEN \"keys\".\"name\" IS NULL THEN true ELSE
false END AS \"NON_UNIQUE\", " +
- "CAST(null AS varchar(1)) AS \"INDEX_QUALIFIER\", " +
+ "cast(null AS char(1)) AS \"INDEX_QUALIFIER\", " +
"\"idxs\".\"name\" AS \"INDEX_NAME\", " +
"CASE \"idxs\".\"type\" WHEN 0 THEN
").append(DatabaseMetaData.tableIndexHashed).append(" ELSE
").append(DatabaseMetaData.tableIndexOther).append(" END AS \"TYPE\", " +
- "CAST(\"objects\".\"nr\" +1 AS smallint) AS
\"ORDINAL_POSITION\", "+
+ "cast(\"objects\".\"nr\" +1 AS smallint) AS
\"ORDINAL_POSITION\", "+
"\"columns\".\"name\" AS \"COLUMN_NAME\", " +
- "CAST(null AS varchar(1)) AS \"ASC_OR_DESC\", " +
// sort sequence currently not supported in keys or indexes in MonetDB
- "CAST(").append(table_row_count).append(" AS int) AS
\"CARDINALITY\", " +
- "CAST(0 AS int) AS \"PAGES\", " +
- "CAST(null AS varchar(1)) AS \"FILTER_CONDITION\" " +
+ "cast(null AS char(1)) AS \"ASC_OR_DESC\", " + // sort
sequence currently not supported in keys or indexes in MonetDB
+ "cast(").append(table_row_count).append(" AS int) AS
\"CARDINALITY\", " +
+ "cast(0 AS int) AS \"PAGES\", " +
+ "cast(null AS char(1)) AS \"FILTER_CONDITION\" " +
"FROM \"sys\".\"idxs\" LEFT JOIN \"sys\".\"keys\" ON
\"idxs\".\"name\" = \"keys\".\"name\", " +
"\"sys\".\"schemas\", " +
"\"sys\".\"objects\", " +
@@ -3311,7 +3311,7 @@ public class MonetDatabaseMetaData exten
" WHEN 'url' THEN
'nl.cwi.monetdb.jdbc.types.URL'" +
" WHEN 'uuid' THEN 'java.lang.String'" +
" ELSE 'java.lang.Object' END AS
\"CLASS_NAME\", " +
- "CAST(CASE WHEN \"types\".\"sqlname\" IN ('inet',
'json', 'url', 'uuid') THEN ").append(Types.JAVA_OBJECT)
+ "cast(CASE WHEN \"types\".\"sqlname\" IN ('inet',
'json', 'url', 'uuid') THEN ").append(Types.JAVA_OBJECT)
.append(" ELSE ").append(Types.STRUCT).append("
END AS int) AS \"DATA_TYPE\", " +
"\"types\".\"systemname\" AS \"REMARKS\", " +
"cast(null as smallint) AS \"BASE_TYPE\" " +
@@ -3599,13 +3599,13 @@ public class MonetDatabaseMetaData exten
{
String query =
"SELECT cast(null as char(1)) AS \"TYPE_CAT\", '' AS
\"TYPE_SCHEM\", '' AS \"TYPE_NAME\", " +
- "'' AS \"ATTR_NAME\", CAST(0 as int) AS \"DATA_TYPE\",
'' AS \"ATTR_TYPE_NAME\", CAST(0 as int) AS \"ATTR_SIZE\", " +
- "CAST(0 as int) AS \"DECIMAL_DIGITS\", CAST(0 as int)
AS \"NUM_PREC_RADIX\", CAST(0 as int) AS \"NULLABLE\", " +
- "'' AS \"REMARKS\", '' AS \"ATTR_DEF\", CAST(0 as int)
AS \"SQL_DATA_TYPE\", " +
- "CAST(0 as int) AS \"SQL_DATETIME_SUB\", CAST(0 as int)
AS \"CHAR_OCTET_LENGTH\", " +
- "CAST(0 as int) AS \"ORDINAL_POSITION\", 'YES' AS
\"IS_NULLABLE\", " +
+ "'' AS \"ATTR_NAME\", cast(0 as int) AS \"DATA_TYPE\",
'' AS \"ATTR_TYPE_NAME\", cast(0 as int) AS \"ATTR_SIZE\", " +
+ "cast(0 as int) AS \"DECIMAL_DIGITS\", cast(0 as int)
AS \"NUM_PREC_RADIX\", cast(0 as int) AS \"NULLABLE\", " +
+ "'' AS \"REMARKS\", '' AS \"ATTR_DEF\", cast(0 as int)
AS \"SQL_DATA_TYPE\", " +
+ "cast(0 as int) AS \"SQL_DATETIME_SUB\", cast(0 as int)
AS \"CHAR_OCTET_LENGTH\", " +
+ "cast(0 as int) AS \"ORDINAL_POSITION\", 'YES' AS
\"IS_NULLABLE\", " +
"'' AS \"SCOPE_CATALOG\", '' AS \"SCOPE_SCHEMA\", '' AS
\"SCOPE_TABLE\", " +
- "CAST(0 as smallint) AS \"SOURCE_DATA_TYPE\" " +
+ "cast(0 as smallint) AS \"SOURCE_DATA_TYPE\" " +
"WHERE 1 = 0";
return executeMetaDataQuery(query);
@@ -3832,7 +3832,7 @@ public class MonetDatabaseMetaData exten
public ResultSet getClientInfoProperties() throws SQLException {
// for a list of connection properties see also
MonetConnection.java constructor MonetConnection(Properties props)
String query =
- "SELECT 'host' AS \"NAME\", CAST(1024 as int) AS \"MAX_LEN\",
'localhost' AS \"DEFAULT_VALUE\", 'DSN or IP-address of machine running
MonetDB' AS \"DESCRIPTION\" UNION ALL " +
+ "SELECT 'host' AS \"NAME\", cast(1024 as int) AS \"MAX_LEN\",
'localhost' AS \"DEFAULT_VALUE\", 'DSN or IP-address of machine running
MonetDB' AS \"DESCRIPTION\" UNION ALL " +
"SELECT 'port', 5, '50000', 'communication port number of
MonetDB server process' UNION ALL " +
"SELECT 'user', 1024, '', 'user name to login to MonetDB
server' UNION ALL " +
"SELECT 'password', 128, '', 'password for user name to login
to MonetDB server' UNION ALL " +
@@ -3899,7 +3899,7 @@ public class MonetDatabaseMetaData exten
{
boolean useCommentsTable =
((MonetConnection)con).commentsTableExists();
StringBuilder query = new StringBuilder(800);
- query.append("SELECT cast(null as varchar(1)) AS
\"FUNCTION_CAT\", " +
+ query.append("SELECT cast(null as char(1)) AS \"FUNCTION_CAT\",
" +
"\"schemas\".\"name\" AS \"FUNCTION_SCHEM\", " +
"\"functions\".\"name\" AS \"FUNCTION_NAME\", ")
.append(useCommentsTable ?
"COALESCE(\"comments\".\"remark\", cast(\"functions\".\"func\" as
varchar(9999)))" : "cast(\"functions\".\"func\" as varchar(9999))").append(" AS
\"REMARKS\", " +
@@ -4003,30 +4003,30 @@ public class MonetDatabaseMetaData exten
throws SQLException
{
StringBuilder query = new StringBuilder(2600);
- query.append("SELECT DISTINCT CAST(null as char(1)) AS
\"FUNCTION_CAT\", " +
+ query.append("SELECT cast(null as char(1)) AS \"FUNCTION_CAT\",
" +
"\"schemas\".\"name\" AS \"FUNCTION_SCHEM\", " +
"\"functions\".\"name\" AS \"FUNCTION_NAME\", " +
"\"args\".\"name\" AS \"COLUMN_NAME\", " +
- "CAST(CASE \"args\".\"inout\"" +
+ "cast(CASE \"args\".\"inout\"" +
" WHEN 0 THEN (CASE \"args\".\"number\" WHEN 0
THEN ")
.append(DatabaseMetaData.functionReturn).append(" ELSE
").append(DatabaseMetaData.functionColumnOut).append(" END)" +
" WHEN 1 THEN
").append(DatabaseMetaData.functionColumnIn)
.append(" ELSE
").append(DatabaseMetaData.functionColumnUnknown).append(" END AS smallint) AS
\"COLUMN_TYPE\", " +
-
"CAST(").append(MonetDriver.getSQLTypeMap("\"args\".\"type\"")).append(" AS
int) AS \"DATA_TYPE\", " +
+
"cast(").append(MonetDriver.getSQLTypeMap("\"args\".\"type\"")).append(" AS
int) AS \"DATA_TYPE\", " +
"\"args\".\"type\" AS \"TYPE_NAME\", " +
"CASE \"args\".\"type\" WHEN 'tinyint' THEN 3 WHEN
'smallint' THEN 5 WHEN 'int' THEN 10 WHEN 'bigint' THEN 19" +
" WHEN 'hugeint' THEN 38 WHEN 'oid' THEN 19
WHEN 'wrd' THEN 19 ELSE \"args\".\"type_digits\" END AS \"PRECISION\", " +
"CASE \"args\".\"type\" WHEN 'tinyint' THEN 1 WHEN
'smallint' THEN 2 WHEN 'int' THEN 4 WHEN 'bigint' THEN 8" +
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list