| From: | "Tristan Partin" <tristan(at)partin(dot)io> |
|---|---|
| To: | <dllggyx(at)outlook(dot)com> |
| Cc: | <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: BUG #19589: JSON_QUERY rejects domain-over-bytea input when using FORMAT JSON ENCODING UTF8. |
| Date: | 2026-07-31 05:41:01 |
| Message-ID: | DKCIKZ4EKEYG.23Y7N7F8CLCKO@partin.io |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
On Thu Jul 30, 2026 at 1:40 PM CDT, PG Bug reporting form wrote:
> The following bug has been logged on the website:
>
> Bug reference: 19589
> Logged by: Yuxiao Guo
> Email address: dllggyx(at)outlook(dot)com
> PostgreSQL version: 18.4
> Operating system: Ubuntu 20.04 x86-64, docker image postgres:18.4
> Description:
>
> Query A and Query B are equivalent, but while JSON_QUERY(... FORMAT JSON
> ENCODING UTF8 ...) accepts a direct bytea input, it incorrectly rejects a
> domain-over-bytea input with the error JSON ENCODING clause is only allowed
> for bytea input type.
>
> PoC:
>
> ```sql
> CREATE DOMAIN d_json_bytea AS bytea;
>
> -- Query A
> SELECT JSON_QUERY(convert_to(txt, 'utf8') FORMAT JSON ENCODING UTF8, '$') AS
> j
> FROM (VALUES ('[1,2]')) AS src(txt);
>
> -- Query B
> SELECT JSON_QUERY(b FORMAT JSON ENCODING UTF8, '$') AS j
> FROM (
> SELECT convert_to(txt, 'utf8')::d_json_bytea AS b
> FROM (
> SELECT txt
> FROM (
> SELECT '[1,2]'::text AS txt
> UNION ALL
> SELECT '[9,9]'::text WHERE false
> ) AS u
> WHERE txt LIKE '[%'
> ) AS filtered
> ) AS typed;
>
> ```
>
> Result of Query A:
> j
> --------
> [1, 2]
> (1 row)
>
> Result of Query B:
> ERROR: JSON ENCODING clause is only allowed for bytea input type
> LINE 1: SELECT JSON_QUERY(b FORMAT JSON ENCODING UTF8, '$') AS j
Thanks for the report. I am currently taking a look at this. I have
reproduced the issue and am working on a fix.
--
Tristan Partin
PostgreSQL Contributors Team
AWS (https://aws.amazon.com)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | PG Bug reporting form | 2026-07-31 05:57:01 | BUG #19590: to_date/to_timestamp "Y,YYY" accepts out-of-range values |
| Previous Message | David Rowley | 2026-07-31 05:24:31 | Re: Hash Semi Join 5,000-50,000x slower on PG18 vs PG17 with 10+ equality columns and NULL values (identical plan, no spill) |