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 1sgke6-0079lP-FR for pgsql-hackers@arkaria.postgresql.org; Wed, 21 Aug 2024 12:41:02 +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 1sgke4-00AZiC-K6 for pgsql-hackers@arkaria.postgresql.org; Wed, 21 Aug 2024 12:41:01 +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 1sgke4-00AZi4-8o for pgsql-hackers@lists.postgresql.org; Wed, 21 Aug 2024 12:41:00 +0000 Received: from mail-yb1-xb2c.google.com ([2607:f8b0:4864:20::b2c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sgke1-000m5L-1W for pgsql-hackers@lists.postgresql.org; Wed, 21 Aug 2024 12:41:00 +0000 Received: by mail-yb1-xb2c.google.com with SMTP id 3f1490d57ef6-e05f25fb96eso7006296276.1 for ; Wed, 21 Aug 2024 05:40:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724244056; x=1724848856; 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=so0Hqb/PrVZpkHBFE7FZts41Q/mWNPT0cmnRBFvH2dY=; b=g3g6oPRmSvEuM6P+zDZYzHrlc7ShKfccBFUlJjY0Y223GtLlAKNx/+YsgTu19uA+Qa cxIVJ2g16sfhEDwYjnaGtmepaj/AZ2igdVWkDUHr2RXwpDCG90iuhejx3cgbNLGqLXPx LLBSQg6GSU0hZXjXzK3EJ5nR/0G6wGNdfE4F9dREQJcOmB9ZZU/Bv1slnu0f6rcTXloH ICUqIRvxR9XkUmDjcl1grA7mIMMLQwi2BlCBbYwM/AbfGYzvobrb6Nu/BzsWHpgH4gJr ozHwuCCbgHIMj1cbRmdbqdJSaiLEMpRJYQsaftZ7ufqg5333i7BXegA4KS8e1X2xciJb CBMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724244056; x=1724848856; 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=so0Hqb/PrVZpkHBFE7FZts41Q/mWNPT0cmnRBFvH2dY=; b=crlapRRf7EN0YDoV33bNl9/ZoJcfL0vEdM8JVGlZ95TmNG/JqCjo4G9tZNd4N4AqU3 dO61n5QKF9vyWiKNYgPTwyDeWEic3AIeV6BtrFd3H0qgssygKe1qZw86mQ5wnjurpjub TnsaviR/ff9G1uvUn+Z2FFlHp0QsLJ0IJrHSNmMuqlbe/rrhu2SsFpCTQu+Nx6LZ18Cy Zr8vvdQukukiIKBa9qPWFry8Ks8HsQkOLehjrlbW9aHpxllGNNpqgoz8SfSu/NMea1ZI wsYI7dy44G8sWtgKfBYuCnLkTZD3cPQM0cuUFli4AiWXP0M4yaOCS7kB/Wip/BLO7KRM Mqyg== X-Forwarded-Encrypted: i=1; AJvYcCW366O7e4usHujDYAVKwY9E7kX5wy3U9wAumCg88ohBpG5dvBQZ7sBSTO8T/g+R6iBlZbQWCAjwB9Ca+Y10@lists.postgresql.org X-Gm-Message-State: AOJu0Yz4lKNZLQmwSPNXGxufaQEEzzrsXKzRlKjiRyziUsou4H3QHhbv +ipaGLmMC4Q/COfUBMfAbMC+rKPnKE+jBMzW+eK3dtw4Qr/0q7tsbi3PZYUBTwRMRbMDjIB7ZuE WMtAQV2zzBKyK0eEBt1vYVBj804s= X-Google-Smtp-Source: AGHT+IFdIjparQ+V3MWogWdsjDae4LvWzwkKoqlOmtsxE2faby5LznaXh5ppzacwgad417dPkZYyCVNwYBqr0NC0ic4= X-Received: by 2002:a05:6902:706:b0:e0b:db06:18cc with SMTP id 3f1490d57ef6-e166541437emr2847209276.12.1724244055929; Wed, 21 Aug 2024 05:40:55 -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 15:40:44 +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="00000000000075d8b6062030da34" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000075d8b6062030da34 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Aug 21, 2024 at 3:06=E2=80=AFPM Pavel Borisov wrote: > On Wed, 21 Aug 2024 at 15:55, Alexander Korotkov w= rote: >> >> 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 wrote: >> >> >> >> 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 new= ly >> >> > > created relation as part of QueryCompletion. Thoughts? >> >> > >> >> > I agree, returning the oid of the newly created relation is the bes= t way >> >> > 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 c= reated 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 accordingl= y? >> >> 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. > > Looked at v3 > All good except the patch has "Oid" and "OID" in two comments. I suppose = "OID" is preferred elsewhere in the PG comments. Correct, the same file contains "OID" multiple times. Revised version is attached. ------ Regards, Alexander Korotkov Supabase --00000000000075d8b6062030da34 Content-Type: application/octet-stream; name="v4-0001-Avoid-repeated-table-name-lookups-in-createPartit.patch" Content-Disposition: attachment; filename="v4-0001-Avoid-repeated-table-name-lookups-in-createPartit.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m03udgb40 RnJvbSBjYzM5OTJhOTI2MmIxMjZiYzE2YTJlOWY2MjBjNDFhZWRjZjk5Y2JhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgS29yb3Rrb3YgPGFrb3JvdGtvdkBwb3N0Z3Jl c3FsLm9yZz4KRGF0ZTogU2F0LCAxMCBBdWcgMjAyNCAxNjoxOToyOCArMDMwMApTdWJqZWN0OiBb UEFUQ0ggdjRdIEF2b2lkIHJlcGVhdGVkIHRhYmxlIG5hbWUgbG9va3VwcyBpbgogY3JlYXRlUGFy 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 cC91dGlsaXR5LmMKaW5kZXggYjJlYTgxMjVjOTIuLmIzODUxNzVlN2EyIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYworKysgYi9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHku YwpAQCAtMTIyNSw2ICsxMjI1LDEyIEBAIFByb2Nlc3NVdGlsaXR5U2xvdyhQYXJzZVN0YXRlICpw c3RhdGUsCiAKIAkJCQkJCQltb3Jlc3RtdHMgPSBleHBhbmRUYWJsZUxpa2VDbGF1c2UodGFibGVf cnYsIGxpa2UpOwogCQkJCQkJCXN0bXRzID0gbGlzdF9jb25jYXQobW9yZXN0bXRzLCBzdG10cyk7 CisKKwkJCQkJCQkvKgorCQkJCQkJCSAqIFN0b3JlIHRoZSBPSUQgb2YgbmV3bHkgY3JlYXRlZCBy ZWxhdGlvbiB0byB0aGUKKwkJCQkJCQkgKiBUYWJsZUxpa2VDbGF1c2UgZm9yIHRoZSBjYWxsZXIg dG8gdXNlIGl0LgorCQkJCQkJCSAqLworCQkJCQkJCWxpa2UtPm5ld1JlbGF0aW9uT2lkID0gYWRk cmVzcy5vYmplY3RJZDsKIAkJCQkJCX0KIAkJCQkJCWVsc2UKIAkJCQkJCXsKZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNl bm9kZXMuaAppbmRleCA4NWE2MmI1MzhlNS4uNTc3YzRiZmVmNzYgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5v ZGVzLmgKQEAgLTc1NCw2ICs3NTQsNyBAQCB0eXBlZGVmIHN0cnVjdCBUYWJsZUxpa2VDbGF1c2UK IAlSYW5nZVZhciAgICpyZWxhdGlvbjsKIAliaXRzMzIJCW9wdGlvbnM7CQkvKiBPUiBvZiBUYWJs ZUxpa2VPcHRpb24gZmxhZ3MgKi8KIAlPaWQJCQlyZWxhdGlvbk9pZDsJLyogSWYgdGFibGUgaGFz IGJlZW4gbG9va2VkIHVwLCBpdHMgT0lEICovCisJT2lkCQkJbmV3UmVsYXRpb25PaWQ7IC8qIE9J RCBvZiBuZXdseSBjcmVhdGVkIHRhYmxlICovCiB9IFRhYmxlTGlrZUNsYXVzZTsKIAogdHlwZWRl ZiBlbnVtIFRhYmxlTGlrZU9wdGlvbgotLSAKMi4zOS4zIChBcHBsZSBHaXQtMTQ2KQoK --00000000000075d8b6062030da34--