Re: Should we document how column DEFAULT expressions work?

From: Andrei Lepikhov <lepihov(at)gmail(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: David Rowley <dgrowleyml(at)gmail(dot)com>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, Peter Eisentraut <peter(at)eisentraut(dot)org>, James Coleman <jtc331(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Should we document how column DEFAULT expressions work?
Date: 2024-10-17 04:23:04
Message-ID: b74aa479-819a-411a-b93e-7abc4d53bc67@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 10/17/24 06:19, Bruce Momjian wrote:
> On Fri, Jul 5, 2024 at 05:11:22PM -0400, Bruce Momjian wrote:
>> On Fri, Jul 5, 2024 at 05:03:35PM -0400, Tom Lane wrote:
>>> Bruce Momjian <bruce(at)momjian(dot)us> writes:
>>>> Well, 'now()' certainly _looks_ like a function call, though it isn't.
>>>> The fact that 'now()'::timestamptz and 'now'::timestamptz generate
>>>> volatile results via a function call was my point.
>>>
>>> The only reason 'now()'::timestamptz works is that timestamptz_in
>>> ignores irrelevant punctuation (or what it thinks is irrelevant,
>>> anyway). I do not think we should include examples that look like
>>> that, because it will further confuse readers who don't already
>>> have a solid grasp of how this works.
>>
>> Wow, I see that now:
>>
>> test=> SELECT 'now('::timestamptz;
>> timestamptz
>> -------------------------------
>> 2024-07-05 17:04:33.457915-04
>>
>> If I remove the 'now()' mention in the docs, patch attached, I am
>> concerned people will be confused whether it is the removal of the
>> single quotes or the use of "()" which causes insert-time evaluation,
>> and they might try 'now()'.
>
> Does anyone like this patch? I changed now()::timestamptz to
> now::timestamptz.
Pardon the noise, but can you consider the idea of replacing the phrase
'data insertion time' with something like 'immediately before the
insertion operation starts'? Sometimes people (especially younglings)
ask which time it is precisely: will it differ for each tuple?

--
regards, Andrei Lepikhov

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2024-10-17 04:24:50 Re: BF mamba failure
Previous Message jian he 2024-10-17 03:58:48 Re: Set query_id for query contained in utility statement