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 1w7mZM-005gfd-2P for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 03:48:40 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w7mZJ-00EeX2-1W for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 03:48:37 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7mZJ-00EeWt-0T for pgsql-hackers@lists.postgresql.org; Wed, 01 Apr 2026 03:48:37 +0000 Received: from mail-qt1-x831.google.com ([2607:f8b0:4864:20::831]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w7mZH-000000024ku-3AZm for pgsql-hackers@lists.postgresql.org; Wed, 01 Apr 2026 03:48:36 +0000 Received: by mail-qt1-x831.google.com with SMTP id d75a77b69052e-506bcb23a78so54750451cf.3 for ; Tue, 31 Mar 2026 20:48:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775015315; cv=none; d=google.com; s=arc-20240605; b=KsYEENXuLqRAEwdzl4dl83wfUchTzWkFmIuxX0ow5Uw/lL4BNQDNAMFcFS2IdnrAyh AUxTPgLm3pVjNe/OaC6xZvTOens3W7h+KbywjncDnJcb6t9omDZ7syEMGFsIGK2yq7/2 ajONN0p0IaSikzhqCYQFUarUAVftNE2huh6VtFrlp842ijcu2oAaBlfdmGeRuvP0/bGD U521HY3PRgNGWtIZP9rzGOrFg+lgpaHmqbCdnGfPm9NB1TwSrAUKK6zfahm+nTdKN3Me Ee8nwn5vC8cW1zN5OnOn1zvu2cgEvA0JWOePgf/5f8KGRl5qE3lWJR6rwXJJ9Ikws3Xo ZD+A== 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=n1ZZvcjyXLaxQTRSOxLLbitlLFCrX/tibpSOjMFOqac=; fh=dxJXJbLzq9Nah1LUdsj4QTuQ3JoDScd0wp1YHY64NXM=; b=IC7zviYx0CrCS1zRWnlX6nY+abS+0kvKceauUBuYUEOjOBtbAEwGhW6q6ASvBmFajH r18WNaXqGi6UwDlsaCPM3CQd54ca7hotQ05c74UBIpvKYDqhPH9gBPgzZCNmIVUDhmM/ OF7Pu0mCZ6GdbL0dA8ESnz4Bcc2JvgH1ti17vOjahpJGiRQ6DPqZERutDtgZJ0iE7qFZ aOzmCKprbOLePDzaXf0XfmLBwDu2oco9pp7KcSEwhJu3cVKN6Nob5kjNSBCXoESLvafv nm/kR4Gbd3hw3KUbiK/Oy9+s1dgQS7JEnD21RL3uurgTUaDcK9Sr49awlgsCVZjk5sAk s0Ag==; 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=1775015315; x=1775620115; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=n1ZZvcjyXLaxQTRSOxLLbitlLFCrX/tibpSOjMFOqac=; b=WDI3yzijWO90nTa8P7MxqR8wqR3VrLqaPvf6JKVR72Wqp5CnjyPENi2rBnJ8I9Yom5 vDnjEaxmppDFRpEbFUa4kaxYF3SVhthSO/u52EaVvhoDB3VWIb2mAMlfHYi5ECf2+Lj7 WjOEUabzvOYx2PAx6S83yhUmhIjNvk3Dx2eJeWh/4ImBauuvu0IXljRzo/bS+ysdtJbF ePYzRPxvXaLo4LibHLCwgeqB8hfvqF/Sm0uRUdGMlnOcorj5k4SNKwuxEi50jOhdPUQb /Fy1zpreDAzRb0UX0mkmCZUpK+Cg+Dkbl6+FvK6k75etI/36SbozSYBjxBDNYDUVjEeK sarA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775015315; x=1775620115; 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=n1ZZvcjyXLaxQTRSOxLLbitlLFCrX/tibpSOjMFOqac=; b=R81e4ru3CGkEghMSw57WVNcYb5+NwR6uCmz6Ol4VFqnOC1vzqqvLd+F0aakoZH73u7 MuXhSp+q46dCo54LgTPRlQilCxPoxO+5kDIrOTvgLex5CnD5CayvbWxNKgg0KR5shTS8 zPDHLg7cUEC0PXXOp/2soYb0ZZ01KuS82FKFITVX5NFfWG6xYN/DIeCTY3/ArPAtRObp d9Gm9G3QHnB9px8INrY1yGxNH/OP6LOFpQ4A/BoGRJya/gewdeyKA1yfWE4m847cdkyZ joQ3R1gUnjoDlitBeNqFnBkp6gjFacBv3awFKDGH82LdNAGnb+Vj5NvatHsQH+u21Xd9 dLTw== X-Gm-Message-State: AOJu0YzA5U2mHIURnOSSXoifxMuNduCQpw5JIjNpxVMC9aIoXSSHr8Ep KX2sqTOo6sRLA/HohdLaQ+HCn1iS+1cg29L3l+jpPExXzU7fftH9C+wmPZYV9uyhnt3jIfgpOJN OtpBhP03Q9TowuHyNQD/XQhv0JEGJp1PhZZmn X-Gm-Gg: ATEYQzxZFY0ow8TZ/ME2+n9gERmdatXQFx0WmnsFPLQ9Y1Q8784ibKxWvZ2mGEJ77eq iBxgrcXvvOEKinkcndkcmB9scf7gtNggDDKqMiFqWmL70j6Z4Sgp0pORdSBlARcj9DT2dxf3zEu UTet+PF8YfoEYgRDzo7vhua/gEp++0fcJsYOq/tEwUGhx+m5GbmWVbG2AqaWwt/yoY4V7nsbs6d FwIAmhAaLeY6R++fmYc7PQHeS6JA7xnuzfwCkMwJMl8iI0EBDqYOYUsGnwXZebx4765hfwtG+mQ 5v6ZmySsD56SZQuje4GnA6DUmke9+Ii9ZbqdeQuDgw== X-Received: by 2002:a05:622a:9dc:20b0:509:1244:b83a with SMTP id d75a77b69052e-50d3bbbe016mr24914051cf.24.1775015314816; Tue, 31 Mar 2026 20:48:34 -0700 (PDT) MIME-Version: 1.0 From: Peter Smith Date: Wed, 1 Apr 2026 14:48:08 +1100 X-Gm-Features: AQROBzCTc5mL8z3y4xVK44pjHhqZyu-bk6ESwhXJDtZOjvloIJqydCD7b2nJ3_E Message-ID: Subject: Redundant/mis-use of _(x) gettext macro? To: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000004ff128064e5df5c7" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000004ff128064e5df5c7 Content-Type: text/plain; charset="UTF-8" Hi. As originally reported [1] in the EXCEPT (TABLE ...) thread, I felt the _() gettext macro is mis-used when it contains nothing but a quoted format string. AFAIK the purpose of using gettext (e.g. the "_(x)" macro) is for marking the string for i18n translation. But there's nothing even to translate here. Only 2 examples were found like this. Granted, this is probably not very harmful, but IMO it's better to patch the mis-use to prevent it from propagating. PSA the patch for more details. ====== [1] https://www.postgresql.org/message-id/CAHut%2BPtVaOYVP1R0TOoNh5G9CUBurrP%3D6i7fJCdfWEZiqVCRvw%40mail.gmail.com Kind Regards, Peter Smith. Fujitsu Australia --0000000000004ff128064e5df5c7 Content-Type: application/octet-stream; name="v1-0001-misuse-of-gettext-macro.patch" Content-Disposition: attachment; filename="v1-0001-misuse-of-gettext-macro.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnfi7sc40 RnJvbSBiZDJhNWJhOWU3ZDY1YjRmYzZlOTY0MDQ4NDM3YWQ3NzYyNDZiMDY3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBTbWl0aCA8cGV0ZXIuYi5zbWl0aEBmdWppdHN1LmNv bT4KRGF0ZTogV2VkLCAxIEFwciAyMDI2IDE0OjQwOjE4ICsxMTAwClN1YmplY3Q6IFtQQVRDSCB2 MV0gbWlzdXNlIG9mIGdldHRleHQgbWFjcm8KCi0tLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFi bGVjbWRzLmMgICAgICAgICAgIHwgMiArLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC9yZWxhdGlvbi5jIHwgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRz LmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRleCA0ZWU1OGZlYjEwZS4u NjUyMjliNzM4NGUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5j CisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC0yMDczMiw3ICsyMDcz Miw3IEBAIEFURXhlY0F0dGFjaFBhcnRpdGlvbihMaXN0ICoqd3F1ZXVlLCBSZWxhdGlvbiByZWws IFBhcnRpdGlvbkNtZCAqY21kLAogCiAJCQlmaXJzdCA9IGZhbHNlOwogCi0JCQlhcHBlbmRTdHJp bmdJbmZvKCZwdWJuYW1lcywgXygiXCIlc1wiIiksIHB1Ym5hbWUpOworCQkJYXBwZW5kU3RyaW5n SW5mbygmcHVibmFtZXMsICJcIiVzXCIiLCBwdWJuYW1lKTsKIAkJfQogCiAJCWVyZXBvcnQoRVJS T1IsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3JlbGF0aW9u LmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3JlbGF0aW9uLmMKaW5kZXggMGIx ZDgwYjViMGYuLjAyZTYwZGRmNTE2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9sb2dpY2FsL3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC9yZWxhdGlvbi5jCkBAIC0yNTMsNyArMjUzLDcgQEAgbG9naWNhbHJlcF9nZXRfYXR0cnNfc3Ry KExvZ2ljYWxSZXBSZWxhdGlvbiAqcmVtb3RlcmVsLCBCaXRtYXBzZXQgKmF0dHMpCiAJCQkvKiB0 cmFuc2xhdG9yOiBUaGlzIGlzIGEgc2VwYXJhdG9yIGluIGEgbGlzdCBvZiBlbnRpdHkgbmFtZXMu ICovCiAJCQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZhdHRzYnVmLCBfKCIsICIpKTsKIAotCQlh cHBlbmRTdHJpbmdJbmZvKCZhdHRzYnVmLCBfKCJcIiVzXCIiKSwgcmVtb3RlcmVsLT5hdHRuYW1l c1tpXSk7CisJCWFwcGVuZFN0cmluZ0luZm8oJmF0dHNidWYsICJcIiVzXCIiLCByZW1vdGVyZWwt PmF0dG5hbWVzW2ldKTsKIAl9CiAKIAlyZXR1cm4gYXR0c2J1Zi5kYXRhOwotLSAKMi40Ny4zCgo= --0000000000004ff128064e5df5c7--