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 1w6pDo-004goG-10 for pgsql-hackers@arkaria.postgresql.org; Sun, 29 Mar 2026 12:26:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w6pDm-00GKqz-2o for pgsql-hackers@arkaria.postgresql.org; Sun, 29 Mar 2026 12:26:27 +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 <3danissimo@gmail.com>) id 1w6pDm-00GKqr-1o for pgsql-hackers@lists.postgresql.org; Sun, 29 Mar 2026 12:26:27 +0000 Received: from mail-yx1-xb12f.google.com ([2607:f8b0:4864:20::b12f]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from <3danissimo@gmail.com>) id 1w6pDk-00000001oi0-1jcR for pgsql-hackers@lists.postgresql.org; Sun, 29 Mar 2026 12:26:26 +0000 Received: by mail-yx1-xb12f.google.com with SMTP id 956f58d0204a3-65015facf32so558314d50.1 for ; Sun, 29 Mar 2026 05:26:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774787183; cv=none; d=google.com; s=arc-20240605; b=J1jcBgEXGFFyj3f852bIToMNOLoEbPoMBXNtt+BlXaIGGHH6LIorJDO9ZU2BptCt0N z0Gzene3ULhqCSvBWCdLiCvAZD9a18BhVa0h6YmNwau+o+mAn6aFir2H8F1jvnMufy2D 5B4WU0voYkRPP078r7tGyDkAMU8jXrH/FXlpLKMwfQiImnyfp6uu1KWPPn6sb1xsGm4N KFEhTfhTPfCzSIGCTQrXk0QucByvGOfqDMx10RbrDQiqp6nygLMc5GHY63Ol+MgWgPP8 /r/hAepgpkZYokuoBpbIAOO4hOOGxlbKB2kCWvXJXGaNcWqMSFAHNUlWydGo3fJmPQrg XN7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=6dlnkb42O6KLcfqT6r6P6xP6U1VC8C0EXLDkNNsK1YI=; fh=oWKbGXenJ0W3UaTE5+JHx7ufYGIICxbxa2jY+IM9Itg=; b=bImXPuwajhcd2dmjsGYVdrNv2QiabKoDxM75p8hOh9sGNMJLiMmZLfq+9th6yMOVqQ 4xq0Dby3NI/D2WMYKUufqhdH6ZEjBitUVgt5IPod3vUoSfDDMX4Mr40B2eIaZXyFWgiZ c4bTfGfX71/4fCGPaz5RqkOqVocjYrqVqG8Ien2mscP+9iJc17bqNmlRpeRQbCDBs08y +fjwonlZFAO34UtHFEAeIIiTwi/U6GDsIUw3wPUvmH4pWj/KkgBSyCNyJxcE7Var01t3 lD26k2A0NucOBkA4A83yQgpzsPzZBlMfmkfsBW5TUgVU199MMYtrTMkd9VgmUS/mu28v 2F9A==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774787183; x=1775391983; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=6dlnkb42O6KLcfqT6r6P6xP6U1VC8C0EXLDkNNsK1YI=; b=MTMp/PIpNeiYwSxXqaSkFMopnpyHXGd2Z3u+Ngt4TPSqvUfI3o0G3eGIuo+lCVN6UT yGxj7Xm76ejrfw4zkgTmA2yo7hNvnh0v95yyiBC0Wp6RXc2U6F1vuoaZLXbGZyA4+rZ/ lgVdAeNKkl6CEfQ0rTRyIxvIgb2O+F0uWrXMKduB26aGY/4jV6IrKdeLCd7nHhKo5P1S 54wTYLu0/sJYcugJINzu9jKP8lA9zMVMNt77PR6CcWe8JolOpZHGj8Dtaz1cLzSvYDFo ywDGLvembupr9v+g+RjBcs2UXfMF7cNcLhvffPXzB1mrSNKwbsFEwJhvLyDqmKiBZels Rpwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774787183; x=1775391983; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=6dlnkb42O6KLcfqT6r6P6xP6U1VC8C0EXLDkNNsK1YI=; b=b88EjDIIQ7lKzosbo83Yej1H8EwgOXRhM91E6wnbGCF8vUJuHMcq780nZhKaafXpY2 Cd+g2ln5z9ub14hD38bwJQSP9rej3iUBBbchf52HxZyqrq4ohMWbAGrf6NiRx7voE+jo tFzApcf9wh08nkdeuMTqy9JhGgtrc1lXD9AdYRPHtMHAuyV8p3huSdlC3VntZ39elTy4 PR9Wa6qZUIB02Y0J7oV5GImcwRm4gwBFJXcO/QKiYUNZyIYp4LsdcQ6sFwgrXtPI3RVZ tesV++Nwpp70DciSERmkkeAqJaOmn3YAjPLFtnivLUwgmERxpiLNHhGZcpR8cUuaeX1V Q0LQ== X-Gm-Message-State: AOJu0YwMQUVYI4tgeUxx3zljFGyYi3VKle+P46EnnqHgfkT0cvqbYl8B BaU2tkDcoUTn91/rWqGjuMwIIZEPPPFiz2YE92QFli0DV0DSchnP90Mwh4e4tago4hfA6SHNXlU hXG/9SIEUcZ09zNeMf2UZGjnE4L4QEkb7/KaP X-Gm-Gg: ATEYQzzRagBFBRgDhE4at1F5Rv+jWdxiqK5IXm3Ke1DeBp0IGmz5u0dey6QI4T0o0nH 20JPmrUxyZKOWRzAoEHDcYlTofEQUg2+ZSBWYm5BKY1I4f70Kd8WzFHbUbWlwhKkNZr44vVwwrP L/n6C+bORrl3gJXO3ThtO8pq49BslBQ31PL2XqKourNxFN5BG0rwTWqcyHrKoGS9+j4oVjDr3M9 V41f3NKNVHHLcSOglyiVQXves7sPqen543xIzj8Lr/fatMEMCxY2MM5hAdvTr32pJ7T3r55FBzn UMavSAc= X-Received: by 2002:a05:690c:13:b0:79a:2f38:9a8c with SMTP id 00721157ae682-79bdddabcedmr93383417b3.15.1774787182683; Sun, 29 Mar 2026 05:26:22 -0700 (PDT) MIME-Version: 1.0 From: Daniil Davydov <3danissimo@gmail.com> Date: Sun, 29 Mar 2026 19:26:11 +0700 X-Gm-Features: AQROBzDO3nhV7CIIjXzHU2BIADnUMBDcGsfWokXR0ZHg9aE085wrM17-e1SjerQ Message-ID: Subject: Get rid of redundant StringInfo accumulation To: Postgres hackers Content-Type: multipart/mixed; boundary="00000000000093a023064e28d799" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000093a023064e28d799 Content-Type: text/plain; charset="UTF-8" Hi, I have noticed that there are several places in the code where we are creating StringInfo in order to log its content. But this work may be wasted if the specified log level is not interesting both for client and server. I.e. now we can allocate memory for StringInfo which will never be displayed. I think that at first we should check whether log level is interesting and only then start creating the StringInfo. Please, see the attached patch that fixes it. I hope I have found all the places where it would be appropriate. -- Best regards, Daniil Davydov --00000000000093a023064e28d799 Content-Type: text/x-patch; charset="US-ASCII"; name="v1-0001-Get-rid-of-redundant-calculations.patch" Content-Disposition: attachment; filename="v1-0001-Get-rid-of-redundant-calculations.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnbqevyj0 RnJvbSBjZDFhODViZmQ3MWRjODc1YTlmN2ExNjZjMGZiMmYwNjA0YTVhMWNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5paWwgRGF2aWRvdiA8ZC5kYXZ5ZG92QHBvc3RncmVzcHJv LnJ1PgpEYXRlOiBTdW4sIDI5IE1hciAyMDI2IDE5OjE3OjExICswNzAwClN1YmplY3Q6IFtQQVRD SCB2MV0gR2V0IHJpZCBvZiByZWR1bmRhbnQgY2FsY3VsYXRpb25zCgotLS0KIHNyYy9iYWNrZW5k L3JlcGxpY2F0aW9uL2xvZ2ljYWwvY29uZmxpY3QuYyB8IDMgKysrCiBzcmMvYmFja2VuZC9zdG9y YWdlL2lwYy9wcm9jYXJyYXkuYyAgICAgICAgfCAzICsrKwogc3JjL2JhY2tlbmQvc3RvcmFnZS9p cGMvc3RhbmRieS5jICAgICAgICAgIHwgMyArKysKIHNyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9s b2NrLmMgICAgICAgICAgICB8IDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2luaXQvcG9zdGluaXQu YyAgICAgICAgICB8IDMgKystCiA1IGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC9jb25mbGljdC5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5j CmluZGV4IGNhNzFhODFjN2JmLi4yMDI5ODllYWRhMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvY29uZmxpY3QuYwpAQCAtMTA4LDYgKzEwOCw5IEBAIFJlcG9ydEFwcGx5Q29u ZmxpY3QoRVN0YXRlICplc3RhdGUsIFJlc3VsdFJlbEluZm8gKnJlbGluZm8sIGludCBlbGV2ZWws CiAJUmVsYXRpb24JbG9jYWxyZWwgPSByZWxpbmZvLT5yaV9SZWxhdGlvbkRlc2M7CiAJU3RyaW5n SW5mb0RhdGEgZXJyX2RldGFpbDsKIAorCWlmICghbWVzc2FnZV9sZXZlbF9pc19pbnRlcmVzdGlu ZyhlbGV2ZWwpKQorCQlyZXR1cm47CisKIAlpbml0U3RyaW5nSW5mbygmZXJyX2RldGFpbCk7CiAK IAkvKiBGb3JtIGVycmRldGFpbCBtZXNzYWdlIGJ5IGNvbWJpbmluZyBjb25mbGljdGluZyB0dXBs ZXMgaW5mb3JtYXRpb24uICovCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9w cm9jYXJyYXkuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3Byb2NhcnJheS5jCmluZGV4IGNj MjA3Y2I1NmUzLi43ZTliZmFjNjM0ZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9p cGMvcHJvY2FycmF5LmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvcHJvY2FycmF5LmMK QEAgLTUyNjcsNiArNTI2Nyw5IEBAIEtub3duQXNzaWduZWRYaWRzRGlzcGxheShpbnQgdHJhY2Vf bGV2ZWwpCiAJdGFpbCA9IHBBcnJheS0+dGFpbEtub3duQXNzaWduZWRYaWRzOwogCWhlYWQgPSBw QXJyYXktPmhlYWRLbm93bkFzc2lnbmVkWGlkczsKIAorCWlmICghbWVzc2FnZV9sZXZlbF9pc19p bnRlcmVzdGluZyh0cmFjZV9sZXZlbCkpCisJCXJldHVybjsKKwogCWluaXRTdHJpbmdJbmZvKCZi dWYpOwogCiAJZm9yIChpID0gdGFpbDsgaSA8IGhlYWQ7IGkrKykKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3N0 YW5kYnkuYwppbmRleCBkZTkwOTJmZGY1Yi4uMmYyYzBkZjdiNzQgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2lw Yy9zdGFuZGJ5LmMKQEAgLTI4Miw2ICsyODIsOSBAQCBMb2dSZWNvdmVyeUNvbmZsaWN0KFJlY292 ZXJ5Q29uZmxpY3RSZWFzb24gcmVhc29uLCBUaW1lc3RhbXBUeiB3YWl0X3N0YXJ0LAogCVN0cmlu Z0luZm9EYXRhIGJ1ZjsKIAlpbnQJCQlucHJvY3MgPSAwOwogCisJaWYgKCFtZXNzYWdlX2xldmVs X2lzX2ludGVyZXN0aW5nKExPRykpCisJCXJldHVybjsKKwogCS8qCiAJICogVGhlcmUgbXVzdCBi ZSBubyBjb25mbGljdGluZyBwcm9jZXNzZXMgd2hlbiB0aGUgcmVjb3ZlcnkgY29uZmxpY3QgaGFz CiAJICogYWxyZWFkeSBiZWVuIHJlc29sdmVkLgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3Rv cmFnZS9sbWdyL2xvY2suYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9sb2NrLmMKaW5kZXgg MjM0NjQzZTRkZDcuLjY5ZGQyMWYxNzhiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdl L2xtZ3IvbG9jay5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9sb2NrLmMKQEAgLTEx NzIsNyArMTE3Miw3IEBAIExvY2tBY3F1aXJlRXh0ZW5kZWQoY29uc3QgTE9DS1RBRyAqbG9ja3Rh ZywKIAkJCSAqIGxvZ0xvY2tGYWlsdXJlID0gdHJ1ZSBhbmQgbG9jayBhY3F1aXNpdGlvbiBmYWls cyB3aXRoIGRvbnRXYWl0CiAJCQkgKiA9IHRydWUKIAkJCSAqLwotCQkJaWYgKGxvZ0xvY2tGYWls dXJlKQorCQkJaWYgKGxvZ0xvY2tGYWlsdXJlICYmIG1lc3NhZ2VfbGV2ZWxfaXNfaW50ZXJlc3Rp bmcoTE9HKSkKIAkJCXsKIAkJCQlTdHJpbmdJbmZvRGF0YSBidWYsCiAJCQkJCQkJbG9ja193YWl0 ZXJzX3NidWYsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9pbml0L3Bvc3Rpbml0LmMg Yi9zcmMvYmFja2VuZC91dGlscy9pbml0L3Bvc3Rpbml0LmMKaW5kZXggMjYxMTg2NjFmMDcuLjdk MzI1YjIxMzI0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9pbml0L3Bvc3Rpbml0LmMK KysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9wb3N0aW5pdC5jCkBAIC0yNjksNyArMjY5LDgg QEAgUGVyZm9ybUF1dGhlbnRpY2F0aW9uKFBvcnQgKnBvcnQpCiAJLyogQ2FwdHVyZSBhdXRoZW50 aWNhdGlvbiBlbmQgdGltZSBmb3IgbG9nZ2luZyAqLwogCWNvbm5fdGltaW5nLmF1dGhfZW5kID0g R2V0Q3VycmVudFRpbWVzdGFtcCgpOwogCi0JaWYgKGxvZ19jb25uZWN0aW9ucyAmIExPR19DT05O RUNUSU9OX0FVVEhPUklaQVRJT04pCisJaWYgKGxvZ19jb25uZWN0aW9ucyAmIExPR19DT05ORUNU SU9OX0FVVEhPUklaQVRJT04gJiYKKwkJbWVzc2FnZV9sZXZlbF9pc19pbnRlcmVzdGluZyhMT0cp KQogCXsKIAkJU3RyaW5nSW5mb0RhdGEgbG9nbXNnOwogCi0tIAoyLjQzLjAKCg== --00000000000093a023064e28d799--