Changeset: d413d20d0a83 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d413d20d0a83
Modified Files:
clients/odbc/driver/ODBCGlobal.h
clients/odbc/driver/SQLGetInfo.c
Branch: Aug2011
Log Message:
Use global version number for SQL_DBMS_VER and SQL_DRIVER_VER.
The value returned for SQL_DBMS_VER is not correct: it should be the
version of the server, but we don't know that version.
diffs (60 lines):
diff --git a/clients/odbc/driver/ODBCGlobal.h b/clients/odbc/driver/ODBCGlobal.h
--- a/clients/odbc/driver/ODBCGlobal.h
+++ b/clients/odbc/driver/ODBCGlobal.h
@@ -59,7 +59,6 @@
/* some general defines */
#define MONETDB_ODBC_VER "03.52" /* must be synchronous with ODBCVER */
#define MONETDB_DRIVER_NAME "MonetDBODBClib"
-#define MONETDB_DRIVER_VER "1.00"
#define MONETDB_PRODUCT_NAME "MonetDB ODBC driver"
#define MONETDB_SERVER_NAME "MonetDB"
diff --git a/clients/odbc/driver/SQLGetInfo.c b/clients/odbc/driver/SQLGetInfo.c
--- a/clients/odbc/driver/SQLGetInfo.c
+++ b/clients/odbc/driver/SQLGetInfo.c
@@ -49,6 +49,7 @@ SQLGetInfo_(ODBCDbc *dbc,
SQLSMALLINT *StringLengthPtr)
{
int nValue = 0;
+ char buf[64];
const char *sValue = NULL; /* iff non-NULL, return string value */
int len = 0;
@@ -386,9 +387,14 @@ SQLGetInfo_(ODBCDbc *dbc,
case SQL_DRIVER_NAME:
sValue = MONETDB_DRIVER_NAME;
break;
- case SQL_DRIVER_VER:
- sValue = MONETDB_DRIVER_VER;
+ case SQL_DRIVER_VER: {
+ int maj = 0, min = 0, pat = 0;
+ sscanf(PACKAGE_VERSION, "%d.%d.%d", &maj, &min, &pat);
+ snprintf(buf, sizeof(buf), "%02d.%02d.%04d %s", maj, min, pat,
+ MONETDB_RELEASE);
+ sValue = buf;
break;
+ }
case SQL_FETCH_DIRECTION:
nValue = SQL_FD_FETCH_NEXT;
len = sizeof(SQLUSMALLINT);
@@ -419,11 +425,17 @@ SQLGetInfo_(ODBCDbc *dbc,
len = sizeof(SQLUSMALLINT);
break;
case SQL_DBMS_NAME:
- sValue = MONETDB_PRODUCT_NAME;
+ sValue = PACKAGE_NAME;
break;
- case SQL_DBMS_VER:
- sValue = MONETDB_DRIVER_VER;
+ case SQL_DBMS_VER: {
+ int maj = 0, min = 0, pat = 0;
+ /* should be the server's version, not the client's */
+ sscanf(PACKAGE_VERSION, "%d.%d.%d", &maj, &min, &pat);
+ snprintf(buf, sizeof(buf), "%02d.%02d.%04d %s", maj, min, pat,
+ MONETDB_RELEASE);
+ sValue = buf;
break;
+ }
case SQL_PROCEDURES:
sValue = "N";
break;
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list