| From: | <noreply(at)pgfoundry(dot)org> | 
|---|---|
| To: | noreply(at)pgfoundry(dot)org | 
| Subject: | [ psqlodbc-Bugs-1000477 ] Long parameters are not parsed from initialization string and unitialized options | 
| Date: | 2005-12-09 14:39:52 | 
| Message-ID: | 20051209143952.A18C91125034@pgfoundry.org | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | 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: Open
Resolution: None
Priority: 3
Submitted By: Nobody (None)
Assigned to: Nobody (None)
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 because ParseAttributes 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 options to -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));
}
----------------------------------------------------------------------
You can respond by visiting: 
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1000477&group_id=1000125
| From | Date | Subject | |
|---|---|---|---|
| Next Message | noreply | 2005-12-09 14:51:10 | [ psqlodbc-Bugs-1000478 ] Cannot create DNS using odbcconf.exe utility in Windows | 
| Previous Message | Ludek Finstrle | 2005-12-09 14:10:43 | Re: BLOB handling compatibility with PostgreSQL > 7.4 |