Changeset: 4b59dd0861ce for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/4b59dd0861ce Modified Files: clients/odbc/driver/ODBCDbc.h clients/odbc/driver/SQLDriverConnect.c Branch: Aug2024 Log Message:
ODBCConnectionString is no longer used instead we have buildConnectionString which takes all msettings into account diffs (199 lines): 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 @@ -141,14 +141,6 @@ ODBCError *getDbcError(ODBCDbc *dbc); void destroyODBCDbc(ODBCDbc *dbc); int ODBCGetKeyAttr(const SQLCHAR **conn, SQLSMALLINT *nconn, char **key, char **attr); -SQLRETURN ODBCConnectionString(SQLRETURN rc, ODBCDbc *dbc, - SQLCHAR *OutConnectionString, - SQLSMALLINT BufferLength, - SQLSMALLINT *StringLength2Ptr, - const char *dsn, const char *uid, - const char *pwd, const char *host, - int port, const char *database, - int mapToLongVarchar); SQLRETURN MNDBAllocStmt(ODBCDbc *dbc, SQLHANDLE *pnOutputHandle); SQLRETURN MNDBConnect(ODBCDbc *dbc, const SQLCHAR *szDataSource, SQLSMALLINT nDataSourceLength, const SQLCHAR *szUID, SQLSMALLINT nUIDLength, diff --git a/clients/odbc/driver/SQLDriverConnect.c b/clients/odbc/driver/SQLDriverConnect.c --- a/clients/odbc/driver/SQLDriverConnect.c +++ b/clients/odbc/driver/SQLDriverConnect.c @@ -105,177 +105,6 @@ ODBCGetKeyAttr(const SQLCHAR **conn, SQL return 1; } -SQLRETURN -ODBCConnectionString(SQLRETURN rc, - ODBCDbc *dbc, - SQLCHAR *OutConnectionString, - SQLSMALLINT BufferLength, - SQLSMALLINT *StringLength2Ptr, - const char *dsn, - const char *uid, - const char *pwd, - const char *host, - int port, - const char *database, - int mapToLongVarchar) -{ - int n; -#ifdef ODBCDEBUG - SQLCHAR *buf = OutConnectionString; - int buflen = BufferLength; -#endif - - if (OutConnectionString == NULL) - BufferLength = -1; - if (BufferLength > 0) { - n = snprintf((char *) OutConnectionString, BufferLength, - "DSN=%s;", dsn ? dsn : "DEFAULT"); - /* some snprintf's return -1 if buffer too small */ - if (n < 0) - n = BufferLength + 1; /* make sure it becomes < 0 */ - BufferLength -= n; - OutConnectionString += n; - } else { - BufferLength = -1; - } - if (uid) { - if (BufferLength > 0) { - n = snprintf((char *) OutConnectionString, - BufferLength, "UID=%s;", uid); - if (n < 0) - n = BufferLength + 1; - BufferLength -= n; - OutConnectionString += n; - } else { - BufferLength = -1; - } - } - if (pwd) { - if (BufferLength > 0) { - n = snprintf((char *) OutConnectionString, - BufferLength, "PWD=%s;", pwd); - if (n < 0) - n = BufferLength + 1; - BufferLength -= n; - OutConnectionString += n; - } else { - BufferLength = -1; - } - } - if (host) { - if (BufferLength > 0) { - n = snprintf((char *) OutConnectionString, - BufferLength, "HOST=%s;", host); - if (n < 0) - n = BufferLength + 1; - BufferLength -= n; - OutConnectionString += n; - } else { - BufferLength = -1; - } - } - if (port) { - char portbuf[10]; - - if (BufferLength > 0) { - n = snprintf((char *) OutConnectionString, - BufferLength, "PORT=%d;", port); - if (n < 0) - n = BufferLength + 1; - BufferLength -= n; - OutConnectionString += n; - } else { - BufferLength = -1; - } - port = snprintf(portbuf, sizeof(portbuf), "%d", port); - } - if (database) { - if (BufferLength > 0) { - n = snprintf((char *) OutConnectionString, - BufferLength, "DATABASE=%s;", database); - if (n < 0) - n = BufferLength + 1; - BufferLength -= n; - OutConnectionString += n; - } else { - BufferLength = -1; - } - } - if (mapToLongVarchar > 0) { - if (BufferLength > 0) { - n = snprintf((char *) OutConnectionString, - BufferLength, "mapToLongVarchar=%d;", mapToLongVarchar); - if (n < 0) - n = BufferLength + 1; - BufferLength -= n; - OutConnectionString += n; - } else { - BufferLength = -1; - } - } - n = 0; -#ifdef ODBCDEBUG -#ifdef NATIVE_WIN32 - if (ODBCdebug && _wgetenv(L"ODBCDEBUG") == NULL) { - if (BufferLength > 0) { - n = snprintf((char *) OutConnectionString, - BufferLength, - "LOGFILE=%ls;", ODBCdebug); - if (n < 0) { - n = 0; - BufferLength = -1; - } else { - BufferLength -= n; - OutConnectionString += n; - } - } else { - BufferLength = -1; - } - } -#else - if (ODBCdebug && getenv("ODBCDEBUG") == NULL) { - if (BufferLength > 0) { - n = snprintf((char *) OutConnectionString, - BufferLength, - "LOGFILE=%s;", ODBCdebug); - if (n < 0) { - n = 0; - BufferLength = -1; - } else { - BufferLength -= n; - OutConnectionString += n; - } - } else { - BufferLength = -1; - } - } -#endif -#endif - - /* calculate how much space was needed */ - if (StringLength2Ptr) - *StringLength2Ptr = (SQLSMALLINT) - (strlen(dsn ? dsn : "DEFAULT") + 5 + - (uid ? strlen(uid) + 5 : 0) + - (pwd ? strlen(pwd) + 5 : 0) + - (host ? strlen(host) + 6 : 0) + - (port ? port + 6 : 0) + - (database ? strlen(database) + 10 : 0) - + n); - -#ifdef ODBCDEBUG - ODBCLOG("ConnectionString: \"%.*s\" %d\n", buf ? buflen : 6, buf ? (char *) buf : "(null)", buflen); -#endif - - /* if it didn't fit, say so */ - if (BufferLength < 0) { - /* String data, right-truncated */ - addDbcError(dbc, "01004", NULL, 0); - return SQL_SUCCESS_WITH_INFO; - } - return rc; -} - #ifdef ODBCDEBUG static char * translateDriverCompletion(SQLUSMALLINT DriverCompletion) _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org