Re: JSON(B) Support like in Postgres

2018-12-29 Thread Julian Feinauer
Hey Hongze,

thanks for your response.
I'm not sure if it would be the right way to overwrite the Built-In Functions 
in Calcite (or disable them).
I thought about translating them to different Postgres calls, i.e., implement a 
suitable Postgres Adapter that Maps Calcites Built-in functions to postgres 
native commands, if possible.

But I'll first check through your references and the Code a bit more.

Thanks
Julian

Am 29.12.18, 15:30 schrieb "Hongze Zhang" :

Hi Julian, 


If I remember right, Calcite does not support Postgres's json and jsonb 
datatype in current version (1.18).
Calcite has built-in JSON support (see CALCITE-2266[1]) similar to what has 
been implemented in Oracle and MS SQL, It is a earlier version of the whole 
JSON things described in the SQL standard. For now these functions[2] mainly 
accepts character datatypes as JSON input, other data types are not supported 
yet.


I am not so familiar with Postgres's JSON implementation but I think the 
implementation are wildly different with Calcite's, Some functions have 
conflict syntax with Calcite's function(E.g. JSON_VALUE).
If you'd like to process JSON using Postgres's syntax, maybe at first you 
need to change the Parser code of Calcite to support Postgres's json and jsonb 
Operators, and also disable the built-in JSON_VALUE function then add 
Postgres's JSON functions (if you want to use Postgres's JSON_VALUE function on 
Calcite 1.18).


Best,
Hongze


[1] https://issues.apache.org/jira/browse/CALCITE-2266
[2] http://calcite.apache.org/docs/reference.html#json-functions







At 2018-12-29 18:18:59, "Julian Feinauer"  
wrote:
>Hi all,
>
>we use Postgres a lot and make heavy use of the JSONB datatype [1].
>Is there support for something similar in Calcite?
>If so, can someone point me to the docs as I’ve not found anything in the 
list of builtin functions.
>
>There are several reasons why it would be cool for us to have Calcite in 
Front of postgres to do some query rewriting if necessary but for that we would 
definitely need support for something which could be transformed to JSONB.
>
>Best
>Julian
>
>[1] https://www.postgresql.org/docs/9.5/functions-json.html




JSON(B) Support like in Postgres

2018-12-29 Thread Julian Feinauer
Hi all,

we use Postgres a lot and make heavy use of the JSONB datatype [1].
Is there support for something similar in Calcite?
If so, can someone point me to the docs as I’ve not found anything in the list 
of builtin functions.

There are several reasons why it would be cool for us to have Calcite in Front 
of postgres to do some query rewriting if necessary but for that we would 
definitely need support for something which could be transformed to JSONB.

Best
Julian

[1] https://www.postgresql.org/docs/9.5/functions-json.html