Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rTZNh-004GFq-85 for pgsql-hackers@arkaria.postgresql.org; Sat, 27 Jan 2024 03:29:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rTZNg-0046MK-9z for pgsql-hackers@arkaria.postgresql.org; Sat, 27 Jan 2024 03:29:20 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rTZNf-0046MB-Or for pgsql-hackers@lists.postgresql.org; Sat, 27 Jan 2024 03:29:19 +0000 Received: from mail-yb1-xb2d.google.com ([2607:f8b0:4864:20::b2d]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rTZNd-003ZiG-6h for pgsql-hackers@postgresql.org; Sat, 27 Jan 2024 03:29:18 +0000 Received: by mail-yb1-xb2d.google.com with SMTP id 3f1490d57ef6-dc261316b0dso928303276.3 for ; Fri, 26 Jan 2024 19:29:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706326156; x=1706930956; darn=postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=HJ+vlh/x+dr8Wb7NIp+/ezVAvPCBobHUry8VFlzPbVg=; b=l3DIYfnIaukSggYQR6rdDEAYtVwhwOMXfHl0wbUr3V0hb08f7/pL3cn8ZGDLEeFVr6 5azJ/A03U7UXgh5ndL6rjeZS6iNg7KHFT+HPz/HUcZURrDCRJQ+7sCC9vUKPK2BH/bJZ wuvcXc3Cj/6ePf6/rRIICMer0emCFdrAvjff/0jDYno2IlLe7h//ZzCmbu+qydpPsYjA L4LAeSOUYSCgvS3CYxaZeJpPuTQKhq7zMg1mKXVeqy/Lw5SODdj82rHbcVgfAbfKRnQT LZ519WRlKcQEYeMQUm3hGSS/rkR7MS0q+pme443Qvm8IfVASdKCh/0Jnq+Lk+omp1zN1 YYxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706326156; x=1706930956; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HJ+vlh/x+dr8Wb7NIp+/ezVAvPCBobHUry8VFlzPbVg=; b=Ww0b6rvZbwM0j+yVfTxHgelafqhtZx3LUevVNGe+Y9xqvhXOc3QOndwYdSeuOhkERL LietaZxLfxh1Xv91/7Uh942TOaSfJ5oCX0nkA13POCktvGm5Hm4pJhQWJGWK52IW9Qsa GVbljjGYxTE0kltomZAIO02fzF9cZxekSRPyROEme59JzjYTxv43Vs2h+jSlgVVR036X fu3z2QoXDx/wdQVN7v6PXabs62A/GrLYY2roAn+yrDVONdx/k2wBU4dPKIDoJv6pOBP4 4fqrE+x3TOHaLV+rZvPZoruaRDXHxkpjStE1Wy44Gz82sdOIQb+2MlvfrlAg33LvUIeL fjXg== X-Gm-Message-State: AOJu0YxxpU7aW8tvSR9BqU23hjKejYH6PPM6zGQ/zn3vj5yh1YwjWCKT kNnr+Wdq/f9+5oRkdL0KKFjreRm9BztP2Ql07bLDuaDuNgpFC6ZiqORRfW8xXi++Xu96lT49vLs BcTIUYd+3q8Uv1T15Ev3qFdBjT6+/xRz7rBmmwsxP X-Google-Smtp-Source: AGHT+IEt6zE3IALqx4FYVXMKp1E0zKK4XR76h8ZTO1g8TBHv2bxCdRjfB0UMGUNogjc1mN2/Hk6i64zwun3YQw2tvlo= X-Received: by 2002:a25:fe06:0:b0:dc2:271e:51ec with SMTP id k6-20020a25fe06000000b00dc2271e51ecmr791604ybe.11.1706326156374; Fri, 26 Jan 2024 19:29:16 -0800 (PST) MIME-Version: 1.0 References: <600a153e-191b-952d-7090-cad5097b798f@gmail.com> In-Reply-To: From: vignesh C Date: Sat, 27 Jan 2024 08:59:04 +0530 Message-ID: Subject: Re: Support run-time partition pruning for hash join To: Richard Guo Cc: Alexander Lakhin , David Rowley , Andy Fan , PostgreSQL-development Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, 7 Nov 2023 at 13:25, Richard Guo wrote: > > > On Mon, Nov 6, 2023 at 11:00=E2=80=AFPM Alexander Lakhin wrote: >> >> Please look at a warning and an assertion failure triggered by the >> following script: >> set parallel_setup_cost =3D 0; >> set parallel_tuple_cost =3D 0; >> set min_parallel_table_scan_size =3D '1kB'; >> >> create table t1 (i int) partition by range (i); >> create table t1_1 partition of t1 for values from (1) to (2); >> create table t1_2 partition of t1 for values from (2) to (3); >> insert into t1 values (1), (2); >> >> create table t2(i int); >> insert into t2 values (1), (2); >> analyze t1, t2; >> >> select * from t1 right join t2 on t1.i =3D t2.i; >> >> 2023-11-06 14:11:37.398 UTC|law|regression|6548f419.392cf5|WARNING: Joi= n partition pruning $0 has not been performed yet. >> TRAP: failed Assert("node->as_prune_state"), File: "nodeAppend.c", Line:= 846, PID: 3747061 > > > Thanks for the report! I failed to take care of the parallel-hashjoin > case, and I have to admit that it's not clear to me yet how we should do > join partition pruning in that case. > > For now I think it's better to just avoid performing join partition > pruning for parallel hashjoin, so that the patch doesn't become too > complex for review. We can always extend it in the future. > > I have done that in v5. Thanks for testing! CFBot shows that the patch does not apply anymore as in [1]: =3D=3D=3D Applying patches on top of PostgreSQL commit ID 924d046dcf55887c98a1628675a30f4b0eebe556 =3D=3D=3D =3D=3D=3D applying patch ./v5-0001-Support-run-time-partition-pruning-for-hash-join.patch ... patching file src/include/nodes/plannodes.h ... patching file src/include/optimizer/cost.h Hunk #1 FAILED at 211. 1 out of 1 hunk FAILED -- saving rejects to file src/include/optimizer/cost.h.rej Please post an updated version for the same. [1] - http://cfbot.cputube.org/patch_46_4512.log Regards, Vignesh