Changeset: 75e1ec7c3f17 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/75e1ec7c3f17
Modified Files:
clients/Tests/exports.stable.out
Branch: sql_profiler
Log Message:
Merge with default.
diffs (truncated from 1290 to 300 lines):
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -1008,6 +1008,7 @@ int getBitConstant(MalBlkPtr mb, bit val
int getBlockBegin(MalBlkPtr mb, int pc);
int getBlockExit(MalBlkPtr mb, int pc);
int getBteConstant(MalBlkPtr mb, bte val);
+Client getClientContext(void);
int getDblConstant(MalBlkPtr mb, dbl val);
lng getDiskReads(void);
lng getDiskSpace(void);
diff --git a/clients/odbc/samples/CMakeLists.txt
b/clients/odbc/samples/CMakeLists.txt
--- a/clients/odbc/samples/CMakeLists.txt
+++ b/clients/odbc/samples/CMakeLists.txt
@@ -16,12 +16,6 @@ if(TESTING)
PRIVATE
ODBC::ODBC)
- add_executable(testgetinfo
- testgetinfo.c)
- target_link_libraries(testgetinfo
- PRIVATE
- ODBC::ODBC)
-
add_executable(arraytest
arraytest.c)
@@ -29,18 +23,9 @@ if(TESTING)
PRIVATE
ODBC::ODBC)
- add_executable(metadata
- metadata.c)
-
- target_link_libraries(metadata
- PRIVATE
- ODBC::ODBC)
-
install(TARGETS
odbcsample1
- testgetinfo
arraytest
- metadata
RUNTIME
DESTINATION
${CMAKE_INSTALL_BINDIR}
@@ -49,9 +34,7 @@ if(TESTING)
if(WIN32)
install(FILES
$<TARGET_PDB_FILE:odbcsample1>
- $<TARGET_PDB_FILE:testgetinfo>
$<TARGET_PDB_FILE:arraytest>
- $<TARGET_PDB_FILE:metadata>
DESTINATION ${CMAKE_INSTALL_BINDIR}
OPTIONAL)
endif()
diff --git a/clients/odbc/tests/CMakeLists.txt
b/clients/odbc/tests/CMakeLists.txt
--- a/clients/odbc/tests/CMakeLists.txt
+++ b/clients/odbc/tests/CMakeLists.txt
@@ -9,6 +9,12 @@
include_directories($<$<BOOL:${ODBC_FOUND}>:${ODBC_INCLUDE_DIRS}>)
if(TESTING)
+ add_executable(ODBCgetInfo
+ ODBCgetInfo.c)
+ target_link_libraries(ODBCgetInfo
+ PRIVATE
+ ODBC::ODBC)
+
add_executable(ODBCStmtAttr
ODBCStmtAttr.c)
@@ -16,8 +22,17 @@ if(TESTING)
PRIVATE
ODBC::ODBC)
+ add_executable(ODBCmetadata
+ ODBCmetadata.c)
+
+ target_link_libraries(ODBCmetadata
+ PRIVATE
+ ODBC::ODBC)
+
install(TARGETS
+ ODBCgetInfo
ODBCStmtAttr
+ ODBCmetadata
RUNTIME
DESTINATION
${CMAKE_INSTALL_BINDIR}
@@ -25,7 +40,9 @@ if(TESTING)
if(WIN32)
install(FILES
+ $<TARGET_PDB_FILE:ODBCgetInfo>
$<TARGET_PDB_FILE:ODBCStmtAttr>
+ $<TARGET_PDB_FILE:ODBCmetadata>
DESTINATION ${CMAKE_INSTALL_BINDIR}
OPTIONAL)
endif()
diff --git a/clients/odbc/tests/ODBCStmtAttr.c
b/clients/odbc/tests/ODBCStmtAttr.c
--- a/clients/odbc/tests/ODBCStmtAttr.c
+++ b/clients/odbc/tests/ODBCStmtAttr.c
@@ -12,6 +12,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
+#include <string.h>
#include <sql.h>
#include <sqlext.h>
@@ -31,7 +32,12 @@ prerr(SQLSMALLINT tpe, SQLHANDLE hnd, co
fprintf(stderr, "(message truncated)\n");
/* fall through */
case SQL_SUCCESS:
- fprintf(stderr, "%s: %s: SQLstate %s, Errnr %d, Message %s\n",
func, pref, (char*)state, (int)errnr, (char*)msg);
+ if ((strcmp(func,"SQLSetStmtAttr") != 0)
+ || (strcmp(pref,"Info") != 0)
+ || (strcmp((char*)state,"01S02") != 0)
+ || errnr != 0
+ || (strncmp((char*)msg,"[MonetDB][ODBC Driver 11.", 25) != 0))
+ fprintf(stderr, "%s: %s: SQLstate %s, Errnr %d, Message
%s\n", func, pref, (char*)state, (int)errnr, (char*)msg);
break;
case SQL_INVALID_HANDLE:
fprintf(stderr, "%s: %s, invalid handle passed to error
function\n", func, pref);
@@ -70,31 +76,59 @@ check(SQLRETURN ret, SQLSMALLINT tpe, SQ
}
}
+static const char *
+StmtAttribute2name(SQLINTEGER attribute)
+{
+ switch (attribute) {
+ case SQL_ATTR_MAX_LENGTH:
+ return "SQL_ATTR_MAX_LENGTH";
+ case SQL_ATTR_MAX_ROWS:
+ return "SQL_ATTR_MAX_ROWS";
+ case SQL_ATTR_QUERY_TIMEOUT:
+ return "SQL_ATTR_QUERY_TIMEOUT";
+ default:
+ fprintf(stderr, "StmtAttribute2name: Unexpected value %d\n",
attribute);
+ return "NOT YET IMPLEMENTED";
+ }
+}
+
static void
-GetSetReGetStmtAttr(SQLHANDLE stmt, SQLINTEGER attribute, const char *
attr_name, SQLULEN value)
+GetSetReGetStmtAttr(SQLHANDLE stmt, SQLINTEGER attribute, SQLULEN value, const
char * expected)
{
SQLRETURN ret;
SQLULEN ul;
SQLINTEGER resultlen;
+ size_t expct_len = strlen(expected);
+ size_t outp_len = expct_len + 1000;
+ char * outp = malloc(outp_len);
+ size_t pos = 0;
+ const char * attr_name = StmtAttribute2name(attribute);
// first get the actual value from the server
ret = SQLGetStmtAttr(stmt, attribute, &ul, sizeof(ul), &resultlen);
- fprintf(stderr, "Get %s: %lu\n", attr_name, (long unsigned int) ul);
+ pos += snprintf(outp + pos, outp_len - pos, "Get %s: %lu\n", attr_name,
(long unsigned int) ul);
check(ret, SQL_HANDLE_STMT, stmt, "SQLGetStmtAttr");
// next change the value on the server
ret = SQLSetStmtAttr(stmt, attribute, &value, 0);
- fprintf(stderr, "Set %s: %lu\n", attr_name, (long unsigned int) value);
- check(ret, SQL_HANDLE_STMT, stmt, "SQLSetStmtAttr");
+ pos += snprintf(outp + pos, outp_len - pos, "Set %s: %lu\n", attr_name,
(long unsigned int) value);
+ check(ret, SQL_HANDLE_STMT, stmt, "SQLSetStmtAttr"); // this
produces: SQLSetStmtAttr: Info: SQLstate 01S02, Errnr 0, Message [MonetDB][ODBC
Driver 11.44.0]Option value changed
// next re-get the value from the server, should be the same as the set
value
ul = 123456789;
ret = SQLGetStmtAttr(stmt, attribute, &ul, sizeof(ul), &resultlen);
check(ret, SQL_HANDLE_STMT, stmt, "SQLGetStmtAttr");
- fprintf(stderr, "Get changed %s: %lu", attr_name, (long unsigned int)
ul);
+ pos += snprintf(outp + pos, outp_len - pos, "Get %s: %lu\n", attr_name,
(long unsigned int) ul);
if (ul != value)
- fprintf(stderr, " which is different from %lu !!", (long
unsigned int) value);
- fprintf(stderr, "\n\n");
+ pos += snprintf(outp + pos, outp_len - pos, " which is
different from %lu !!\n", (long unsigned int) value);
+
+ if (strcmp(expected, outp) != 0) {
+ fprintf(stderr, "Testing %s\nExpected:\n%s\nGotten:\n%s\n",
+ attr_name, expected, outp);
+ }
+
+ /* cleanup */
+ free(outp);
}
int
@@ -138,20 +172,66 @@ main(int argc, char **argv)
check(ret, SQL_HANDLE_DBC, dbc, "SQLAllocHandle (STMT)");
/* run actual tests */
- GetSetReGetStmtAttr(stmt, SQL_ATTR_QUERY_TIMEOUT,
"SQL_ATTR_QUERY_TIMEOUT", -1); /* test also what happens with a negative
value */
- GetSetReGetStmtAttr(stmt, SQL_ATTR_QUERY_TIMEOUT,
"SQL_ATTR_QUERY_TIMEOUT", 0);
- GetSetReGetStmtAttr(stmt, SQL_ATTR_QUERY_TIMEOUT,
"SQL_ATTR_QUERY_TIMEOUT", 3600);
- GetSetReGetStmtAttr(stmt, SQL_ATTR_QUERY_TIMEOUT,
"SQL_ATTR_QUERY_TIMEOUT", 2147483647);
+ GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_LENGTH, 0,
+ "Get SQL_ATTR_MAX_LENGTH: 0\n"
+ "Set SQL_ATTR_MAX_LENGTH: 0\n"
+ "Get SQL_ATTR_MAX_LENGTH: 0\n");
+ GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_LENGTH, 65535,
+ "Get SQL_ATTR_MAX_LENGTH: 0\n"
+ "Set SQL_ATTR_MAX_LENGTH: 65535\n"
+ "Get SQL_ATTR_MAX_LENGTH: 0\n"
+ " which is different from 65535 !!\n");
+ GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_LENGTH, 2147483641,
+ "Get SQL_ATTR_MAX_LENGTH: 0\n"
+ "Set SQL_ATTR_MAX_LENGTH: 2147483641\n"
+ "Get SQL_ATTR_MAX_LENGTH: 0\n"
+ " which is different from 2147483641 !!\n");
+ GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_LENGTH, -1, /* test also
what happens with a negative value */
+ "Get SQL_ATTR_MAX_LENGTH: 0\n"
+ "Set SQL_ATTR_MAX_LENGTH: 18446744073709551615\n"
+ "Get SQL_ATTR_MAX_LENGTH: 0\n"
+ " which is different from 18446744073709551615 !!\n");
- GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_LENGTH, "SQL_ATTR_MAX_LENGTH",
-2); /* test also what happens with a negative value */
- GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_LENGTH, "SQL_ATTR_MAX_LENGTH",
0);
- GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_LENGTH, "SQL_ATTR_MAX_LENGTH",
65535);
- GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_LENGTH, "SQL_ATTR_MAX_LENGTH",
2147483647);
+ GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_ROWS, 0,
+ "Get SQL_ATTR_MAX_ROWS: 0\n"
+ "Set SQL_ATTR_MAX_ROWS: 0\n"
+ "Get SQL_ATTR_MAX_ROWS: 0\n");
+ GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_ROWS, 100000,
+ "Get SQL_ATTR_MAX_ROWS: 0\n"
+ "Set SQL_ATTR_MAX_ROWS: 100000\n"
+ "Get SQL_ATTR_MAX_ROWS: 0\n"
+ " which is different from 100000 !!\n");
+ GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_ROWS, 2147483642,
+ "Get SQL_ATTR_MAX_ROWS: 0\n"
+ "Set SQL_ATTR_MAX_ROWS: 2147483642\n"
+ "Get SQL_ATTR_MAX_ROWS: 0\n"
+ " which is different from 2147483642 !!\n");
+ GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_ROWS, -2, /* test also
what happens with a negative value */
+ "Get SQL_ATTR_MAX_ROWS: 0\n"
+ "Set SQL_ATTR_MAX_ROWS: 18446744073709551614\n"
+ "Get SQL_ATTR_MAX_ROWS: 0\n"
+ " which is different from 18446744073709551614 !!\n");
- GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_ROWS, "SQL_ATTR_MAX_ROWS", -3);
/* test also what happens with a negative value */
- GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_ROWS, "SQL_ATTR_MAX_ROWS", 0);
- GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_ROWS, "SQL_ATTR_MAX_ROWS",
100000);
- GetSetReGetStmtAttr(stmt, SQL_ATTR_MAX_ROWS, "SQL_ATTR_MAX_ROWS",
2147483647);
+ GetSetReGetStmtAttr(stmt, SQL_ATTR_QUERY_TIMEOUT, 0,
+ "Get SQL_ATTR_QUERY_TIMEOUT: 0\n"
+ "Set SQL_ATTR_QUERY_TIMEOUT: 0\n"
+ "Get SQL_ATTR_QUERY_TIMEOUT: 2147483647\n"
+ " which is different from 0 !!\n");
+ GetSetReGetStmtAttr(stmt, SQL_ATTR_QUERY_TIMEOUT, 3600,
+ "Get SQL_ATTR_QUERY_TIMEOUT: 2147483647\n"
+ "Set SQL_ATTR_QUERY_TIMEOUT: 3600\n"
+ "Get SQL_ATTR_QUERY_TIMEOUT: 2147483647\n"
+ " which is different from 3600 !!\n");
+ GetSetReGetStmtAttr(stmt, SQL_ATTR_QUERY_TIMEOUT, 2147483643,
+ "Get SQL_ATTR_QUERY_TIMEOUT: 2147483647\n"
+ "Set SQL_ATTR_QUERY_TIMEOUT: 2147483643\n"
+ "Get SQL_ATTR_QUERY_TIMEOUT: 2147483647\n"
+ " which is different from 2147483643 !!\n");
+ GetSetReGetStmtAttr(stmt, SQL_ATTR_QUERY_TIMEOUT, -3, /* test also
what happens with a negative value */
+ "Get SQL_ATTR_QUERY_TIMEOUT: 2147483647\n"
+ "Set SQL_ATTR_QUERY_TIMEOUT: 18446744073709551613\n"
+ "Get SQL_ATTR_QUERY_TIMEOUT: 2147483647\n"
+ " which is different from 18446744073709551613 !!\n");
ret = SQLFreeHandle(SQL_HANDLE_STMT, stmt);
check(ret, SQL_HANDLE_STMT, stmt, "SQLFreeHandle (STMT)");
diff --git a/clients/odbc/samples/testgetinfo.c
b/clients/odbc/tests/ODBCgetInfo.c
rename from clients/odbc/samples/testgetinfo.c
rename to clients/odbc/tests/ODBCgetInfo.c
--- a/clients/odbc/samples/testgetinfo.c
+++ b/clients/odbc/tests/ODBCgetInfo.c
@@ -428,7 +428,7 @@ const struct {
.info = SQL_DATABASE_NAME,
.name = "SQL_DATABASE_NAME",
.type = STRING,
- .str = "mTests_sql_odbc_samples",
+ .str = "mTests_sql_odbc_tests",
},
{
.info = SQL_DATETIME_LITERALS,
diff --git a/clients/odbc/samples/metadata.c b/clients/odbc/tests/ODBCmetadata.c
rename from clients/odbc/samples/metadata.c
rename to clients/odbc/tests/ODBCmetadata.c
--- a/clients/odbc/samples/metadata.c
+++ b/clients/odbc/tests/ODBCmetadata.c
@@ -275,7 +275,7 @@ main(int argc, char **argv)
compareResult(stmt, ret, "SQLTables (SQL_ALL_CATALOGS)",
"Resultset with 5 columns\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE
REMARKS\n"
- "mTests_sql_odbc_samples NULL NULL NULL
NULL\n");
+ "mTests_sql_odbc_tests NULL NULL NULL NULL\n");
// All schemas query
ret = SQLTables(stmt, (SQLCHAR*)"", SQL_NTS,
@@ -318,13 +318,13 @@ main(int argc, char **argv)
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]