Changeset: 909aa065524e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=909aa065524e
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/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/test/Tests/All
        sql/test/subquery/Tests/subquery3.stable.err
        sql/test/sys-schema/Tests/All
Branch: default
Log Message:

Merged with linear-hashing


diffs (truncated from 2993 to 300 lines):

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,
+       },
+       {
+               .concise_type = SQL_BINARY,
+               .type = SQL_BINARY,
+               .datetime_interval_precision = UNAFFECTED,
+               .length = 1,
+               .scale = UNAFFECTED,
+               .fixed = SQL_FALSE,
+       },
+       {
+               .concise_type = SQL_VARBINARY,
+               .type = SQL_VARBINARY,
+               .datetime_interval_precision = UNAFFECTED,
+               .length = 1,
+               .scale = UNAFFECTED,
+               .fixed = SQL_FALSE,
+       },
+       {
+               .concise_type = SQL_LONGVARBINARY,
+               .type = SQL_LONGVARBINARY,
+               .precision = UNAFFECTED,
+               .datetime_interval_precision = UNAFFECTED,
+               .length = UNAFFECTED,
+               .scale = UNAFFECTED,
+               .fixed = SQL_FALSE,
+       },
+       {
+               .concise_type = SQL_GUID,
+               .type = SQL_GUID,
+               .precision = UNAFFECTED,
+               .datetime_interval_precision = UNAFFECTED,
+               .length = UNAFFECTED,
+               .scale = UNAFFECTED,
+               .fixed = SQL_FALSE,
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to