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 1l1PQU-0006Nv-Cm for pgsql-hackers@arkaria.postgresql.org; Mon, 18 Jan 2021 07:58:14 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1l1PQT-0003DR-CC for pgsql-hackers@arkaria.postgresql.org; Mon, 18 Jan 2021 07:58:13 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l1PQT-0003DI-3r for pgsql-hackers@lists.postgresql.org; Mon, 18 Jan 2021 07:58:13 +0000 Received: from mail-le1ger01on0041.outbound.protection.outlook.de ([51.5.72.41] helo=GER01-LEJ-obe.outbound.protection.outlook.de) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l1PQR-0007ow-BU for pgsql-hackers@postgresql.org; Mon, 18 Jan 2021 07:58:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WdGC/GumqqOuHhplyjHqACUO4qnfVJ0Q9IERYJF5Z7Gc9ZOmvv3zINnOm9o9SYJs55zAFsf8JKpTWhXlThLzA8TyCgTVkCnd3OE3GP4tgEdBHCefEjWBEOYj3CJ0w37kd8GqrQCuyZEjnBbN3vGxW3FtTTm5jbOkHjgzMhBNiyjFXGHq1HHNxvtqx3W0PMfMJbi0BfYJULHc+1l31qGkDVkHm/pEX9S89etqkzFcCfOqnIbheVbnwsJsXR5rvg65+xJ7VUi5uh3XaVpuV136zPTDikG+hpc3we4V47UMPIc/Pge6/BLYdOMZ4igHLkRT4KlZgqxhbEwsrpyUslzr8A== 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-SenderADCheck; bh=yN2OIILW49xD49r1u3a5OdDuKBtSm0CDCIswZEuRrKY=; b=N59dvTT7C2N0uqgY/jJMy+IE7EYM9FA4FbVHHF76P890B1GXDAtqXzF7TuBFwj7S5K6FSUbY30aAObaBCmu+ZU/VudKPQ91onqP95bniUnixeb58N7hrvAmplyWc7flTi1jRfqBefZ27j4QZ6sRDOr3JmqrEYaKDLNfcBFp/KjsFMMwKpsofCI+oCtdn3ttUponqFVlKo6SwTWUmNfGovkGOZ8uHCPQ9mlocizGTibJQ3fqPpCCelsNaNxzOrbCN5LxnKtL8YaSYmWR3Jpf4jDzmiuyfsOV5a2vsfbC2qmAb/NRyHhzbNF34jzt32ZyyJmep2GDqVkykT2BZnh4i6Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=swarm64.com; dmarc=pass action=none header.from=swarm64.com; dkim=pass header.d=swarm64.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=swarm64hive.onmicrosoft.de; s=selector1-swarm64hive-onmicrosoft-de; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yN2OIILW49xD49r1u3a5OdDuKBtSm0CDCIswZEuRrKY=; b=tEolXJt9UY0/8QiuI+GYZtMkctRSHfslU3PpyMn3ibCs0qpT5kmU/+rN6c4p3maLeoxbhWDi6qOtIq0C1HQM9w7WZ2mNg/Xi0cABJA7RjOOfRKulZNlx3iDknT8OuBoaWIizBNNPq5UnGvaT8dhSrDriHO4BCgT8/zpqO6p1HMk= Authentication-Results: vmware.com; dkim=none (message not signed) header.d=none;vmware.com; dmarc=none action=none header.from=swarm64.com; Received: from FRXPR01MB0456.DEUPRD01.PROD.OUTLOOK.DE (2a01:4180:c010:22::14) by FRXPR01MB0071.DEUPRD01.PROD.OUTLOOK.DE (2a01:4180:c010:20::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.3; Mon, 18 Jan 2021 07:58:09 +0000 Received: from FRXPR01MB0456.DEUPRD01.PROD.OUTLOOK.DE ([fe80::1031:13bd:9e32:7655]) by FRXPR01MB0456.DEUPRD01.PROD.OUTLOOK.DE ([fe80::1031:13bd:9e32:7655%4]) with mapi id 15.20.3763.014; Mon, 18 Jan 2021 07:58:09 +0000 Subject: Re: New Table Access Methods for Multi and Single Inserts To: Jeff Davis , Bharath Rupireddy Cc: Justin Pryzby , PostgreSQL-development , Andres Freund , Paul Guo References: <20201217050522.GU30237@telsasoft.com> <20201217204442.GX30237@telsasoft.com> <20201218175439.GA30237@telsasoft.com> <20201221074725.GF30237@telsasoft.com> <20201225023958.GW30237@telsasoft.com> <96eaa813-4ad6-e80a-04a4-cc8082d356dd@swarm64.com> <508af801-6356-d36b-1867-011ac6df8f55@swarm64.com> From: Luc Vlaming Message-ID: <2281baee-081c-7360-cb51-4f16e1e91d8c@swarm64.com> Date: Mon, 18 Jan 2021 08:58:08 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [2a02:8109:a080:13f4:56ee:75ff:fe80:b7f2] X-ClientProxiedBy: FRXPR01CA0029.DEUPRD01.PROD.OUTLOOK.DE (2a01:4180:c010:14::39) To FRXPR01MB0456.DEUPRD01.PROD.OUTLOOK.DE (2a01:4180:c010:22::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2a02:8109:a080:13f4:56ee:75ff:fe80:b7f2] (2a02:8109:a080:13f4:56ee:75ff:fe80:b7f2) by FRXPR01CA0029.DEUPRD01.PROD.OUTLOOK.DE (2a01:4180:c010:14::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.6 via Frontend Transport; Mon, 18 Jan 2021 07:58:09 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1a167624-001f-4a34-0e55-08d8bb86cc12 X-MS-TrafficTypeDiagnostic: FRXPR01MB0071: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oI+Xjzf7Mr9/hMzJGCyOQ6rsuPxZAaOzzP8Hj37uCZ8OnQBkukSFjqfSuhh28x5QOVyISpDQcb5uDQ/DUyJvtb8UdGCPDajWL23pL+YcOiDNWHpza8BeKocuGXBcZHMzQfr4XDarM2iPagzl/DqtarH3P0PiJxV5ixTJmYqs7SloMfWL7ZuclCBkDOFHE0sL3wEftSKswbbHZ+gk+kVXlUSLSYtaKqyrfpz3m+HvExgzkzeZotMJSGZ84DBMIlldv+IUIsacXBdkd8zXpCvxYPaDRG0+cvYE2a38lzMLSPfU/1NYnbocT1DmdNUFQI7W7nzCB3hCK6g/wnzvdSN7/Dtj4wyRms39FmWsOLoYPyM/6SDiooMSdPHKPIx7575mr4icH06feST6hRnhTvFWw84HUbdw+1deEda+iSDjyKvFPlqp/rUlIy1Xs6e/5uQA X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:FRXPR01MB0456.DEUPRD01.PROD.OUTLOOK.DE;PTR:;CAT:NONE;SFS:(39830400003)(346002)(396003)(136003)(376002)(366004)(8676002)(316002)(66476007)(186003)(54906003)(66556008)(52116002)(110136005)(2906002)(478600001)(16526019)(5660300002)(8936002)(4326008)(86362001)(53546011)(66946007)(31696002)(36756003)(31686004)(2616005)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?d244VGF5NXpTRzE2RVU3anV2S1lmQXdpcDl5U0p0aVdjN0lQSDYxRTNMUERt?= =?utf-8?B?ZU9FNm0vVXRmOEZpeTMxaFc4Ukl5YmdhcVU2TlpkeTB4ZzJQVDdjS1F6Z3No?= =?utf-8?B?V29wRjg2cFFtK2JaVXNOZVFHdzZrbXpNUnQwS25OL0paQ1B3R2Fodks4emI4?= =?utf-8?B?VklST0tKZDkyQlRKUmdsWHUzNHFLellqWkZMejdsUXNQZnZPVmJyMkpuc1Ni?= =?utf-8?B?U2w3SGFYQ1MySHVUS0ZRc25ZYW9LTkRMT3U0dXVia29zTVlPK2x6SVhVZmJL?= =?utf-8?B?N2pFdThvN3ByUzA3VTRhSDZmS2RXaE52SFhkVitiSHFJS2cyV245SGk2UjZL?= =?utf-8?B?RzNNYUVoSzg1ODRXNVNpVnJXSktOdjUxMHBQNHZxb2xNdkZoeVBoNmluYUw3?= =?utf-8?B?bVdiOVl2N0Qzb2Q1d29IWmYzeWpjZ1pkckJpOW55cEx5TnFndmVhbGpkMVBW?= =?utf-8?B?MGI3S0pvbjVDTHlTaVlGZWFxYWtjYVo2SDdvWVhxbzFYOWZTYm1mWmNmaHdv?= =?utf-8?B?bUcvVmtUWWxUVnlmamRodm9vRm5NaDl1aUNHVy81bkFJU2l0dW1TNEZocWlB?= =?utf-8?B?L1o2K3d0Q0pkS1lrbERTL0VwR0RKNnQ0SW5obWY5S0VsdzU3Tk5vTmtUdWl6?= =?utf-8?B?VWl4RUxLYlc3aUs5cmIwYVR1cm9KV3g3dElrM1BNNWRXQU8rSXdsM1k1MUZQ?= =?utf-8?B?a3RKTkpXdU5Fdy9weXV6SFFZdFJ4ckZ0Wlpodm94UDZvRzIyb3ZRT3ZvY0pZ?= =?utf-8?B?eDhnYUMwaUZzeExXcTF4UFlYR0QyTmM3QTB1Q1VLTUovZzlVc2tzMm1mdkh4?= =?utf-8?B?MUJacTJyb3BaMGN4dU1YbW1iQ1grbUFmS0gzQXdJY0J6R0p0dEtOK2hnQ1Vj?= =?utf-8?B?N1VsTGhvMDk2UGc4MWtQejg1L3phSFY0Tk5uWFhOOFJ5WEVXN3pZd2lYVFpH?= =?utf-8?B?R3BYQkhHUXBweVhIWlFPU1grb0JURHc4R1ZhUGRWaStVdGJPV0k5NWdEMFEx?= =?utf-8?B?ZEJNWjdHQ2lpNDh3Z09ib3R6ZURRUCs1eXNCZWg1NGNrMHBzamFSRFUyL3Bl?= =?utf-8?B?OXpDUGxxbDdpcVJKeGFRVDdHV1AvL2J4bDA0VGlKKys1Z3MvelI4Nkh0U1pv?= =?utf-8?B?UlZYZ3VHa213bHR2ZmhMY3N1RkNxbmtWZUsrOU83dEE3dDZtM1dKWHhjN1Np?= =?utf-8?B?UmJDd3pYbld3QVVRS3liOGxkS1ByWGE4TjdQN0FXbVQ0SnNKQmhFdis2dTZk?= =?utf-8?B?eFVrL2lWNTFCbGdPUnBvLzg1TUJRZ1c3cGFpYVk4M2x2UTlwTFo5bXl6NXla?= =?utf-8?B?TnA4d0V0azk4MDVnZlZDZ1VnMVJCcFRoczhpTmdqVjB6Nm80VDljZUp6bng3?= =?utf-8?B?VzVyblA1Q0I2Mjl0N2hIbEx0dDBtRldLTlpGUmtYQnR6MHhUZzVzRE96Ukcr?= =?utf-8?Q?qq/6evw/?= X-OriginatorOrg: swarm64.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1a167624-001f-4a34-0e55-08d8bb86cc12 X-MS-Exchange-CrossTenant-AuthSource: FRXPR01MB0456.DEUPRD01.PROD.OUTLOOK.DE X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2021 07:58:09.7791 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 6a3a733d-0e05-4774-8f9e-4fc6a12face6 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 8JuhAl+T6GCvst0REEV9P0G097TyzIHACLQboKU22fK+4XBOdQqRjYA9bUj2RZxX X-MS-Exchange-Transport-CrossTenantHeadersStamped: FRXPR01MB0071 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On 17-01-2021 00:04, Jeff Davis wrote: > >> If we agree on removing heap_multi_insert_v2 API and embed that logic >> inside heap_insert_v2, then we can do this - pass the required >> information and the functions ExecInsertIndexTuples and >> ExecARInsertTriggers as callbacks so that, whether or not >> heap_insert_v2 choses single or multi inserts, it can callback these >> functions with the required information passed after the flush. We >> can >> add the callback and required information into TableInsertState. But, >> I'm not quite sure, we would make ExecInsertIndexTuples and >> ExecARInsertTriggers. > > How should the API interact with INSERT INTO ... SELECT? Right now it > doesn't appear to be integrated at all, but that seems like a fairly > important path for bulk inserts. > > Regards, > Jeff Davis > > Hi, You mean how it could because of that the table modification API uses the table_tuple_insert_speculative ? Just wondering if you think if it generally cannot work or would like to see that path / more paths integrated in to the patch. Kind regards, Luc