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 1w84zw-000BwJ-1U for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 23:29:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w84zu-002yYX-0C for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 23:29:18 +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 1w84zt-002yYP-27 for pgsql-hackers@lists.postgresql.org; Wed, 01 Apr 2026 23:29:18 +0000 Received: from smtp.outgoing.loopia.se ([93.188.3.37]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w84zr-0000000063s-21ib for pgsql-hackers@postgresql.org; Wed, 01 Apr 2026 23:29:17 +0000 Received: from s807.loopia.se (localhost [127.0.0.1]) by s807.loopia.se (Postfix) with ESMTP id 9BE585A7D70 for ; Thu, 02 Apr 2026 01:29:14 +0200 (CEST) Received: from s979.loopia.se (unknown [172.22.191.6]) by s807.loopia.se (Postfix) with ESMTP id 886415A8EEC; Thu, 02 Apr 2026 01:29:14 +0200 (CEST) Received: from localhost (unknown [172.22.191.6]) by s979.loopia.se (Postfix) with ESMTP id 8618310BC427; Thu, 02 Apr 2026 01:29:14 +0200 (CEST) X-Virus-Scanned: amavis at amavis.loopia.se X-Spam-Flag: NO X-Spam-Score: -1.2 X-Spam-Level: X-Spam-Status: No, score=-1.2 tagged_above=-999 required=6.2 tests=[ALL_TRUSTED=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1] autolearn=disabled Authentication-Results: s473.loopia.se (amavis); dkim=pass (2048-bit key) header.d=proxel.se Received: from s981.loopia.se ([172.22.191.5]) by localhost (s473.loopia.se [172.22.190.13]) (amavis, port 10024) with LMTP id FoZxqwogBLAt; Thu, 2 Apr 2026 01:29:14 +0200 (CEST) X-Loopia-Auth: user X-Loopia-User: andreas@proxel.se X-Loopia-Originating-IP: 147.28.75.140 Received: from [192.168.0.121] (customer-147-28-75-140.stosn.net [147.28.75.140]) (Authenticated sender: andreas@proxel.se) by s981.loopia.se (Postfix) with ESMTPSA id D77B822B170E; Thu, 02 Apr 2026 01:29:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proxel.se; s=loopiadkim1707418970; t=1775086153; bh=JbBxFuXAESSyur/3c9QV53r9PMTYfTAfBCwe6A8syeo=; h=Date:Subject:To:References:From:In-Reply-To; b=qnqIT9V/dkz1o5g6mKpxrzF+SRUL1cRCxqV0OpFAlJiHo4mMbZq5efI5yWlgRkUeK VUdx3J0Bp9zIDmFQj4gtpKdDwQDJ1BQ18JS68RX+AX17XdNTZEAcj7vetkl4v5BjrJ iEEAF7NHFGUNAw6nKkfQSUs9IoSTGm92rO2dvwmQuVq4Ife6UQj4xPKN/yx/YUW0fG 7GKogVKKXrGskdMZmFQ2QCvvtJnjgVCmeY7YJOQ6BoQJsDgFPuLHtG6P93VOB1QL/j D6CQfGz6REKMsRlV8CuE1vJ2uxqVWI38ilNBdjDAu/NU4l2tNupcxRga1EvkvwvRV8 2RpVrJbpVKtOQ== Content-Type: multipart/mixed; boundary="------------e40bhAffCxmdbH5sxmPhEOh8" Message-ID: Date: Thu, 2 Apr 2026 01:29:11 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] analyze: move elevel calculation into do_analyze_rel() To: Lev Nikolaev , "pgsql-hackers@postgresql.org" References: <238121774875528@mail.360.yandex.ru> <903e5b83-e94b-440e-b47d-fedd151c854d@tantorlabs.com> From: Andreas Karlsson Content-Language: en-US In-Reply-To: <903e5b83-e94b-440e-b47d-fedd151c854d@tantorlabs.com> 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. --------------e40bhAffCxmdbH5sxmPhEOh8 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 3/31/26 7:56 PM, Lev Nikolaev wrote: > I reworked the patch slightly. This small cleanup makes sense to me since do_analyze_rel() already looks at if VACOPT_VERBOSE is set meaning related code is grouped closer after this small refactoring. The patch no longer applied so I rebased it. Andreas --------------e40bhAffCxmdbH5sxmPhEOh8 Content-Type: text/x-patch; charset=UTF-8; name="v3-0001-analyze-move-elevel-calculation-into-do_analyze_r.patch" Content-Disposition: attachment; filename*0="v3-0001-analyze-move-elevel-calculation-into-do_analyze_r.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA5MTZmN2VjMWNkNDE5NGFiYzhjM2FjMWUzMzA0MTU4NjdmMGM1Mzc0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMZXYgTmlrb2xhZXYgPGxldi5uaWtvbGFldkB0YW50 b3JsYWJzLnJ1PgpEYXRlOiBNb24sIDMwIE1hciAyMDI2IDExOjE1OjQ3ICswMDAwClN1Ympl Y3Q6IFtQQVRDSCB2M10gYW5hbHl6ZTogbW92ZSBlbGV2ZWwgY2FsY3VsYXRpb24gaW50byBk b19hbmFseXplX3JlbCgpCgphbmFseXplX3JlbCgpIGNvbXB1dGVzIGVsZXZlbCBmcm9tIHBh cmFtcy5vcHRpb25zLCBidXQgZG9lcyBub3QgdXNlIGl0CmRpcmVjdGx5IGFuZCBvbmx5IHBh c3NlcyBpdCB0byBkb19hbmFseXplX3JlbCgpLgoKU2luY2UgZG9fYW5hbHl6ZV9yZWwoKSBh bHJlYWR5IHJlY2VpdmVzIHBhcmFtcyBhbmQgZGVyaXZlcyB2ZXJib3NlIGZyb20KcGFyYW1z Lm9wdGlvbnMsIGNvbXB1dGUgZWxldmVsIHRoZXJlIGluc3RlYWQgYW5kIHJlbW92ZSB0aGUg ZXh0cmEKZnVuY3Rpb24gYXJndW1lbnQuCgpObyBiZWhhdmlvcmFsIGNoYW5nZSBpbnRlbmRl ZC4KLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy9hbmFseXplLmMgfCAyNiArKysrKysrKysr KysrLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDEz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FuYWx5 emUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FuYWx5emUuYwppbmRleCA0OWE1Y2RmNTc5 Yy4uMDdkZTI4YzNjZWMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FuYWx5 emUuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9hbmFseXplLmMKQEAgLTc4LDcgKzc4 LDcgQEAgc3RhdGljIEJ1ZmZlckFjY2Vzc1N0cmF0ZWd5IHZhY19zdHJhdGVneTsKIHN0YXRp YyB2b2lkIGRvX2FuYWx5emVfcmVsKFJlbGF0aW9uIG9uZXJlbCwKIAkJCQkJCSAgIGNvbnN0 IFZhY3V1bVBhcmFtcyAqcGFyYW1zLCBMaXN0ICp2YV9jb2xzLAogCQkJCQkJICAgQWNxdWly ZVNhbXBsZVJvd3NGdW5jIGFjcXVpcmVmdW5jLCBCbG9ja051bWJlciByZWxwYWdlcywKLQkJ CQkJCSAgIGJvb2wgaW5oLCBib29sIGluX291dGVyX3hhY3QsIGludCBlbGV2ZWwpOworCQkJ CQkJICAgYm9vbCBpbmgsIGJvb2wgaW5fb3V0ZXJfeGFjdCk7CiBzdGF0aWMgdm9pZCBjb21w dXRlX2luZGV4X3N0YXRzKFJlbGF0aW9uIG9uZXJlbCwgZG91YmxlIHRvdGFscm93cywKIAkJ CQkJCQkJQW5sSW5kZXhEYXRhICppbmRleGRhdGEsIGludCBuaW5kZXhlcywKIAkJCQkJCQkJ SGVhcFR1cGxlICpyb3dzLCBpbnQgbnVtcm93cywKQEAgLTExMSwxNiArMTExLDkgQEAgYW5h bHl6ZV9yZWwoT2lkIHJlbGlkLCBSYW5nZVZhciAqcmVsYXRpb24sCiAJCQlCdWZmZXJBY2Nl c3NTdHJhdGVneSBic3RyYXRlZ3kpCiB7CiAJUmVsYXRpb24Jb25lcmVsOwotCWludAkJCWVs ZXZlbDsKIAlBY3F1aXJlU2FtcGxlUm93c0Z1bmMgYWNxdWlyZWZ1bmMgPSBOVUxMOwogCUJs b2NrTnVtYmVyIHJlbHBhZ2VzID0gMDsKIAotCS8qIFNlbGVjdCBsb2dnaW5nIGxldmVsICov Ci0JaWYgKHBhcmFtcy0+b3B0aW9ucyAmIFZBQ09QVF9WRVJCT1NFKQotCQllbGV2ZWwgPSBJ TkZPOwotCWVsc2UKLQkJZWxldmVsID0gREVCVUcyOwotCiAJLyogU2V0IHVwIHN0YXRpYyB2 YXJpYWJsZXMgKi8KIAl2YWNfc3RyYXRlZ3kgPSBic3RyYXRlZ3k7CiAKQEAgLTI1MywxNCAr MjQ2LDE0IEBAIGFuYWx5emVfcmVsKE9pZCByZWxpZCwgUmFuZ2VWYXIgKnJlbGF0aW9uLAog CSAqLwogCWlmIChvbmVyZWwtPnJkX3JlbC0+cmVsa2luZCAhPSBSRUxLSU5EX1BBUlRJVElP TkVEX1RBQkxFKQogCQlkb19hbmFseXplX3JlbChvbmVyZWwsIHBhcmFtcywgdmFfY29scywg YWNxdWlyZWZ1bmMsCi0JCQkJCSAgIHJlbHBhZ2VzLCBmYWxzZSwgaW5fb3V0ZXJfeGFjdCwg ZWxldmVsKTsKKwkJCQkJICAgcmVscGFnZXMsIGZhbHNlLCBpbl9vdXRlcl94YWN0KTsKIAog CS8qCiAJICogSWYgdGhlcmUgYXJlIGNoaWxkIHRhYmxlcywgZG8gcmVjdXJzaXZlIEFOQUxZ WkUuCiAJICovCiAJaWYgKG9uZXJlbC0+cmRfcmVsLT5yZWxoYXNzdWJjbGFzcykKIAkJZG9f YW5hbHl6ZV9yZWwob25lcmVsLCBwYXJhbXMsIHZhX2NvbHMsIGFjcXVpcmVmdW5jLCByZWxw YWdlcywKLQkJCQkJICAgdHJ1ZSwgaW5fb3V0ZXJfeGFjdCwgZWxldmVsKTsKKwkJCQkJICAg dHJ1ZSwgaW5fb3V0ZXJfeGFjdCk7CiAKIAkvKgogCSAqIENsb3NlIHNvdXJjZSByZWxhdGlv biBub3csIGJ1dCBrZWVwIGxvY2sgc28gdGhhdCBubyBvbmUgZGVsZXRlcyBpdApAQCAtMjgz LDE1ICsyNzYsMTUgQEAgYW5hbHl6ZV9yZWwoT2lkIHJlbGlkLCBSYW5nZVZhciAqcmVsYXRp b24sCiBzdGF0aWMgdm9pZAogZG9fYW5hbHl6ZV9yZWwoUmVsYXRpb24gb25lcmVsLCBjb25z dCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAkJCSAgIExpc3QgKnZhX2NvbHMsIEFjcXVpcmVT YW1wbGVSb3dzRnVuYyBhY3F1aXJlZnVuYywKLQkJCSAgIEJsb2NrTnVtYmVyIHJlbHBhZ2Vz LCBib29sIGluaCwgYm9vbCBpbl9vdXRlcl94YWN0LAotCQkJICAgaW50IGVsZXZlbCkKKwkJ CSAgIEJsb2NrTnVtYmVyIHJlbHBhZ2VzLCBib29sIGluaCwgYm9vbCBpbl9vdXRlcl94YWN0 KQogewogCWludAkJCWF0dHJfY250LAogCQkJCXRjbnQsCiAJCQkJaSwKIAkJCQlpbmQ7CiAJ UmVsYXRpb24gICAqSXJlbDsKLQlpbnQJCQluaW5kZXhlczsKKwlpbnQJCQluaW5kZXhlcywK KwkJCQllbGV2ZWw7CiAJYm9vbAkJdmVyYm9zZSwKIAkJCQlpbnN0cnVtZW50LAogCQkJCWhh c2luZGV4OwpAQCAtMzE2LDYgKzMwOSwxMyBAQCBkb19hbmFseXplX3JlbChSZWxhdGlvbiBv bmVyZWwsIGNvbnN0IFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCVBnU3RhdF9Db3VudGVyIHN0 YXJ0d3JpdGV0aW1lID0gMDsKIAogCXZlcmJvc2UgPSAocGFyYW1zLT5vcHRpb25zICYgVkFD T1BUX1ZFUkJPU0UpICE9IDA7CisKKwkvKiBTZWxlY3QgbG9nZ2luZyBsZXZlbCAqLworCWlm ICh2ZXJib3NlKQorCQllbGV2ZWwgPSBJTkZPOworCWVsc2UKKwkJZWxldmVsID0gREVCVUcy OworCiAJaW5zdHJ1bWVudCA9ICh2ZXJib3NlIHx8IChBbUF1dG9WYWN1dW1Xb3JrZXJQcm9j ZXNzKCkgJiYKIAkJCQkJCQkgIHBhcmFtcy0+bG9nX2FuYWx5emVfbWluX2R1cmF0aW9uID49 IDApKTsKIAlpZiAoaW5oKQotLSAKMi40Ny4zCgo= --------------e40bhAffCxmdbH5sxmPhEOh8--