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 1pRUoR-00016v-FJ for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Feb 2023 09:07:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pRUoQ-0008Jd-8b for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Feb 2023 09:07:50 +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 1pRUoP-0008JT-RX for pgsql-hackers@lists.postgresql.org; Mon, 13 Feb 2023 09:07:49 +0000 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pRUoL-0007gz-8X for pgsql-hackers@lists.postgresql.org; Mon, 13 Feb 2023 09:07:49 +0000 Received: by mail-wm1-x333.google.com with SMTP id m16-20020a05600c3b1000b003dc4050c94aso8420189wms.4 for ; Mon, 13 Feb 2023 01:07:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=QrA9tIafv0KfWSAj8UUXbjbJ37z/yhVDCwZ3c5nFpCY=; b=VbMwqsqcvySojKy2iTKQmwUprEv3H/MDXddpvxtQUNJvppbR2280cJU5M8uysk6UAw KF00jk7GX7smDGviuVjNh9FHRQgF9saLKo1jB9p81mJEJd6oizmF47sS0+GdnuJHgdoB DfigQptXf022oTXyMpwPHxnwLL7MqIHwvozbVK0VPovl578+tQOoZzIL4eThC7O4TGR/ tVrQtqUIdEt8Zoj564CWYaNJUolLVhO9czn3bbqFgHWFllxEg6IdnWvgweiPk9sXrnhB LwzLIl18YMY05XqATeLAzAw+OSUCz3jKdJu4E9IA1eLnFF442QjiRiKtvA4za/rpevFG kccw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=QrA9tIafv0KfWSAj8UUXbjbJ37z/yhVDCwZ3c5nFpCY=; b=ciT8+QR1ZNLJLA6ghD6PisCzv2pDyrHsi0KE3esIF7AXP3EyXsTsEHjQpFM1a/hz61 ztE6ItASkgiKFmQRgHviCiRW16/ltfetnHtyaUTRnKJJmNt0TjGjLVIoxh2/Qr6NA8ki 4HOrxwhC57Cd6xCrw7PVglKqGkh5NwmcgRUEyhyG8f4pwQO1QW9kwSCaO0pKOfJQbmUb d11ahJCOOU9mZmqCSZja9Brmtpp0NdCWHk0gRhPTioB2RcGvK6l1SUDzFhgiOvlHpgQ/ jxpRAQCTsZbs2BKIrvlT29tWh1CZOKMC5dsnhKOJ78DMi2yTxt/vBIRFFLat5j+iSQzM P2Nw== X-Gm-Message-State: AO0yUKWCiUoAY6c+ILn0b8mtl52TqTRjL18S//q4F93wD10PGdK/id7p droQdYSQ+VIrWRXlhlXP77QrDowIOLmxOA== X-Google-Smtp-Source: AK7set9N5Cj/kkf5+VKQldcLvYQ7/vFpbfw0fLwkfTB2HlZTMHtk9Yu0AQh7aUc8TG/EC2kRzhdFfQ== X-Received: by 2002:a05:600c:2ac8:b0:3c6:e61e:ae71 with SMTP id t8-20020a05600c2ac800b003c6e61eae71mr20563670wme.1.1676279264072; Mon, 13 Feb 2023 01:07:44 -0800 (PST) Received: from [192.168.26.132] ([54.239.6.184]) by smtp.gmail.com with ESMTPSA id p13-20020a05600c468d00b003e001afa274sm13985156wmo.2.2023.02.13.01.07.43 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 13 Feb 2023 01:07:43 -0800 (PST) Content-Type: multipart/mixed; boundary="------------ne8Eww55IBeEjn4Zvwmn5ovM" Message-ID: <11d531fe-52fc-c6ea-7e8e-62f1b6ec626e@gmail.com> Date: Mon, 13 Feb 2023 10:06:27 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Content-Language: en-US From: "Drouvot, Bertrand" Subject: Get rid of PgStat_BackendFunctionEntry To: PostgreSQL Hackers List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------ne8Eww55IBeEjn4Zvwmn5ovM Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi hackers, Please find attached a patch proposal to $SUBJECT: it would allow to simplify even more the work done to generate pg_stat_get_xact*() functions with Macros. This is a follow up for [1] where it has been suggested to get rid of PgStat_BackendFunctionEntry in a separate patch. Looking forward to your feedback, Regards -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com [1]: https://www.postgresql.org/message-id/20230210214619.bdpbd5wvxcpx27rw%40awork3.anarazel.de --------------ne8Eww55IBeEjn4Zvwmn5ovM Content-Type: text/plain; charset=UTF-8; name="v1-0001-get_rid_PgStat_BackendFunctionEntry.patch" Content-Disposition: attachment; filename="v1-0001-get_rid_PgStat_BackendFunctionEntry.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKaW5kZXggNjBmYzRlNzYxZi4uYjEy NTgwMmIyMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0 LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTI5Miw3 ICsyOTIsNyBAQCBzdGF0aWMgY29uc3QgUGdTdGF0X0tpbmRJbmZvIHBnc3RhdF9raW5kX2lu Zm9zW1BHU1RBVF9OVU1fS0lORFNdID0gewogCQkuc2hhcmVkX3NpemUgPSBzaXplb2YoUGdT dGF0U2hhcmVkX0Z1bmN0aW9uKSwKIAkJLnNoYXJlZF9kYXRhX29mZiA9IG9mZnNldG9mKFBn U3RhdFNoYXJlZF9GdW5jdGlvbiwgc3RhdHMpLAogCQkuc2hhcmVkX2RhdGFfbGVuID0gc2l6 ZW9mKCgoUGdTdGF0U2hhcmVkX0Z1bmN0aW9uICopIDApLT5zdGF0cyksCi0JCS5wZW5kaW5n X3NpemUgPSBzaXplb2YoUGdTdGF0X0JhY2tlbmRGdW5jdGlvbkVudHJ5KSwKKwkJLnBlbmRp bmdfc2l6ZSA9IHNpemVvZihQZ1N0YXRfRnVuY3Rpb25Db3VudHMpLAogCiAJCS5mbHVzaF9w ZW5kaW5nX2NiID0gcGdzdGF0X2Z1bmN0aW9uX2ZsdXNoX2NiLAogCX0sCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZnVuY3Rpb24uYyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9mdW5jdGlvbi5jCmluZGV4IDYxMzlhMjdm ZWUuLjBmZGNlZmI3ODMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdF9mdW5jdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdF9mdW5jdGlvbi5jCkBAIC03Myw3ICs3Myw3IEBAIHBnc3RhdF9pbml0X2Z1bmN0aW9u X3VzYWdlKEZ1bmN0aW9uQ2FsbEluZm8gZmNpbmZvLAogCQkJCQkJICAgUGdTdGF0X0Z1bmN0 aW9uQ2FsbFVzYWdlICpmY3UpCiB7CiAJUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7Ci0J UGdTdGF0X0JhY2tlbmRGdW5jdGlvbkVudHJ5ICpwZW5kaW5nOworCVBnU3RhdF9GdW5jdGlv bkNvdW50cyAqcGVuZGluZzsKIAlib29sCQljcmVhdGVkX2VudHJ5OwogCiAJaWYgKHBnc3Rh dF90cmFja19mdW5jdGlvbnMgPD0gZmNpbmZvLT5mbGluZm8tPmZuX3N0YXRzKQpAQCAtMTIx LDEwICsxMjEsMTAgQEAgcGdzdGF0X2luaXRfZnVuY3Rpb25fdXNhZ2UoRnVuY3Rpb25DYWxs SW5mbyBmY2luZm8sCiAKIAlwZW5kaW5nID0gZW50cnlfcmVmLT5wZW5kaW5nOwogCi0JZmN1 LT5mcyA9ICZwZW5kaW5nLT5mX2NvdW50czsKKwlmY3UtPmZzID0gcGVuZGluZzsKIAogCS8q IHNhdmUgc3RhdHMgZm9yIHRoaXMgZnVuY3Rpb24sIGxhdGVyIHVzZWQgdG8gY29tcGVuc2F0 ZSBmb3IgcmVjdXJzaW9uICovCi0JZmN1LT5zYXZlX2ZfdG90YWxfdGltZSA9IHBlbmRpbmct PmZfY291bnRzLmZfdG90YWxfdGltZTsKKwlmY3UtPnNhdmVfZl90b3RhbF90aW1lID0gcGVu ZGluZy0+Zl90b3RhbF90aW1lOwogCiAJLyogc2F2ZSBjdXJyZW50IGJhY2tlbmQtd2lkZSB0 b3RhbCB0aW1lICovCiAJZmN1LT5zYXZlX3RvdGFsID0gdG90YWxfZnVuY190aW1lOwpAQCAt MTkyLDEwICsxOTIsMTAgQEAgcGdzdGF0X2VuZF9mdW5jdGlvbl91c2FnZShQZ1N0YXRfRnVu Y3Rpb25DYWxsVXNhZ2UgKmZjdSwgYm9vbCBmaW5hbGl6ZSkKIGJvb2wKIHBnc3RhdF9mdW5j dGlvbl9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQp CiB7Ci0JUGdTdGF0X0JhY2tlbmRGdW5jdGlvbkVudHJ5ICpsb2NhbGVudDsKKwlQZ1N0YXRf RnVuY3Rpb25Db3VudHMgKmxvY2FsZW50OwogCVBnU3RhdFNoYXJlZF9GdW5jdGlvbiAqc2hm dW5jZW50OwogCi0JbG9jYWxlbnQgPSAoUGdTdGF0X0JhY2tlbmRGdW5jdGlvbkVudHJ5ICop IGVudHJ5X3JlZi0+cGVuZGluZzsKKwlsb2NhbGVudCA9IChQZ1N0YXRfRnVuY3Rpb25Db3Vu dHMgKikgZW50cnlfcmVmLT5wZW5kaW5nOwogCXNoZnVuY2VudCA9IChQZ1N0YXRTaGFyZWRf RnVuY3Rpb24gKikgZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CiAKIAkvKiBsb2NhbGVudCBh bHdheXMgaGFzIG5vbi16ZXJvIGNvbnRlbnQgKi8KQEAgLTIwMywxMSArMjAzLDExIEBAIHBn c3RhdF9mdW5jdGlvbl9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9v bCBub3dhaXQpCiAJaWYgKCFwZ3N0YXRfbG9ja19lbnRyeShlbnRyeV9yZWYsIG5vd2FpdCkp CiAJCXJldHVybiBmYWxzZTsKIAotCXNoZnVuY2VudC0+c3RhdHMuZl9udW1jYWxscyArPSBs b2NhbGVudC0+Zl9jb3VudHMuZl9udW1jYWxsczsKKwlzaGZ1bmNlbnQtPnN0YXRzLmZfbnVt Y2FsbHMgKz0gbG9jYWxlbnQtPmZfbnVtY2FsbHM7CiAJc2hmdW5jZW50LT5zdGF0cy5mX3Rv dGFsX3RpbWUgKz0KLQkJSU5TVFJfVElNRV9HRVRfTUlDUk9TRUMobG9jYWxlbnQtPmZfY291 bnRzLmZfdG90YWxfdGltZSk7CisJCUlOU1RSX1RJTUVfR0VUX01JQ1JPU0VDKGxvY2FsZW50 LT5mX3RvdGFsX3RpbWUpOwogCXNoZnVuY2VudC0+c3RhdHMuZl9zZWxmX3RpbWUgKz0KLQkJ SU5TVFJfVElNRV9HRVRfTUlDUk9TRUMobG9jYWxlbnQtPmZfY291bnRzLmZfc2VsZl90aW1l KTsKKwkJSU5TVFJfVElNRV9HRVRfTUlDUk9TRUMobG9jYWxlbnQtPmZfc2VsZl90aW1lKTsK IAogCXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVmKTsKIApAQCAtMjE1LDExICsyMTUs MTEgQEAgcGdzdGF0X2Z1bmN0aW9uX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlf cmVmLCBib29sIG5vd2FpdCkKIH0KIAogLyoKLSAqIGZpbmQgYW55IGV4aXN0aW5nIFBnU3Rh dF9CYWNrZW5kRnVuY3Rpb25FbnRyeSBlbnRyeSBmb3Igc3BlY2lmaWVkIGZ1bmN0aW9uCisg KiBmaW5kIGFueSBleGlzdGluZyBQZ1N0YXRfRnVuY3Rpb25Db3VudHMgZW50cnkgZm9yIHNw ZWNpZmllZCBmdW5jdGlvbgogICoKICAqIElmIG5vIGVudHJ5LCByZXR1cm4gTlVMTCwgZG9u J3QgY3JlYXRlIGEgbmV3IG9uZQogICovCi1QZ1N0YXRfQmFja2VuZEZ1bmN0aW9uRW50cnkg KgorUGdTdGF0X0Z1bmN0aW9uQ291bnRzICoKIGZpbmRfZnVuY3N0YXRfZW50cnkoT2lkIGZ1 bmNfaWQpCiB7CiAJUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7CmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC9wZ3N0YXRmdW5jcy5jCmluZGV4IDlkNzA3YzM1MjEuLjk4MTlhZmE0NjIgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0xNjU0LDMzICsxNjU0LDMzIEBA IERhdHVtCiBwZ19zdGF0X2dldF94YWN0X2Z1bmN0aW9uX2NhbGxzKFBHX0ZVTkNUSU9OX0FS R1MpCiB7CiAJT2lkCQkJZnVuY2lkID0gUEdfR0VUQVJHX09JRCgwKTsKLQlQZ1N0YXRfQmFj a2VuZEZ1bmN0aW9uRW50cnkgKmZ1bmNlbnRyeTsKKwlQZ1N0YXRfRnVuY3Rpb25Db3VudHMg KmZ1bmNlbnRyeTsKIAogCWlmICgoZnVuY2VudHJ5ID0gZmluZF9mdW5jc3RhdF9lbnRyeShm dW5jaWQpKSA9PSBOVUxMKQogCQlQR19SRVRVUk5fTlVMTCgpOwotCVBHX1JFVFVSTl9JTlQ2 NChmdW5jZW50cnktPmZfY291bnRzLmZfbnVtY2FsbHMpOworCVBHX1JFVFVSTl9JTlQ2NChm dW5jZW50cnktPmZfbnVtY2FsbHMpOwogfQogCiBEYXR1bQogcGdfc3RhdF9nZXRfeGFjdF9m dW5jdGlvbl90b3RhbF90aW1lKFBHX0ZVTkNUSU9OX0FSR1MpCiB7CiAJT2lkCQkJZnVuY2lk ID0gUEdfR0VUQVJHX09JRCgwKTsKLQlQZ1N0YXRfQmFja2VuZEZ1bmN0aW9uRW50cnkgKmZ1 bmNlbnRyeTsKKwlQZ1N0YXRfRnVuY3Rpb25Db3VudHMgKmZ1bmNlbnRyeTsKIAogCWlmICgo ZnVuY2VudHJ5ID0gZmluZF9mdW5jc3RhdF9lbnRyeShmdW5jaWQpKSA9PSBOVUxMKQogCQlQ R19SRVRVUk5fTlVMTCgpOwotCVBHX1JFVFVSTl9GTE9BVDgoSU5TVFJfVElNRV9HRVRfTUlM TElTRUMoZnVuY2VudHJ5LT5mX2NvdW50cy5mX3RvdGFsX3RpbWUpKTsKKwlQR19SRVRVUk5f RkxPQVQ4KElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGZ1bmNlbnRyeS0+Zl90b3RhbF90aW1l KSk7CiB9CiAKIERhdHVtCiBwZ19zdGF0X2dldF94YWN0X2Z1bmN0aW9uX3NlbGZfdGltZShQ R19GVU5DVElPTl9BUkdTKQogewogCU9pZAkJCWZ1bmNpZCA9IFBHX0dFVEFSR19PSUQoMCk7 Ci0JUGdTdGF0X0JhY2tlbmRGdW5jdGlvbkVudHJ5ICpmdW5jZW50cnk7CisJUGdTdGF0X0Z1 bmN0aW9uQ291bnRzICpmdW5jZW50cnk7CiAKIAlpZiAoKGZ1bmNlbnRyeSA9IGZpbmRfZnVu Y3N0YXRfZW50cnkoZnVuY2lkKSkgPT0gTlVMTCkKIAkJUEdfUkVUVVJOX05VTEwoKTsKLQlQ R19SRVRVUk5fRkxPQVQ4KElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGZ1bmNlbnRyeS0+Zl9j b3VudHMuZl9zZWxmX3RpbWUpKTsKKwlQR19SRVRVUk5fRkxPQVQ4KElOU1RSX1RJTUVfR0VU X01JTExJU0VDKGZ1bmNlbnRyeS0+Zl9zZWxmX3RpbWUpKTsKIH0KIAogCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCmluZGV4IGRi OTY3NTg4NGYuLmMxMGU0ZGE2NWYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5o CisrKyBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCkBAIC0xMTEsMTUgKzExMSw2IEBAIHR5cGVk ZWYgc3RydWN0IFBnU3RhdF9GdW5jdGlvbkNvdW50cwogCWluc3RyX3RpbWUJZl9zZWxmX3Rp bWU7CiB9IFBnU3RhdF9GdW5jdGlvbkNvdW50czsKIAotLyogLS0tLS0tLS0tLQotICogUGdT dGF0X0JhY2tlbmRGdW5jdGlvbkVudHJ5CU5vbi1mbHVzaGVkIGZ1bmN0aW9uIHN0YXRzLgot ICogLS0tLS0tLS0tLQotICovCi10eXBlZGVmIHN0cnVjdCBQZ1N0YXRfQmFja2VuZEZ1bmN0 aW9uRW50cnkKLXsKLQlQZ1N0YXRfRnVuY3Rpb25Db3VudHMgZl9jb3VudHM7Ci19IFBnU3Rh dF9CYWNrZW5kRnVuY3Rpb25FbnRyeTsKLQogLyoKICAqIFdvcmtpbmcgc3RhdGUgbmVlZGVk IHRvIGFjY3VtdWxhdGUgcGVyLWZ1bmN0aW9uLWNhbGwgdGltaW5nIHN0YXRpc3RpY3MuCiAg Ki8KQEAgLTU1OSw3ICs1NTAsNyBAQCBleHRlcm4gdm9pZCBwZ3N0YXRfZW5kX2Z1bmN0aW9u X3VzYWdlKFBnU3RhdF9GdW5jdGlvbkNhbGxVc2FnZSAqZmN1LAogCQkJCQkJCQkJICBib29s IGZpbmFsaXplKTsKIAogZXh0ZXJuIFBnU3RhdF9TdGF0RnVuY0VudHJ5ICpwZ3N0YXRfZmV0 Y2hfc3RhdF9mdW5jZW50cnkoT2lkIGZ1bmNfaWQpOwotZXh0ZXJuIFBnU3RhdF9CYWNrZW5k RnVuY3Rpb25FbnRyeSAqZmluZF9mdW5jc3RhdF9lbnRyeShPaWQgZnVuY19pZCk7CitleHRl cm4gUGdTdGF0X0Z1bmN0aW9uQ291bnRzICpmaW5kX2Z1bmNzdGF0X2VudHJ5KE9pZCBmdW5j X2lkKTsKIAogCiAvKgo= --------------ne8Eww55IBeEjn4Zvwmn5ovM--