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 1wCXGn-0024w8-1c for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Apr 2026 06:29:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wCXGl-00AETf-2k for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Apr 2026 06:29:08 +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 1wCXGl-00AESi-1j for pgsql-hackers@lists.postgresql.org; Tue, 14 Apr 2026 06:29:08 +0000 Received: from mail-qt1-x833.google.com ([2607:f8b0:4864:20::833]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wCXGk-00000000yeh-1t5Y for pgsql-hackers@lists.postgresql.org; Tue, 14 Apr 2026 06:29:08 +0000 Received: by mail-qt1-x833.google.com with SMTP id d75a77b69052e-50697d6a69cso28254411cf.2 for ; Mon, 13 Apr 2026 23:29:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776148144; cv=none; d=google.com; s=arc-20240605; b=OtYKyWqkvTPij310ZezoBMXyTB5hOYjF2tZ1KPgxnjSUnZwQQZUzyxGDB+uTaD/0Et MeEELAyycIvtF7pTy48Zfgp0cyoqN/lsfqGUOBtw3QvtFzIMaVP1wdEFClVDgr04VU/p gB467lV+hfgFJUFxkWGYkp7aypusMU5mpLq/4zz5KDXKd5WSMdKUltJYp9YMRyYuKzAj YLpeJYprde6mKyBI3VbRHnnmyjPaHQ+ychcokP1bKHaqzAf8P/BHYANToniZpCblRFra 0ZAv5pKerTW1dD32PAFTc2R18PfG9OY46WGdGU2wjuwM/zCSme4EntoSw90kDLBH+/14 nvig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=Py1B7NqebhXkeud32lbKtUFZ04lMGaM0AkFu54HxFGc=; fh=LAdznqgHYnZsyDGcBookaeHrlrECuDBrdM0rAwUqNfU=; b=A+NvcI64OOnDt2+DqtrPxIB9UItvtvqmiCFuIBH5EQMlKXC9nQWgzBD/oV5UZbeIzd YlDDoniMNtxzA8uDf+tKhLIFhSQn/4CLRU8ZKc5Pkf5rbW8Z/OLlDbR1w4Oa/Z1BCu/N ZzRk8+lKKSnxTUONjXu3oVJX5nN2tJ1XiIvZmaX1r80X0fjq/AQEcF7dFoUJJbjB7clo RTHxEWYYufnp7LtCBN231ntU9LF0DNAwL3106y6smRNrZ+Na2FlFPVHX2ArYelW83R1G ZaoiRGdNWVMlsT/TPnThxA5dkHiaQy6Z1EOUEdtSyaQGj2lBfCfUd0xhcS9G64sD7/1S O7WA==; 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=1776148144; x=1776752944; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Py1B7NqebhXkeud32lbKtUFZ04lMGaM0AkFu54HxFGc=; b=BiyemXM9eRgPt8S7ACqKPxUYpY64E+4DaJT4IC2B4qs4bKQyANdAJPJCaeoOHb7Xmh P99Y7mz7NLy4QypQTfCMP/bZxW9DfdLpR4A/6qEPSCASr/V+xU2Gl/5kLgHzUbxliZeR Jb1OxZFxH/KYg2vj08wLX6LpSRhyY0ppqHIsuwfWElPvfXfKPWWUmVh9/CwfHzJsgkUB QqW74vr0DK0UjepqGLR6OWQhf754K+vdAeTPSFfQlvkuVGMqfsEqlHv6jD0LyHriOSq8 +9sWznMdN8x9CCn9yTKXBRt+SyWWgEMCe9V+pnd3RewYlviywPBS/mJGMifJvS19POSC iX2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776148144; x=1776752944; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Py1B7NqebhXkeud32lbKtUFZ04lMGaM0AkFu54HxFGc=; b=SXwbFkLEICLfHKXfHkq31+4oCfAh3O61hszsfR45D+TS/kzLiAcv3b0S40IpZMo31T FeT1Nn9801GJb9D+3GcU7sYQHhr5CRg5ec3pwYfxz2GdypgUonMLw0+oG/9NWDGhkuFP CeQdvByTKZIZGUXas871XM3wQtpbkG+UPgCdlYPf1J9C/bzxocdeHU1JLYzAmSU4AVi6 ugqkOkwAF3Q1Syf89baTo80mo4OocE1O1/dljivjzl7KKtztWIfFcpg2GJtUR1Z2mnFF njoLeHLefqwrhaj8qFhwD+Gmd5lcNEN4pPOL1LVQsPkG28ZB8HVlqTpoThMFzZW9jm5k D4hg== X-Forwarded-Encrypted: i=1; AFNElJ+Jb5Bot3nU8Ep0nnXtK+fbBly3AfSrMJN7g8wIpborwhHNhZle8G3XkViqGJoqX58G2+hmNvmYc7EjfaOq@lists.postgresql.org X-Gm-Message-State: AOJu0YyGY8F33xDeHYN7zXd8YpZyQWLOT5uYDFW9D4JUdbjyB7/eNvSn Ok/AxAA3ze1u01M22+4XANBbrKPA9CWZ2JU0N9gBZfx8BPsPteuk/10kbtcxlBocEqlaM8/p2FG P0knzlTrAojj8W/rvgvQSEwCpfDWl/WY= X-Gm-Gg: AeBDievFxIecYhzjcBeNo8CGL6WAe5qMAnjiin1rARt715rztEFcf3TLr1uQ5F6vW6d EuKmCO0Jo09hD5mlTbTUCj/ruFm+Aam3Ifd9TEfLbubG90CU+UyWt0a7C9XWu5FyEGnLEgMZW3d 0VPQyZICES+oI3N/6mgqAMyEPb4XLTCRLSPvy1rxvZnUUmbmf+JjbZZJQmt6DvKxVYeFK0OC03P Lf1AZe/exrHkkGVh6dxIq/KdBhAi54SAL01IMeqKL4ELdMpekV+tw07MYaFj7IAv6FCWQ+w/26n +ysGIqk= X-Received: by 2002:a05:622a:141:b0:50d:6e3d:2430 with SMTP id d75a77b69052e-50dd5adf549mr246661281cf.25.1776148143794; Mon, 13 Apr 2026 23:29:03 -0700 (PDT) MIME-Version: 1.0 References: <74359511-9F84-481E-B133-D2F68775D1CE@gmail.com> In-Reply-To: From: Peter Smith Date: Tue, 14 Apr 2026 16:28:37 +1000 X-Gm-Features: AQROBzDyQfvfnEbqgWKQijEKSWsgPPrSJAM5z7nT7zvS2uk4qn5DvGHk8u_54-4 Message-ID: Subject: Re: Add missing period to DETAIL messages To: vignesh C Cc: Chao Li , PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, Apr 14, 2026 at 3:51=E2=80=AFPM vignesh C wro= te: > > On Mon, 13 Apr 2026 at 06:36, Peter Smith wrote: > > > > (here's the missing attachment) > > > > On Mon, Apr 13, 2026 at 11:04=E2=80=AFAM Peter Smith wrote: > > > > > > Found one more oversight. > > > > > > PSA v3. > Hi Vignesh. Thanks for your review! I deliberately avoided any potentially controversial or troublesome modifications. So I have already seen all those you questioned and chose to avoid them for various reasons. In general, I did not put a period on any message that ended with a ":" followed by some substitution, for fear that the period (.) might ambiguously appear to be part of the substituted value. Below are some other reasons... > Should these also be updated: > 1) ginfuncs.c > if (opaq->flags !=3D (GIN_DATA | GIN_LEAF | GIN_COMPRESSED)) > ereport(ERROR, > (errcode(ERRCODE_INVALID_PARAMETER_VALUE), > errmsg("input page is not a compressed GIN data leaf page"), > errdetail("Flags %04X, expected %04X", > opaq->flags, > (GIN_DATA | GIN_LEAF | GIN_COMPRESSED)))); > Yeah. This was one I was wavering about. I didn't want to be worried that the '.' might somehow mess with the last format specifier. And escaping the period using "\." just seemed overkill. I concluded there seemed to be more reasons to avoid changing it than to change it. > 2) shell_archive.c > ereport(lev, > (errmsg("archive command failed with exit code %d", > WEXITSTATUS(rc)), > errdetail("The failed archive command was: %s", > xlogarchcmd))); Not done because I didn't want it to appear that the '.' might be part of the substituted command. > > 3) shell_archive.c > ereport(lev, > (errmsg("archive command was terminated by exception 0x%X", > WTERMSIG(rc)), > errhint("See C include file \"ntstatus.h\" for a description of the > hexadecimal value."), > errdetail("The failed archive command was: %s", > xlogarchcmd))); Not done because I didn't want it to appear that the '.' might be part of the substituted command. > > 4) shell_archive.c > ereport(lev, > (errmsg("archive command was terminated by signal %d: %s", > WTERMSIG(rc), pg_strsignal(WTERMSIG(rc))), > errdetail("The failed archive command was: %s", > xlogarchcmd))); > Not done because I didn't want it to appear that the '.' might be part of the substituted command. > 5) shell_archive.c > ereport(lev, > (errmsg("archive command exited with unrecognized status %d", > rc), > errdetail("The failed archive command was: %s", > xlogarchcmd))); > Not done because I didn't want it to appear that the '.' might be part of the substituted command. > 6) matview.c > ereport(ERROR, > (errcode(ERRCODE_CARDINALITY_VIOLATION), > errmsg("new data for materialized view \"%s\" contains duplicate rows > without any null columns", > RelationGetRelationName(matviewRel)), > errdetail("Row: %s", > SPI_getvalue(SPI_tuptable->vals[0], SPI_tuptable->tupdesc, 1)))); > Not done because I didn't want it to appear that the '.' might be part of the substituted row value. =3D=3D=3D=3D=3D=3D Kind Regards, Peter Smith. Fujitsu Australia