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 1wB5pH-000jCP-00 for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Apr 2026 06:58:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wB5pF-009vVl-1B for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Apr 2026 06:58:46 +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 1wB5pF-009vVd-00 for pgsql-hackers@lists.postgresql.org; Fri, 10 Apr 2026 06:58:45 +0000 Received: from mail-oo1-xc2d.google.com ([2607:f8b0:4864:20::c2d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wB5pE-00000000JGO-03Fg for pgsql-hackers@lists.postgresql.org; Fri, 10 Apr 2026 06:58:45 +0000 Received: by mail-oo1-xc2d.google.com with SMTP id 006d021491bc7-68397b9840cso743270eaf.3 for ; Thu, 09 Apr 2026 23:58:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775804322; cv=none; d=google.com; s=arc-20240605; b=RX3qV9X1KRHV5e8E46OOP2yNrDaPOcaN0ib3DakMHzm7b7C8l/YW+SOlnRRzzoZfp9 OALp03RsZJJxQWaM2nYpa/O/7kgsUPzEHG+FTNKPiF7XweN9KZLKkcjsCnweD+3XXnrZ ZTHqksDQFVbKe1SWAnvYLL9fMB0PUM3FRRxJRwlGqI+15Pnb9Pw3kgA2+36Dkgpb4a9y DIRhmQ2OKdnYcCXsxl1DLeRP5fLGDV6zASICZVbzLgcoMqOCaweVsYEQ8dw4hJD/wxtK bHLASbBsqxWknhAkn4Wi//Vk2ksoRUN6k1LripXBK7vcFVjtNd22MBtbwHMFN+2M4XGv jFIQ== 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=dHg3J+9ZnlVHaU3D9ovVFsTFsaOXfDbT7wXkP1hJ1lM=; fh=Dhks/EMUYZAHkUo3c3OQ6JKzolBPVLJEPHFMv23ZJFU=; b=BBTp4OoZQVQ6JgcSi170UI64H6aKOUAWTe4927OG6+OxHQytLnFKhTZORdhyvu4oFx jbgmTLgq2H485R+ibF9uaUVN+36K/Vodlw+oB5wksLjHOJ32e6Wov29QfWEfsuTl9wn8 9+ta5Idq+k79YRJSo8yalIBBdfY5Mxj15Ob4BGuQCz+pK6eyQHydb/9zcMWQIJOC6mGd /Ucg9Sr0+VdZVpyltiDofl3EmTA1jwfFYaNbZo/hkDbhqIHuCOG/oGU5KQv7py3o6zwN Zvdvl1sDNQspVwSsx3x+nGCiGLgirscW9gputusBcqBl4qJNbufzpmdrVe0C4zs8HJel VWww==; 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=1775804322; x=1776409122; 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=dHg3J+9ZnlVHaU3D9ovVFsTFsaOXfDbT7wXkP1hJ1lM=; b=Oz7ntO2Hl+DatbDdEgKL447S6nbeIPnkE/n/hVhLFIuYtdavLwPpERS6ys/7lLtgcv 3nprC5gQXYOUjlSTCENoUGlhDaiNj31lJxuFHsSi330adLMLJoagruw76hg1bU5oBTtb rmDbF+saqnu6T+G0pKqSIuy9jjqTEitSCalwI4JJsdly+zkyyvrDHnwHi47DBuMuXWzn KHuU5wVJU6Cr+N1+lCj8GUp0f0q8EbVgyxHIdwlLNbKB3ELJaL3yqGuXsuONl52Sa9Sy BU8ltUcY2cSw/mWSS8KmJBZFdGiWNqDsfvv0yJNaz5JU/wsiHastdorWqtDpBiwRXemF 9WmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775804322; x=1776409122; 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=dHg3J+9ZnlVHaU3D9ovVFsTFsaOXfDbT7wXkP1hJ1lM=; b=HfdFOlMrlJITAKUX+KoxB+RJ8Aitk2IzEg1tikf48W8bWhNNIRVkRMPUthSo0EQE0C gmuLAkjIROvzUVVmt9IMFhbXg8AhaRNP8cqpcxRidJiRDt2fylmKYXzp5rO5gfGeQfk7 IoQeRIdkatUEcWTWIhXpDRQdHvRjo0cXsZQokx/Jd65dmbOK25NaEBIfSU2CqX6ctuQi ydtd3R2/FJpK9JY31/zKtuo8xzkH3S85/YO8Dt7mTQU4iXbWAtz5sTSdwkseDHNZJAnW hdS2vH6mzMmpSFEl9AmtNMenB5qYbSAx/WzkTUluo1nSr7mMYhfV4axu0rdY7ybWAc5J rkZQ== X-Forwarded-Encrypted: i=1; AJvYcCU+1IGDLM8szAsBgESQMWXee73j+5QQDs7cgFfcUlREIxUzgUOL7b32H3SaiMmXeAFz7o/jjFUfdmtiey/V@lists.postgresql.org X-Gm-Message-State: AOJu0YxHkrz9fiv++VhnrHTFdKN4G6Pxls0gu2YhDDxuwep49aSHLx38 ug5MqNnuEGNeYskFRNp4f43TroXfjEArOa+QUvfUOY1DW/PG0IEUmC81AMyLmMz2sB5RTnzGifY 9RLGZDqPWv6qn5+54ucNHiixOoSGqFEk= X-Gm-Gg: AeBDiesAZkv8H5rTHEJFS05lNZUt5BvsEW+pIYoFSUlrH/YuE83/Fb72W/AOu4yj61b /Q95YJzbH6+EWAASD8zuSQmQIg7Ggg66fTaEX+kNgnNigA+Y8K77yu2L+lGMTXt5bufoQDirRuj WRU3/ehQrFH47gcrnQBo8lZ+6Q825b5wbKkX44vOK62Lx6zI2muZYd1iz18VO5fahwSdYUtOwWG v/6PA4ThDF92UNRXlIW5EEuaGSMqJNPx6mHPpGqUn+gVc/mizoi0+NN9oSGGXV/CddXqifQI39/ p5lb12IzJA== X-Received: by 2002:a05:6820:1799:b0:67e:3e13:3315 with SMTP id 006d021491bc7-68be7cef24fmr988600eaf.34.1775804322345; Thu, 09 Apr 2026 23:58:42 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Richard Guo Date: Fri, 10 Apr 2026 15:58:31 +0900 X-Gm-Features: AQROBzAEcgDuODq_ZR4o_e52PrSUMQxedednoPVgRzt-nppuRCKMGYyVxi6_f_k Message-ID: Subject: Re: Bug: var_is_nonnullable() gives wrong results for old/new in RETURNING To: Tender Wang Cc: SATYANARAYANA NARLAPURAM , 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 Fri, Apr 10, 2026 at 2:48=E2=80=AFPM Richard Guo wrote: > The patch also LGTM. I also checked if has_notnull_forced_var() has > the same issue, but it doesn't: Vars with non-default returning type > only appear in the RETURNING clause, so they never show up in WHERE/ON > clauses. I pushed the patch after a bit cosmetic tweaks. I also decided to put the test cases in returning.sql, which I think is a better place. Thanks for the report and the patch. - Richard