Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kNfVD-0000Xc-H2 for pgsql-bugs@arkaria.postgresql.org; Wed, 30 Sep 2020 17:02:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kNfVC-0006V0-Ef for pgsql-bugs@arkaria.postgresql.org; Wed, 30 Sep 2020 17:02:50 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kNfVC-0006Th-65 for pgsql-bugs@lists.postgresql.org; Wed, 30 Sep 2020 17:02:50 +0000 Received: from mail-qk1-x736.google.com ([2607:f8b0:4864:20::736]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1kNfV5-0007iz-7K for pgsql-bugs@lists.postgresql.org; Wed, 30 Sep 2020 17:02:49 +0000 Received: by mail-qk1-x736.google.com with SMTP id 16so2145425qkf.4 for ; Wed, 30 Sep 2020 10:02:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=2ndquadrant-com.20150623.gappssmtp.com; s=20150623; h=from:subject:to:cc:references:autocrypt:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=chTZNsooZzzvKfnUiTLlG+BttH0IoUQmksNJDAM7lnY=; b=BYulSp/543bAXvTdztlJoe/RS+BOc+1T/ekoUXXnLJthzo0kTqNHTc+EpNyNysOsvj lbwL5+6jd0Zdef6YSQPnxPtLzHHcXBrhuBEzvYNxiuvioTAt16K4K+tEJWFh9N76rROa 4WgA3lPdpiXbyFEJ9LE75MlNtmGEY1FIAo9QeJZXeU74c4zom6aDOnyk2/jMv23q9Nm7 yyvFKvXXTDCA2t2j3b+zGOhMrSX+8vdpwsskE6lpwzzaTC5GH0SOKfmOsbLCtjCyo9Rf EVTzJZVeHr11K/lF2rxRSjprt0C4PyMpG9CDSunSLBIGKU8Pd3jj/SHnUV3ZbS4Mscgz 2mvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:cc:references:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding:content-language; bh=chTZNsooZzzvKfnUiTLlG+BttH0IoUQmksNJDAM7lnY=; b=BV7+YXejjNp1YAPBlP7bShlOU0AeB06qCky/T7l9VOlTHLwnZyYZWtrsDdbwjRliNs r5FUT4JxaVzh35UDEotSZjhxNIiN4b9o07QcWHWPf0ImkaYcEnAAzgkd19REmBp6ty9T MP4FyYC6f8hpPZr9Um/Wf6E1wnnU4KsgqH8J8WjboqPCrf/qP2Yvw8pEO0Amfnmpfb4m hxlJ2sV+m8482HbW8jNhnujaAGNcbefm5HyTu+q6EmHv0MbCaSbt0wArKCYGiAR7PuHM XF3maO5QypABiCl0rwJzv1owyM/+JW5WEHmnVSxaYSNtraISrQ/4JHWEAJJsAXOWUlu1 Xlsg== X-Gm-Message-State: AOAM531Hj1/mY/Xp6W4h4e9YOXWY6x+y5v04Sb6oGEAJoCQElL0j7oYe L6ouwKrOkqmXiyw+hPC5CQPZ X-Google-Smtp-Source: ABdhPJxrsbvsdTGJhUNoYnfM7GTb0e9mR3CtmXZVe1/bEsuSll7eHk5g8RDPCmH1Vo1ZR1NGm0WK5w== X-Received: by 2002:a37:51d5:: with SMTP id f204mr3439584qkb.145.1601485360633; Wed, 30 Sep 2020 10:02:40 -0700 (PDT) Received: from ?IPv6:2600:1700:722:4630::43? ([2600:1700:722:4630::43]) by smtp.gmail.com with ESMTPSA id k26sm3029009qtf.35.2020.09.30.10.02.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 30 Sep 2020 10:02:39 -0700 (PDT) From: Andrew Dunstan X-Google-Original-From: Andrew Dunstan Subject: Re: BUG #16644: null value for defaults in OLD variable for trigger To: Tom Lane , fedor_erastov@mail.ru Cc: pgsql-bugs@lists.postgresql.org, Andres Freund References: <16644-5da7ef98a7ac4545@postgresql.org> <802555.1601432494@sss.pgh.pa.us> Autocrypt: addr=andrew.dunstan@2ndQuadrant.com; prefer-encrypt=mutual; keydata= mQENBE7KWFkBCAClridxur2AIc7eW2AR7izbfp3EnNefie2HbLF0izW5Ik5UjX2HBXBx4syI gY6b0ugohXrr274+baoAlvSbq6cAoQuEVrk5IZFzt20b1Xkx65FwGSEj526yiKLocqkJceSq Xr9xcA5SGY+FZv441chh5SU92v4q6z+6LPpoHOh97ptAVXZYNTtU0LevyvD5lja0TzbvJm6C eFXitJfnm1pLEr0DGJCR/iUOl/N62Kh4855zZC7NHIjQHPOvV5Stz/l5ilDhvGVk+xkXFPys SjZoUr1rXhYLpiyi5sR0X9FHXT0KnGuz1F5ERO7ZTLSSQ6fJwPj6gOk9K+vvoKvoeql5ABEB AAG0L0FuZHJldyBEdW5zdGFuIDxhbmRyZXcuZHVuc3RhbkAybmRRdWFkcmFudC5jb20+iQFY BBMBAgBCAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgBYhBOQ+WEYd/Hy/RGkVpZn6f8tZ /DuBAhkBBQJd1pSYBQkSzqMsAAoJEJn6f8tZ/DuBJmEIAIVFBIC3qGqh+YTPVTkfowwxpHz0 tZSPjZ6GS/5y62kgoZrZOVXw+Rg2ceuMM3a+In/RRjTx4bembgYqRKgzXlDfiNBJeq5ioVuN H1faDKE2lm5a6QkRQ2JU6DKf60fqSJGP5LisCUr1V0wz6EnlO31ArrKtXCNB+yk0KDAS6o6I Ql4pkXpr+vq4iilwJmiJOqTBam0LmQE7ulYCCYU8Z6MkpiSl+dO7QSramcGyxauQRI3a7gcq dpo8Vrv3gFTQDeMYxk7cqZp08pIVH5XR0+LgBz4X84f59rA/VAKlC/r6CyEQk59rvDLxCMyP 2buoj51Z25N3MVghRDGcsU6mT7e5AQ0ETspYWQEIANGc4zQULOxhbqO2dyD51YhqCNRmm9oK Waqf+wmW4tpDe/VVcxAnNizd4LWCHfzpb5cHAtGkOPePMfzWVf6nvdF7d3eglbtf59+zG7O7 llV0xSSoFiieQBsrGvqDInXYX/4mRRXMtyhM353/tixC9RWLs1oofyYmCPPXXY7h9R7en3B8 BoVrRFcdzlIY/NFNhFGW/9dkEiGjgna2Rk6e15kln4ZvFBWUg23p93w/pqXcxY6+k/8TEk+C 4R+M6w7o2PLGOjdZ+kPiUcw5H85zf/yZJwQXzisXaNduwWB6Vads9YC9dj6kPR1c4VGRqAaY L++LAEOqrlvm2TvqQqZRtnEAEQEAAYkBJQQYAQIADwIbDAUCXdaUtAUJEs6jVQAKCRCZ+n/L Wfw7gQi5B/9sHbmRloZNCWWwZGm+O9iG/JGQxS0WWa4GaZqzqSTWOft2/gO0Bgag89r1djq4 PFgSZtzHvKQpqYz/7HkPrWh1jpcS83i/uYY1uyHXUUtpdEmn4buNObEtD0YNaJkGdhASsECq 6akw+u7WJYmAHs/SpR6ok6HqLw7JHDVc2h5dViLfTk0qrgDa7sq/LVMoJje5Ct/Ku3YaWAV6 YSmzoPP5BmPVFqP11OMQkCqurIu9vTLXKFWX623vCmqRDHJ6e5GCDHbH8USU+4wJBfPymZkd cA7NGm/mmWeJiWBFIDyjzYxrjku8ty9TZJVsaRXnS+OFQzXz9Eu2wTpKdHij46uY Message-ID: Date: Wed, 30 Sep 2020 13:02:39 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: <802555.1601432494@sss.pgh.pa.us> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On 9/29/20 10:21 PM, Tom Lane wrote: > > If you ask me, the proximate cause of this bug was the decision > to stick attrmissing info into the "constr" field of tupledescs. > That seems pretty damfool, because there are large parts of the > system that consider that the constr info is optional and can > be discarded, or never built to begin with. Perhaps it's too late > to revisit that, but we need to take a very very hard look at an > awful lot of places if we're to stick with that design. > :-( At nearly three years remove my memory is a bit hazy, but IIRC I looked at all the places (or all I could identify) where it might have mattered and it looked OK. But I'm not going to bet my life I caught everything, and maybe I unintentionally provided for a future footgun, which from your description this appears to be. I'm not sure what the implications of changing it would be. cheers andrew -- Andrew Dunstan https://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services