| From: | "David E(dot) Wheeler" <david(at)justatheory(dot)com> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Mark Dake <mark(dot)drake(at)golden-hind(dot)com>, pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: Inconsistent Behavior in JSONB Numeric Array Deletion |
| Date: | 2025-06-11 21:47:37 |
| Message-ID: | E66B60CD-6562-4AF0-BD60-B4D5560B06B4@justatheory.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Jun 11, 2025, at 17:43, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> I fear that that would cause some problems. Consider
>
> regression=# select '["foo", "bar"]'::jsonb - 'bar';
> ?column?
> ----------
> ["foo"]
> (1 row)
>
> Right now we resolve the unlabeled literal as type text.
> But if jsonb - jsonb existed, we'd decide it's jsonb, thanks
> to the heuristic that prefers same-type-as-the-other-input
> (rule 2a at [1]). So it's pretty nearly certain that
> adding jsonb - jsonb would break some existing queries;
> or worse, silently cause them to do something different.
> Maybe that's acceptable, but it's a demerit of this proposal.
Ah. It’s a pity the existing operator behaves differently for different rhs operands. But maybe add a new one that’s defined to operator on contents rather than keys/indexes and deprecate (or un-document) the content behavior in the `-` operator?
Best,
David
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jeff Davis | 2025-06-11 22:01:19 | Re: [19] Proposal: function markers to indicate collation/ctype sensitivity |
| Previous Message | Tom Lane | 2025-06-11 21:43:12 | Re: Inconsistent Behavior in JSONB Numeric Array Deletion |