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.96) (envelope-from ) id 1vUmS0-007UHn-0H for pgsql-hackers@arkaria.postgresql.org; Sun, 14 Dec 2025 13:47:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vUmRy-00D4zz-25 for pgsql-hackers@arkaria.postgresql.org; Sun, 14 Dec 2025 13:47:51 +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.96) (envelope-from ) id 1vUmRy-00D4zq-11 for pgsql-hackers@lists.postgresql.org; Sun, 14 Dec 2025 13:47:51 +0000 Received: from mail-oa1-x2e.google.com ([2001:4860:4864:20::2e]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vUmRw-000h8S-1M for pgsql-hackers@lists.postgresql.org; Sun, 14 Dec 2025 13:47:50 +0000 Received: by mail-oa1-x2e.google.com with SMTP id 586e51a60fabf-3e89d226c3aso1831025fac.2 for ; Sun, 14 Dec 2025 05:47:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765720066; x=1766324866; 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=w9LGs0As6K6NO0mHzZomSG59p/VVv2q3j+2TkwORYxM=; b=Oy+AEKA3mUHD2MfafMdnd65p96k7N2oBl5zWqcK1BdzfaoPon8m3K24bLnjhDc5gU0 SPBRd3L0jLoaX93+vd6t3nKXvNa024maJuesIU+t7ZuNgDBijMDmUfQna8Zf5qds0Kj4 f6ncTbUbRFduRIP1MDAXQtIHc73XZPeOWVEDHXG7xnOZzQdFLj3FV9FZYIJ6AC7FudYg GSz69+1Bl/J1irRPEoIsgyO02G1Z8CPSex81FQ0BOzKMBaeN041QhL0p3siAruhe0VuU pexb/GjigNMyDNWNr1PzFYEctXA0NXtSvO7Pwaw161BMYmdhAiGnyETMseUP0lepS48K QeJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765720066; x=1766324866; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=w9LGs0As6K6NO0mHzZomSG59p/VVv2q3j+2TkwORYxM=; b=tzicQJGllkSKWZoXz5VDY18WWbp66LBKW30p3I8UCJ+WIoTHSMjpUddtm6W/4Q+zgh UkxsC0c6v8a48IeuCpexeRhuxqZ1sHGbMqdgbJQeuj7pMxRjX55yFlZszELU5MCizgk5 kX5J4frk7JWpz3R2jYgPyzDL56IhxS1Slc73DqYpxL2OYlKtseJ0IbjTDaWbqYTLUXh8 /2PT+KDqwQ230BRj0EZyKWVBeP6X2bj51L0NmAPqDiiRDjbAGmbd8NbI1S40C6QC334N Qe7RRznmawcbLEsjYX48oNKuYGxCK0ygM/kJ5fZjHZYeD9aJN5kwYf4edImYxAha+yyt AuJQ== X-Forwarded-Encrypted: i=1; AJvYcCXK66goRwI+E4SXSKNzz/4IDXIJhEGwS9Yr+rRMO3uhK40NBYnNzvsmDDKo9mgxGqd75jFCRXYZZE7zM7l2@lists.postgresql.org X-Gm-Message-State: AOJu0YyNavEzW3SaqsnK3H30Oc/14OgxBf+OfvcDPr7YHbc91mkHOK7q wfffa0kkt5fh/Tbey39ald42TdyZfxV5ac24SDMlyGT2Letc0ezeEeYDqmD2cKakUbO+mvtH+u4 tF5Lagr+nPJORZ34gNPjchLpDOwMKCeM= X-Gm-Gg: AY/fxX680QR+IePS22anE98MEKHj90AFj/Nm3eN9T61qusgFJRdKYUhiMjipnQZ9qp4 BkwrMiTZlo9C9uh3T+lQig3tPtDzc5Oq4Aa5MZLuiI3oMfK0bYIP7FusSJSllzmxwk+Kv7kWZup eeKeeOdza7Rz8iJ09+BM+rZ2V7+2D81FdiVihNUag4Eipmum7u5T2abHBbKzd5QbyV924f2rADe maDc8vBMoK6Q5UaNDWFWXvclpfgxyIWhKkopXU+nv1KYrA3sdMoLdeV7dyPei1Z4RkpY3iqYmk9 /FZ4L5SVl+9PFqghwMVe9QAe3724LKpSqZgblIrI6fNTI8qnxT14WWhzolxNXpHV+02YKqb590d aYCcb X-Google-Smtp-Source: AGHT+IGrQ/cTPLer6RirxWU20xJeQNYIV4O3BDpmUMshEkbh4Pu9I6aEO5dRLteCth1QZx89emZfW5h3fRWK5V0pSK8= X-Received: by 2002:a05:6820:998:b0:65b:380a:ce95 with SMTP id 006d021491bc7-65b4527fa1amr4373248eaf.62.1765720066341; Sun, 14 Dec 2025 05:47:46 -0800 (PST) MIME-Version: 1.0 References: <171085360143.2046436.7217841141682511557.pgcf@coridan.postgresql.org> <2643645f-2a02-43de-9321-c995ab1b7ef8@postgrespro.ru> <57a94d8a-d7b6-4c5e-9001-be1cd403b172@postgrespro.ru> <54414932-9E82-47AA-902B-2DED18F07F64@gmail.com> <3280c458-a886-4c58-8e2b-4d220b73161d@postgrespro.ru> <09414bf8-9326-431c-9422-b13bddf5f554@postgrespro.ru> <29ff27f5-d359-4479-b11c-ce28e525d806@postgrespro.ru> In-Reply-To: From: Alexander Korotkov Date: Sun, 14 Dec 2025 15:47:34 +0200 X-Gm-Features: AQt7F2qu5j3ZLE5Twelm67956VT9w_MW51xB2mWfk51f_93ykRiVuqLPLbcHV1A Message-ID: Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands To: zengman Cc: =?UTF-8?Q?St=C3=A9phane_Tachoires?= , Dmitry Koval , pgsql-hackers Content-Type: multipart/mixed; boundary="000000000000540bf70645e9bd44" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000540bf70645e9bd44 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Man, On Sun, Dec 14, 2025 at 2:51=E2=80=AFPM zengman wr= ote: > I just noticed two relatively large commits. I recall that not long ago w= e started attempting to adopt `palloc_object` and `palloc_array` in many pl= aces, > yet in these two commits, some sections have used the new approach while = others have not. > Perhaps we could standardize the coding style for consistency. > > src/backend/commands/tablecmds.c > src/backend/partitioning/partbounds.c Could you, please, check the attached patch? ------ Regards, Alexander Korotkov Supabase --000000000000540bf70645e9bd44 Content-Type: application/octet-stream; name="v1-0001-Fix-usage-of-palloc-in-MERGE-SPLIT-PARTITION-s-co.patch" Content-Disposition: attachment; filename="v1-0001-Fix-usage-of-palloc-in-MERGE-SPLIT-PARTITION-s-co.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mj5s2ih40 RnJvbSBiOTY0ZGYwODUyYjMyYzA0NmNmMmYyOThiYmQwZDUyOGJlODVmNDhhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgS29yb3Rrb3YgPGFrb3JvdGtvdkBwb3N0Z3Jl c3FsLm9yZz4KRGF0ZTogU3VuLCAxNCBEZWMgMjAyNSAxNTo0MDo0NSArMDIwMApTdWJqZWN0OiBb UEFUQ0ggdjFdIEZpeCB1c2FnZSBvZiBwYWxsb2MoKSBpbiBNRVJHRS9TUExJVCBQQVJUSVRJT04o cykgY29kZQoKZjJlNGNjNDI3OTUxIGFuZCA0YjNkMTczNjI5ZjQgaW1wbGVtZW50IEFMVEVSIFRB QkxFIC4uLiBNRVJHRS9TUExJVApQQVJUSVRJT04ocykgY29tbWFuZHMuICBJbiBzZXZlcmFsIHBs YWNlcywgdGhlc2UgY29tbWl0cyB1c2UgcGFsbG9jKCksCndoZXJlIHdlIHNob3VsZCB1c2UgcGFs bG9jX29iamVjdCgpIGFuZCBwYWxsb2NfYXJyYXkoKS4gIFRoaXMgY29tbWl0CnByb3ZpZGVzIGFw cHJvcHJpYXRlIHVzYWdlIG9mIHBhbGxvY19vYmplY3QoKSBhbmQgcGFsbG9jX2FycmF5KCkuCgpS ZXBvcnRlZC1ieTogTWFuIFplbmcgPHplbmdtYW5AaGFsb2RidGVjaC5jb20+CkRpc2N1c3Npb246 IGh0dHBzOi8vcG9zdGdyLmVzL20vdGVuY2VudF8zNjYxQkI1MjJENTQ2NkIzM0VBMzM2NjYlNDBx cS5jb20KLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyAgICAgIHwgIDYgKysr LS0tCiBzcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jIHwgMTIgKysrKy0tLS0t LS0tCiAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMgYi9zcmMvYmFja2Vu ZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRleCA5NTNmYWRiOWM2Yi4uNzU1MGVlN2MxNjQgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCisrKyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC0yMjMxNyw3ICsyMjMxNyw3IEBAIGNyZWF0ZVRh YmxlQ29uc3RyYWludHMoTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLAogCQkJ ICovCiAJCQlpZiAoYXR0cmlidXRlLT5hdHRnZW5lcmF0ZWQgPT0gQVRUUklCVVRFX0dFTkVSQVRF RF9TVE9SRUQpCiAJCQl7Ci0JCQkJbmV3dmFsID0gKE5ld0NvbHVtblZhbHVlICopIHBhbGxvYzAo c2l6ZW9mKE5ld0NvbHVtblZhbHVlKSk7CisJCQkJbmV3dmFsID0gcGFsbG9jMF9vYmplY3QoTmV3 Q29sdW1uVmFsdWUpOwogCQkJCW5ld3ZhbC0+YXR0bnVtID0gbnVtOwogCQkJCW5ld3ZhbC0+ZXhw ciA9IGV4cHJlc3Npb25fcGxhbm5lcigoRXhwciAqKSBkZWYpOwogCQkJCW5ld3ZhbC0+aXNfZ2Vu ZXJhdGVkID0gKGF0dHJpYnV0ZS0+YXR0Z2VuZXJhdGVkICE9ICdcMCcpOwpAQCAtMjI0MDYsNyAr MjI0MDYsNyBAQCBjcmVhdGVUYWJsZUNvbnN0cmFpbnRzKExpc3QgKip3cXVldWUsIEFsdGVyZWRU YWJsZUluZm8gKnRhYiwKIAkJCXsKIAkJCQlOZXdDb25zdHJhaW50ICpuZXdjb247CiAKLQkJCQlu ZXdjb24gPSAoTmV3Q29uc3RyYWludCAqKSBwYWxsb2MwKHNpemVvZihOZXdDb25zdHJhaW50KSk7 CisJCQkJbmV3Y29uID0gcGFsbG9jMF9vYmplY3QoTmV3Q29uc3RyYWludCk7CiAJCQkJbmV3Y29u LT5uYW1lID0gY2Nvbi0+bmFtZTsKIAkJCQluZXdjb24tPmNvbnR5cGUgPSBDT05TVFJfQ0hFQ0s7 CiAJCQkJbmV3Y29uLT5xdWFsID0gcXVhbDsKQEAgLTIyOTQ0LDcgKzIyOTQ0LDcgQEAgY3JlYXRl U3BsaXRQYXJ0aXRpb25Db250ZXh0KFJlbGF0aW9uIHBhcnRSZWwpCiB7CiAJU3BsaXRQYXJ0aXRp b25Db250ZXh0ICpwYzsKIAotCXBjID0gKFNwbGl0UGFydGl0aW9uQ29udGV4dCAqKSBwYWxsb2Mw KHNpemVvZihTcGxpdFBhcnRpdGlvbkNvbnRleHQpKTsKKwlwYyA9IHBhbGxvYzBfb2JqZWN0KFNw bGl0UGFydGl0aW9uQ29udGV4dCk7CiAJcGMtPnBhcnRSZWwgPSBwYXJ0UmVsOwogCiAJLyoKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRzLmMgYi9zcmMvYmFj a2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jCmluZGV4IGI3ZjkwYWUxMDlkLi4xNmIwYWRj MTcyYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFydGl0aW9uaW5nL3BhcnRib3VuZHMuYwor KysgYi9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jCkBAIC01MTE1LDggKzUx MTUsNyBAQCBjYWxjdWxhdGVfcGFydGl0aW9uX2JvdW5kX2Zvcl9tZXJnZShSZWxhdGlvbiBwYXJl bnQsCiAJCQkJaW50CQkJbnBhcnRzID0gbGlzdF9sZW5ndGgocGFydE9pZHMpOwogCQkJCUxpc3QJ ICAgKmJvdW5kcyA9IE5JTDsKIAotCQkJCWxvd2VyX2JvdW5kcyA9IChQYXJ0aXRpb25SYW5nZUJv dW5kICoqKQotCQkJCQlwYWxsb2MwKG5wYXJ0cyAqIHNpemVvZihQYXJ0aXRpb25SYW5nZUJvdW5k ICopKTsKKwkJCQlsb3dlcl9ib3VuZHMgPSBwYWxsb2MwX2FycmF5KFBhcnRpdGlvblJhbmdlQm91 bmQgKiwgbnBhcnRzKTsKIAogCQkJCS8qCiAJCQkJICogQ3JlYXRlIGFuIGFycmF5IG9mIGxvd2Vy IGJvdW5kcyBhbmQgYSBsaXN0IG9mCkBAIC01NzU1LDggKzU3NTQsNyBAQCBjaGVja19wYXJ0aXRp b25zX2Zvcl9zcGxpdChSZWxhdGlvbiBwYXJlbnQsCiAJICogTWFrZSBhbiBhcnJheSBuZXdfcGFy dHMgd2l0aCBuZXcgcGFydGl0aW9ucyBleGNlcHQgdGhlIERFRkFVTFQKIAkgKiBwYXJ0aXRpb24u CiAJICovCi0JbmV3X3BhcnRzID0gKFNpbmdsZVBhcnRpdGlvblNwZWMgKiopCi0JCXBhbGxvYzAo bGlzdF9sZW5ndGgocGFydGxpc3QpICogc2l6ZW9mKFNpbmdsZVBhcnRpdGlvblNwZWMgKikpOwor CW5ld19wYXJ0cyA9IHBhbGxvYzBfYXJyYXkoU2luZ2xlUGFydGl0aW9uU3BlYyAqLCBsaXN0X2xl bmd0aChwYXJ0bGlzdCkpOwogCiAJLyogaXNTcGxpdFBhcnREZWZhdWx0IGZsYWc6IGlzIHNwbGl0 IHBhcnRpdGlvbiBhIERFRkFVTFQgcGFydGl0aW9uPyAqLwogCWlzU3BsaXRQYXJ0RGVmYXVsdCA9 IChkZWZhdWx0UGFydE9pZCA9PSBzcGxpdFBhcnRPaWQpOwpAQCAtNTc4Niw4ICs1Nzg0LDcgQEAg Y2hlY2tfcGFydGl0aW9uc19mb3Jfc3BsaXQoUmVsYXRpb24gcGFyZW50LAogCQkgKiBhbGwgcGFy dGl0aW9ucyBpbiBhc2NlbmRpbmcgb3JkZXIgb2YgdGhlaXIgYm91bmRzICh3ZSBjb21wYXJlIHRo ZQogCQkgKiBsb3dlciBib3VuZCBvbmx5KS4KIAkJICovCi0JCWxvd2VyX2JvdW5kcyA9IChQYXJ0 aXRpb25SYW5nZUJvdW5kICoqKQotCQkJcGFsbG9jMChucGFydHMgKiBzaXplb2YoUGFydGl0aW9u UmFuZ2VCb3VuZCAqKSk7CisJCWxvd2VyX2JvdW5kcyA9IHBhbGxvYzBfYXJyYXkoUGFydGl0aW9u UmFuZ2VCb3VuZCAqLCBucGFydHMpOwogCiAJCS8qIENyZWF0ZSBhbiBhcnJheSBvZiBsb3dlciBi b3VuZHMuICovCiAJCWZvciAoaSA9IDA7IGkgPCBucGFydHM7IGkrKykKQEAgLTU4MDIsOCArNTc5 OSw3IEBAIGNoZWNrX3BhcnRpdGlvbnNfZm9yX3NwbGl0KFJlbGF0aW9uIHBhcmVudCwKIAogCQkv KiBSZW9yZGVyIHRoZSBhcnJheSBvZiBwYXJ0aXRpb25zLiAqLwogCQl0bXBfbmV3X3BhcnRzID0g bmV3X3BhcnRzOwotCQluZXdfcGFydHMgPSAoU2luZ2xlUGFydGl0aW9uU3BlYyAqKikKLQkJCXBh bGxvYzAobnBhcnRzICogc2l6ZW9mKFNpbmdsZVBhcnRpdGlvblNwZWMgKikpOworCQluZXdfcGFy dHMgPSBwYWxsb2MwX2FycmF5KFNpbmdsZVBhcnRpdGlvblNwZWMgKiwgbnBhcnRzKTsKIAkJZm9y IChpID0gMDsgaSA8IG5wYXJ0czsgaSsrKQogCQkJbmV3X3BhcnRzW2ldID0gdG1wX25ld19wYXJ0 c1tsb3dlcl9ib3VuZHNbaV0tPmluZGV4XTsKIAotLSAKMi4zOS41IChBcHBsZSBHaXQtMTU0KQoK --000000000000540bf70645e9bd44--