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 1qwHXd-00Aq0F-74 for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Oct 2023 07:46:01 +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 1qwHXb-00Cqwf-9w for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Oct 2023 07:45:59 +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 1qwHXa-00CquL-T6 for pgsql-hackers@lists.postgresql.org; Fri, 27 Oct 2023 07:45:58 +0000 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qwHXX-00343x-Bw for pgsql-hackers@lists.postgresql.org; Fri, 27 Oct 2023 07:45:58 +0000 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-32d9effe314so1207814f8f.3 for ; Fri, 27 Oct 2023 00:45:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698392754; x=1698997554; darn=lists.postgresql.org; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=MHTPjLNKlT/RLkLrfDpTNMoiWsaTs1ju3CYREYwAxEs=; b=UfOzIcFIKglJUOiTIiURZH39NUknlDw+4gHHG1K0bEYwWttFRg4NSMfdZP/T4VRBx2 5efW1C8Rw80EQ+7UyIKeFQIXnbD4kniAMDhZ1i9TIRy8pyQIo0AXEX2NJSKnYBsSnbAq B9BIGcbVmTq3CBvluxOfjKKTnjQG7spf2JAUZj+xr2iDh61jvCDzYwec9HDaS0nr1RaK epdLkFKHX8F4d9J2RAicajoKdcZbFrA+xZ/S8KZwWyfPWwtKIckcXpkY47BfSzPEoFS3 rFctuANEjF9TUuE75erI42o+XoGhfHTsRrFztnK6fKHt8VKlwkkFJ29lkXX/yG6XSsCx 7qvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698392754; x=1698997554; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=MHTPjLNKlT/RLkLrfDpTNMoiWsaTs1ju3CYREYwAxEs=; b=SnMQlKZNucXGcIVyCoIUaiRrrHDxYX76UcHuLKJLRHu/ElHurTFK/MlMQl9KmqXIVk KABxit4Ve499fouYMIblygpUMVGosdGMn4jR0L+cIVAg2DvtXmbxwg+YVziWZCX4pmoM MyxnNQnAmKNwEBzalnOYLnXBPnIbhhoS4X+vZxNwHI8Z0bA2uELORZ/jk+7ag/vEm+1x Q+fAsh2XNh9Ia8f3BGSg91qrERhJYLcNp+W3As17amAunv9kIvMvsKnr3XmtufbGB/8h fPa6XTTr25UiUvDjS9iFNViqXsYeLDMRM2Xnd28TRkH6KhTMWVV9IiWpoo3IqxTR+QFl U2CQ== X-Gm-Message-State: AOJu0YzoB004MYNchbQzYlDb/dxbZB43D1gDau9ZzGRx41Va1P5Ly0i+ ORFaPqqKBIMXdM/7QCefCfw= X-Google-Smtp-Source: AGHT+IFcPyAhBxK6uP/hnEek1tAd0B2VjIVtLh9iLd+rRJIkuUiuhrioe9b4Lb/mREjL5nqrMn0kQw== X-Received: by 2002:adf:eb83:0:b0:32d:82d8:3442 with SMTP id t3-20020adfeb83000000b0032d82d83442mr1205229wrn.53.1698392753784; Fri, 27 Oct 2023 00:45:53 -0700 (PDT) Received: from ?IPV6:2a01:cb11:192:7000:d81:5d67:b027:96c0? ([2a01:cb11:192:7000:d81:5d67:b027:96c0]) by smtp.gmail.com with ESMTPSA id n4-20020a5d4844000000b0032d2f09d991sm1172593wrs.33.2023.10.27.00.45.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 27 Oct 2023 00:45:53 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------MjiqAjuOZ8UwfEcfsK6L0JGL" Message-ID: <17a537e3-9497-4427-82e8-8e2b3ad8fd5f@gmail.com> Date: Fri, 27 Oct 2023 09:45:52 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Reconcile stats in find_tabstat_entry() and get rid of PgStat_BackendFunctionEntry Content-Language: en-US To: Michael Paquier Cc: Andres Freund , Kyotaro Horiguchi , pgsql-hackers@lists.postgresql.org References: <20230216212121.uvav7xgdh2ysqjy5@awork3.anarazel.de> <621ed53c-4d9a-8f77-ab8c-20235f2d95a1@gmail.com> <20230325030044.nhfas3nommsmwl6q@awork3.anarazel.de> From: "Drouvot, Bertrand" In-Reply-To: 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. --------------MjiqAjuOZ8UwfEcfsK6L0JGL Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, On 10/27/23 8:07 AM, Michael Paquier wrote: > > The part that I found disturbing is here: > + tabentry = (PgStat_TableStatus *) entry_ref->pending; > + tablestatus = palloc(sizeof(PgStat_TableStatus)); > + *tablestatus = *tabentry; > > This causes tablestatus->trans to point to the same location as > tabentry->trans, but wouldn't it be better to set tablestatus->trans > to NULL instead for the copy returned to the caller? Oh I see, yeah I do agree to set tablestatus->trans to NULL to avoid any undesired interference with tabentry->trans. Done in V8 attached (pgindent has been run on pgstatfuncs.c and pgstat_relation.c). Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------MjiqAjuOZ8UwfEcfsK6L0JGL Content-Type: text/plain; charset=UTF-8; name="v8-0001-Reconcile-stats-in-find_tabstat_entry.patch" Content-Disposition: attachment; filename="v8-0001-Reconcile-stats-in-find_tabstat_entry.patch" Content-Transfer-Encoding: base64 RnJvbSA5ZjY5MzYzMjk2MDU4YmQ0NzNlZmE1MGY4ZDhiOTk1NjI3ZjBkYmRmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJ0cmFuZCBEcm91dm90IDxiZXJ0cmFuZGRyb3V2 b3QucGdAZ21haWwuY29tPgpEYXRlOiBUaHUsIDI2IE9jdCAyMDIzIDA2OjM4OjA4ICswMDAw ClN1YmplY3Q6IFtQQVRDSCB2OF0gUmVjb25jaWxlIHN0YXRzIGluIGZpbmRfdGFic3RhdF9l bnRyeSgpCgotLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlv bi5jIHwgMzggKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5j cy5jICAgICAgICAgIHwgNjYgKystLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdl ZCwgNDEgaW5zZXJ0aW9ucygrKSwgNjMgZGVsZXRpb25zKC0pCiAgNDIuMyUgc3JjL2JhY2tl bmQvdXRpbHMvYWN0aXZpdHkvCiAgNTcuNiUgc3JjL2JhY2tlbmQvdXRpbHMvYWR0LwoKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5j IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKaW5kZXgg OTg3NmUwYzFlOC4uNGM2OTRkOTI1ZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0 aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKQEAgLTQ3OCwyMCArNDc4LDUyIEBAIHBnc3RhdF9m ZXRjaF9zdGF0X3RhYmVudHJ5X2V4dChib29sIHNoYXJlZCwgT2lkIHJlbG9pZCkKICAqIEZp bmQgYW55IGV4aXN0aW5nIFBnU3RhdF9UYWJsZVN0YXR1cyBlbnRyeSBmb3IgcmVsX2lkIGlu IHRoZSBjdXJyZW50CiAgKiBkYXRhYmFzZS4gSWYgbm90IGZvdW5kLCB0cnkgZmluZGluZyBm cm9tIHNoYXJlZCB0YWJsZXMuCiAgKgorICogSWYgYW4gZW50cnkgaXMgZm91bmQsIGNvcHkg aXQgYW5kIGluY3JlbWVudCB0aGUgY29weSdzIGNvdW50ZXJzIHdpdGggdGhlaXIKKyAqIHN1 YnRyYW5zYWN0aW9ucyBjb3VudGVycGFydHMuIFRoZW4gcmV0dXJuIHRoZSBjb3B5LiBUaGUg Y2FsbGVyIG1heSBuZWVkIHRvCisgKiBwZnJlZSB0aGUgY29weSAoaW4gY2FzZSB0aGUgTWVt b3J5Q29udGV4dCBpcyBub3QgcmVzZXQgc29vbiBhZnRlcikuCisgKgogICogSWYgbm8gZW50 cnkgZm91bmQsIHJldHVybiBOVUxMLCBkb24ndCBjcmVhdGUgYSBuZXcgb25lCiAgKi8KIFBn U3RhdF9UYWJsZVN0YXR1cyAqCiBmaW5kX3RhYnN0YXRfZW50cnkoT2lkIHJlbF9pZCkKIHsK IAlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKKwlQZ1N0YXRfVGFibGVYYWN0U3RhdHVz ICp0cmFuczsKKwlQZ1N0YXRfVGFibGVTdGF0dXMgKnRhYmVudHJ5ID0gTlVMTDsKKwlQZ1N0 YXRfVGFibGVTdGF0dXMgKnRhYmxlc3RhdHVzID0gTlVMTDsKIAogCWVudHJ5X3JlZiA9IHBn c3RhdF9mZXRjaF9wZW5kaW5nX2VudHJ5KFBHU1RBVF9LSU5EX1JFTEFUSU9OLCBNeURhdGFi YXNlSWQsIHJlbF9pZCk7CiAJaWYgKCFlbnRyeV9yZWYpCisJewogCQllbnRyeV9yZWYgPSBw Z3N0YXRfZmV0Y2hfcGVuZGluZ19lbnRyeShQR1NUQVRfS0lORF9SRUxBVElPTiwgSW52YWxp ZE9pZCwgcmVsX2lkKTsKKwkJaWYgKCFlbnRyeV9yZWYpCisJCQlyZXR1cm4gdGFibGVzdGF0 dXM7CisJfQorCisJdGFiZW50cnkgPSAoUGdTdGF0X1RhYmxlU3RhdHVzICopIGVudHJ5X3Jl Zi0+cGVuZGluZzsKKwl0YWJsZXN0YXR1cyA9IHBhbGxvYyhzaXplb2YoUGdTdGF0X1RhYmxl U3RhdHVzKSk7CisJKnRhYmxlc3RhdHVzID0gKnRhYmVudHJ5OworCisJLyoKKwkgKiBXZSBk b24ndCB3YW50IHRhYmxlc3RhdHVzLT50cmFucyB0byBwb2ludCB0byB0aGUgc2FtZSBsb2Nh dGlvbiBhcworCSAqIHRhYmVudHJ5LT50cmFucyBhcyB0aGF0IGNvdWxkIGxlYWQgdG8gdW5k ZXNpcmVkIGJlaGF2aW9yLgorCSAqLworCXRhYmxlc3RhdHVzLT50cmFucyA9IE5VTEw7CisK KwkvKgorCSAqIExpdmUgc3VidHJhbnNhY3Rpb25zJyBjb3VudHMgYXJlbid0IGluIGNvdW50 cyB5ZXQuIFRoaXMgaXMgbm90IGEgaG90CisJICogY29kZSBwYXRoIHNvIGl0IHNvdW5kcyBv ayB0byByZWNvbmNpbGUgZm9yIHR1cGxlc19pbnNlcnRlZCwKKwkgKiB0dXBsZXNfdXBkYXRl ZCBhbmQgdHVwbGVzX2RlbGV0ZWQgZXZlbiBpZiB0aGlzIGlzIG5vdCB3aGF0IHRoZSBjYWxs ZXIKKwkgKiBpcyBpbnRlcmVzdGVkIGluLgorCSAqLworCWZvciAodHJhbnMgPSB0YWJlbnRy eS0+dHJhbnM7IHRyYW5zICE9IE5VTEw7IHRyYW5zID0gdHJhbnMtPnVwcGVyKQorCXsKKwkJ dGFibGVzdGF0dXMtPmNvdW50cy50dXBsZXNfaW5zZXJ0ZWQgKz0gdHJhbnMtPnR1cGxlc19p bnNlcnRlZDsKKwkJdGFibGVzdGF0dXMtPmNvdW50cy50dXBsZXNfdXBkYXRlZCArPSB0cmFu cy0+dHVwbGVzX3VwZGF0ZWQ7CisJCXRhYmxlc3RhdHVzLT5jb3VudHMudHVwbGVzX2RlbGV0 ZWQgKz0gdHJhbnMtPnR1cGxlc19kZWxldGVkOworCX0KIAotCWlmIChlbnRyeV9yZWYpCi0J CXJldHVybiBlbnRyeV9yZWYtPnBlbmRpbmc7Ci0JcmV0dXJuIE5VTEw7CisJcmV0dXJuIHRh Ymxlc3RhdHVzOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpp bmRleCA2NDY4YjZhODA1Li45OThjNjllMjQxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91 dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdz dGF0ZnVuY3MuYwpAQCAtMTU4OCw2OCArMTU4OCwxNCBAQCBQR19TVEFUX0dFVF9YQUNUX1JF TEVOVFJZX0lOVDY0KGJsb2Nrc19mZXRjaGVkKQogLyogcGdfc3RhdF9nZXRfeGFjdF9ibG9j a3NfaGl0ICovCiBQR19TVEFUX0dFVF9YQUNUX1JFTEVOVFJZX0lOVDY0KGJsb2Nrc19oaXQp CiAKLURhdHVtCi1wZ19zdGF0X2dldF94YWN0X3R1cGxlc19pbnNlcnRlZChQR19GVU5DVElP Tl9BUkdTKQotewotCU9pZAkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsKLQlpbnQ2NAkJ cmVzdWx0OwotCVBnU3RhdF9UYWJsZVN0YXR1cyAqdGFiZW50cnk7Ci0JUGdTdGF0X1RhYmxl WGFjdFN0YXR1cyAqdHJhbnM7CisvKiBwZ19zdGF0X2dldF94YWN0X3R1cGxlc19pbnNlcnRl ZCAqLworUEdfU1RBVF9HRVRfWEFDVF9SRUxFTlRSWV9JTlQ2NCh0dXBsZXNfaW5zZXJ0ZWQp CiAKLQlpZiAoKHRhYmVudHJ5ID0gZmluZF90YWJzdGF0X2VudHJ5KHJlbGlkKSkgPT0gTlVM TCkKLQkJcmVzdWx0ID0gMDsKLQllbHNlCi0JewotCQlyZXN1bHQgPSB0YWJlbnRyeS0+Y291 bnRzLnR1cGxlc19pbnNlcnRlZDsKLQkJLyogbGl2ZSBzdWJ0cmFuc2FjdGlvbnMnIGNvdW50 cyBhcmVuJ3QgaW4gdHVwbGVzX2luc2VydGVkIHlldCAqLwotCQlmb3IgKHRyYW5zID0gdGFi ZW50cnktPnRyYW5zOyB0cmFucyAhPSBOVUxMOyB0cmFucyA9IHRyYW5zLT51cHBlcikKLQkJ CXJlc3VsdCArPSB0cmFucy0+dHVwbGVzX2luc2VydGVkOwotCX0KKy8qIHBnX3N0YXRfZ2V0 X3hhY3RfdHVwbGVzX3VwZGF0ZWQgKi8KK1BHX1NUQVRfR0VUX1hBQ1RfUkVMRU5UUllfSU5U NjQodHVwbGVzX3VwZGF0ZWQpCiAKLQlQR19SRVRVUk5fSU5UNjQocmVzdWx0KTsKLX0KLQot RGF0dW0KLXBnX3N0YXRfZ2V0X3hhY3RfdHVwbGVzX3VwZGF0ZWQoUEdfRlVOQ1RJT05fQVJH UykKLXsKLQlPaWQJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7Ci0JaW50NjQJCXJlc3Vs dDsKLQlQZ1N0YXRfVGFibGVTdGF0dXMgKnRhYmVudHJ5OwotCVBnU3RhdF9UYWJsZVhhY3RT dGF0dXMgKnRyYW5zOwotCi0JaWYgKCh0YWJlbnRyeSA9IGZpbmRfdGFic3RhdF9lbnRyeShy ZWxpZCkpID09IE5VTEwpCi0JCXJlc3VsdCA9IDA7Ci0JZWxzZQotCXsKLQkJcmVzdWx0ID0g dGFiZW50cnktPmNvdW50cy50dXBsZXNfdXBkYXRlZDsKLQkJLyogbGl2ZSBzdWJ0cmFuc2Fj dGlvbnMnIGNvdW50cyBhcmVuJ3QgaW4gdHVwbGVzX3VwZGF0ZWQgeWV0ICovCi0JCWZvciAo dHJhbnMgPSB0YWJlbnRyeS0+dHJhbnM7IHRyYW5zICE9IE5VTEw7IHRyYW5zID0gdHJhbnMt PnVwcGVyKQotCQkJcmVzdWx0ICs9IHRyYW5zLT50dXBsZXNfdXBkYXRlZDsKLQl9Ci0KLQlQ R19SRVRVUk5fSU5UNjQocmVzdWx0KTsKLX0KLQotRGF0dW0KLXBnX3N0YXRfZ2V0X3hhY3Rf dHVwbGVzX2RlbGV0ZWQoUEdfRlVOQ1RJT05fQVJHUykKLXsKLQlPaWQJCQlyZWxpZCA9IFBH X0dFVEFSR19PSUQoMCk7Ci0JaW50NjQJCXJlc3VsdDsKLQlQZ1N0YXRfVGFibGVTdGF0dXMg KnRhYmVudHJ5OwotCVBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5zOwotCi0JaWYgKCh0 YWJlbnRyeSA9IGZpbmRfdGFic3RhdF9lbnRyeShyZWxpZCkpID09IE5VTEwpCi0JCXJlc3Vs dCA9IDA7Ci0JZWxzZQotCXsKLQkJcmVzdWx0ID0gdGFiZW50cnktPmNvdW50cy50dXBsZXNf ZGVsZXRlZDsKLQkJLyogbGl2ZSBzdWJ0cmFuc2FjdGlvbnMnIGNvdW50cyBhcmVuJ3QgaW4g dHVwbGVzX2RlbGV0ZWQgeWV0ICovCi0JCWZvciAodHJhbnMgPSB0YWJlbnRyeS0+dHJhbnM7 IHRyYW5zICE9IE5VTEw7IHRyYW5zID0gdHJhbnMtPnVwcGVyKQotCQkJcmVzdWx0ICs9IHRy YW5zLT50dXBsZXNfZGVsZXRlZDsKLQl9Ci0KLQlQR19SRVRVUk5fSU5UNjQocmVzdWx0KTsK LX0KKy8qIHBnX3N0YXRfZ2V0X3hhY3RfdHVwbGVzX2RlbGV0ZWQgKi8KK1BHX1NUQVRfR0VU X1hBQ1RfUkVMRU5UUllfSU5UNjQodHVwbGVzX2RlbGV0ZWQpCiAKIERhdHVtCiBwZ19zdGF0 X2dldF94YWN0X2Z1bmN0aW9uX2NhbGxzKFBHX0ZVTkNUSU9OX0FSR1MpCi0tIAoyLjM0LjEK Cg== --------------MjiqAjuOZ8UwfEcfsK6L0JGL--