On 2022-07-05 Tu 15:04, Andrew Dunstan wrote:
> On 2022-07-05 Tu 14:36, Andres Freund wrote:
>>
>>>> I think Andrew's beta 2 comment was more about my other architectural
>>>> complains around the json expression eval stuff.
>>> Right. That's being worked on but it's not going to be a mechanical fix.
>> Any updates here?
>
> Not yet. A colleague and I are working on it. I'll post a status this
> week if we can't post a fix.
We're still working on it. We've made substantial progress but there are
some tests failing that we need to fix.
>> I'd mentioned the significant space use due to all JsonCoercionsState for all
>> the types. Another related aspect is that this code is just weird - the same
>> struct name (JsonCoercionsState), nested in each other?
>>
>> struct JsonCoercionsState
>> {
>> struct JsonCoercionState
>> {
>> JsonCoercion *coercion; /* coercion expression */
>> ExprState *estate; /* coercion expression state */
>> } null,
>> string,
>> numeric ,
>> boolean,
>> date,
>> time,
>> timetz,
>> timestamp,
>> timestamptz,
>> composite;
>> } coercions; /* states for coercion from SQL/JSON item
>> * types directly to the output type */
>>
>> Also note the weird numeric indentation that pgindent does...
>
> Yeah, we'll try to fix that.
Actually, it's not the same name: JsonCoercionsState vs
JsonCoercionState. But I agree that it's a subtle enough difference that
we should use something more obvious. Maybe JsonCoercionStates instead
of JsonCoercionsState? The plural at the end would be harder to miss.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com