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 1vnpND-00CCLM-0v for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Feb 2026 02:45:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vnpNC-00Efhr-0N for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Feb 2026 02:45:37 +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 1vnpNB-00Efhi-2H for pgsql-hackers@lists.postgresql.org; Thu, 05 Feb 2026 02:45:37 +0000 Received: from mail-japaneastazlp170100000.outbound.protection.outlook.com ([2a01:111:f403:c405::] helo=TY3P286CU002.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vnpN8-000000017mu-2I3k for pgsql-hackers@lists.postgresql.org; Thu, 05 Feb 2026 02:45:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tKABKtXMp33PfbzpX70D8+L55vhxWcVsqaEIZt1ipCkhYGeVNH5lxEmkXDaOjU9cqxH1AqvgrW3ZZp45oxDQerNgsPkeRb+GWxJqMafGREWyRT6iXvEYAXNqBZv/YYSYmSFSifMZA1/CWVUOPHYMgaPqXodNTlsTwb3E13oGqqP4tH6bpt7d2Mx2KGGqNg/QFYchSEsJflO+zshnScC0+PKb2cTbh15hAedahAm/2HRIkYz8qWAHVxRuMIG7jdkJ/6fcXYp0xNdjS+qeGiFZfEV3naTLUye0U5umVmf5ITumrJlXjzpRc2NtWImKDOTfPTnK0YZKbHr+19FEI4ax6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FTLtoCniYE+bMKMEYatIBxO2zheCEcOaJ41LLj4NZ1U=; b=dDT5DsblCR2RHg9q33jGPV6tRyO9uymnCn+9abu8ZhAQM+eOYiJriyfQGhDpYm9a2QeRY+BD16iiigUgPiq+Py5rWkUXXRV7ipFj9VwFfQI8Oi8TLMiXekY2IMdu+xm94ZTaz5JhPORg9xbL3xWV1ROQY4Rh9pdt9yAVVwzIkVh8+5VdG8HLqw3pc/5ezkpr3NSMpEGi+vR9A+NMDWlFFwR+BHgafMadYmC15mZqNQVO4uAzbhyi0xcbERqCxOpQn12zyX7qRLpW/ZkR8QBnvlOXZ/cBa0nt/9xnoA9UAypsQhReUH2I9dBWtZrYCxeghqa2eQzyIcxZVxKwN+HYkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sraoss.co.jp; dmarc=pass action=none header.from=sraoss.co.jp; dkim=pass header.d=sraoss.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sraoss.co.jp; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FTLtoCniYE+bMKMEYatIBxO2zheCEcOaJ41LLj4NZ1U=; b=inYFilYPB6ao0UJSJaVlBeO5loJJPtxWqkyRDlP6EWZB1NsS9RjnYRs1Fnnrx1Vt2H2Y8jdE+FczghyjfYAYcSIIhi3IIjF6xgJSaovJCKZIDgbAsHXPgBpSMTmKybkzRqRiFntcqDwA39Ggy4xApBSqlNA03wpVG4q2vZzj/stOV8nGxziTn6pRJ0Uqt0svvtdOAk/iADaAWJfmhN5ddzaluNKO5gljbk3WC0OYjpsFKM1BcUChVxe9mDXTqiRQsFyp6hmhXhfCwLxyRgbEfpRObQAG1LMAbxY2TIuVJ9SKn6fM6LZnZNf1FcuDNnAAcqvOYPeqFreChOZpFXTvPA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=sraoss.co.jp; Received: from OSZP286MB2160.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:189::12) by TYYP286MB5104.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:148::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.16; Thu, 5 Feb 2026 02:45:22 +0000 Received: from OSZP286MB2160.JPNP286.PROD.OUTLOOK.COM ([fe80::406d:15ce:1e21:6f81]) by OSZP286MB2160.JPNP286.PROD.OUTLOOK.COM ([fe80::406d:15ce:1e21:6f81%4]) with mapi id 15.20.9587.010; Thu, 5 Feb 2026 02:45:22 +0000 Date: Thu, 5 Feb 2026 11:45:21 +0900 From: Yugo Nagata To: "Matheus Alcantara" Cc: "Peter Eisentraut" , Subject: Re: Show expression of virtual columns in error messages Message-Id: <20260205114521.6fed028d8d3185663f3c4226@sraoss.co.jp> In-Reply-To: References: <7c18e854-0ddb-4670-b0c4-f2541b5edd91@eisentraut.org> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ClientProxiedBy: TY4P301CA0065.JPNP301.PROD.OUTLOOK.COM (2603:1096:405:36a::14) To OSZP286MB2160.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:189::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OSZP286MB2160:EE_|TYYP286MB5104:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e2ea699-bb47-4f76-641d-08de64609b5c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|10070799003|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?jzv33eCAxLr6UAQJej2KRSfgI/Fdv7Do1eZnQQx/gNan5kVRNWtwRisYnPRu?= =?us-ascii?Q?8G73NPGc89KfEN6WPIxmHh6EA7DGQlOUnMRGeZQAn3gBN6y6XZ+xJGUzEcEL?= =?us-ascii?Q?kmRAQ2E2COt1RM/HjBQCaMTaxtbM3aRRJHf02MTMLS5L/Pcy5kVCQ1l1i5L4?= =?us-ascii?Q?hVR74w56C+ErDO3UEm/e8Dc2Xw4S0Ty879uv1aaHvUVASSZxip26/R6hbyk3?= =?us-ascii?Q?TfsB67ZSijiB3LPAbd3EHK9jjS2gXG7dVzw53PV6zDIhPtYuvrAVJe8Oe+zT?= =?us-ascii?Q?/S+rDhWWF6UyOqEGb32KBpzDtgEn5s/EnXe4sLsZZHiXU9f6p1U5kJKobkgd?= =?us-ascii?Q?DbwCv1CuMoQ11Dp3NGBjlelqxkf8LSDd6vzvVV8YHfo2ofTI7aTJ4CeQzj5J?= =?us-ascii?Q?wVP1PuaaaziiRNSvwGK7A9gU4Tfs8TzBgH6Yi0IIeIasJp3UePRQfAJImiT+?= =?us-ascii?Q?V16u4z60peCGqgktYDzK0OOHXQjamI3z/jMUPQn3W4H6NtYgNTjZyr70Rlst?= =?us-ascii?Q?WFtc+caN4M5jR7ZmHPZ11NnQZwCr2X/lcvCAkgjkogLZFOu885YnKd7CkmWO?= =?us-ascii?Q?nSi4Pp6Ju0qFcBAR0BwZ/ivRhT39JpIaZAzRvW86cERy4dvdHwPx74Mxn+s7?= =?us-ascii?Q?Md5hKCzjlYvxMUdeFJ3wbnqMbq+xBafwW6KkOc6DUL6UG5kaKM9AkbArhFli?= =?us-ascii?Q?BRbQ7gXqmZQaw4m1W4HgyOMns3bUDM1UJrGzCt48YCmvWsRPO8mq3eUY1Mf0?= =?us-ascii?Q?tfoYU80tYcT9V5FlBvTZsEhl2Tb5bhb1oqJFtL3m3W/00fiQqEzzJF6JZSHe?= =?us-ascii?Q?5jWvffpfGcX1//nJQjpoIDTv8Q+QiIgeXc9POo4Tmbu1X87WGjhkLRaAWkfK?= =?us-ascii?Q?qVyMcJanqj0j/zqkoJZLrsXmpYgQvdVBNXvjBvwClt9TZ6/GiXRBV4gsofh7?= =?us-ascii?Q?lIrOnApsHl8m9FSpbzEjMNgZHWDShfuxgGKoTEzyiZ7R+S37Dwc1bzd8J8Ya?= =?us-ascii?Q?BFwWLGU/k7ay+ac2Y8bg66nQ8FsoB9RyUKMnVe0IfeaVGR4Zezu/qtO1Rdt5?= =?us-ascii?Q?3YtW/8ZsTXAgEioXJGjpGWV9t9yOLxMVk5/OKMcvIj8PTpsmBWxCIjKB648L?= =?us-ascii?Q?rlyJE2xdjAHITc1GUL2M4Q8UkyJD6BKvWbVe2YKnH/N3uH1eW1QeFxs88y0h?= =?us-ascii?Q?Aqa84Ziqdvd3vtMn2iiUnQr/oNkGumRAu3/ri+ijoCsI4gdHag0citshi3Aa?= =?us-ascii?Q?zjAHcllXHgdhK4n4oo3TxU7Ha5YXQITRV2E7GWiz6UlnKEO6r6G8hYbPO3/O?= =?us-ascii?Q?62mtsjE0LzFR3UYIZupJ2ID7+8gMvCyzMHWq7Tydyz4E1fx7ma/Ju1AmFAXj?= =?us-ascii?Q?lCVUAGSDzEZPpbtVTubDIq0WE/p+T4wlzkMTVpW0m71EaXtI3muD31Sbr56H?= =?us-ascii?Q?FSZk03LrVJw+7LweTTBzTECHV08c04eNuWx8eZcDI0H5QLYiQbfW12BUt5n0?= =?us-ascii?Q?RkdAexKhY6q4pL7+Nx1EtZuRPphC8Q20QiXl5PqUAYyBWx2ER2zSXLil1A/X?= =?us-ascii?Q?7xWLvqq9+6KrUBheRbI=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OSZP286MB2160.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(10070799003)(7053199007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?HUfA6mDUO/57fujktVueRmrE3ZGwupPGPdJKZovwqjNQp98WRdDyvMimKXgT?= =?us-ascii?Q?wxfXlzq0aXAwUqFth/ss8c6Stx26+p6kDOgwenwoA8++bhygtPjCW1shxWmx?= =?us-ascii?Q?QRgY9ISkM8Nf1DvccgBjhymAHdEw+NgBa0njUN2+kpm5vzqZtBtAxVskfA5K?= =?us-ascii?Q?3zKZk4oBj52xzqjnDMfhM9Ebrdkma0sUp0Z36skMgyibYfhUtcM18+4NYlc+?= =?us-ascii?Q?DCZwCZew3lQ6u7qpuNcS8qpXEkb5Ismv621Ef0h2yr0KZobOTedvyE+yGi73?= =?us-ascii?Q?9j1EehnzWQoMrbdBcSaKgAxsSzYlh1I6ttWwdzvnrqmFbjvDmTCqFtO5e28V?= =?us-ascii?Q?Jj+uzvrNIg537UHj+Ph2Ic2PwKj29K52iEbPjW1pYa+GsAoNXjArf1zF/O0j?= =?us-ascii?Q?GcCw5D+yBNls3aOKJSTkZOt8lKPz8kr3z7D6ZwsrXQ3NO3+fosWL9gvGy6bD?= =?us-ascii?Q?67lmc40yKqxfg5xpX5r1JcEtJyvdpLOLLV+kDg/A8w81uKFpJki9OhoCvM8j?= =?us-ascii?Q?oBWlV66K2d/UpANAPUh/AVtA7OJAN790JKVNCs32PpaFZkWXt/CjroQ61XuK?= =?us-ascii?Q?hczrgpMyEdYjvrrB8zU7yxcH71/+96123w5A0WcQ+biw30HV3LF6Ipp4jKUt?= =?us-ascii?Q?kiUqibBCsQdi5g+vSRZtFqJkxpAj2Q4I0CAGsy0hpnfPWnO9eJthyZzQFEPW?= =?us-ascii?Q?/+K2fTiUGxqIQaRoHbqN5xMZ6rqEtknQsbPCc+x3MDYOUjATi/9AJfEAaBSi?= =?us-ascii?Q?mZIzXEAR3DSw8eRnWf90FLjY7yPaRSRq+6lZje5rriUIoR+pxjYWhVrOW17l?= =?us-ascii?Q?UoIsUop3s/f0pgpIHWJ4V+PcchhHt7AdGItrLO0NXO0pqYQOrFXDJ6ID5Vgo?= =?us-ascii?Q?z7507urqy0ubO2g/vbg16rK4SwqrGlfilmWVJKqIJpCQ9vG7Xx2bUGTLCCvg?= =?us-ascii?Q?G5T01OYVg98jlSgE7qG0/Dlsi/BSvqhThzgMpVu/Vvg3uBaHsrMhqJtO6ESR?= =?us-ascii?Q?ke5UJQRgqrKh926zb5z1nxpBVZMY1ag6WcZ33NWqEzCr2W3eMR7Qgx1IgDkg?= =?us-ascii?Q?zMeltbOprW4Cg4y4kKiWBR4WJtEQHR7KYT5k/QSeSPgG1opRLqpEAdsCtAp6?= =?us-ascii?Q?AYB2vX04gMdtbbB4BV9NXqV40iwVXkTKYAhCEDG5yjNCAf2JO9UGwtiwDbSA?= =?us-ascii?Q?uFRwwfDJMbNgmJTdHD0ZVU6Yx3J5rIn9EsnndlBWSHbBvzrI2gbv19Z+wBRH?= =?us-ascii?Q?RkNgcChJuX+KjG0OuhgxSI3ihaBeGcFVPFFj9l8oqVKtSyOQbUOg07cpqOHm?= =?us-ascii?Q?CsIt9N5ueGt6JTHVuknKS5uto+7Zd+ZcGOFcx3JnaV5dAQDeknH0IUEMpHcd?= =?us-ascii?Q?jeOgf8U9fg1/eGjVLcS9l9aAEe4T8luylpWRQAafjFWJpWqmc+anWGmK12O6?= =?us-ascii?Q?WyI+8+KRiKXGI3AxeklS4Lsdz24CH9lY8WJM9+zGSNVJjxRUWk3Lfvjeiv9s?= =?us-ascii?Q?niYpKf/AzJ9n28KJB7MQi8MVIIDwfho6W1Gd3FKaH6rR7Nm+rGMQQ7BpS5Xz?= =?us-ascii?Q?HpexNYmOrqgjW+vlFxIfGgl2qFvbudjQfqjNkllpelbRw4krcvH4qqQgRQ8C?= =?us-ascii?Q?otCvwsI3HWCVOoDDuPZffYaMUoU1Mp7zAtRiI2c9c+pGou0/iJfNpkg228sX?= =?us-ascii?Q?trbClfbVCKJlXgr9ccm7/9MZSeAltpCpaSmLb1uqjtamn8ZIp0YRja+enOzJ?= =?us-ascii?Q?en7PvuJGAFwN+pg43NI49B2GtGau1YzMspAGr/DG+pJNK0sj4qjpCYfgV+vg?= X-MS-Exchange-AntiSpam-MessageData-1: N7daOMMVGleInw== X-OriginatorOrg: sraoss.co.jp X-MS-Exchange-CrossTenant-Network-Message-Id: 6e2ea699-bb47-4f76-641d-08de64609b5c X-MS-Exchange-CrossTenant-AuthSource: OSZP286MB2160.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2026 02:45:22.0415 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 75db6c32-352e-4063-ae79-cafb8623f6db X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4pqyvVlDloFIGmhDYz7zcZgxJtg25xAuKf4PEqI2NI1zByRj/dMfibh48tnoXyz0scL5Wb8v414Nw/xTUSsZsw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB5104 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, 04 Feb 2026 14:54:11 -0300 "Matheus Alcantara" wrote: > On Wed Feb 4, 2026 at 11:57 AM -03, Peter Eisentraut wrote: > > On 03.02.26 15:06, Matheus Alcantara wrote: > >> The attached patch changes this behavior to show the virtual column > >> expression instead: > >> > >> ERROR: new row for relation "t" violates check constraint "t_c_check" > >> DETAIL: Failing row contains (5, 10, a * 2). > > > > Could be useful, but in this context you don't know which column is "a"? > > I agree but we at least show more information to the user. The user may > still need to check the table definition to understand the constraint or > to get the column ordering of the table to understand what the value of > "a" is being used to compute the expression. > > If the statement declare the columns that the values are referecing this > could be easier to know (e.g INSERT INTO t(a, b) VALUES (5, 10)) but the > user may still need to check the table definition to understand the > constraint. > > I see this patch as a way to at least give more information to user > about the error. > > Another possibility would be to get the actual values of "a" for example > and show it on the error message, e.g: > > ERROR: new row for relation "t" violates check constraint "t_c_check" > DETAIL: Failing row contains (5, 10, 5 * 2). That would indeed be more useful. One way to achieve this might be to modify deparse_context and get_variable() so that a Var is displayed as its actual value. Another possibility would be to include column names in the DETAIL message, for example: ERROR: new row for relation "t" violates check constraint "t_c_check" DETAIL: Failing row contains (a, b, c)=(5, 10, a * 2). Although this would change the existing message format, including column names could generally provide users with more information about the error. Regards, Yugo Nagata -- Yugo Nagata