Re: Parallel INSERT (INTO ... SELECT ...) - Mailing list pgsql-hackers

From Zhihong Yu
Subject Re: Parallel INSERT (INTO ... SELECT ...)
Date
Msg-id CALNJ-vSJZ3eWevbxw_jiOdz67mJX2eESxCQh25mhJp458y9Eyg@mail.gmail.com
Whole thread Raw
In response to Re: Parallel INSERT (INTO ... SELECT ...)  (Greg Nancarrow <gregn4422@gmail.com>)
Responses Re: Parallel INSERT (INTO ... SELECT ...)  (Greg Nancarrow <gregn4422@gmail.com>)
List pgsql-hackers
Hi,
For v17-0001-Enable-parallel-SELECT-for-INSERT-INTO-.-SELECT.patch :

+       /* Assume original queries have hasModifyingCTE set correctly */
+       if (parsetree->hasModifyingCTE)
+           hasModifyingCTE = true;

Since hasModifyingCTE is false by the time the above is run, it can be simplified as:
    hasModifyingCTE = parsetree->hasModifyingCTE

+   if (!hasSubQuery)
+       return false;
+
+   return true;

The above can be simplified as:
    return hasSubQuery;

Cheers

On Thu, Feb 11, 2021 at 7:02 PM Greg Nancarrow <gregn4422@gmail.com> wrote:
On Thu, Feb 11, 2021 at 11:17 PM Greg Nancarrow <gregn4422@gmail.com> wrote:
>
> Posting an updated set of patches. Changes are based on feedback, as
> detailed below:
>

Oops, looks like I forgot "COSTS OFF" on some added EXPLAINs in the
tests, and it caused some test failures in the PostgreSQL Patch Tester
(cfbot).
Also, I think that perhaps the localized temporary fix included in the
patch for the hasModifyingCTE bug should be restricted to INSERT, even
though the bug actually exists for SELECT too.
Posting an updated set of patches to address these.

Regards,
Greg Nancarrow
Fujitsu Australia

pgsql-hackers by date:

Previous
From: Greg Nancarrow
Date:
Subject: Re: Parallel INSERT (INTO ... SELECT ...)
Next
From: vignesh C
Date:
Subject: Re: Libpq support to connect to standby server as priority