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 -- [email protected]
To unsubscribe send an email to [email protected]