Re: Add function to release an allocated SQLDA

From: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
To: "Kato, Sho" <kato-sho(at)jp(dot)fujitsu(dot)com>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Add function to release an allocated SQLDA
Date: 2018-06-18 05:41:45
Message-ID: CAEepm=1jxusHTggg+k+0pdjwOMPakR1QHp=oDU5TV+BFX3VWkg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jun 13, 2018 at 4:29 PM, Kato, Sho <kato-sho(at)jp(dot)fujitsu(dot)com> wrote:
> I add a function called ECPGfreeSQLDA() becasue there is no API for releasing the SQLDA stored the result set.

Hello Kato-san,

Thank you for sending the patch!

+ Alternatively, use the standard C library's free() function as
in the example below.

+ If the result set contains more than one record, an SQLDA
corresponding to each records is saved as linked list.
+ There is a possibility to free allocated memory area doubly and
cause the application crash,
+ because ECPGfreeSQLDA() releases all SQLDAs associated with the
specified the SQLDA.

This is not clear to me. ECPGfreeSQLDA() releases a whole chain, but
free() only releases a single SQLDA(), so they are obviously not
interchangeable. When exactly should a user prefer one over the
other? If there is a good reason to free just one OR the whole chain,
shouldn't we provide a way to do both of those things without the user
having to use libc free(), for the benefit of Windows users who can't
safely use free()?

- * the new partition's info into its partition descriptor. If there is a
+ * the new partition's info into its partition descriptor. If there is a

This seems to be a spurious hunk, but I cannot see what changed.

--
Thomas Munro
http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dilip Kumar 2018-06-18 05:58:19 Re: Concurrency bug in UPDATE of partition-key
Previous Message Ashutosh Bapat 2018-06-18 05:20:27 Re: Remove mention in docs that foreign keys on partitioned tables are not supported