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 1sda1Y-00GpRo-Qa for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Aug 2024 18:44:09 +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 1sda1X-00H9db-0O for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Aug 2024 18:44:07 +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 1sda1W-00H9dS-Jl for pgsql-hackers@lists.postgresql.org; Mon, 12 Aug 2024 18:44:06 +0000 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sda1T-004Vfg-42 for pgsql-hackers@lists.postgresql.org; Mon, 12 Aug 2024 18:44:05 +0000 Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-2cb56c2c30eso3925543a91.1 for ; Mon, 12 Aug 2024 11:44:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mixrank.com; s=google; t=1723488240; x=1724093040; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=oLyYkQ+79fP9HZqqtewKXtuNy4jV8yqrljYPN7j49bY=; b=CgjytszXWiYUWAXHCkNn2pqDGMdtYUxTddAl1cRHOiwzjPDTrEFh1MHxzZPlhY4Nyc kiFQLaUcP0IQa9/UvKexDJMNq/60dB7nqU7WsUPlSAH9usWAapK1Ssa2I/HZw6UXQY1h 2VupivfQzNbYkcaP83ihjVMvTjNzcdFeCS+ZU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723488240; x=1724093040; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=oLyYkQ+79fP9HZqqtewKXtuNy4jV8yqrljYPN7j49bY=; b=oxo1SmJwiiHkb1T7cwXA1nZ+drFFeUhLq56WjaJRtenHKeFC4yfh873UukF/MwowD3 PcVHe8r9nk+YGsk6h4+zq1rYJ8jMPhEA7V0nohmglOt7tp1n8170MqMP8ap7/I4SHLzk v1/KG/zUVNhcIyl1OD4FYVcG7mNBpX7aUIb37I2DJ18g4IUICAN7Hvr629zY/WJym83x 2GgBHpILTdq5+IuHzH7RcU+JKxONkFm0gfepLpp6wgdh7SvSSeFZCnIvEN1x1xatnoak Hh2g7OKe/96hqInonSJ4BSBGhjANtRSNSdszM9ufgt4G+etcslVa3u1gzPsyhmJncann FSBw== X-Gm-Message-State: AOJu0YzdUdcXd1O0MMxl7dIkijfQMmonwU+iG/fYyQlxonQkk5+r+b48 mDQKNSjvvZe1XX/H+7pdI0cRFEJOJeRM3jUTwApu8olfwuVVA13Lu5L/v8qsHZ2uzTSldgHiLdT pcHOr9uPcaeNaVqWdbG44NeyxJ5Me9HlOG8YpnBd65PANX2VdgBg= X-Google-Smtp-Source: AGHT+IE/YIN0cX7/o8DGuW5iBqhgTgzdOF22gHs5dfkCzNF50CQOSJKOZNs0z3+oS3QXUQVjHc3qKWXJnhzOOW+V65s= X-Received: by 2002:a17:90b:3911:b0:2c9:75a7:5c25 with SMTP id 98e67ed59e1d1-2d3942ed069mr776965a91.15.1723488239753; Mon, 12 Aug 2024 11:43:59 -0700 (PDT) MIME-Version: 1.0 From: Doruk Yilmaz Date: Mon, 12 Aug 2024 21:43:48 +0300 Message-ID: Subject: [Patch] add new parameter to pg_replication_origin_session_setup To: pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="0000000000004e5e5c061f80e00b" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000004e5e5c061f80e00b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello all, While working on our internal tools that utilise replication, we realised that a new parameter was added to the internal C function corresponding to pg_replication_origin_session_setup. However this parameter wasn't included in the user-facing API [1]. In 'src/backend/replication/logical/origin.c' at line 1359, pg_replication_origin_session_setup function calls replorigin_session_setup(origin, 0); where currently 0 is assigned to the acquired_by parameter of the replorigin_session_setup. I made this patch to the master which adds a way to control this parameter by adding a new version of the pg_replication_origin_session_setup function with user facing parameters 'text int4' in place of the current 'text' while keeping the existing variant (ensuring backwards compatibility). Could someone take a look at it? [1]: https://www.postgresql.org/docs/current/functions-admin.html#PG-REPLIC= ATION-ORIGIN-SESSION-SETUP --- Thanks for the help, Doruk Y=C4=B1lmaz --0000000000004e5e5c061f80e00b Content-Type: text/x-patch; charset="US-ASCII"; name="0001-pg_replication_origin_session_setup-new-parameter.patch" Content-Disposition: attachment; filename="0001-pg_replication_origin_session_setup-new-parameter.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lzrcb8hk0 RnJvbSBlNzg4NjVlYTQxNDQ0OTk5ZjFjODg3OWJlMGY2NDkyOGYyMWU0M2M2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEb3J1ayA8ZG9ydWtAbWl4cmFuay5jb20+CkRhdGU6IE1vbiwg MTIgQXVnIDIwMjQgMjE6MjE6MTAgKzAzMDAKU3ViamVjdDogW1BBVENIXSBwZ19yZXBsaWNhdGlv bl9vcmlnaW5fc2Vzc2lvbl9zZXR1cCBuZXcgcGFyYW1ldGVyCgotLS0KIHNyYy9iYWNrZW5kL2Nh dGFsb2cvc3lzdGVtX2Z1bmN0aW9ucy5zcWwgfCAgMiArKwogc3JjL2JhY2tlbmQvcmVwbGljYXRp b24vbG9naWNhbC9vcmlnaW4uYyB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrLQogc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICB8ICA2ICsrKysrKwogMyBmaWxlcyBj aGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fZnVuY3Rpb25zLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFs b2cvc3lzdGVtX2Z1bmN0aW9ucy5zcWwKaW5kZXggNjIzYjk1MzliMS4uN2RjYTIzNTBkYyAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fZnVuY3Rpb25zLnNxbAorKysgYi9z cmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV9mdW5jdGlvbnMuc3FsCkBAIC03MzgsNiArNzM4LDgg QEAgUkVWT0tFIEVYRUNVVEUgT04gRlVOQ1RJT04gcGdfcmVwbGljYXRpb25fb3JpZ2luX3Nlc3Np b25fcmVzZXQoKSBGUk9NIHB1YmxpYzsKIAogUkVWT0tFIEVYRUNVVEUgT04gRlVOQ1RJT04gcGdf cmVwbGljYXRpb25fb3JpZ2luX3Nlc3Npb25fc2V0dXAodGV4dCkgRlJPTSBwdWJsaWM7CiAKK1JF Vk9LRSBFWEVDVVRFIE9OIEZVTkNUSU9OIHBnX3JlcGxpY2F0aW9uX29yaWdpbl9zZXNzaW9uX3Nl dHVwKHRleHQsIGludGVnZXIpIEZST00gcHVibGljOworCiBSRVZPS0UgRVhFQ1VURSBPTiBGVU5D VElPTiBwZ19yZXBsaWNhdGlvbl9vcmlnaW5feGFjdF9yZXNldCgpIEZST00gcHVibGljOwogCiBS RVZPS0UgRVhFQ1VURSBPTiBGVU5DVElPTiBwZ19yZXBsaWNhdGlvbl9vcmlnaW5feGFjdF9zZXR1 cChwZ19sc24sIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSkgRlJPTSBwdWJsaWM7CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL29yaWdpbi5jIGIvc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vbG9naWNhbC9vcmlnaW4uYwppbmRleCA0MTllNDgxNGYwLi4yMDhlZWQ5 ZTM3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL29yaWdpbi5j CisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvb3JpZ2luLmMKQEAgLTEzNDcs NyArMTM0Nyw3IEBAIHBnX3JlcGxpY2F0aW9uX29yaWdpbl9vaWQoUEdfRlVOQ1RJT05fQVJHUykK ICAqIFNldHVwIGEgcmVwbGljYXRpb24gb3JpZ2luIGZvciB0aGlzIHNlc3Npb24uCiAgKi8KIERh dHVtCi1wZ19yZXBsaWNhdGlvbl9vcmlnaW5fc2Vzc2lvbl9zZXR1cChQR19GVU5DVElPTl9BUkdT KQorcGdfcmVwbGljYXRpb25fb3JpZ2luX3Nlc3Npb25fc2V0dXBfbm9waWQoUEdfRlVOQ1RJT05f QVJHUykKIHsKIAljaGFyCSAgICpuYW1lOwogCVJlcE9yaWdpbklkIG9yaWdpbjsKQEAgLTEzNjQs NiArMTM2NCwzMCBAQCBwZ19yZXBsaWNhdGlvbl9vcmlnaW5fc2Vzc2lvbl9zZXR1cChQR19GVU5D VElPTl9BUkdTKQogCiAJUEdfUkVUVVJOX1ZPSUQoKTsKIH0KK0RhdHVtCitwZ19yZXBsaWNhdGlv bl9vcmlnaW5fc2Vzc2lvbl9zZXR1cChQR19GVU5DVElPTl9BUkdTKQoreworCWNoYXIJICAgKm5h bWU7CisJUmVwT3JpZ2luSWQgb3JpZ2luOworCWludCAgICAgICAgIHBpZDsKKworCXJlcGxvcmln aW5fY2hlY2tfcHJlcmVxdWlzaXRlcyh0cnVlLCBmYWxzZSk7CisKKwluYW1lID0gdGV4dF90b19j c3RyaW5nKCh0ZXh0ICopIERhdHVtR2V0UG9pbnRlcihQR19HRVRBUkdfREFUVU0oMCkpKTsKKwlv cmlnaW4gPSByZXBsb3JpZ2luX2J5X25hbWUobmFtZSwgZmFsc2UpOworCWlmIChQR19BUkdJU05V TEwoMSkpeworCQlyZXBsb3JpZ2luX3Nlc3Npb25fc2V0dXAob3JpZ2luLCAwKTsKKwl9IGVsc2Ug eworCQlwaWQgPSBQR19HRVRBUkdfSU5UMzIoMSk7CisJCXJlcGxvcmlnaW5fc2Vzc2lvbl9zZXR1 cChvcmlnaW4sIHBpZCk7CisJfQorCisJcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbiA9IG9yaWdp bjsKKworCXBmcmVlKG5hbWUpOworCisJUEdfUkVUVVJOX1ZPSUQoKTsKK30KIAogLyoKICAqIFJl c2V0IHByZXZpb3VzbHkgc2V0dXAgb3JpZ2luIGluIHRoaXMgc2Vzc2lvbgpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf cHJvYy5kYXQKaW5kZXggNGFiYzZkOTUyNi4uYzY4YTBmODk1ZiAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3By b2MuZGF0CkBAIC0xMTk0OSw2ICsxMTk0OSwxMiBAQAogICBkZXNjciA9PiAnY29uZmlndXJlIHNl c3Npb24gdG8gbWFpbnRhaW4gcmVwbGljYXRpb24gcHJvZ3Jlc3MgdHJhY2tpbmcgZm9yIHRoZSBw YXNzZWQgaW4gb3JpZ2luJywKICAgcHJvbmFtZSA9PiAncGdfcmVwbGljYXRpb25fb3JpZ2luX3Nl c3Npb25fc2V0dXAnLCBwcm92b2xhdGlsZSA9PiAndicsCiAgIHByb3BhcmFsbGVsID0+ICd1Jywg cHJvcmV0dHlwZSA9PiAndm9pZCcsIHByb2FyZ3R5cGVzID0+ICd0ZXh0JywKKyAgcHJvc3JjID0+ ICdwZ19yZXBsaWNhdGlvbl9vcmlnaW5fc2Vzc2lvbl9zZXR1cF9ub3BpZCcgfSwKKworeyBvaWQg PT4gJzYwMTUnLAorICBkZXNjciA9PiAnY29uZmlndXJlIHNlc3Npb24gdG8gbWFpbnRhaW4gcmVw bGljYXRpb24gcHJvZ3Jlc3MgdHJhY2tpbmcgZm9yIHRoZSBwYXNzZWQgaW4gb3JpZ2luJywKKyAg cHJvbmFtZSA9PiAncGdfcmVwbGljYXRpb25fb3JpZ2luX3Nlc3Npb25fc2V0dXAnLCBwcm92b2xh dGlsZSA9PiAndicsCisgIHByb3BhcmFsbGVsID0+ICd1JywgcHJvcmV0dHlwZSA9PiAndm9pZCcs IHByb2FyZ3R5cGVzID0+ICd0ZXh0IGludDQnLAogICBwcm9zcmMgPT4gJ3BnX3JlcGxpY2F0aW9u X29yaWdpbl9zZXNzaW9uX3NldHVwJyB9LAogCiB7IG9pZCA9PiAnNjAwNycsIGRlc2NyID0+ICd0 ZWFyZG93biBjb25maWd1cmVkIHJlcGxpY2F0aW9uIHByb2dyZXNzIHRyYWNraW5nJywKLS0gCjIu MzkuMgoK --0000000000004e5e5c061f80e00b--