Re: Using CTID system column as a "temporary" primary key - Mailing list pgsql-general

From Dominique Devienne
Subject Re: Using CTID system column as a "temporary" primary key
Date
Msg-id CAFCRh-_1GBruWFy8T1Fw7RMK3BtCYLfQeDxsyirUbtrVfhPM3A@mail.gmail.com
Whole thread Raw
In response to Re: Using CTID system column as a "temporary" primary key  (Francisco Olarte <folarte@peoplecall.com>)
Responses Re: Using CTID system column as a "temporary" primary key
List pgsql-general
On Thu, Mar 30, 2023 at 11:42 AM Francisco Olarte <folarte@peoplecall.com> wrote:
On Thu, 30 Mar 2023 at 10:01, Dominique Devienne <ddevienne@gmail.com> wrote:
> BTW, default and 0 are not the same thing. You cannot bind "default" in place of
> an integer-valued prepared-statement placeholder, in a binary mode insert. So it is
> definitely not the same thing.

IMNSHO if you need to select between default and explicit in an insert
via binding you have a design problem, and down this path lies madness.

I fail to see that myself, sorry. You can bind NULL, you can bind values, so why
wouldn't you be able to bind DEFAULT too? I see that more as a failing to the
binding API myself :)

But I guess it can be worked around with something like
`... values(coalesce($1, default), ..)`
and abusing NULL to mean DEFAULT on a case-by-case bases.
Assuming default can be used in this way (didn't try), of course.

pgsql-general by date:

Previous
From: David Rowley
Date:
Subject: Re: Get dead tuples data
Next
From: Laurenz Albe
Date:
Subject: Re: Using CTID system column as a "temporary" primary key