Re: SQL/JSON: JSON_TABLE
От | Nikita Glukhov |
---|---|
Тема | Re: SQL/JSON: JSON_TABLE |
Дата | |
Msg-id | 69eefc5a-cabc-8dd3-c689-93da038c0d6a@postgrespro.ru обсуждение исходный текст |
Ответ на | Re: SQL/JSON: JSON_TABLE (Erik Rijkers <er@xs4all.nl>) |
Ответы |
Re: SQL/JSON: JSON_TABLE
|
Список | pgsql-hackers |
On 30.03.2021 19:56, Erik Rijkers wrote:
On 2021.03.27. 02:12 Nikita Glukhov <n.gluhov@postgrespro.ru> wrote: Attached 47th version of the patches.Hi, Apply, build all fine. It also works quite well, and according to specification, as far as I can tell. But today I ran into: ERROR: function ExecEvalJson not in llvmjit_types.c I think that it is caused by: set enable_bitmapscan = off; (I installed llvm a few days ago. llvm-3.9-dev on this debian stretch). This is the test sql I concocted, which runs fine with enable_bitmapscan on (the default): select jt1.* from myjsonfile100k as t(js, id) , json_table( t.js , '$' columns ( "lastname" text path '$. "lastname" ' , "firstname" text path '$. "firstname" ' , "date" text path '$. "date" ' , "city" text path '$. "city" ' , "country" text path '$. "country" ' , "name 0(1)" text path '$. "array"[0] ' , "name 4(5)" text path '$. "array"[4] ' , "names" text[] path '$. "array" ' , "randfloat" float path '$. "random float" ' ) ) as jt1 where js @> ('[ { "city": "Santiago de Cuba" } ]') and js[0]->>'firstname' = 'Gilda' ; ERROR: function ExecEvalJson not in llvmjit_types.c That statement only errors out if the table is large enough. I have no time now to make a sample table but if no-one understands the problem off-hand, I'll try to construct such a table later this week (the one I'm using is large, 1.5 GB).
Thank you for testing. I think you can try to add 3 missing functions references to the end of src/backend/jit/llvm/llvmjit_types.c:
void *referenced_functions[] = { ... ExecEvalXmlExpr, + ExecEvalJsonConstructor, + ExecEvalIsJsonPredicate, + ExecEvalJson, MakeExpandedObjectReadOnlyInternal, ... }; If this fixes problem, I will add this to the new version of the patches. -- Nikita Glukhov Postgres Professional: http://www.postgrespro.co The Russian Postgres Company
В списке pgsql-hackers по дате отправления: