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 1rPcjb-00Cx0a-6H for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Jan 2024 06:15:40 +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 1rPcja-001fvg-9Y for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Jan 2024 06:15: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 1rPcjZ-001fvQ-8U for pgsql-hackers@lists.postgresql.org; Tue, 16 Jan 2024 06:15:38 +0000 Received: from mail-me3aus01olkn2181.outbound.protection.outlook.com ([40.92.63.181] helo=AUS01-ME3-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rPcjW-0024G4-51 for pgsql-hackers@postgresql.org; Tue, 16 Jan 2024 06:15:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Aw3q+i0/inKg0gSHq3MOtmcRCI2hfbqr0PFQGVjp7bs1VsD7hm+Iv76J3yq5QcjmzieVzGgbfnxWP/LIC/HfTkvHO85roGEJeFFtxQmUmtYlic8gI34q+8H/tWR0vxi7I0oASWsp/dfOB+LB0X71Z3zXwSB0Ik5jFTTA4hMHdwjNgUur+LFyhVzXNvbpfTwfz8605omnS1QPvS7u1hnskvGUS2N+JgS2kpeebCqvKb1lhkQlslOxmGrfLJnwp1bzoagw6TwpVU306F8dbTI8H0N0et8knYoD/XshyUkiPS2ncWkdXRq//sl9dah0NkRryWklM8xj/byqX/wgUzKe/w== 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=7mN2h/4xpThyfkhs5f8DGQd/hJeA8OGL6T/zrkFy9zU=; b=lMOshceQb+OmBxKlZaKuyrpHr7wVskntpVE3sV0vyv1571XXw4ptR9k19ESBYV43hgE2lggYv82OXUSMLvxreMYuS1ZAVHgK3O6ova5fFoWJBmFAjgzEvD10pXO3dP4ZPlgwwcReetbq7LC3pFFJhXsR1y+gPK5TlyYs7yFKeLL9ZJb3QpVhlwjdsU4vp1+DTqMdlb1Akrk30FRHmpJGpQEOLu9v0qfUbW1YYy8x6QubxUeaTPCRirKksxvMMIgXcKjoXS83Tl9kWx4TnrJupgaIqw6b8wTRknlJ37rwucs0n49ktSG85rAsi2powhzhm1qvMVLwF/AhS113wqjnIg== 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=7mN2h/4xpThyfkhs5f8DGQd/hJeA8OGL6T/zrkFy9zU=; b=ixhSvxt5x3Um2nys4OTkrgTAz3v50x9wuRwTWB17Qsd+ZwWBDqP07jU29yucsJxJKbx1Y7WUDhz5m/m/drrqyGGq5FhVBt+/WGyPASiQ4eJmHt92Bghu52h5fwGLAe9AfiX2cGttuiqOcDfrptEMdrHFgcScvVHj81O03xDC9FIRyO9R7e7Tm1R3BcJxu3Y42I9QNyFug5j8hoey+TV4yz0U1fBR6T0bbUE3qQvFhMXikJYgF3DlbWf2DDtcpcfnRfnQr5Og+3JE/cOCZtSjxc2MwHJ4xJM8dNeCGAl9B65FEA7y3ZKZm5rnjvb8SE3Dq2Z9ZCa3zDQ931iML8FRqw== Received: from ME3P282MB3166.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:147::21) by SY4P282MB0794.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:a6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.28; Tue, 16 Jan 2024 06:15:27 +0000 Received: from ME3P282MB3166.AUSP282.PROD.OUTLOOK.COM ([fe80::acd1:1c3a:47d3:276b]) by ME3P282MB3166.AUSP282.PROD.OUTLOOK.COM ([fe80::acd1:1c3a:47d3:276b%5]) with mapi id 15.20.7181.027; Tue, 16 Jan 2024 06:15:27 +0000 References: User-agent: mu4e 1.4.15; emacs 28.1 From: Japin Li To: Bharath Rupireddy Cc: Michael Paquier , Jelte Fennema-Nio , Aleksander Alekseev , Pgsql Hackers , =?utf-8?Q?Fabr=C3=ADzio?= de Royes Mello , pgsql-hackers@lists.postgresql.org Subject: Re: Add test module for Table Access Method In-reply-to: Date: Tue, 16 Jan 2024 14:15:21 +0800 Message-ID: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-TMN: [16K3sucs5aojI3yaidIFWvUIfNgMEkPfcdZPElB7CGs=] X-ClientProxiedBy: TYCP286CA0177.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:3c6::20) To ME3P282MB3166.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:147::21) X-Microsoft-Original-Message-ID: <874jfd3iti.fsf@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: ME3P282MB3166:EE_|SY4P282MB0794:EE_ X-MS-Office365-Filtering-Correlation-Id: 3d6fbe63-adfe-4edd-90b4-08dc165a8819 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jy2Vk2d0RGu/P+2rtv/RPa0W5XjyZ9/DjpTGuRFpCl2t+S9sUsjdyES9vczz0CU1R7shnJ+OJKBvKE1w0IsoWqIr/ja6Bv2eA0sfuBZEy4V5FNEOvvMMxHElhz2AAuy4wc+9b0arCM/sIAHxzndJxybCrD9tjuLDrz9pCZkRLIQtpVZDbujYMr0WrqNi/qQuGCJWpyKK/QIhR1Z51vt6ywoPd9gPmL2uphe+Z1C2rC2dhCvMX5YKFEqXob+0cfXpbT3YQ84MoU4+/pD6GjcAuU3fpl9qXhXDtu+Jxu+leU729go4aeErfr+0Bf7WrnHOFals60GOdpaj3AnIeSeYpNi3QFxrV8uYAj/e7A5upDJvtZIunS8W60KzftDdcCMsWs+q+L4MGVkbRFPX2L/g+uFwlqIKmVHx8H1MNGB/1PvS24g/OPIdyZulIP4UpOtWrAr9Zo4Ttgqjpg7/iFoK65w2tzpIZo8g3gsEsNA6IiIvUfUkbcFElokn8Nx858X1fcC4qEGzPiSJISbl1ANhPzZxwdr6nt4k/yzWtzoOBiOE8IjOte1V5LCsHa1nKsDS X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?M0dkUGtqaVk1ODNqbHF0RjBMS1hHbmZraUJDQytFNTVXdmF0TUpvQml1VkQ2?= =?utf-8?B?TWh0dWpMaGV1M0JXMm5tS3JCbGQ2YkZJY0lsTEZoZHdBOXpLSzh6d2ZJQmdM?= =?utf-8?B?UVFuR0ZISTREOFhNOXhmaFRISFEwOEk2RE5ORW5QMTNVRlpUNHVBSmxhUXdm?= =?utf-8?B?WS8rajRBMWlLa3liZndwZ2ZzdnJGN2wyV2ZtRmJKa3J3ZlJUd1NRd05Rcmls?= =?utf-8?B?cmx5M0d1dlg1Zk5zdCtlMUhpMUpITHc3aG1BRGplbnFjQmE2NE05Qy93NUtL?= =?utf-8?B?U3lFbFIvMnVyanF5cE44eisyZ3cxRzZHL01xVUhpS29vTUk4Q1BrMkVBMTc4?= =?utf-8?B?ZDRyR0MvWTROSmRxM1ZlYjNEeGJ0ekFDNml6VmRHeHdKaXMwNk81bnEzYWNz?= =?utf-8?B?SXZuYXdpTGMyRUVOMHhTWUsxL1BZQ3E1d0RLN1labWE2RDdHQlJpTmpzQzF5?= =?utf-8?B?b3Q0eUJudE1lazlndm5xRkFkRWRSUDY5UzVvNW01UFJNM2pMa2xNVVFzaXJo?= =?utf-8?B?cCtKdVVVSjIwWjhKcnhBQ3A5R3kxdU9UQ1JCdkQwTmJVWVhHaWNDQUh4cVRm?= =?utf-8?B?VU90YzJzUXQza3M4T2Vrc3N5ZzRxajcwbFV1bVFLSEJDRm1pVU9jRGVsL1B5?= =?utf-8?B?NEcxRklod0Z5bjJkUUh2a2xGVWx0S0QrRStpNmt4ZHhaRjlkakpYK0JrQWF5?= =?utf-8?B?QXdVbkxaMDV6NjJhRkE4eWVZVEpwR0FKWHBmUEphTVQwbll0ckR5ZUxiOVkx?= =?utf-8?B?akR3YlV1VmhHZEFES21CNzJxQUNVNDRCTGxiTWJtMjR2MUFlNC91UjlvaXVw?= =?utf-8?B?NGkwOWl2MXZyTXlQQTRvZ3ptYTlSbEwvaVVOZWYzMFJRazlaK204TXpHNTZY?= =?utf-8?B?T1cybzFuQnJMYWxBUDFQRjVPWlN4MFZsNGtldzQrRGN6Q1ZzTnh4QmpYY3Qz?= =?utf-8?B?b3dDSDJSNkhLb1hUUFJHVk9WT3V2UWxUQ3dGUzNlSitzbXFsUXFJckZNUXFl?= =?utf-8?B?cStJVkNSV21BbjdvTC9tVlgxLy9wUSt2bHE2d2szN2ozcmQzNitqYjFZWHda?= =?utf-8?B?RFZRcEt4WXZFNjFEcUxnVDhteCtsSldTUWsyOER5K3VVN3o2d3o0RFNjalhZ?= =?utf-8?B?b3ArRzlPZEtrOXVDeC9yMGcvckxLZHltcTdKRkcyQm9hRTIwTC9tU3kyNkxO?= =?utf-8?B?ekE5RHY0ODdhV2gzYmVzUmRkVjVIWkJRdEFMN0hrc0wzTm8xRVQ3dWZPVGdy?= =?utf-8?B?dHg3VjBzSWpxUk5IWWllc1BOMDU2aEphbFRBOFR4WnVFQ2JRdWRabTF5WlBu?= =?utf-8?B?dzY3VGVoK3BkYW4vUlNhSTN3UVRVbUVPY280S2JiUXJiQlJCdm51UXhpT1dy?= =?utf-8?B?dW84M3hianhPT2x5ZVV6QTMwUnp5Q1ZWY0l3RjRnSUF1L3ZLUTFGRzg0NEFY?= =?utf-8?B?cEJUMHlodzJhdDlPQ0JhcEV5YXE0VTZXakpRVjFwRTN5VUYrM1ZYYlhvL0w1?= =?utf-8?B?eTliNHpJa2MvdXVJclpTZ3JJaDNyTGRxMDg4ZVBKWkNPT1BRcW9ZajVPZzBU?= =?utf-8?B?UzM4QUlYbHdRcXJMbkY0WlBiZnB2UHE2LzMvaWdkT1c2WkdxRzhneEN3bnpU?= =?utf-8?B?Q1FMR0xGdWtTYld3QnR6VEk2bEVVWWc9PQ==?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-746f3.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 3d6fbe63-adfe-4edd-90b4-08dc165a8819 X-MS-Exchange-CrossTenant-AuthSource: ME3P282MB3166.AUSP282.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2024 06:15:27.3113 (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: SY4P282MB0794 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, 16 Jan 2024 at 13:15, Bharath Rupireddy wrote: > On Tue, Jan 16, 2024 at 10:28=E2=80=AFAM Michael Paquier wrote: >> >> Hmm. I'd rather have it do something useful in terms of test coverage >> rather than being just an empty skull. >> >> How about adding the same kind of coverage as dummy_index_am with a >> couple of reloptions then? That can serve as a point of reference >> when a table AM needs a few custom options. A second idea would be to >> show how to use toast relations when implementing your new AM, where a >> toast table could be created even in cases where we did not want one >> with heap, when it comes to size limitations with char and/or varchar, >> and that makes for a simpler needs_toast_table callback. > > I think a test module for a table AM will really help developers. Just > to add to the above list - how about the table AM implementing a > simple in-memory (columnar if possible) database storing tables > in-memory and subsequently providing readers with the access to the > tables? That's a good idea.