Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qBmuq-00028Y-LX for pgsql-bugs@arkaria.postgresql.org; Wed, 21 Jun 2023 01:45:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1qBmup-0007ka-AJ for pgsql-bugs@arkaria.postgresql.org; Wed, 21 Jun 2023 01:45:47 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qBmuo-0007kQ-B0 for pgsql-bugs@lists.postgresql.org; Wed, 21 Jun 2023 01:45:47 +0000 Received: from mail-me3aus01olkn2180.outbound.protection.outlook.com ([40.92.63.180] helo=AUS01-ME3-obe.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qBmug-003LMl-MB for pgsql-bugs@lists.postgresql.org; Wed, 21 Jun 2023 01:45:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QqsXAS6DRQ+lCCeq35XwXwxar8N+JrWgMYYodxaVvOFDNfBDPetD64psl2KCGD+N7MiBREy8K46Kby9w4nSzSLFcrbgR/ICUsbJUYKOBE8tjiriKXURB5FjOyzN+/VbqfMzknvID5iRz7dx1VyIC9kTubfUukKeyvvLiGFpY4lMozggylm3bGUH5CuIP6Kztip9GUgigMIt/bEPMNaLT0vKO+CXHaViI1FSi30WAEI0pUNXZLL6gPI8G18yXIznRkPsbGt5s/TWkuJT+QW4CVP0mYW/rZ3NnvPIVceYl+K7xGpmdJmchI1nOuo/H2seKgjB+CZ/STeLTzdYFSkPxTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=ri5wNZ2abX+DCbxzft42iT6d5dY5A+GOBEK6QfDwoOU=; b=bLLyZEYi0Hu639dAYZmAAggWMLgoijT0CMd8+dbxH3vIxfkDVAPDZZyvgnjCjjzxPjXnRnH2iZTp09Ml98NFtmJIbfUBtCs2pRkneqrjEh+HI0EoNGEV8VBssH+od091kD07jJw7mBAcw9cNkvhfvplAuxImRGKI9Er7FPfDO+QE1wkHzi3XH8w1meeeGTfdjqNEfxTz/Dnh+xzGqDDAGvjsktyN357D4WY40B/s87jZLSJV4Cr4Kd1L/HXFfYcMIFvGDUjraTBZV1WkMOImXuy5IRPIEoy+VUe9CXtdY9Z98aR823sbotuKGRirycl0twnM8WP3yVN8UQqju0wVSQ== 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=ri5wNZ2abX+DCbxzft42iT6d5dY5A+GOBEK6QfDwoOU=; b=caIWAISFp65uAbst5Qgn+JiotJbpsdwiGhInLIIClXsdoyQ/r8Ne6GD9dd0LqWSi2Uvm4cZpAJ6lJLNaPGy4U9lju7WZxnSjJYNtTChzNXSbQZ3wmDvRqW2ojMdJdfjOmQ4wbz9yUUT5JL7AHbX2jSdSHzQ9yqHByI7l5MJR9Lt5alhsgW//JtbndQ69zW+xnP5dy8YStgKSBgKaHehPAhiemsLRD8dyItYuspy2duHtS9R64CO/wsIbvzYiJMhflUzSan1yyoadfAAaLIrlV0dDwz0eqJygvYqVg4v2p5K6Y1tpVhCsoTVPAgc7OV6r4vWeA1GtcWJXWluH0PtTGA== Received: from MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:c3::12) by SY4P282MB2490.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:123::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.37; Wed, 21 Jun 2023 01:45:30 +0000 Received: from MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM ([fe80::1850:b5ce:dbc1:22f0]) by MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM ([fe80::1850:b5ce:dbc1:22f0%4]) with mapi id 15.20.6521.020; Wed, 21 Jun 2023 01:45:30 +0000 References: <17983-da4569fcb878672e@postgresql.org> <3505791.1687278747@sss.pgh.pa.us> User-agent: mu4e 1.4.15; emacs 28.1 From: Japin Li To: Tom Lane Cc: exclusion@gmail.com, pgsql-bugs@lists.postgresql.org Subject: Re: BUG #17983: Assert IsTransactionState() failed when empty string statement prepared in aborted transaction In-reply-to: <3505791.1687278747@sss.pgh.pa.us> Date: Wed, 21 Jun 2023 09:45:23 +0800 Message-ID: Content-Type: text/plain X-TMN: [AqmR18MNVrdf2kT0u7h90nEvpvuayAsghBb6tlt3OT4=] X-ClientProxiedBy: SI2PR01CA0020.apcprd01.prod.exchangelabs.com (2603:1096:4:192::6) To MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:c3::12) X-Microsoft-Original-Message-ID: <86h6r1oafg.fsf@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MEYP282MB1669:EE_|SY4P282MB2490:EE_ X-MS-Office365-Filtering-Correlation-Id: f7d4adbb-2ad4-48de-7f0c-08db71f9318e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cOSI9a6Zgl+Uta1LszLAuKZQEuJg4ora74ZPm2QKuGA8WOyq/hNI5QokFRSiMUUNfxC+1bNLZXzRl8sY73bJt/cyBtGVBY+0UuGR77O4Q0Gw0gbMd0iV1gdBDZC5hOjQm1PYhhkwCC8j5/uB5LOS3zWbOrORGka43uCV3Jy2H/joN4BNAi+213y/8ZJDqAcfwkhaFRJhBvroye5VYv+df0R5f05Q6sHqIYoLAI54MIEAsG1PCFLvYRBqrWL/KOaDlbR3EOb0cAt7GrQgF+YOdn24yn3wGGlVH+zGWGYd0/2yAsXja92ZsxoFx/kidbPx+oCZhEJsXJEkmk5fPQCIcqqtRsp9jJy199LhuXmcRyPTfMg3Fc++NdLeyMizRoB9dSOtFbqfc1174u51JmKEFRRpaAMq+3BhIrUjlE6rfLCF0bd8pjlYdjR3rqp+EYxDsJYEVfAgYzMJyim45tCfR8+3a3Ps1eABEL2hy3szGZhn5uuB8WFFJb/u94/k95Yr3cvXFjibgsXYxvfpWZt+to5eh8srS9grbm1yD0DaR36HyL/t37CBV38bzXg2ZRlsr99cPOCps/dlvg/luAtm1HW4n1MfBZS2q2N3H23hgjYpGNfr33z6/lnHOSjsZl9q X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?W7EPNd4MtEwvhWODoPNrZ0iqWCHIjms++ktessrWIAxXxbACwCWELlasbIgO?= =?us-ascii?Q?CWuEIk3tb8CIo1jLggMDKZQNXlqfEr+tvpRDxcwfWJ5HJlOqkN0JnCWpKPVV?= =?us-ascii?Q?pmFKED6Wg3e+8xYthq6Tc55Ebhq9ajz1UOE0Em96w2R+7jWE1bidaDrB0OTM?= =?us-ascii?Q?qi+FyTEhwfMx+PLVtDGU6K4dBLIv/tdtJyNeeBJEyAj8bMlxxWd5ZFmLO9TP?= =?us-ascii?Q?ScgQG4TVV32IiV4FB9uwVloi6BcB0BqODgTmRxF1cmnEu72C1GSbY1laJIEn?= =?us-ascii?Q?0AivGi2c4i9Aw8y7wuvU7imvnNQ5/UVRL8RC4Q9HSDHrI9sXhltC6x3tUBze?= =?us-ascii?Q?YRcLqO+dIzcaYaEkKByjFGDz9JVUurdd3ILaWPjYowWPDKwvQpd/i+QkYYrC?= =?us-ascii?Q?XW4tamU9OLb6HEZ4lEdSgRsTarkGuUmdIdFtcGyt5V1AuhyPDCdGLBZfoNpP?= =?us-ascii?Q?Aajm4IAtRXryiBNX2bBTw52pr+RN++C9sFRgtB8Jd0s6aVzWrB7e2QaPCxyL?= =?us-ascii?Q?q0sJRsfd7o5EkUNyltuf8pbCr6ThNL6FbvGS6e8wo5IqvYoKhbu40M62OdyK?= =?us-ascii?Q?NUQOtQlWwx7/Qv9GjBb0Mk7LuN8nuIsGa2yi0Lx8/cRitADVrjt8qDlTZ0On?= =?us-ascii?Q?nR8s+8nH3GxmNVX5YLQPNYbn3K0rUWSvB/V0ym9GEQZmPneib/O3uWtUBtif?= =?us-ascii?Q?Z5o6SwIeZHL6bTM6pKpLBt734dBsCIpXGYYm8cvJe7zkR9NnE50mHFpQA7Zq?= =?us-ascii?Q?1InKVjWCfsBv/u5yzG7V68bDaRIxd5QDvGj+VXSAn5QYHw3g2ocospZIccUf?= =?us-ascii?Q?lJBt1fHwMBh2iPQ2E8XHf3qQRt8cYK9HhrpTf4SsmFqgCHWi8fkmwxfISpUQ?= =?us-ascii?Q?4BeswL/EUx6nrmC7RcmtELHDXMNuv2R93NElCmheBG4YKjfHJwL9REjINvvR?= =?us-ascii?Q?gNnSg1JWiqG7pifWCk+yH4b5jSa9cYBIwj9kqAMdvorFVy7yFqAz4P1DRInm?= =?us-ascii?Q?9lbvPbP6LlyNhwhBqdJ5cy8EDoDO4cs+ePG7nZPwjBtA0TxcLHP+3vvcz/dP?= =?us-ascii?Q?Pcrs6SAE41H7tevUM75YBd3bpxgA8TPXZv+7hNiQDBUORbpWg2buE1FsswLn?= =?us-ascii?Q?zuR/h+eekakj+2p/f8E6IHJB2Wd0xd5g1FbUrZu3Vtn058bUvKQ2H99eC9wG?= =?us-ascii?Q?N7DbH1h7+uNYzddOT01xrtGIMadanHHmoB7pbg=3D=3D?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-746f3.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: f7d4adbb-2ad4-48de-7f0c-08db71f9318e X-MS-Exchange-CrossTenant-AuthSource: MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2023 01:45:30.1602 (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: SY4P282MB2490 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, 21 Jun 2023 at 00:32, Tom Lane wrote: > Japin Li writes: >> Yeah, SearchSysCache1() need in an transaction block, here is a patch >> fixed it. > > I'm not sure if anyone out there is expecting that this case should > work, but it probably did work at one time. Rather than throwing > an error, it'd be better to fix plancache.c so it doesn't fail. > I looked at the code and found that that's pretty much a one-line > fix, because there are already code paths that avoid doing anything > extra for transaction control commands (e.g ROLLBACK, which'd > otherwise have this same issue). Agreed, it's much better than throwing an error. LGTM. >> Another question, why should we need to create a plan cache entry for >> empty input? > > Well, we have to have something to support the wire protocol behavior > for this case. No doubt we could hack up postgres.c to handle it > without a plan cache entry, but it'd be far more invasive to do it > there. > Thanks for your explanation! Got it. -- Regrads, Japin Li.