wrong values in ODBC parameters? - Mailing list pgsql-interfaces

From Johann Zuschlag
Subject wrong values in ODBC parameters?
Date
Msg-id E14Bbzi-0007DR-01@mrelay01.kundenserver.de
Whole thread Raw
In response to keyword LIMIT in SQL-statement, psqlodbc workaround?  ("Johann Zuschlag" <zuschlag2@online.de>)
Responses Re: wrong values in ODBC parameters?  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-interfaces
Hi,

now my initial problem:

I'm using a commercial application which is crashing while trying to
insert sets into tables (using psqlodbc.dll).

I did some tracing:

It crashes in module convert.c / copy_statement_with_parameters 
in function: 

convert_special_chars(char *si, char *dst, int used)

The access violation appears at:

if (si[i] == '\r' && i+1 < strlen(si) && si[i+1] == '\n')

si = 0x00000001
used = -103

It seems that it runs into an access violation, since 'si' has 
been assigned a wrong value. Also 'used = -103' doesn't
seem to be healthy value. 'dst' seems to be alright.

convert_special_chars was called in
copy_statement_with_parameters:

convert_special_chars(buf, &new_statement[npos], used);

'buf' seems to be the same like 'buffer':

So 'used' and 'buffer' where assigned at (in copy_statement_with_parameters):
    /*    Assign correct buffers based on data at exec param or not */    if (
stmt->parameters[param_number].data_at_exec){        used = stmt->parameters[param_number].EXEC_used ?
*stmt->parameters[param_number].EXEC_used: SQL_NTS;        buffer = stmt->parameters[param_number].EXEC_buffer;    }
else{        used = stmt->parameters[param_number].used ? *stmt->parameters[param_number].used : SQL_NTS;        buffer
=stmt->parameters[param_number].buffer;    }
 

Well, here my knowledge ends. Something seems to be wrong with the ODBC parameters
supplied by my application, but:

Same application works flawless with MS-SQL-ODBC and ORACLE-ODBC.

So IMHO there must be a problem in psqlodbc.dll. Even though I admit that the buggy 
call might be accepted in MS-ODBC due to another bug. :-)

Could somebody point me in the correct direction? Any hints? Patches?
I really would like to use Postgres for my app.

regards

Johann





pgsql-interfaces by date:

Previous
From: Ingo Luetkebohle
Date:
Subject: Re: jdbc
Next
From: Constantin Teodorescu
Date:
Subject: Has anyone made Sybase PowerDesigner to work with PostgreSQL?