| From: | <5bih4k+4jfl6m39j23k(at)guerrillamail(dot)com> |
|---|---|
| To: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Parallel safety of CURRENT_* family |
| Date: | 2016-12-01 19:06:24 |
| Message-ID: | 937ac7744dee7956324d43149b821538e357@guerrillamail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hello
How should I mark a function which calls CURRENT_DATE? Parallel safe or parallel restricted?
pg_proc shows that now() is marked as restricted, but transaction_timestamp() is marked as safe.
The manual (https://www.postgresql.org/docs/9.6/static/functions-datetime.html) says that "now() is a traditional PostgreSQL equivalent to transaction_timestamp()" and "transaction_timestamp() is equivalent to CURRENT_TIMESTAMP".
The code seems to confirm: GetSQLCurrentDate(), GetSQLCurrentTimestamp() and now() all invoke the same GetCurrentTransactionStartTimestamp().
It looks like that functions which uses the CURRENT_* family of functions should be marked as restricted (something to add to the docs) and that transaction_timestamp() is incorrectly marked as safe.
Am I wrong?
Mark Kolar
----
Sent using Guerrillamail.com
Block or report abuse: https://www.guerrillamail.com/abuse/?a=UUZnFAFNS7UWgwum414PfQfTStiVwcZciatQew%3D%3D
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2016-12-01 19:13:44 | Re: pgbench - allow backslash continuations in \set expressions |
| Previous Message | Robert Haas | 2016-12-01 18:50:49 | Re: [HACKERS] Re: [HACKERS] 答复: [HACKERS] postgres 1 个(共 2 个) can pg 9.6 vacuum freeze skip page on index? |