On Tue, Jul 27, 2021 at 11:28 AM Dilip Kumar <dilipbal...@gmail.com> wrote: > > On Tue, Jul 27, 2021 at 10:44 AM Amit Kapila <amit.kapil...@gmail.com> wrote: > > > > On Mon, Jul 26, 2021 at 8:33 PM Robert Haas <robertmh...@gmail.com> wrote: > > Consider below ways to allow the user to specify the parallel-safety option: > > > > (a) > > CREATE TABLE table_name (...) PARALLEL DML { UNSAFE | RESTRICTED | SAFE } > > ... > > ALTER TABLE table_name PARALLEL DML { UNSAFE | RESTRICTED | SAFE } .. > > > > OR > > > > (b) > > CREATE TABLE table_name (...) WITH (parallel_dml_enabled = true) > > ALTER TABLE table_name (...) WITH (parallel_dml_enabled = true) > > > > The point was what should we do if the user specifies the option for a > > non-partitioned table. Do we just ignore it or give an error that this > > is not a valid syntax/option when used with non-partitioned tables? I > > find it slightly odd that this option works for partitioned tables but > > gives an error for non-partitioned tables but maybe we can document > > it. > > IMHO, for a non-partitioned table, we should be default allow the > parallel safely checking so that users don't have to set it for > individual tables, OTOH, I don't think that there is any point in > blocking the syntax for the non-partitioned table, So I think for the > non-partitioned table if the user hasn't set it we should do automatic > safety checking and if the user has defined the safety externally then > we should respect that. And for the partitioned table, we will never > do the automatic safety checking and we should always respect what the > user has set. >
This is exactly what I am saying. BTW, do you have any preference for the syntax among (a) or (b)? -- With Regards, Amit Kapila.