Changeset: 7a071af2c199 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7a071af2c199
Modified Files:
configure.ag
gdk/gdk.h
monetdb5/modules/mal/mkey.c
monetdb5/modules/mal/mkey.h
monetdb5/modules/mal/mkey.mal
monetdb5/optimizer/opt_support.c
sql/backends/monet5/sql.mx
sql/backends/monet5/sql_gencode.c
Branch: headless
Log Message:
Merge with default branch.
diffs (truncated from 7645 to 300 lines):
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -165,18 +165,18 @@
snprintf(query, maxquerylen,
"SELECT \"ps\".\"name\"," /* 0 */
"\"pkt\".\"name\"," /* 1 */
- "\"pkkc\".\"column\"," /* 2 */
- "\"fkkc\".\"column\"," /* 3 */
+ "\"pkkc\".\"name\"," /* 2 */
+ "\"fkkc\".\"name\"," /* 3 */
"\"fkkc\".\"nr\"," /* 4 */
"\"fkk\".\"name\"," /* 5 */
"\"fkk\".\"action\"," /* 6 */
"\"fs\".\"name\"," /* 7 */
"\"fkt\".\"name\" " /* 8 */
"FROM \"sys\".\"_tables\" \"fkt\","
- "\"sys\".\"keycolumns\" \"fkkc\","
+ "\"sys\".\"objects\" \"fkkc\","
"\"sys\".\"keys\" \"fkk\","
"\"sys\".\"_tables\" \"pkt\","
- "\"sys\".\"keycolumns\" \"pkkc\","
+ "\"sys\".\"objects\" \"pkkc\","
"\"sys\".\"keys\" \"pkk\","
"\"sys\".\"schemas\" \"ps\","
"\"sys\".\"schemas\" \"fs\" "
@@ -197,18 +197,18 @@
snprintf(query, maxquerylen,
"SELECT \"ps\".\"name\"," /* 0 */
"\"pkt\".\"name\"," /* 1 */
- "\"pkkc\".\"column\"," /* 2 */
- "\"fkkc\".\"column\"," /* 3 */
+ "\"pkkc\".\"name\"," /* 2 */
+ "\"fkkc\".\"name\"," /* 3 */
"\"fkkc\".\"nr\"," /* 4 */
"\"fkk\".\"name\"," /* 5 */
"\"fkk\".\"action\"," /* 6 */
"0," /* 7 */
"\"fkt\".\"name\" " /* 8 */
"FROM \"sys\".\"_tables\" \"fkt\","
- "\"sys\".\"keycolumns\" \"fkkc\","
+ "\"sys\".\"objects\" \"fkkc\","
"\"sys\".\"keys\" \"fkk\","
"\"sys\".\"_tables\" \"pkt\","
- "\"sys\".\"keycolumns\" \"pkkc\","
+ "\"sys\".\"objects\" \"pkkc\","
"\"sys\".\"keys\" \"pkk\","
"\"sys\".\"schemas\" \"ps\""
"WHERE \"fkt\".\"id\" = \"fkk\".\"table_id\" AND "
@@ -223,18 +223,18 @@
} else {
query = "SELECT \"ps\".\"name\"," /* 0 */
"\"pkt\".\"name\"," /* 1 */
- "\"pkkc\".\"column\"," /* 2 */
- "\"fkkc\".\"column\"," /* 3 */
+ "\"pkkc\".\"name\"," /* 2 */
+ "\"fkkc\".\"name\"," /* 3 */
"\"fkkc\".\"nr\"," /* 4 */
"\"fkk\".\"name\"," /* 5 */
"\"fkk\".\"action\"," /* 6 */
"\"fs\".\"name\"," /* 7 */
"\"fkt\".\"name\" " /* 8 */
"FROM \"sys\".\"_tables\" \"fkt\","
- "\"sys\".\"keycolumns\" \"fkkc\","
+ "\"sys\".\"objects\" \"fkkc\","
"\"sys\".\"keys\" \"fkk\","
"\"sys\".\"_tables\" \"pkt\","
- "\"sys\".\"keycolumns\" \"pkkc\","
+ "\"sys\".\"objects\" \"pkkc\","
"\"sys\".\"keys\" \"pkk\","
"\"sys\".\"schemas\" \"ps\","
"\"sys\".\"schemas\" \"fs\" "
@@ -579,11 +579,11 @@
constraint */
if (tid)
snprintf(query, maxquerylen,
- "SELECT \"kc\".\"column\"," /* 0 */
+ "SELECT \"kc\".\"name\"," /* 0 */
"\"kc\".\"nr\", " /* 1 */
"\"k\".\"name\", " /* 2 */
"\"k\".\"id\" " /* 3 */
- "FROM \"sys\".\"keycolumns\" \"kc\", "
+ "FROM \"sys\".\"objects\" \"kc\", "
"\"sys\".\"keys\" \"k\" "
"WHERE \"kc\".\"id\" = \"k\".\"id\" AND "
"\"k\".\"table_id\" = %s AND "
@@ -591,11 +591,11 @@
"ORDER BY \"id\", \"nr\"", tid);
else
snprintf(query, maxquerylen,
- "SELECT \"kc\".\"column\"," /* 0 */
+ "SELECT \"kc\".\"name\"," /* 0 */
"\"kc\".\"nr\", " /* 1 */
"\"k\".\"name\", " /* 2 */
"\"k\".\"id\" " /* 3 */
- "FROM \"sys\".\"keycolumns\" \"kc\", "
+ "FROM \"sys\".\"objects\" \"kc\", "
"\"sys\".\"keys\" \"k\", "
"\"sys\".\"schemas\" \"s\", "
"\"sys\".\"_tables\" \"t\" "
@@ -638,11 +638,11 @@
if (tid)
snprintf(query, maxquerylen,
- "SELECT \"kc\".\"column\"," /* 0 */
+ "SELECT \"kc\".\"name\"," /* 0 */
"\"kc\".\"nr\", " /* 1 */
"\"k\".\"name\", " /* 2 */
"\"k\".\"id\" " /* 3 */
- "FROM \"sys\".\"keycolumns\" \"kc\", "
+ "FROM \"sys\".\"objects\" \"kc\", "
"\"sys\".\"keys\" \"k\" "
"WHERE \"kc\".\"id\" = \"k\".\"id\" AND "
"\"k\".\"table_id\" = %s AND "
@@ -650,11 +650,11 @@
"ORDER BY \"id\", \"nr\"", tid);
else
snprintf(query, maxquerylen,
- "SELECT \"kc\".\"column\"," /* 0 */
+ "SELECT \"kc\".\"name\"," /* 0 */
"\"kc\".\"nr\", " /* 1 */
"\"k\".\"name\", " /* 2 */
"\"k\".\"id\" " /* 3 */
- "FROM \"sys\".\"keycolumns\" \"kc\", "
+ "FROM \"sys\".\"objects\" \"kc\", "
"\"sys\".\"keys\" \"k\", "
"\"sys\".\"schemas\" \"s\", "
"\"sys\".\"_tables\" \"t\" "
@@ -802,14 +802,14 @@
"\"c\".\"name\" " /* 3 */
"FROM \"sys\".\"idxs\" AS \"i\" LEFT JOIN \"sys\".\"keys\" AS
\"k\" "
"ON \"i\".\"name\" = \"k\".\"name\", "
- "\"sys\".\"keycolumns\" AS \"kc\", "
+ "\"sys\".\"objects\" AS \"kc\", "
"\"sys\".\"_columns\" AS \"c\", "
"\"sys\".\"schemas\" \"s\", "
"\"sys\".\"_tables\" AS \"t\" "
"WHERE \"i\".\"table_id\" = \"t\".\"id\" AND "
"\"i\".\"id\" = \"kc\".\"id\" AND "
"\"t\".\"id\" = \"c\".\"table_id\" AND "
- "\"kc\".\"column\" = \"c\".\"name\" AND "
+ "\"kc\".\"name\" = \"c\".\"name\" AND "
"(\"k\".\"type\" IS NULL OR \"k\".\"type\" = 1) AND "
"\"t\".\"schema_id\" = \"s\".\"id\" AND "
"\"s\".\"name\" = '%s' AND "
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
@@ -1323,7 +1323,10 @@
}
data = (char *) ptr;
- sz = snprintf(data, buflen, "%04hu-%02hu-%02hu",
dval.year, dval.month, dval.day);
+ sz = snprintf(data, buflen, "%04u-%02u-%02u",
+ (unsigned int) dval.year,
+ (unsigned int) dval.month,
+ (unsigned int) dval.day);
if (sz < 0 || sz >= buflen) {
data[buflen - 1] = 0;
/* String data, right-truncated */
@@ -1345,7 +1348,10 @@
}
data = (char *) ptr;
- sz = snprintf(data, buflen, "%02hu:%02hu:%02hu",
tval.hour, tval.minute, tval.second);
+ sz = snprintf(data, buflen, "%02u:%02u:%02u",
+ (unsigned int) tval.hour,
+ (unsigned int) tval.minute,
+ (unsigned int) tval.second);
if (sz < 0 || sz >= buflen) {
data[buflen - 1] = 0;
/* String data, right-truncated */
@@ -1357,7 +1363,14 @@
case SQL_TYPE_TIMESTAMP:
data = (char *) ptr;
- sz = snprintf(data, buflen, "%04hu-%02hu-%02hu
%02hu:%02hu:%02hu", tsval.year, tsval.month, tsval.day, tsval.hour,
tsval.minute, tsval.second);
+ sz = snprintf(data, buflen,
+ "%04u-%02u-%02u %02u:%02u:%02u",
+ (unsigned int) tsval.year,
+ (unsigned int) tsval.month,
+ (unsigned int) tsval.day,
+ (unsigned int) tsval.hour,
+ (unsigned int) tsval.minute,
+ (unsigned int) tsval.second);
if (sz < 0 || sz >= buflen) {
/* Numeric value out of range */
addStmtError(stmt, "22003", NULL, 0);
@@ -1382,7 +1395,8 @@
if (lenp)
*lenp += fscale + 1;
if (buflen > 2)
- sz = snprintf(data, buflen, ".%0*u",
fscale, (unsigned int) tsval.fraction);
+ sz = snprintf(data, buflen, ".%0*u",
+ fscale, (unsigned int)
tsval.fraction);
if (buflen <= 2 || sz < 0 || sz >= buflen) {
data[buflen - 1] = 0;
/* String data, right-truncated */
@@ -2687,15 +2701,28 @@
break;
}
case SQL_C_TYPE_DATE:
- snprintf(data, sizeof(data), "%04hd-%02hu-%02hu",
dval.year, dval.month, dval.day);
+ snprintf(data, sizeof(data), "%04d-%02u-%02u",
+ (int) dval.year,
+ (unsigned int) dval.month,
+ (unsigned int) dval.day);
assigns(buf, bufpos, buflen, data, stmt);
break;
case SQL_C_TYPE_TIME:
- snprintf(data, sizeof(data), "%02hu:%02hu:%02hu",
tval.hour, tval.minute, tval.second);
+ snprintf(data, sizeof(data), "%02u:%02u:%02u",
+ (unsigned int) tval.hour,
+ (unsigned int) tval.minute,
+ (unsigned int) tval.second);
assigns(buf, bufpos, buflen, data, stmt);
break;
case SQL_C_TYPE_TIMESTAMP:
- snprintf(data, sizeof(data), "%04hd-%02hu-%02hu
%02hu:%02hu:%02hu", tsval.year, tsval.month, tsval.day, tsval.hour,
tsval.minute, tsval.second);
+ snprintf(data, sizeof(data),
+ "%04d-%02u-%02u %02u:%02u:%02u",
+ (int) tsval.year,
+ (unsigned int) tsval.month,
+ (unsigned int) tsval.day,
+ (unsigned int) tsval.hour,
+ (unsigned int) tsval.minute,
+ (unsigned int) tsval.second);
assigns(buf, bufpos, buflen, data, stmt);
if (tsval.fraction) {
snprintf(data, sizeof(data), ".%09u", (unsigned
int) tsval.fraction);
@@ -2826,7 +2853,7 @@
}
/* fall through */
case SQL_C_TYPE_DATE:
- snprintf(data, sizeof(data), "DATE '%hu-%02hu-%02hu'",
dval.year, dval.month, dval.day);
+ snprintf(data, sizeof(data), "DATE '%u-%02u-%02u'",
dval.year, dval.month, dval.day);
assigns(buf, bufpos, buflen, data, stmt);
break;
default:
@@ -2862,7 +2889,10 @@
}
/* fall through */
case SQL_C_TYPE_TIME:
- snprintf(data, sizeof(data), "TIME '%hu:%02hu:%02hu'",
tval.hour, tval.minute, tval.second);
+ snprintf(data, sizeof(data), "TIME '%u:%02u:%02u'",
+ (unsigned int) tval.hour,
+ (unsigned int) tval.minute,
+ (unsigned int) tval.second);
assigns(buf, bufpos, buflen, data, stmt);
break;
default:
@@ -2921,7 +2951,14 @@
}
/* fall through */
case SQL_C_TYPE_TIMESTAMP:
- snprintf(data, sizeof(data), "TIMESTAMP
'%hu-%02hd-%02hd %02hu:%02hu:%02hu", tsval.year, tsval.month, tsval.day,
tsval.hour, tsval.minute, tsval.second);
+ snprintf(data, sizeof(data),
+ "TIMESTAMP '%u-%02d-%02d %02u:%02u:%02u",
+ (unsigned int) tsval.year,
+ (unsigned int) tsval.month,
+ (unsigned int) tsval.day,
+ (unsigned int) tsval.hour,
+ (unsigned int) tsval.minute,
+ (unsigned int) tsval.second);
assigns(buf, bufpos, buflen, data, stmt);
if (tsval.fraction) {
snprintf(data, sizeof(data), ".%09u", (unsigned
int) tsval.fraction);
diff --git a/clients/odbc/driver/SQLAllocHandle.c
b/clients/odbc/driver/SQLAllocHandle.c
--- a/clients/odbc/driver/SQLAllocHandle.c
+++ b/clients/odbc/driver/SQLAllocHandle.c
@@ -55,7 +55,7 @@
}
*pnOutputHandle = (SQLHANDLE *) newODBCEnv();
#ifdef ODBCDEBUG
- ODBCLOG("new env " PTRFMT "\n", PTRFMTCAST * pnOutputHandle);
+ ODBCLOG("new env " PTRFMT "\n", PTRFMTCAST *pnOutputHandle);
#endif
return *pnOutputHandle == NULL ? SQL_ERROR : SQL_SUCCESS;
}
@@ -76,7 +76,7 @@
}
*pnOutputHandle = (SQLHANDLE *) newODBCDbc(env);
#ifdef ODBCDEBUG
- ODBCLOG("new dbc " PTRFMT "\n", PTRFMTCAST * pnOutputHandle);
+ ODBCLOG("new dbc " PTRFMT "\n", PTRFMTCAST *pnOutputHandle);
#endif
return *pnOutputHandle == NULL ? SQL_ERROR : SQL_SUCCESS;
}
@@ -97,7 +97,7 @@
}
*pnOutputHandle = (SQLHANDLE *) newODBCStmt(dbc);
#ifdef ODBCDEBUG
- ODBCLOG("new stmt " PTRFMT "\n", PTRFMTCAST * pnOutputHandle);
+ ODBCLOG("new stmt " PTRFMT "\n", PTRFMTCAST *pnOutputHandle);
#endif
return *pnOutputHandle == NULL ? SQL_ERROR : SQL_SUCCESS;
}
@@ -118,7 +118,7 @@
}
*pnOutputHandle = (SQLHANDLE *) newODBCDesc(dbc);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list