Re: remaining sql/json patches
От | jian he |
---|---|
Тема | Re: remaining sql/json patches |
Дата | |
Msg-id | CACJufxEvxuOdz8cNZ5o3Ek+FfT0uCkm3ccH=LeRMeidp3j1Beg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: remaining sql/json patches (jian he <jian.universality@gmail.com>) |
Ответы |
Re: remaining sql/json patches
|
Список | pgsql-hackers |
Hi. small issues I found... typo: +-- Test mutabilily od query functions + default: + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("only datetime, bool, numeric, and text types can be casted to jsonpath types"))); transformJsonPassingArgs's function: transformJsonValueExpr will make the above code unreached. also based on the `switch (typid)` cases, I guess best message would be errmsg("only datetime, bool, numeric, text, json, jsonb types can be casted to jsonpath types"))); + case JSON_QUERY_OP: + jsexpr->wrapper = func->wrapper; + jsexpr->omit_quotes = (func->quotes == JS_QUOTES_OMIT); + + if (!OidIsValid(jsexpr->returning->typid)) + { + JsonReturning *ret = jsexpr->returning; + + ret->typid = JsonFuncExprDefaultReturnType(jsexpr); + ret->typmod = -1; + } + jsexpr->result_coercion = coerceJsonFuncExprOutput(pstate, jsexpr); I noticed, if (!OidIsValid(jsexpr->returning->typid)) is the true function JsonFuncExprDefaultReturnType may be called twice, not sure if it's good or not..
В списке pgsql-hackers по дате отправления: