Hi,
Attaching new version patches with the following change:
0002:
1): Change "ALTER/CREATE TABLE PARALLEL SAFE" to "ALTER/CREATE TABLE PARALLEL DML SAFE"
2): disallow temp/foreign table to be parallel safe.
0003:
1) Temporarily, add the check of built-in function by adding a member for proparallel in FmgrBuiltin.
To avoid enlarging FmgrBuiltin struct , change the existing bool members strict and and retset into
one member of type char, and represent the original values with some bit flags.
Note: this will lock down the parallel property of built-in function, but, I think the parallel safety of built-in
function
is related to the C code, user should not change the property of it unless they change its code. So, I think it might
be
better to disallow changing parallel safety for built-in functions, Thoughts ?
I have not added the parallel safety check in ALTER/CREATE table PARALLEL DML SAFE command.
I think it seems better to add it after some more discussion.
Best regards,
houzj