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 1rMNBm-004GDQ-78 for pgsql-hackers@arkaria.postgresql.org; Sun, 07 Jan 2024 07:03:18 +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 1rMNBl-00E7Iv-CS for pgsql-hackers@arkaria.postgresql.org; Sun, 07 Jan 2024 07:03:17 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rMNBl-00E7In-0y for pgsql-hackers@lists.postgresql.org; Sun, 07 Jan 2024 07:03:17 +0000 Received: from mail-yw1-x1134.google.com ([2607:f8b0:4864:20::1134]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rMNBi-000HIj-56 for pgsql-hackers@postgresql.org; Sun, 07 Jan 2024 07:03:16 +0000 Received: by mail-yw1-x1134.google.com with SMTP id 00721157ae682-5f254d1a6daso6740017b3.2 for ; Sat, 06 Jan 2024 23:03:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704610992; x=1705215792; 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=d+G3qMjLmy86HPnzwHb58f5AtRnzWI6swSfpVRTQ8No=; b=cyj4aGwtdOZy9ZQVbmh0wT/sP5IDaGxY2+voCzmSEFFRThtz/LU96m1XqGOCq/SSLY a6Dkqe4/6BHrstw/QxFFKxouFlFrhytlcAUMG4GfP8sfP6GZ7myV8H09fVKv+j9OWfdf y+/dLucfszhYuDgnE7q/efnprgJHyfdES9gUDUkyV/+2KUydPDdzA7wTzljCknfoAVnS 10IuY+mYlTP/eVvEONu6MrbUJjhOHvBbRd99PnV/BCPEG7fZTVfI5j3WLPnJ2aV4SLDM CPaAxvGRxwsuEULm4fguGXwTugARLJFA/J6anrweXdGd66AKfdvIwkbVTwwSQgcNS5Sa omNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704610992; x=1705215792; 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=d+G3qMjLmy86HPnzwHb58f5AtRnzWI6swSfpVRTQ8No=; b=NpAHKsEtSes2QmW5megD4HQzTorA8VIba7rQvvyv8xnrlTaJHC3JU2X3Yf7vkIMb4b u98VjCQLI9Oxt0yRX3D3otDvyFhHDdkSn6AoFbA6n5rqSlOqDENChYZAXgnxtI9qvnGy zOXDKUV+CVWTDjRLQa25sjZ9HnO+ruJzb38IhLbQPrYH7Hr/UfEJ+XCSw36fcvv9JA5B jPpWSFCCUJgApnPLox68FdHmjTV52Omh7FKWE8CWyK/Y99K8byuiTrJAlAXGGluRsaY2 b1U9YSdGxoK1siPQ/GdJupLGQvZWHmiytQtXptSpIpn4qmvo9CJOKJbT8uU7RiEyBfz5 /uew== X-Gm-Message-State: AOJu0YxlxUOsd19LWvWx27QbLDdR7sBTd9ubAegaqjp6miRL+7FHshdC fYmdJsE3g/uKY+Drfc5gbarCX1J15PjJDPVgo8JdYtGPu4YPTSU0K2w= X-Google-Smtp-Source: AGHT+IEudWGAnDEQSR/SAFNFFmY63p6bpwkMyCYRwys+gUne4w3JLeJZuTsAlYgD1Bl8wk9kAfPCD9TUhmQZRsSaTyY= X-Received: by 2002:a05:6902:1b81:b0:dbe:35b0:1708 with SMTP id ei1-20020a0569021b8100b00dbe35b01708mr592168ybb.121.1704610992112; Sat, 06 Jan 2024 23:03:12 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: vignesh C Date: Sun, 7 Jan 2024 12:33:00 +0530 Message-ID: Subject: Re: Support "Right Semi Join" plan shapes To: Richard Guo Cc: 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 Wed, 1 Nov 2023 at 11:25, Richard Guo wrote: > > > On Thu, Aug 10, 2023 at 3:24=E2=80=AFPM Richard Guo wrote: >> >> The cfbot reminds that this patch does not apply any more, so rebase it >> to v2. > > > Attached is another rebase over the latest master. Any feedback is > appreciated. One of the tests in CFBot has failed at [1] with: - Relations: (public.ft1 t1) SEMI JOIN (public.ft2 t2) - Remote SQL: SELECT r1."C 1", r1.c2, r1.c3, r1.c4, r1.c5, r1.c6, r1.c7, r1.c8 FROM "S 1"."T 1" r1 WHERE ((r1."C 1" < 20)) AND EXISTS (SELECT NULL FROM "S 1"."T 1" r3 WHERE ((r3."C 1" > 10)) AND ((date(r3.c5) =3D '1970-01-17'::date)) AND ((r3.c3 =3D r1.c3))) ORDER BY r1."C 1" ASC NULLS LAST -(4 rows) + Sort Key: t1.c1 + -> Foreign Scan + Output: t1.c1, t1.c2, t1.c3, t1.c4, t1.c5, t1.c6, t1.c7, t1.c8 + Relations: (public.ft1 t1) SEMI JOIN (public.ft2 t2) + Remote SQL: SELECT r1."C 1", r1.c2, r1.c3, r1.c4, r1.c5, r1.c6, r1.c7, r1.c8 FROM "S 1"."T 1" r1 WHERE ((r1."C 1" < 20)) AND EXISTS (SELECT NULL FROM "S 1"."T 1" r3 WHERE ((r3."C 1" > 10)) AND ((date(r3.c5) =3D '1970-01-17'::date)) AND ((r3.c3 =3D r1.c3))) +(7 rows) More details are available at [2]. [1] - https://cirrus-ci.com/task/4868751326183424 [2] - https://api.cirrus-ci.com/v1/artifact/task/4868751326183424/testrun/b= uild/testrun/postgres_fdw/regress/regression.diffs Regards, Vignesh