Re: [PATCH] SQLFreeStmt deletes params, but does not reset the stmt->prepared state.

From: Oliver Freyd <Oliver(dot)Freyd(at)iontof(dot)com>
To: pgsql-odbc(at)postgresql(dot)org
Subject: Re: [PATCH] SQLFreeStmt deletes params, but does not reset the stmt->prepared state.
Date: 2014-10-17 12:49:06
Message-ID: 54411042.3050202@iontof.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

>> I hope this is useful, it took quite a while to track this down...
>
> Thank you for your investigation.
>
> According to the following pages
> http://msdn.microsoft.com/en-us/library/ms709284%28v=vs.85%29.aspx
> http://msdn.microsoft.com/en-us/library/ms710926%28v=vs.85%29.aspx
>
> , it seems better to reset APD only keeping IPD intact.
>
> Comments?
>
Thank you for your quick reply,

at first sight that seems to be better, more efficient as the statement
keeps its prepared state. Only thing is I don't know if that would lead
to a memory leak later, no idea when the IPD params are freed.

I can try if that works, too...

regards,
Oliver Freyd

> regards,
> Hiroshi Inoue
>
>> best regards,
>>
>> Oliver Freyd
>>
>> -----------------------------------------------------------------------
>> diff --git a/statement.c b/statement.c
>> index da5abf5..a019d5d 100644
>> --- a/statement.c
>> +++ b/statement.c
>> @@ -581,6 +581,7 @@ SC_free_params(StatementClass *self, char option)
>> {
>> APD_free_params(SC_get_APDF(self), option);
>> IPD_free_params(SC_get_IPDF(self), option);
>> + if (self->prepared!=NOT_YET_PREPARED)\
>> SC_set_prepared(self, NOT_YET_PREPARED);
>> }
>> PDATA_free_params(SC_get_PDTI(self), option);
>> self->data_at_exec = -1;
>>
>>
>>
>
>

In response to

Browse pgsql-odbc by date

  From Date Subject
Next Message Adrian Klaver 2014-10-17 15:04:58 Re: PostgreSQL crash at SQLColAttribute()
Previous Message Andreas Buschka 2014-10-17 12:17:46 Linking tables from MS Access 2013 works fine, but cannot get table and column comments