Changeset: 5d7581adacc4 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5d7581adacc4 Added Files: sql/test/Tests/mediumint.sql sql/test/Tests/mediumint.stable.err sql/test/Tests/mediumint.stable.out sql/test/sys-schema/Tests/utilities.sql sql/test/sys-schema/Tests/utilities.stable.err sql/test/sys-schema/Tests/utilities.stable.out Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/mapilib/monetdb-mapi.pc.in clients/odbc/driver/ODBCConvert.c clients/odbc/driver/ODBCDbc.h clients/odbc/driver/ODBCStmt.h clients/odbc/driver/ODBCUtil.c clients/odbc/driver/SQLBrowseConnect.c clients/odbc/driver/SQLColumnPrivileges.c clients/odbc/driver/SQLColumns.c clients/odbc/driver/SQLConnect.c clients/odbc/driver/SQLDriverConnect.c clients/odbc/driver/SQLExecDirect.c clients/odbc/driver/SQLForeignKeys.c clients/odbc/driver/SQLGetTypeInfo.c clients/odbc/driver/SQLNativeSql.c clients/odbc/driver/SQLPrepare.c clients/odbc/driver/SQLPrimaryKeys.c clients/odbc/driver/SQLProcedureColumns.c clients/odbc/driver/SQLProcedures.c clients/odbc/driver/SQLSetCursorName.c clients/odbc/driver/SQLSpecialColumns.c clients/odbc/driver/SQLStatistics.c clients/odbc/driver/SQLTablePrivileges.c clients/odbc/driver/SQLTables.c gdk/gdk_join.c sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql.h sql/backends/monet5/sql.mal sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statement.h sql/include/sql_relation.h sql/server/rel_optimizer.c sql/server/rel_propagate.c sql/server/rel_psm.c sql/server/rel_rel.c sql/server/rel_rel.h sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_select.h sql/server/rel_unnest.c sql/server/rel_updates.c sql/server/sql_mvc.h sql/test/BugTracker-2009/Tests/having_min_crash.SF-2795951.sql sql/test/BugTracker-2009/Tests/having_min_crash.SF-2795951.stable.out sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.stable.err sql/test/BugTracker-2017/Tests/aggr_udf_with_more_than_2params.Bug-6385.stable.err sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-coalesce-error-message.Bug-6608.stable.err sql/test/Tests/All sql/test/miscellaneous/Tests/simple_selects.sql sql/test/miscellaneous/Tests/simple_selects.stable.err sql/test/subquery/Tests/subquery2.sql sql/test/subquery/Tests/subquery3.sql sql/test/subquery/Tests/subquery3.stable.err sql/test/subquery/Tests/subquery3.stable.out sql/test/subquery/Tests/subquery4.sql sql/test/subquery/Tests/subquery4.stable.err sql/test/subquery/Tests/subquery4.stable.out sql/test/sys-schema/Tests/All Branch: timezone Log Message:
Merge with default branch. diffs (truncated from 5413 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -18865,6 +18865,7 @@ stdout of test 'MAL-signatures` in direc [ "sql", "transaction_commit", "pattern sql.transaction_commit(chain:int, name:str):void ", "SQLtransaction_commit;", "A transaction statement (type can be commit,release,rollback or start)" ] [ "sql", "transaction_release", "pattern sql.transaction_release(chain:int, name:str):void ", "SQLtransaction_release;", "A transaction statement (type can be commit,release,rollback or start)" ] [ "sql", "transaction_rollback", "pattern sql.transaction_rollback(chain:int, name:str):void ", "SQLtransaction_rollback;", "A transaction statement (type can be commit,release,rollback or start)" ] +[ "sql", "unionfunc", "pattern sql.unionfunc(mod:str, fcn:str, X_0:any...):any... ", "SQLunionfunc;", "" ] [ "sql", "update", "pattern sql.update(mvc:int, sname:str, tname:str, cname:str, rids:any, upd:any):int ", "mvc_update_wrap;", "Update the values of the column tname.cname. Returns sequence number for order dependence)" ] [ "sql", "update_schemas", "pattern sql.update_schemas():void ", "SYSupdate_schemas;", "Procedure triggered on update of the sys.schemas table" ] [ "sql", "update_tables", "pattern sql.update_tables():void ", "SYSupdate_tables;", "Procedure triggered on update of the sys._tables table" ] diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -26879,6 +26879,7 @@ stdout of test 'MAL-signatures` in direc [ "sql", "transaction_commit", "pattern sql.transaction_commit(chain:int, name:str):void ", "SQLtransaction_commit;", "A transaction statement (type can be commit,release,rollback or start)" ] [ "sql", "transaction_release", "pattern sql.transaction_release(chain:int, name:str):void ", "SQLtransaction_release;", "A transaction statement (type can be commit,release,rollback or start)" ] [ "sql", "transaction_rollback", "pattern sql.transaction_rollback(chain:int, name:str):void ", "SQLtransaction_rollback;", "A transaction statement (type can be commit,release,rollback or start)" ] +[ "sql", "unionfunc", "pattern sql.unionfunc(mod:str, fcn:str, X_0:any...):any... ", "SQLunionfunc;", "" ] [ "sql", "update", "pattern sql.update(mvc:int, sname:str, tname:str, cname:str, rids:any, upd:any):int ", "mvc_update_wrap;", "Update the values of the column tname.cname. Returns sequence number for order dependence)" ] [ "sql", "update_schemas", "pattern sql.update_schemas():void ", "SYSupdate_schemas;", "Procedure triggered on update of the sys.schemas table" ] [ "sql", "update_tables", "pattern sql.update_tables():void ", "SYSupdate_tables;", "Procedure triggered on update of the sys._tables table" ] diff --git a/clients/mapilib/monetdb-mapi.pc.in b/clients/mapilib/monetdb-mapi.pc.in --- a/clients/mapilib/monetdb-mapi.pc.in +++ b/clients/mapilib/monetdb-mapi.pc.in @@ -2,7 +2,7 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # -# Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. +# Copyright 1997 - July 2008 CWI, August 2008 - 2020 MonetDB B.V. prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${exec_prefix} diff --git a/clients/odbc/driver/ODBCConvert.c b/clients/odbc/driver/ODBCConvert.c --- a/clients/odbc/driver/ODBCConvert.c +++ b/clients/odbc/driver/ODBCConvert.c @@ -2868,7 +2868,7 @@ ODBCStore(ODBCStmt *stmt, char **bufp, size_t *bufposp, size_t *buflenp, - char *sep) + const char *sep) { ODBCDescRec *ipdrec, *apdrec; SQLPOINTER ptr; diff --git a/clients/odbc/driver/ODBCDbc.h b/clients/odbc/driver/ODBCDbc.h --- a/clients/odbc/driver/ODBCDbc.h +++ b/clients/odbc/driver/ODBCDbc.h @@ -137,7 +137,7 @@ ODBCError *getDbcError(ODBCDbc *dbc); */ void destroyODBCDbc(ODBCDbc *dbc); -int ODBCGetKeyAttr(SQLCHAR **conn, SQLSMALLINT *nconn, char **key, char **attr); +int ODBCGetKeyAttr(const SQLCHAR **conn, SQLSMALLINT *nconn, char **key, char **attr); SQLRETURN ODBCConnectionString(SQLRETURN rc, ODBCDbc *dbc, SQLCHAR *OutConnectionString, SQLSMALLINT BufferLength, @@ -146,7 +146,7 @@ SQLRETURN ODBCConnectionString(SQLRETURN const char *pwd, const char *host, int port, const char *database); SQLRETURN MNDBAllocStmt(ODBCDbc *dbc, SQLHANDLE *pnOutputHandle); -SQLRETURN MNDBConnect(ODBCDbc *dbc, SQLCHAR *szDataSource, SQLSMALLINT nDataSourceLength, SQLCHAR *szUID, SQLSMALLINT nUIDLength, SQLCHAR *szPWD, SQLSMALLINT nPWDLength, const char *host, int port, const char *schema); +SQLRETURN MNDBConnect(ODBCDbc *dbc, const SQLCHAR *szDataSource, SQLSMALLINT nDataSourceLength, const SQLCHAR *szUID, SQLSMALLINT nUIDLength, const SQLCHAR *szPWD, SQLSMALLINT nPWDLength, const char *host, int port, const char *schema); SQLRETURN MNDBGetConnectAttr(ODBCDbc *dbc, SQLINTEGER Attribute, SQLPOINTER ValuePtr, SQLINTEGER BufferLength, SQLINTEGER *StringLength); SQLRETURN MNDBSetConnectAttr(ODBCDbc *dbc, SQLINTEGER Attribute, SQLPOINTER ValuePtr, SQLINTEGER StringLength); diff --git a/clients/odbc/driver/ODBCStmt.h b/clients/odbc/driver/ODBCStmt.h --- a/clients/odbc/driver/ODBCStmt.h +++ b/clients/odbc/driver/ODBCStmt.h @@ -180,7 +180,7 @@ SQLRETURN ODBCFetch(ODBCStmt *stmt, SQLU SQLULEN row); SQLRETURN ODBCStore(ODBCStmt *stmt, SQLUSMALLINT param, SQLLEN offset, SQLULEN row, char **bufp, size_t *bufposp, size_t *buflenp, - char *sep); + const char *sep); SQLRETURN ODBCFreeStmt_(ODBCStmt *stmt); SQLRETURN ODBCInitResult(ODBCStmt *stmt); const char *ODBCGetTypeInfo(int concise_type, int *data_type, @@ -198,7 +198,7 @@ SQLRETURN MNDBColAttribute(ODBCStmt *stm SQLUSMALLINT nFieldIdentifier, SQLPOINTER pszValue, SQLSMALLINT nValueLengthMax, SQLSMALLINT *pnValueLength, LENP_OR_POINTER_T pnValue); -SQLRETURN MNDBExecDirect(ODBCStmt *stmt, SQLCHAR *szSqlStr, +SQLRETURN MNDBExecDirect(ODBCStmt *stmt, const SQLCHAR *szSqlStr, SQLINTEGER nSqlStr); SQLRETURN MNDBExecute(ODBCStmt *stmt); SQLRETURN MNDBFetch(ODBCStmt *stmt, SQLUSMALLINT *RowStatusArray); @@ -208,7 +208,7 @@ SQLRETURN MNDBFreeStmt(ODBCStmt *stmt, S SQLRETURN MNDBGetStmtAttr(ODBCStmt *stmt, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER BufferLength, SQLINTEGER *StringLength); -SQLRETURN MNDBPrepare(ODBCStmt *stmt, SQLCHAR *szSqlStr, +SQLRETURN MNDBPrepare(ODBCStmt *stmt, const SQLCHAR *szSqlStr, SQLINTEGER nSqlStrLength); SQLRETURN MNDBSetStmtAttr(ODBCStmt *stmt, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength); diff --git a/clients/odbc/driver/ODBCUtil.c b/clients/odbc/driver/ODBCUtil.c --- a/clients/odbc/driver/ODBCUtil.c +++ b/clients/odbc/driver/ODBCUtil.c @@ -946,84 +946,707 @@ ODBCParseID(const char *tab, const char } struct sql_types ODBC_sql_types[] = { - {SQL_CHAR, SQL_CHAR, 0, 0, UNAFFECTED, 1, UNAFFECTED, 0, SQL_FALSE}, - {SQL_VARCHAR, SQL_VARCHAR, 0, 0, UNAFFECTED, 1, UNAFFECTED, 0, SQL_FALSE}, - {SQL_LONGVARCHAR, SQL_LONGVARCHAR, 0, UNAFFECTED, UNAFFECTED, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_WCHAR, SQL_WCHAR, 0, UNAFFECTED, UNAFFECTED, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_WVARCHAR, SQL_WVARCHAR, 0, UNAFFECTED, UNAFFECTED, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_WLONGVARCHAR, SQL_WLONGVARCHAR, 0, UNAFFECTED, UNAFFECTED, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_DECIMAL, SQL_DECIMAL, 0, 17, UNAFFECTED, UNAFFECTED, 0, 10, SQL_TRUE}, - {SQL_NUMERIC, SQL_NUMERIC, 0, 17, UNAFFECTED, UNAFFECTED, 0, 10, SQL_TRUE}, - {SQL_BIT, SQL_BIT, 0, UNAFFECTED, UNAFFECTED, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_TINYINT, SQL_TINYINT, 0, UNAFFECTED, UNAFFECTED, UNAFFECTED, UNAFFECTED, 10, SQL_TRUE}, - {SQL_SMALLINT, SQL_SMALLINT, 0, UNAFFECTED, UNAFFECTED, UNAFFECTED, UNAFFECTED, 10, SQL_TRUE}, - {SQL_INTEGER, SQL_INTEGER, 0, UNAFFECTED, UNAFFECTED, UNAFFECTED, UNAFFECTED, 10, SQL_TRUE}, - {SQL_BIGINT, SQL_BIGINT, 0, UNAFFECTED, UNAFFECTED, UNAFFECTED, UNAFFECTED, 10, SQL_TRUE}, - {SQL_HUGEINT, SQL_HUGEINT, 0, UNAFFECTED, UNAFFECTED, UNAFFECTED, UNAFFECTED, 10, SQL_TRUE}, - {SQL_REAL, SQL_REAL, 0, FLT_MANT_DIG, UNAFFECTED, UNAFFECTED, UNAFFECTED, 2, SQL_FALSE}, - {SQL_FLOAT, SQL_FLOAT, 0, DBL_MANT_DIG, UNAFFECTED, UNAFFECTED, UNAFFECTED, 2, SQL_FALSE}, - {SQL_DOUBLE, SQL_DOUBLE, 0, DBL_MANT_DIG, UNAFFECTED, UNAFFECTED, UNAFFECTED, 2, SQL_FALSE}, - {SQL_BINARY, SQL_BINARY, 0, 0, UNAFFECTED, 1, UNAFFECTED, 0, SQL_FALSE}, - {SQL_VARBINARY, SQL_VARBINARY, 0, 0, UNAFFECTED, 1, UNAFFECTED, 0, SQL_FALSE}, - {SQL_LONGVARBINARY, SQL_LONGVARBINARY, 0, UNAFFECTED, UNAFFECTED, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_GUID, SQL_GUID, 0, UNAFFECTED, UNAFFECTED, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_TYPE_DATE, SQL_DATETIME, SQL_CODE_DATE, 0, UNAFFECTED, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_TYPE_TIME, SQL_DATETIME, SQL_CODE_TIME, 0, UNAFFECTED, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_TYPE_TIMESTAMP, SQL_DATETIME, SQL_CODE_TIMESTAMP, 6, UNAFFECTED, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_INTERVAL_MONTH, SQL_INTERVAL, SQL_CODE_MONTH, 0, 2, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_INTERVAL_YEAR, SQL_INTERVAL, SQL_CODE_YEAR, 0, 2, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_INTERVAL_YEAR_TO_MONTH, SQL_INTERVAL, SQL_CODE_YEAR_TO_MONTH, 0, 2, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_INTERVAL_DAY, SQL_INTERVAL, SQL_CODE_DAY, 0, 2, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_INTERVAL_HOUR, SQL_INTERVAL, SQL_CODE_HOUR, 0, 2, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_INTERVAL_MINUTE, SQL_INTERVAL, SQL_CODE_MINUTE, 0, 2, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_INTERVAL_SECOND, SQL_INTERVAL, SQL_CODE_SECOND, 6, 2, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_INTERVAL_DAY_TO_HOUR, SQL_INTERVAL, SQL_CODE_DAY_TO_HOUR, 0, 2, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_INTERVAL_DAY_TO_MINUTE, SQL_INTERVAL, SQL_CODE_DAY_TO_MINUTE, 0, 2, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_INTERVAL_DAY_TO_SECOND, SQL_INTERVAL, SQL_CODE_DAY_TO_SECOND, 6, 2, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_INTERVAL_HOUR_TO_MINUTE, SQL_INTERVAL, SQL_CODE_HOUR_TO_MINUTE, 0, 2, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_INTERVAL_HOUR_TO_SECOND, SQL_INTERVAL, SQL_CODE_HOUR_TO_SECOND, 6, 2, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {SQL_INTERVAL_MINUTE_TO_SECOND, SQL_INTERVAL, SQL_CODE_MINUTE_TO_SECOND, 6, 2, UNAFFECTED, UNAFFECTED, 0, SQL_FALSE}, - {0, 0, 0, 0, 0, 0, 0, 0, 0}, /* sentinel */ + { + .concise_type = SQL_CHAR, + .type = SQL_CHAR, + .datetime_interval_precision = UNAFFECTED, + .length = 1, + .scale = UNAFFECTED, + .fixed = SQL_FALSE, + }, + { + .concise_type = SQL_VARCHAR, + .type = SQL_VARCHAR, + .datetime_interval_precision = UNAFFECTED, + .length = 1, + .scale = UNAFFECTED, + .fixed = SQL_FALSE, + }, + { + .concise_type = SQL_LONGVARCHAR, + .type = SQL_LONGVARCHAR, + .precision = UNAFFECTED, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .scale = UNAFFECTED, + .fixed = SQL_FALSE, + }, + { + .concise_type = SQL_WCHAR, + .type = SQL_WCHAR, + .precision = UNAFFECTED, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .scale = UNAFFECTED, + .fixed = SQL_FALSE, + }, + { + .concise_type = SQL_WVARCHAR, + .type = SQL_WVARCHAR, + .precision = UNAFFECTED, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .scale = UNAFFECTED, + .fixed = SQL_FALSE, + }, + { + .concise_type = SQL_WLONGVARCHAR, + .type = SQL_WLONGVARCHAR, + .precision = UNAFFECTED, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .scale = UNAFFECTED, + .fixed = SQL_FALSE, + }, + { + .concise_type = SQL_DECIMAL, + .type = SQL_DECIMAL, + .precision = 17, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .radix = 10, + .fixed = SQL_TRUE, + }, + { + .concise_type = SQL_NUMERIC, + .type = SQL_NUMERIC, + .precision = 17, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .radix = 10, + .fixed = SQL_TRUE, + }, + { + .concise_type = SQL_BIT, + .type = SQL_BIT, + .precision = UNAFFECTED, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .scale = UNAFFECTED, + .fixed = SQL_FALSE, + }, + { + .concise_type = SQL_TINYINT, + .type = SQL_TINYINT, + .precision = UNAFFECTED, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .scale = UNAFFECTED, + .radix = 10, + .fixed = SQL_TRUE, + }, + { + .concise_type = SQL_SMALLINT, + .type = SQL_SMALLINT, + .precision = UNAFFECTED, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .scale = UNAFFECTED, + .radix = 10, + .fixed = SQL_TRUE, + }, + { + .concise_type = SQL_INTEGER, + .type = SQL_INTEGER, + .precision = UNAFFECTED, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .scale = UNAFFECTED, + .radix = 10, + .fixed = SQL_TRUE, + }, + { + .concise_type = SQL_BIGINT, + .type = SQL_BIGINT, + .precision = UNAFFECTED, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .scale = UNAFFECTED, + .radix = 10, + .fixed = SQL_TRUE, + }, + { + .concise_type = SQL_HUGEINT, + .type = SQL_HUGEINT, + .precision = UNAFFECTED, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .scale = UNAFFECTED, + .radix = 10, + .fixed = SQL_TRUE, + }, + { + .concise_type = SQL_REAL, + .type = SQL_REAL, + .precision = FLT_MANT_DIG, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .scale = UNAFFECTED, + .radix = 2, + .fixed = SQL_FALSE, + }, + { + .concise_type = SQL_FLOAT, + .type = SQL_FLOAT, + .precision = DBL_MANT_DIG, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .scale = UNAFFECTED, + .radix = 2, + .fixed = SQL_FALSE, + }, + { + .concise_type = SQL_DOUBLE, + .type = SQL_DOUBLE, + .precision = DBL_MANT_DIG, + .datetime_interval_precision = UNAFFECTED, + .length = UNAFFECTED, + .scale = UNAFFECTED, + .radix = 2, + .fixed = SQL_FALSE, _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list