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