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 1w12ry-002Rrf-0p for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Mar 2026 13:48:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w12rw-004KzG-1U for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Mar 2026 13:48:00 +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 1w12rw-004Kz8-0B for pgsql-hackers@lists.postgresql.org; Fri, 13 Mar 2026 13:48:00 +0000 Received: from mail-qk1-x72b.google.com ([2607:f8b0:4864:20::72b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w12rs-00000002TDo-3vBM for pgsql-hackers@postgresql.org; Fri, 13 Mar 2026 13:47:59 +0000 Received: by mail-qk1-x72b.google.com with SMTP id af79cd13be357-8cd830404c2so225981285a.2 for ; Fri, 13 Mar 2026 06:47:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dunslane-net.20230601.gappssmtp.com; s=20230601; t=1773409675; x=1774014475; darn=postgresql.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :from:references:cc:to:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=jNkuexpCFFAaquncsypVgu/3Cck2+YhQj6eUozWWYkc=; b=aIXMH6AoTeFKL/c9F6mF24DYVG0HHoul3XAPDjOaedN+Ne5obxcrFePstYhGOkpJ7V Tdj7kb2jkAboRL84ic02slSCzF4PMiy9vdur3psyvAWA8LqfwHUdYYMiJuMabWOZzoTe wXOa0WbIC7ML68rc76AO99M/g/nO0Wtipph4wubKcS7hqRJxbOjaIdzHuYWqj3vEZpBO Pg9KvdcrQ9So4ps5Glm4TSoJK8/BRSFp58Gi48aJnfJdfaAgmG7woraNFZBSsgbiRSYS 88MecrNn2vRtgX8FkMbnjlt4vcg+JiRHF8jR9Df/Yy1df544Kdku53Tg8/I8VeghA176 wHbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773409675; x=1774014475; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :from:references:cc:to:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=jNkuexpCFFAaquncsypVgu/3Cck2+YhQj6eUozWWYkc=; b=QmZmUf56YLeIPjUsSg+fqzyNW0GqY1h9iKzH5IvRkOa7mtKBHjo6zT7PriPgvcSh6g Y40uMEOqfv10xsL+Y6ngKX8GnKVx+VOTj5Pgeo3okan+6fiz3zbYfAbZF5LjMTTWUhbH i3LiWrrljW3LDXK0DInbLBFUuMkohkFG2impiPHN/PT55N412oUGcdN84TteKx8yh7Fy 4GFbxqe1YCk47HKOJU5MLtd0heRlLPGCSDsRiP98CXlhuspdIpIL8+H/VCLtxbfoWrT2 qK4EoCctfaHMfjGVPLSfzrLFg/+NT+B+n56lki+N4fGUb0mSTvokhsR3rAybcL777QGr XEvw== X-Forwarded-Encrypted: i=1; AJvYcCVbJmfI72RJw8KDG0typS1qriPH5mGEaGiao7WNon19RyfGnne+W+oC48ZXmLsog9om59TnEVc+D7uKwRRU@postgresql.org X-Gm-Message-State: AOJu0Yywyt0LMTlcZZg4qkDZpg7h31IFpD0TQsoKvWCMsXHqNACNM37Q BWQLjM0fpN3WlFs6Kh8FWB8M/nVZLuaOIGDf1wA6Ct3jjkk7+IugjMGQo73TWN30s1I= X-Gm-Gg: ATEYQzz36bDb2565fcRNOdMRJamZsHRXgrM5Yh+0rClBcjdfjD+NUNqlPz1uaza74+p eSVijnktLN6bQ51/zpJWoR5DkLOSrMtRF1ODonHI7gd28410RfCtKuxewP1Eqi1An0rIBf5QBda SVv5EnsXF9q42s7MPTc+Wt1W6nMmgdNn0K4IszFI9cb5ttRgKNMjgyRqv88dsPy6zgfy00z9OX6 Rj7B91fxydyw3LvAmrHopZ95gesl3NGO8SOOp0Fz3CvLrVZZ2FUpDwfN8/O7KPNR3p7mWh6qm7w jIVaF1PudbhAWlEyYhgN4HiN95JEQBuI3hvCYAguBV4PhDgUt8CJv1rAxRpBugmZopx3nn424qZ 0To4S7QQQQp8ShQLP4ftLldL8gVw6acXaX2yU6Pa7Bx591Zxw2uoZK27xo/H16BYMQTBDD+kb7O 3Qcex9fyQjZ2OL8kIA81Cf8kX2ErjhVr1zRpMoMVYi X-Received: by 2002:a05:620a:4142:b0:8cd:8884:2509 with SMTP id af79cd13be357-8cdb5b6652dmr449165885a.55.1773409674601; Fri, 13 Mar 2026 06:47:54 -0700 (PDT) Received: from ?IPV6:2605:a601:a6b0:500::1cb? ([2605:a601:a6b0:500::1cb]) by smtp.googlemail.com with ESMTPSA id af79cd13be357-8cda1ff7642sm648592785a.21.2026.03.13.06.47.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 13 Mar 2026 06:47:54 -0700 (PDT) Message-ID: Date: Fri, 13 Mar 2026 09:47:52 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: IS JSON predicate support for domain base type as JSON/JSONB/BYTEA/TEXT To: Kirill Reshke Cc: jian he , Tom Lane , PostgreSQL-development References: <1118236.1763485279@sss.pgh.pa.us> <5406c2b1-57c8-448b-97c7-8af295ba3869@dunslane.net> From: Andrew Dunstan Content-Language: en-US Autocrypt: addr=andrew@dunslane.net; keydata= xsBNBE7KWFkBCAClridxur2AIc7eW2AR7izbfp3EnNefie2HbLF0izW5Ik5UjX2HBXBx4syI gY6b0ugohXrr274+baoAlvSbq6cAoQuEVrk5IZFzt20b1Xkx65FwGSEj526yiKLocqkJceSq Xr9xcA5SGY+FZv441chh5SU92v4q6z+6LPpoHOh97ptAVXZYNTtU0LevyvD5lja0TzbvJm6C eFXitJfnm1pLEr0DGJCR/iUOl/N62Kh4855zZC7NHIjQHPOvV5Stz/l5ilDhvGVk+xkXFPys SjZoUr1rXhYLpiyi5sR0X9FHXT0KnGuz1F5ERO7ZTLSSQ6fJwPj6gOk9K+vvoKvoeql5ABEB AAHNJEFuZHJldyBEdW5zdGFuIDxhbmRyZXdAZHVuc2xhbmUubmV0PsLAlwQTAQgAQQIbAwIX gAIZAQULCQgHAwUVCgkICwUWAgMBAAIeBRYhBOQ+WEYd/Hy/RGkVpZn6f8tZ/DuBBQJoGNGd BQkdEO8nAAoJEJn6f8tZ/DuBq74H/jkTR4Zi3stbw+xC7v2u3QozssK7MYPL2AsVfh7OealS h182fiWXpfvmmAB7WUHbhk9GC2RAOnHI/2d2jgKaMLAHsGYOT0YopTVIwRY43fCw/mK67yxc wmDcX+zyKfLaivNbf5A7QPLNwda98bEAMSJ8Sn652Uc6cA8t3uKGsVzbRBQOoYzjgvBCfSrE 9ql3PDNg0l4BfAqabd2f70ZUm9VAMEPrgv/v2xI7M2XiL4g5BVmqLCOwxLM8RMCotCuoweUr VO43DeBCIDwLxotMJKvGWDjBzQYlU1NPUAtNcz/gN9ITUe1VUGjyvGj4u1lxBOcQQUw7l1+T 5moZ4iZxXzvOwE0ETspYWQEIANGc4zQULOxhbqO2dyD51YhqCNRmm9oKWaqf+wmW4tpDe/VV cxAnNizd4LWCHfzpb5cHAtGkOPePMfzWVf6nvdF7d3eglbtf59+zG7O7llV0xSSoFiieQBsr GvqDInXYX/4mRRXMtyhM353/tixC9RWLs1oofyYmCPPXXY7h9R7en3B8BoVrRFcdzlIY/NFN hFGW/9dkEiGjgna2Rk6e15kln4ZvFBWUg23p93w/pqXcxY6+k/8TEk+C4R+M6w7o2PLGOjdZ +kPiUcw5H85zf/yZJwQXzisXaNduwWB6Vads9YC9dj6kPR1c4VGRqAaYL++LAEOqrlvm2Tvq QqZRtnEAEQEAAcLAfAQYAQgAJgIbDBYhBOQ+WEYd/Hy/RGkVpZn6f8tZ/DuBBQJoGNI2BQkd EODdAAoJEJn6f8tZ/DuBfw0IAKTsfD40teP/pp+bsLLMSxPXUYrrprTj7WFB5v61p6dkpSr/ qXmMlyahdxQFaPmfVgVirB1Vk/kHiWNnnGjfUV9nB2Zg9LI0Xb9/ts3LsUiRWXzG3tkMY6XL vsVOxW4XFRND9l2q+WW93aZ1DZl+fqWfYgMvsusFRhmGFOKTRfKPta2Pkv+AhA24N4+PrR5p bU4k2MO8PAGiK8eaYKGFG1bHKuAvoDoF7WXJ3FHxuWqLnKEt4dfOLm5pAe3zq1Lt6q8azT9i QWGpSAK5vQUWQHBHpiDjdPeqKZ6HiAXIIKfSmb+jrvXBqoP+D6/K7rUjG2aXiRtTIAXms9sm VRu7cmw= In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2026-03-13 Fr 9:16 AM, Kirill Reshke wrote: > On Fri, 13 Mar 2026 at 17:30, Andrew Dunstan wrote: >> >> On 2026-03-12 Th 11:55 PM, jian he wrote: >>> Hi. >>> >>> The regression test was very verbose; I removed some of it. >>> Also polished function ExecEvalJsonIsPredicate a little bit. >> >> >> Here's a v4. I changed resultBaseType to exprBaseType - I think it's >> clearer. I also trimmed the tests a bit more, and dropped the new >> objects after testing them. The error message now shows the domain name >> rather than the underlying base type. I think that's more useful. >> > > Hi! > V4 looks good. The only thing that I cannot explain is removing the > `exprtype` variable inside ExecEvalJsonIsPredicate. We can just change > its declaration to > > exprtype = pred->exprBaseType if i'm not mistaken? Yeah, we can do that. > > Anyway, LGTM > > Thanks for reviewing. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com