[ psqlodbc-Bugs-1000477 ] Long parameters are not parsed from initialization string and unitialized options - Mailing list pgsql-odbc

From
Subject [ psqlodbc-Bugs-1000477 ] Long parameters are not parsed from initialization string and unitialized options
Date
Msg-id 20051209225146.49C391125030@pgfoundry.org
Whole thread Raw
List pgsql-odbc
Bugs item #1000477, was opened at 2005-12-09 14:39
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1000477&group_id=1000125

Category: None
Group: None
>Status: Closed
Resolution: Accepted
Priority: 3
Submitted By: Nobody (None)
Assigned to: Ludek Finstrle (luf)
Summary: Long parameters are not parsed from initialization string and unitialized options

Initial Comment:

SQLConfigDataSource( NULL,ODBC_CONFIG_DSN,
 "PostgreSQL Unicode",

"DSN=Example\0SERVER=localhost\0DATABASE=template1\0Username=postgres\0UseServerSidePrepare=1\0TextAsLongVarchar=1\0ByteaAsLongVarBinary=1\0\0")

This creates new DSN but options such as ByteaAsLongVarBinary and TextAsLongVarchar  are set to -1 instead of 1. Thats
becauseParseAttributes function in SETUP.C file accepts only keys smaller then 15 characters: 

#define MAXKEYLEN        (15+1)    /* Max keyword length */
char aszKey[MAXKEYLEN];

There are some options much longer than 15 chars an they are not parsed.

In general uninitialized options shouldn't be saved in registry (ODBC.INI) but CC_conninfo_init initializes some
optionsto -1 and they are never updated to proper default values: 

// connection.c
CC_conninfo_init(ConnInfo *conninfo)
{
        memset(conninfo, 0, sizeof(ConnInfo));
        conninfo->disallow_premature = -1; //!!
        conninfo->allow_keyset = -1; // !!
        conninfo->lf_conversion = -1; // !!
        conninfo->true_is_minus1 = -1; // !!
        conninfo->int8_as = -101;
        conninfo->bytea_as_longvarbinary = -1; //!!
        conninfo->use_server_side_prepare = -1; //!!
        memcpy(&(conninfo->drivers), &globals, sizeof(globals));
}


----------------------------------------------------------------------

>Comment By: Dave Page  (dpage)
Date: 2005-12-09 22:51

Message:
Thanks, patch applied.

----------------------------------------------------------------------

Comment By: Ludek Finstrle (luf)
Date: 2005-12-09 22:19

Message:
Please try new development snapshot. Problems may disappear with 8.01.0104.
If you are using ODBC on linux try attached patch.

----------------------------------------------------------------------

You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1000477&group_id=1000125

pgsql-odbc by date:

Previous
From: "Dave Page"
Date:
Subject: Re: SQLTables don't stop
Next
From:
Date:
Subject: [ psqlodbc-Bugs-1000476 ] DateStyle and Transaction