Re: pgsqODBC binding parameters II (fwd) - Mailing list pgsql-odbc

From Hiroshi Inoue
Subject Re: pgsqODBC binding parameters II (fwd)
Date
Msg-id 3AB9D1B0.F43DFEDE@tpf.co.jp
Whole thread Raw
In response to pgsqODBC binding parameters II (fwd)  (Ludek Finstrle <xfinstrl@informatics.muni.cz>)
Responses Re: pgsqODBC binding parameters II (fwd)
List pgsql-odbc
Ludek Finstrle wrote:
>
> > > > > > CONN ERROR: func=SQLExecute, desc='', errnum=110, errmsg='ERROR:  parser: parse error at or near ""'
> > > > > > SQLExecute: premature statement so return SQL_ERROR
> > > >
> > > > PREMATURE state of the statement seems to be the cause of
> > > > the error. Is your change about data_at_exec to prevent the
> > > > PREMATURE state just after the return from SQLNumResultCols ?
> > > > Or does it have another purpose ?
> > >
> > > Sorry, I don't understand question very well.
> > > I make it in december. So I don't remember details.
> > >
> > > The problem was that '?' didn't be detect as parametr at exec.
> > > So I added detection of parameters at exec to SQLExecute. And if I detect
> > > it I return SQL_NEED_DATA.
> > >
> >
> > '?' doesn't necessarily mean a data_at_execution parameter.
>
> I use SQLNumParams for this detection. So I mean that it's safe.
>
> > Doesn't your patch change all parameters to data_at_exec ones ?
> > If so it doesn't seem good.
>
> Yes, it does. Any idea how recognize data_at_exec parameters?
>

I see the following in your log.

> SQLBindParameter: entering...
> SQLBindParamater: ipar=0, paramType=1, fCType=-16, fSqlType=4,
cbColDef=10, ibScale=0, rgbValue=1, *pcbValue = -2, data_at_exec = 0

'*pcbValue = -2' seems to mean SQL_DATA_AT_EXEC.

BTW I see the following in your patch.
Isn't SQL_NTSL -3L ?
If so what does 'malloc(cbValue + 1)' mean ?

> -                     }
> -                     else {
> +                     /* Luf Begin */
> +                     } else if (cbValue == SQL_NTSL) {
> +                     /* Luf End */
>                               current_param->EXEC_buffer =
malloc(cbValue + 1);

regards,
Hiroshi Inoue

pgsql-odbc by date:

Previous
From: Ludek Finstrle
Date:
Subject: Re: pgsqODBC binding parameters II (fwd)
Next
From: Ludek Finstrle
Date:
Subject: Re: pgsqODBC binding parameters II (fwd)