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 1tkInV-002Tp6-6M for pgsql-hackers@arkaria.postgresql.org; Tue, 18 Feb 2025 08:17:41 +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 1tkInS-007tmn-D9 for pgsql-hackers@arkaria.postgresql.org; Tue, 18 Feb 2025 08:17:38 +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 1tkInR-007tmf-VE for pgsql-hackers@lists.postgresql.org; Tue, 18 Feb 2025 08:17:38 +0000 Received: from mail-me3aus01olkn2048.outbound.protection.outlook.com ([40.92.63.48] helo=AUS01-ME3-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tkInP-001WKQ-2Y for pgsql-hackers@lists.postgresql.org; Tue, 18 Feb 2025 08:17:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VFZfWkckA/NHeqLWFuniAv1dzajCjA7njz6fJka3sfeIZ+o5IUYbupFYo00H4wioOuKhwtQkDL4799XzE2uScFc4HqDn7UDfrNpAwbUPrR3+DSUhoJo5dGpmvvbk72Juur/B28nHpL1G6ox9qpAKTVRHIr2y8t5CEWf50NPl0lEYTl5dW3NgU49M7WA04CcYTkn3MLaVvnhP8OhJrr6z27oDN7uU8d5hU7iH7BVOYfkogMwR3waQX8MrOxghMY4PlIe9CLwwpO/8rj4Jb9A/KzdJapnzSlj5pzyQ2j17qQueySFihJb/leMzqF/4rCOEnm/nZrq3hqpTAqsFYu5tfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zxJM8mEuMFWLn++2lrdjFIw5zbOlODsw4DRPUfQZK18=; b=UPQTzoAav/RBZEJoRdog70u4pflvZM04CKoFrbEkmedJkKczbgHIKgjJEPgqjKOLgxPlTdL405N9eD621K6IqR7kgZ078m9yY6JyagpgteU3XyBL+W4y2nxm5u61zqbBD9NDK+SKrRXt8AHulVt5BcnvJRsKJAR8ip76p+nE6XcHsGzMETvYfvGvB2LAOpzJJ6cC44oT2eIbyDt1qC596+O0gvUPJePOhwBx1rC57yLvE0BFr65wlaqTXs47M/4Z7XHcnO/PIJmL/O3/m5rRWZCBy9vaMd1G74pNUdH7FtpCrj+73T8NP2I+saLU1B4M7ZqiM3sSgmdC2AmIqhZx5g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zxJM8mEuMFWLn++2lrdjFIw5zbOlODsw4DRPUfQZK18=; b=Xnr0r0WoWpogz3ZHBbRvczxnJz42svS9BbHvnz+I8XeVHmE3z39i/jteAL/mbjQDPsBYib24kHukMZjqb9AYIGLUhdwT7UC4ezr3lTSYfOMl38djjuowALc37tKGcGV2zKPVLhdoAk/+HgGCGW2j3W4O+YPpKxsY4siIdrLH8V8phaPK1TJsFDpwn5h7BSprgHiZBqOR2p2gehks4cb2dW0UaTdloj0S6tDgQdtHEciEKOf7+a9R2eWKKpIzGv4X53HGcDCcU0c5YW55BjVoR9GFcvDiaFtNVHG6XtKWj9pXEmR7vLRop+wUplfTJVXhHvd/TJ4xyxfMK9OGEgfo4Q== Received: from ME0P300MB0445.AUSP300.PROD.OUTLOOK.COM (2603:10c6:220:229::19) by SY0P300MB0353.AUSP300.PROD.OUTLOOK.COM (2603:10c6:10:27d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.19; Tue, 18 Feb 2025 08:17:29 +0000 Received: from ME0P300MB0445.AUSP300.PROD.OUTLOOK.COM ([fe80::3fa7:f775:d5cc:ff66]) by ME0P300MB0445.AUSP300.PROD.OUTLOOK.COM ([fe80::3fa7:f775:d5cc:ff66%5]) with mapi id 15.20.8445.017; Tue, 18 Feb 2025 08:17:29 +0000 From: Japin Li To: "songjinzhou" Cc: "pgsql-hackers" , "David Rowley" Subject: Re: Modify an incorrect regression test case in the group by key value elimination function In-Reply-To: (songjinzhou's message of "Tue, 18 Feb 2025 15:40:35 +0800") References: Date: Tue, 18 Feb 2025 16:17:25 +0800 Message-ID: Content-Type: text/plain X-ClientProxiedBy: TYCP286CA0231.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:3c7::9) To ME0P300MB0445.AUSP300.PROD.OUTLOOK.COM (2603:10c6:220:229::19) X-Microsoft-Original-Message-ID: <87wmdnll9m.fsf@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: ME0P300MB0445:EE_|SY0P300MB0353:EE_ X-MS-Office365-Filtering-Correlation-Id: 4c66800f-3beb-448d-c45c-08dd4ff4af58 X-Microsoft-Antispam: BCL:0;ARA:14566002|19110799003|5072599009|7092599003|15080799006|461199028|8060799006|440099028|3412199025; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?0z/OF3YiPkESYpgniB4DLfVm9ZYiKZce2TSz2BBWPyd8FJBojP0eltjV1z1W?= =?us-ascii?Q?q7Is5vk4QMCzRuqCb7/a1v7KcJurQInHHVsMSV4W432GEtZIiFtegGd+eTzS?= =?us-ascii?Q?56HQvt41KPLA7oCuRXFzrgiV4e+n46vIP7c2hpZaUx16EtJkXIi0hPkJP7/E?= =?us-ascii?Q?EWmBqK4IaSTGpzsjHjN/PBlp+oxw6+rnxibfB9cVJEdYWHy4fg6n8TU2XCw/?= =?us-ascii?Q?mv92JNI5ejqL+TkFakHaqCquMqMAHYk3eBlst+q8xNjvwWzQUcllsNc9fpU+?= =?us-ascii?Q?tN2mCAF+E6G6FyUFKQtQitd64dL/RzEUj9AZtLga5oTHKRvknxLlE4QZM+xR?= =?us-ascii?Q?iVuBQ4GW0WrjUmc1xNBR7ZuBMRWc0GWCsVAS8VvlDdkP/6SMQQ8VVYngJMva?= =?us-ascii?Q?a8GadYKHJfZnsSwSMoeQrUdea/vnXdQqxPOQb83WF8luu0niBuUFvFj4jyyn?= =?us-ascii?Q?lro4bn2vgwRbV14MC4R/CGk5unpYhpqk4dPhIGtcM6cUYkF5+FuHqYdFAq27?= =?us-ascii?Q?cQ521Uef14jFWxeWmZ/sBNu2miB16ovNjgmJmioiOKUXtPiZDQax30BTQ6oY?= =?us-ascii?Q?XtgCWqO+k9MnDGlLjYx9Hf5/yyMmjPvZtTlQuXVSrCdII3eBLO6+qwy4DUTc?= =?us-ascii?Q?i7FLkRqswHEGRj4YPLHYChkaAwdMqX+zl4p7SAlRtVucBBgA19Cuf+5nJRcu?= =?us-ascii?Q?h3O5cGMagSQv3PPdpXXdWmjRqRkWMPezAt0mb2a3tMWPwI9vdeTliwFl7uA6?= =?us-ascii?Q?WKzio5nTCtL9U/tp4UjBy+CIVSpRIclLEkHmVcNMP+Of3OxbPOPBOxasIGwU?= =?us-ascii?Q?mD7gqzjLosyWPK91CdbzbzYPnAyQ1CRodGYs5H8vKsIxQPDo/d/lr/IEyher?= =?us-ascii?Q?LLJZ++SNsYDR8dPfec5T68yP34VK2yF+vhQs58wdjwFecw/p27TCYCIDAH/m?= =?us-ascii?Q?u6Xjg0NSR8ZedVJcEjs74rW75TEiZFiStRqn1OyqObWk+ruRX7rpPbyOkaOw?= =?us-ascii?Q?g/ihqJ0VBSPBk/ANSJXkMjSZC7ZlnMtIqXXhQyzhCIhKfwNTrIwGS2iIVsaw?= =?us-ascii?Q?K4j7PMBhhWlgjLzynwdaT22AywY2dQ=3D=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ixTVSc+7NlzGnrrVS30UtFWtt9BSErclvscXQiDxkp7e8/aVpJhxYhAfkjzG?= =?us-ascii?Q?IbcWI+ZmM9WBEOu7YZZJ/Ne5SDfV74ia+fci55xX96yQ9I6HRGU3Agh8pWmh?= =?us-ascii?Q?r6WLoxF1Cm4PerrY+FnM3N9U52D41NXWtIJl4kpwWYsN+BKn+3iuPK+anBSb?= =?us-ascii?Q?Ngc85HflkLf5uNtCfOX6PYsPlQ/8cZwpRaXSaDjZ18aLyXseJvyiDpguX8eL?= =?us-ascii?Q?maikoHFaG9AH+m7ModDGu6SnUq1mYDKEIszUrgpgHMBmMkTVrYbXrzfqYCJ9?= =?us-ascii?Q?kFzlPKRv7S4xpUXUT2dCvxH8VuYuZ3cD+YcWH4tJGA9Eo61+CChagJLdXxPn?= =?us-ascii?Q?loWhgUHSH5VNMz4Kml5zezVuow2r8SX5g2oCzbyqRUVBR46dwyWLkgo0GyCc?= =?us-ascii?Q?fBMAvA/8UrOPcv7+rg3pqbm5OBtoTM8gGOeqgNOqzB63NxzTKczaRXjGY1BJ?= =?us-ascii?Q?1NMLuQCvsYjEojlOsoQID1dR/I+4qioYYDVbHBUPb+cl/r8Tyr4vWHRy/4rr?= =?us-ascii?Q?sGeecNeTqcyK6Bl1EUSAJ3sfRYSNE00XL6Cvc4bZJRetN5wjlWqd+tu97JVN?= =?us-ascii?Q?5Hp1Y1yq6Px5ox1YZEPZJosgbzrNeTrb2UQrA+9DOvfE+vaC8SYI5DEqUFmg?= =?us-ascii?Q?aVPDhxtU2cgiyShWi/+BVS4oXl3OJ7q4gYhjAqpPd0Xx2vxnOXR+3gxMNX+T?= =?us-ascii?Q?cyAELpFnkM0RfwyzKGOCmtoxpCZqh1AGizbMWWMPdKL8ymyW+7n0DoFj+Eky?= =?us-ascii?Q?2Yx/qFiB+RZeHnsVN1d8o2f0mQK+O/i1IprikJ++gzEKcvt8gbX+koOEkrBX?= =?us-ascii?Q?YxZ125pU4fUEieG9T+0neecwCVP7JRmQN2HuI6y4GSVPGDkUWwujyd5Td/uC?= =?us-ascii?Q?JWlqtzj0lhafgBhDsP7DznFcF0Ufn7ei9J0qaraG8LiJIUR8DY+IIynvIl6e?= =?us-ascii?Q?w+PJDmuMfgaBnDcUOwPrUjRmkGqtodyKZhZoZk5MEdNjxwcdexyvrmZVbZKb?= =?us-ascii?Q?E04BdKqu3IwAXLNMdoPUJ5vN3aqjSRT2xmHLtlP5eKPXo4H2b1Fd/Q3/uppf?= =?us-ascii?Q?XtfjT2NCpVXHPnY1LO+47eoPn3X0fiaIW9HnVC+tOxSy71QKtHWUEaDK15nY?= =?us-ascii?Q?TTJrKGOLVrYakLrnicqN6j1ZExKeo6qblMhvJ0h7nsr3d3PfNQtoba6y92Rc?= =?us-ascii?Q?fQ33iRupaxgYzmKpSfGUkss7QCWfEl4EKyepvaGsF2VYta3kwDMIgMAc5+0?= =?us-ascii?Q?=3D?= X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-448bf.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 4c66800f-3beb-448d-c45c-08dd4ff4af58 X-MS-Exchange-CrossTenant-AuthSource: ME0P300MB0445.AUSP300.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Feb 2025 08:17:29.3446 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SY0P300MB0353 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, 18 Feb 2025 at 15:40, "songjinzhou" wrote: > Dear hackers: > > Two months ago, we enhanced the group by key value elimination function. This is a very useful function. When I was > learning, I found a regression test case that was not suitable, as follows: > > -- When there are multiple supporting unique indexes and the GROUP BY contains > -- columns to cover all of those, ensure we pick the index with the least > -- number of columns so that we can remove more columns from the GROUP BY. > explain (costs off) select a,b,c from t3 group by a,b,c; > QUERY PLAN > ---------------------- > HashAggregate > Group Key: c > -> Seq Scan on t3 > (3 rows) > > -- As above but try ordering the columns differently to ensure we get the > -- same result. > explain (costs off) select a,b,c from t3 group by c,a,b; > QUERY PLAN > ---------------------- > HashAggregate > Group Key: c > -> Seq Scan on t3 > (3 rows) > > Because the table structure of t3 is defined as follows(Its PK is deferrable): > > postgres=# \d+ t3 > Table "pg_temp_1.t3" > Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description > --------+---------+-----------+----------+---------+---------+-------------+--------------+------------- > a | integer | | not null | | plain | | | > b | integer | | not null | | plain | | | > c | integer | | not null | | plain | | | > Indexes: > "t3_pkey" PRIMARY KEY, btree (a, b) DEFERRABLE > "t3_c_uidx" UNIQUE, btree (c) > Not-null constraints: > "t3_a_not_null" NOT NULL "a" > "t3_b_not_null" NOT NULL "b" > "t3_c_not_null" NOT NULL "c" > Access method: heap > > postgres=# > > I think this test case does not fully reflect the original meaning. So I made a small change to this and look forward to > your feedback. Thanks! > Yeah, the primary key of t3 is deferred, so only the t3_c_uidx can be used. The test case is inconsistent with comments. It seems that the t2 does not have a unique index on z, do you forget to create it in the patch? -- Regrads, Japin Li