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 1sgjvw-006xQd-Ne for pgsql-hackers@arkaria.postgresql.org; Wed, 21 Aug 2024 11:55:24 +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 1sgjvt-00AA2c-QG for pgsql-hackers@arkaria.postgresql.org; Wed, 21 Aug 2024 11:55:22 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sgjvt-00AA2T-CS for pgsql-hackers@lists.postgresql.org; Wed, 21 Aug 2024 11:55:22 +0000 Received: from mail-yb1-xb2a.google.com ([2607:f8b0:4864:20::b2a]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sgjvr-000izr-81 for pgsql-hackers@lists.postgresql.org; Wed, 21 Aug 2024 11:55:20 +0000 Received: by mail-yb1-xb2a.google.com with SMTP id 3f1490d57ef6-e116a5c3922so6493114276.1 for ; Wed, 21 Aug 2024 04:55:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724241317; x=1724846117; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=tUb6rktvs7vLWHFu+KDXd4XFEsFm9hvbNj9wr/IklKY=; b=AJ9siMBCXOmabn9GipdMFV/4sgcbKd8J1sVEKWskNK/WwM0QmemqqpfAWiuNzWibt5 PEJHH32Z/Suo+R4tt2j4SwvtlfxWIhLALcUOJ/LwLiaPR2VVc309HN2j0IiL2mAMpexh R7Wh4mw7oJbBWLLgn0dHzXKk/m1esLOiobY9G7ZNNLJ8VRgtsy5XKuWnR2EKu14aqnru FwmgzAeetMfHUq9S/m4IOPj7ZO8arR3fev0QlgL35Tbu7tpqk3mpzZGvLCMAZEGAXNPF 7HrOzWfQY0AdUVlcBgqj1iYpODqkqi+tvpqiYYGD4OWT/BoJaowKaCgSJBzhj6yAu2+A 9Y2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724241317; x=1724846117; h=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=tUb6rktvs7vLWHFu+KDXd4XFEsFm9hvbNj9wr/IklKY=; b=RiqFrHDSqFLJ7BeCF/D/y+/F3x50RJvM8I2bbBCYI+5+5l7hgSXNoMZF4+yOKytR5I 0TMgoYii6kEFTYiA+bjmmRcY1cW2hUeMQAyK/YCHxX46qhE5TzrG1WQ04vlX4eXuszr9 WwMQ1BibFbF33gfGFn7jCC1qGCRf8z8WmLwtuM58ccaS91Wg176+KEWF22mpjOcTckve BnD9D+meoZ6ixDlQyAkFcQ4UD61O8BXIKcyAPZ6FRx6zcmNorc70BDVFBTnF7zfiOOD2 FmN2zPUG711ItrRDp6W71j3NB+j+6+yX1CxSYoqKenu+xsOtnSVzuL1aB7LC/JgrVG1K /Gsg== X-Forwarded-Encrypted: i=1; AJvYcCUOjW5Nfy5TxPwzHxbWZZ0nWJr6etTWUjAYCo5mIiLL6aGgAoH0jin5VeFK9KQCWIZZpVNZJubp73j9cVxj@lists.postgresql.org X-Gm-Message-State: AOJu0YyLG28LRQVZEGAXBmBxysZoget1Ks964oQSKr2lbkUTo5D5gmrS 8UFZ3n2D3qec/bmhz+7tewARJBdPmLgfOdLnmY1KK01JJueAZli1czBRJ51WjmfRPqCc1WaGTz0 bqOwTQKIXEb+eUSMDbFOQeGp9IZ0= X-Google-Smtp-Source: AGHT+IEB1kNfvzXMRj9/od1NZUyY4fkNZQriBJRN0cMmuwHlZBF0EGsu8Uoto8+KVgAG7c5wvtjTKvb6xysLdiRbYps= X-Received: by 2002:a05:6902:2312:b0:e11:7176:80a9 with SMTP id 3f1490d57ef6-e1665493c09mr2273775276.26.1724241317199; Wed, 21 Aug 2024 04:55:17 -0700 (PDT) MIME-Version: 1.0 References: <171085360143.2046436.7217841141682511557.pgcf@coridan.postgresql.org> <171085858750.2046434.12246066729700037354.pgcf@coridan.postgresql.org> <909e16b4-9eda-435c-b033-8294ae4adc05@postgrespro.ru> <3a4b9c1c-3edf-4e29-9629-b4113aefb0f3@postgrespro.ru> <20240808171351.a9.nmisch@google.com> <19c1e04c-2012-4475-8460-821dd633a6ce@postgrespro.ru> <768cbb42-d3f8-45de-89ad-72861f078dc2@postgrespro.ru> In-Reply-To: From: Alexander Korotkov Date: Wed, 21 Aug 2024 14:55:04 +0300 Message-ID: Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands To: Pavel Borisov Cc: Dmitry Koval , Noah Misch , pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="00000000000038223b0620303730" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000038223b0620303730 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, Pavel! On Wed, Aug 21, 2024 at 1:48=E2=80=AFPM Pavel Borisov wrote: > On Mon, 19 Aug 2024 at 02:24, Alexander Korotkov w= rote: >> >> On Sat, Aug 10, 2024 at 6:57=E2=80=AFPM Dmitry Koval wrote: >> > > Probably >> > > QueryCompletion struct fits this purpose best from the existing >> > > parameters. Attached draft patch implements returning oid of newly >> > > created relation as part of QueryCompletion. Thoughts? >> > >> > I agree, returning the oid of the newly created relation is the best w= ay >> > to solve the problem. >> > (Excuse me, I won't have access to a laptop for the next week - and >> > won't be able to look at the source code). >> >> Thank you for your feedback. Although, I decided QueryCompletion is >> not a good place for this new field. It looks more appropriate to >> place it to TableLikeClause, which already contains one relation oid >> inside. The revised patch is attached. > > > I've looked at the patch v2. Remembering the OID of a relation newly crea= ted with LIKE in TableLikeClause seems good to me. > Check-world passes sucessfully. Thank you. > Shouldn't we also modify the TableLikeClause node in gram.y accordingly? On the one hand, makeNode() uses palloc0() and initializes all fields with zero anyway. On the other hand, there is already assignment of relationOid. So, yes I'll add assignment of newRelationOid for the sake of uniformity. > For the comments: > Put the Oid -> Store the OID > so caller might use it -> for the caller to use it. Accepted. > (Maybe also caller -> table create function) I'll prefer to leave it "caller" as more generic term, which could also fit potential future usages. The revised patch is attached. I'm going to push it if no objections. ------ Regards, Alexander Korotkov Supabase --00000000000038223b0620303730 Content-Type: application/octet-stream; name="v3-0001-Avoid-repeated-table-name-lookups-in-createPartit.patch" Content-Disposition: attachment; filename="v3-0001-Avoid-repeated-table-name-lookups-in-createPartit.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m03so0gx0 RnJvbSAzMmQyZmIwYTY1NjYzMjA0ZTJkOGY4ZWZiMzkyMDYzYWZhMTc0ZDg1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgS29yb3Rrb3YgPGFrb3JvdGtvdkBwb3N0Z3Jl c3FsLm9yZz4KRGF0ZTogU2F0LCAxMCBBdWcgMjAyNCAxNjoxOToyOCArMDMwMApTdWJqZWN0OiBb UEFUQ0ggdjNdIEF2b2lkIHJlcGVhdGVkIHRhYmxlIG5hbWUgbG9va3VwcyBpbgogY3JlYXRlUGFy dGl0aW9uVGFibGUoKQoKQ3VycmVudGx5LCBjcmVhdGVQYXJ0aXRpb25UYWJsZSgpIG9wZW5zIG5l d2x5IGNyZWF0ZWQgdGFibGUgdXNpbmcgaXRzIG5hbWUuClRoaXMgYXBwcm9hY2ggaXMgcHJvbmUg dG8gcHJpdmlsZWdlIGVzY2FsYXRpb24gYXR0YWNrLCBiZWNhdXNlIHdlIG1pZ2h0IGVuZAp1cCBv cGVuaW5nIGFub3RoZXIgdGFibGUgdGhhbiB3ZSBqdXN0IGNyZWF0ZWQuCgpUaGlzIGNvbW1pdCBh ZGRyZXNzIHRoZSBpc3N1ZSBhYm92ZSBieSBvcGVuaW5nIG5ld2x5IGNyZWF0ZWQgdGFibGUgYnkg aXRzCm9pZC4gIEl0IGFwcGVhcnMgdG8gYmUgdHJpY2t5IHRvIGdldCBhIHJlbGF0aW9uIG9pZCBv dXQgb2YgUHJvY2Vzc1V0aWxpdHkoKS4KV2UgaGF2ZSB0byBleHRlbmQgVGFibGVMaWtlQ2xhdXNl IHdpdGggbmV3IG5ld1JlbGF0aW9uT2lkIGZpZWxkLCB3aGljaCBpcwpmaWxsZWQgd2l0aGluIFBy b2Nlc3NVdGlsaXR5KCkgdG8gYmUgZnVydGhlciBhY2Nlc3NlZCBieSBjYWxsZXIuCgpTZWN1cml0 eTogQ1ZFLTIwMTQtMDA2MgpSZXBvcnRlZC1ieTogTm9haCBNaXNjaApEaXNjdXNzaW9uOiBodHRw czovL3Bvc3Rnci5lcy9tLzIwMjQwODA4MTcxMzUxLmE5Lm5taXNjaCU0MGdvb2dsZS5jb20KUmV2 aWV3ZWQtYnk6IERtaXRyeSBLb3ZhbAotLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21k cy5jIHwgMyArKy0KIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAgIHwgMSArCiBzcmMv YmFja2VuZC90Y29wL3V0aWxpdHkuYyAgICAgICB8IDYgKysrKysrCiBzcmMvaW5jbHVkZS9ub2Rl cy9wYXJzZW5vZGVzLmggICB8IDEgKwogNCBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVj bWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRleCBkZmJhNWYzNTdi OC4uYmNjMmQ5YWUwYjMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21k cy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC0yMDM4MSw2ICsy MDM4MSw3IEBAIGNyZWF0ZVBhcnRpdGlvblRhYmxlKFJhbmdlVmFyICpuZXdQYXJ0TmFtZSwgUmVs YXRpb24gbW9kZWxSZWwsCiAJdGxjLT5vcHRpb25zID0gQ1JFQVRFX1RBQkxFX0xJS0VfQUxMICYK IAkJfihDUkVBVEVfVEFCTEVfTElLRV9JTkRFWEVTIHwgQ1JFQVRFX1RBQkxFX0xJS0VfSURFTlRJ VFkgfCBDUkVBVEVfVEFCTEVfTElLRV9TVEFUSVNUSUNTKTsKIAl0bGMtPnJlbGF0aW9uT2lkID0g SW52YWxpZE9pZDsKKwl0bGMtPm5ld1JlbGF0aW9uT2lkID0gSW52YWxpZE9pZDsKIAljcmVhdGVT dG10LT50YWJsZUVsdHMgPSBsYXBwZW5kKGNyZWF0ZVN0bXQtPnRhYmxlRWx0cywgdGxjKTsKIAog CS8qIE5lZWQgdG8gbWFrZSBhIHdyYXBwZXIgUGxhbm5lZFN0bXQuICovCkBAIC0yMDQwNCw3ICsy MDQwNSw3IEBAIGNyZWF0ZVBhcnRpdGlvblRhYmxlKFJhbmdlVmFyICpuZXdQYXJ0TmFtZSwgUmVs YXRpb24gbW9kZWxSZWwsCiAJICogT3BlbiB0aGUgbmV3IHBhcnRpdGlvbiB3aXRoIG5vIGxvY2ss IGJlY2F1c2Ugd2UgYWxyZWFkeSBoYXZlCiAJICogQWNjZXNzRXhjbHVzaXZlTG9jayBwbGFjZWQg dGhlcmUgYWZ0ZXIgY3JlYXRpb24uCiAJICovCi0JbmV3UmVsID0gdGFibGVfb3BlbnJ2KG5ld1Bh cnROYW1lLCBOb0xvY2spOworCW5ld1JlbCA9IHRhYmxlX29wZW4odGxjLT5uZXdSZWxhdGlvbk9p ZCwgTm9Mb2NrKTsKIAogCS8qCiAJICogV2UgaW50ZW5kZWQgdG8gY3JlYXRlIHRoZSBwYXJ0aXRp b24gd2l0aCB0aGUgc2FtZSBwZXJzaXN0ZW5jZSBhcyB0aGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CmluZGV4IGMzZjI1 NTgyYzM4Li5iN2Q5OGViOWYwMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0u eQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC00MTM4LDYgKzQxMzgsNyBAQCBU YWJsZUxpa2VDbGF1c2U6CiAJCQkJCW4tPnJlbGF0aW9uID0gJDI7CiAJCQkJCW4tPm9wdGlvbnMg PSAkMzsKIAkJCQkJbi0+cmVsYXRpb25PaWQgPSBJbnZhbGlkT2lkOworCQkJCQluLT5uZXdSZWxh dGlvbk9pZCA9IEludmFsaWRPaWQ7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsKIAkJCQl9CiAJCTsK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jIGIvc3JjL2JhY2tlbmQvdGNv cC91dGlsaXR5LmMKaW5kZXggYjJlYTgxMjVjOTIuLjI5ODY4ZWQwNGM1IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYworKysgYi9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHku YwpAQCAtMTIyNSw2ICsxMjI1LDEyIEBAIFByb2Nlc3NVdGlsaXR5U2xvdyhQYXJzZVN0YXRlICpw c3RhdGUsCiAKIAkJCQkJCQltb3Jlc3RtdHMgPSBleHBhbmRUYWJsZUxpa2VDbGF1c2UodGFibGVf cnYsIGxpa2UpOwogCQkJCQkJCXN0bXRzID0gbGlzdF9jb25jYXQobW9yZXN0bXRzLCBzdG10cyk7 CisKKwkJCQkJCQkvKgorCQkJCQkJCSAqIFN0b3JlIHRoZSBPaWQgb2YgbmV3bHkgY3JlYXRlZCBy ZWxhdGlvbiB0byB0aGUKKwkJCQkJCQkgKiBUYWJsZUxpa2VDbGF1c2UgZm9yIHRoZSBjYWxsZXIg dG8gdXNlIGl0LgorCQkJCQkJCSAqLworCQkJCQkJCWxpa2UtPm5ld1JlbGF0aW9uT2lkID0gYWRk cmVzcy5vYmplY3RJZDsKIAkJCQkJCX0KIAkJCQkJCWVsc2UKIAkJCQkJCXsKZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNl bm9kZXMuaAppbmRleCA4NWE2MmI1MzhlNS4uNTc3YzRiZmVmNzYgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5v ZGVzLmgKQEAgLTc1NCw2ICs3NTQsNyBAQCB0eXBlZGVmIHN0cnVjdCBUYWJsZUxpa2VDbGF1c2UK IAlSYW5nZVZhciAgICpyZWxhdGlvbjsKIAliaXRzMzIJCW9wdGlvbnM7CQkvKiBPUiBvZiBUYWJs ZUxpa2VPcHRpb24gZmxhZ3MgKi8KIAlPaWQJCQlyZWxhdGlvbk9pZDsJLyogSWYgdGFibGUgaGFz IGJlZW4gbG9va2VkIHVwLCBpdHMgT0lEICovCisJT2lkCQkJbmV3UmVsYXRpb25PaWQ7IC8qIE9J RCBvZiBuZXdseSBjcmVhdGVkIHRhYmxlICovCiB9IFRhYmxlTGlrZUNsYXVzZTsKIAogdHlwZWRl ZiBlbnVtIFRhYmxlTGlrZU9wdGlvbgotLSAKMi4zOS4zIChBcHBsZSBHaXQtMTQ2KQoK --00000000000038223b0620303730--