> I was experimenting with the v42 patches, and I think the handling of ON > EMPTY / ON ERROR clauses may need some improvement.
Well, the 2023 standard says things like
<JSON value function> ::= JSON_VALUE <left paren> <JSON API common syntax> [ <JSON returning clause> ] [ <JSON value empty behavior> ON EMPTY ] [ <JSON value error behavior> ON ERROR ] <right paren>
which implies that if you specify it the other way around, it's a syntax error.
> I'm not sure what the SQL standard says about this, but it seems other > databases don't agree on the order. Is there a particular reason to > not allow both orderings?
I vaguely recall that trying to also support the other ordering leads to having more rules.
Yeah, I think that was it. At one point, I removed rules supporting syntax that wasn’t documented.
Now maybe we do want that because of compatibility with other DBMSs, but frankly at this stage I wouldn't bother.