[prev in list] [next in list] [prev in thread] [next in thread]
List: monetdb-checkins
Subject: MonetDB: default - add more asserts
From: Martin_van_Dinther <commits+martin.van.dinther=monetdbsolutions
Date: 2022-06-23 16:29:22
Message-ID: hg.2c51dfe1715f.1656001762.4387879162717701436 () dev ! monetdb ! org
[Download RAW message or body]
Changeset: 2c51dfe1715f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/2c51dfe1715f
Modified Files:
clients/odbc/driver/SQLColumns.c
clients/odbc/driver/SQLForeignKeys.c
clients/odbc/driver/SQLPrimaryKeys.c
clients/odbc/driver/SQLProcedureColumns.c
clients/odbc/driver/SQLProcedures.c
clients/odbc/driver/SQLSpecialColumns.c
clients/odbc/driver/SQLStatistics.c
clients/odbc/driver/SQLTables.c
Branch: default
Log Message:
add more asserts
diffs (135 lines):
diff --git a/clients/odbc/driver/SQLColumns.c b/clients/odbc/driver/SQLColumns.c
--- a/clients/odbc/driver/SQLColumns.c
+++ b/clients/odbc/driver/SQLColumns.c
@@ -244,6 +244,9 @@ MNDBColumns(ODBCStmt *stmt,
/* add the ordering (exclude table_cat as it is the same for all rows) */
pos += strcpy_len(query + pos, " order by \"TABLE_SCHEM\", \"TABLE_NAME\", \
\"ORDINAL_POSITION\"", querylen - pos); + assert(pos < querylen);
+
+ /* debug: fprintf(stdout, "SQLColumns query (pos: %zu, len: %zu):\n%s\n\n", pos, \
strlen(query), query); */
/* query the MonetDB data dictionary tables */
rc = MNDBExecDirect(stmt, (SQLCHAR *) query, (SQLINTEGER) pos);
diff --git a/clients/odbc/driver/SQLForeignKeys.c \
b/clients/odbc/driver/SQLForeignKeys.c
--- a/clients/odbc/driver/SQLForeignKeys.c
+++ b/clients/odbc/driver/SQLForeignKeys.c
@@ -252,8 +252,9 @@ MNDBForeignKeys(ODBCStmt *stmt,
PKTableName != NULL ? "FK" : "PK",
PKTableName != NULL ? "FK" : "PK",
PKTableName != NULL ? "FK" : "PK");
+ assert(pos < querylen);
- /* debug: fprintf(stdout, "SQLForeignKeys SQL (%zu):\n%s\n\n", pos, query); */
+ /* debug: fprintf(stdout, "SQLForeignKeys query (pos: %zu, len: %zu):\n%s\n\n", \
pos, strlen(query), query); */
/* query the MonetDB data dictionary tables */
rc = MNDBExecDirect(stmt, (SQLCHAR *) query, (SQLINTEGER) pos);
diff --git a/clients/odbc/driver/SQLPrimaryKeys.c \
b/clients/odbc/driver/SQLPrimaryKeys.c
--- a/clients/odbc/driver/SQLPrimaryKeys.c
+++ b/clients/odbc/driver/SQLPrimaryKeys.c
@@ -206,8 +206,9 @@ MNDBPrimaryKeys(ODBCStmt *stmt,
/* add the ordering */
pos += strcpy_len(query + pos, " order by \"TABLE_SCHEM\", \"TABLE_NAME\", \
\"KEY_SEQ\"", querylen - pos); + assert(pos < querylen);
- /* debug: fprintf(stdout, "SQLPrimaryKeys SQL:\n%s\n\n", query); */
+ /* debug: fprintf(stdout, "SQLPrimaryKeys query (pos: %zu, len: %zu):\n%s\n\n", \
pos, strlen(query), query); */
/* query the MonetDB data dictionary tables */
rc = MNDBExecDirect(stmt, (SQLCHAR *) query, (SQLINTEGER) pos);
diff --git a/clients/odbc/driver/SQLProcedureColumns.c \
b/clients/odbc/driver/SQLProcedureColumns.c
--- a/clients/odbc/driver/SQLProcedureColumns.c
+++ b/clients/odbc/driver/SQLProcedureColumns.c
@@ -256,8 +256,9 @@ MNDBProcedureColumns(ODBCStmt *stmt,
/* add the ordering (exclude procedure_cat as it is the same for all rows) */
pos += strcpy_len(query + pos, " order by \"PROCEDURE_SCHEM\", \"PROCEDURE_NAME\", \
\"SPECIFIC_NAME\", \"COLUMN_TYPE\", \"ORDINAL_POSITION\"", querylen - pos); \
+ assert(pos < querylen);
- /* debug: fprintf(stdout, "SQLProcedureColumns SQL (%zu):\n%s\n\n", pos, query); */
+ /* debug: fprintf(stdout, "SQLProcedureColumns query (pos: %zu, len: \
%zu):\n%s\n\n", pos, strlen(query), query); */
/* query the MonetDB data dictionary tables */
rc = MNDBExecDirect(stmt, (SQLCHAR *) query, (SQLINTEGER) pos);
diff --git a/clients/odbc/driver/SQLProcedures.c \
b/clients/odbc/driver/SQLProcedures.c
--- a/clients/odbc/driver/SQLProcedures.c
+++ b/clients/odbc/driver/SQLProcedures.c
@@ -164,8 +164,9 @@ MNDBProcedures(ODBCStmt *stmt,
/* add the ordering (exclude procedure_cat as it is the same for all rows) */
pos += strcpy_len(query + pos, " order by \"PROCEDURE_SCHEM\", \"PROCEDURE_NAME\", \
\"SPECIFIC_NAME\"", querylen - pos); + assert(pos < querylen);
- /* debug: fprintf(stdout, "SQLProcedures SQL (%zu):\n%s\n\n", pos, query); */
+ /* debug: fprintf(stdout, "SQLProcedures query (pos: %zu, len: %zu):\n%s\n\n", pos, \
strlen(query), query); */
/* query the MonetDB data dictionary tables */
rc = MNDBExecDirect(stmt, (SQLCHAR *) query, (SQLINTEGER) pos);
diff --git a/clients/odbc/driver/SQLSpecialColumns.c \
b/clients/odbc/driver/SQLSpecialColumns.c
--- a/clients/odbc/driver/SQLSpecialColumns.c
+++ b/clients/odbc/driver/SQLSpecialColumns.c
@@ -90,7 +90,6 @@ MNDBSpecialColumns(ODBCStmt *stmt,
/* buffer for the constructed query to do meta data retrieval */
char *query = NULL;
- size_t querylen;
size_t pos = 0;
char *sch = NULL, *tab = NULL;
@@ -163,6 +162,8 @@ MNDBSpecialColumns(ODBCStmt *stmt,
SMALLINT PSEUDO_COLUMN
*/
if (IdentifierType == SQL_BEST_ROWID) {
+ size_t querylen;
+
/* determine if we need to add a query against the tmp.* tables */
bool addTmpQuery = (SchemaName == NULL)
|| (SchemaName != NULL
@@ -419,6 +420,7 @@ MNDBSpecialColumns(ODBCStmt *stmt,
if (pos >= querylen)
fprintf(stderr, "pos >= querylen, %zu > %zu\n", pos, querylen);
+ assert(pos < querylen);
} else {
assert(IdentifierType == SQL_ROWVER);
/* The backend does not have such info available */
@@ -438,7 +440,7 @@ MNDBSpecialColumns(ODBCStmt *stmt,
pos = strlen(query);
}
- /* debug: fprintf(stdout, "SQLSpecialColumns SQL:\n%s\n\n", query); */
+ /* debug: fprintf(stdout, "SQLSpecialColumns query (pos: %zu, len: %zu):\n%s\n\n", \
pos, strlen(query), query); */
/* query the MonetDB data dictionary tables */
rc = MNDBExecDirect(stmt, (SQLCHAR *) query, (SQLINTEGER) pos);
diff --git a/clients/odbc/driver/SQLStatistics.c \
b/clients/odbc/driver/SQLStatistics.c
--- a/clients/odbc/driver/SQLStatistics.c
+++ b/clients/odbc/driver/SQLStatistics.c
@@ -292,8 +292,9 @@ MNDBStatistics(ODBCStmt *stmt,
/* add the ordering */
pos += strcpy_len(query + pos, " order by \"NON_UNIQUE\", \"TYPE\", \
\"INDEX_QUALIFIER\", \"INDEX_NAME\", \"ORDINAL_POSITION\"", querylen - pos); \
+ assert(pos < querylen);
- /* debug: fprintf(stdout, "SQLStatistics SQL:\n%s\n\n", query); */
+ /* debug: fprintf(stdout, "SQLStatistics query (pos: %zu, len: %zu):\n%s\n\n", pos, \
strlen(query), query); */
/* query the MonetDB data dictionary tables */
rc = MNDBExecDirect(stmt, (SQLCHAR *) query, (SQLINTEGER) pos);
diff --git a/clients/odbc/driver/SQLTables.c b/clients/odbc/driver/SQLTables.c
--- a/clients/odbc/driver/SQLTables.c
+++ b/clients/odbc/driver/SQLTables.c
@@ -233,8 +233,11 @@ MNDBTables(ODBCStmt *stmt,
/* add the ordering */
pos += strcpy_len(query + pos, " order by \"TABLE_TYPE\", \"TABLE_SCHEM\", \
\"TABLE_NAME\"", querylen - pos); + assert(pos < querylen);
}
+ /* debug: fprintf(stdout, "SQLTables query (pos: %zu, len: %zu):\n%s\n\n", pos, \
strlen(query), query); */ +
/* query the MonetDB data dictionary tables */
rc = MNDBExecDirect(stmt, (SQLCHAR *) query, SQL_NTS);
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-leave@monetdb.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic