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 1vkp2c-002Zhi-0G for pgsql-hackers@arkaria.postgresql.org; Tue, 27 Jan 2026 19:47:59 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vkp2b-00FuGE-0F for pgsql-hackers@arkaria.postgresql.org; Tue, 27 Jan 2026 19:47:57 +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 1vkozR-00Fr5l-0O for pgsql-hackers@lists.postgresql.org; Tue, 27 Jan 2026 19:44:41 +0000 Received: from mail-dl1-x122c.google.com ([2607:f8b0:4864:20::122c]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vkozO-002cRW-31 for pgsql-hackers@postgresql.org; Tue, 27 Jan 2026 19:44:40 +0000 Received: by mail-dl1-x122c.google.com with SMTP id a92af1059eb24-12460a7caa2so8954792c88.1 for ; Tue, 27 Jan 2026 11:44:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1769543079; x=1770147879; darn=postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=b00s6feQD0XF81ysL2SgB0vU7sdS+8hIxCvY7ZoMUrM=; b=sKg40RiOzePvy/6T5ms67dpcDfSZeJa9K8G5/HBEFpJkMSUezDH5CVuRNtP/+wm7mY 27hgpl80wWjvPDms26ltIAamUY3AFtTm+ocuMvXtFo4YpoeZWxRek2ec7C40wCrkhsjC wadHn/5Z8i5ikPH+bvhk3To7C5bBMamrIGRLXGzCcUgp7cNSo8cJtqZ8M/fOQRxV8pqI Rft53xnsQ3YWb8eEVkoKqaSd2W9uSX42PsfBytTum6FlOo68rvaULg2Ks0hxbq+kfkKX 8xIsSXQAUCp9+Jd1rM5jIgBwRnpJDcNW4+2KY5dBacUgx/mCdLJIYFm13MwKqusKhSDV Oj2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769543079; x=1770147879; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=b00s6feQD0XF81ysL2SgB0vU7sdS+8hIxCvY7ZoMUrM=; b=XUXoGRahaEGil5/1KJaIMNAwSzK8qDqyp+AUaGyPiHyD86DTXxlGZwIwKlYr7heHT/ 3uGDuwEmlFwPGYDjdluaU3sXczy5aV1TINZXkwTsFm5uATBJc4XA/2c1UgYAnzCuGrKH wDH+QbSot5Ngs4XMN7zOVF2Oju3N+h420yl/rEvhgQthZanc1ejSWLf33eYsfyu5ZjZl b6RrQ0IkGtUE7nsO4YKJ5zwtvupKw133Fj88NY5MTUqERZhcuUKMCdmWilYKqDMaswdo 7+PxPxWNgmvJ75Siov6yoO9KF42S4f8cci0VBjHLGPTj7dBQUQoO64qD9A0Uod6W3uww Vo/w== X-Forwarded-Encrypted: i=1; AJvYcCXGsJJGDzdljOlf+bVY/8pnozNLtfhq/S5qsCOXsVoPiCixterty5ASljfDwX+GxhfsgyWYMR9rhTUSqF8v@postgresql.org X-Gm-Message-State: AOJu0YxWENGPO8R+DA9ipWEIphyUHRVEWakM6oHxugM0bjeH8W0SDmzm Z2sgMMPxt3n0CJ+m/jAo+nWgw1/WzJ2pV/hmcrQI5S/xiJoWN3h0qUx6UlAoctPh3Q== X-Gm-Gg: AZuq6aJhUVua9wU+kTdnReMLDaCIrll68WFmssdD7T34qcI5itoWVmDYwe0c/lABrYA 3G35uEmUrh73MN8qB68H6vXfL6asKC5syQ1cJGpOe09VX8YWkywQchw8vRX5ZFh8I0WFkl4/Xla G1lnbdpadAXdfCzXeheOzzBud4ibjphteW8IyKRp5xOc02CvbA4Acjf/eq7mxMLT6M1vmRkuJLx ihCkKCRHb7agcVSzwwdu8oTWzXefdxxRrifQKuFs9s/HdFlj1UpJbIBvuHHXzKkJyUgmJLtj6Bs IawnVacgfv/5P/BRA6znkarvKNJv4udpHXpP6012F3mrE9YaRw1/PLMEEHijftvSk5ebY+F2iAR anDB5gPimziLm/hGaMeAD3z3OUPZugqN4hdKw3TCmoiERhXqMoobrHcu0YwQfMSix3XnJ+aNjWV E9nplFgc1RXin1BuRDXokQDYuougkG75ZUI59aCYpur/zbMrOw8A== X-Received: by 2002:a05:7022:6ba5:b0:11b:ceee:a49f with SMTP id a92af1059eb24-124a005deb6mr1439414c88.8.1769543078509; Tue, 27 Jan 2026 11:44:38 -0800 (PST) Received: from jeff-laptop.lan (c-24-7-19-3.hsd1.ca.comcast.net. [24.7.19.3]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-124a7bd05e1sm832140c88.1.2026.01.27.11.44.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Jan 2026 11:44:37 -0800 (PST) Message-ID: Subject: Re: Remaining dependency on setlocale() From: Jeff Davis To: Peter Eisentraut , Chao Li Cc: Thomas Munro , Tom Lane , pgsql-hackers@postgresql.org Date: Tue, 27 Jan 2026 11:44:36 -0800 In-Reply-To: <5267a39d41a00d5d5b3342f10c835cc9e3e27a2c.camel@j-davis.com> References: <4c5da86af36a0d5e430eee3f60ce5e06f1b5cd34.camel@j-davis.com> <8186b28a1a39e61a0d833a4c25a8909ebbbabd48.camel@j-davis.com> <450ceb6260cad30d7afdf155d991a9caafee7c0d.camel@j-davis.com> <78edc741a168c54d57cc898a5877b6443527a2c8.camel@j-davis.com> <83F6E6A9-FF29-41C9-9E15-EA5360E912D0@gmail.com> <5f65b85740197ba6249ea507cddf609f84a6188b.camel@j-davis.com> <38f3f4a6-e95e-47a7-914f-110dd6191301@eisentraut.org> <0e186a9a92634f0c5675a618ff5685d00cd8f836.camel@j-davis.com> <108e07a2-0632-4f00-984d-fe0e0d0ec726@eisentraut.org> <5267a39d41a00d5d5b3342f10c835cc9e3e27a2c.camel@j-davis.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.52.3-0ubuntu1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, 2026-01-06 at 14:20 -0800, Jeff Davis wrote: > Looks good to me. I closed the entry for this commitfest, though there are a few loose ends: * Not sure what to do about strerror & gettext. One idea is to wrap both in a uselocale() everywhere. For windows, we use the special setlocale() mode. For NetBSD, I don't know if we can or should do anything -- maybe just prevent changing lc_messages? * pg_strcasecmp() still used many places in the backend. We should consider replacing with an ASCII variant or one that uses the database collation. * A number of places still rely on isalpha(), etc., for simple parsing (e.g. ltree). Regards, Jeff Davis