Thanks a lot for the response. I'll create a JIRA for adding support for "CREATE TYPE". We need it in the DDL. I can help with it once you commit the new module, or please let me know if I can help with the module if needed.
Also, I think we will need CREATE FUNCTION as well for UDFs, will create a JIRA as well. On Wed, Nov 8, 2017 at 2:44 PM, Julian Hyde <[email protected]> wrote: > You are correct. Calcite does not support CREATE TYPE. > > In fact it doesn't support any DDL. (I'm working on > https://issues.apache.org/jira/browse/CALCITE-707, but it's not > finished, it will be in an optional module, and it won't support > CREATE TYPE at first.) > > You can, however, create types programmatically; search for "address" > in MockCatalogReader and you will see some examples. > > Julian > > > On Wed, Nov 8, 2017 at 2:22 PM, Shuyi Chen <[email protected]> wrote: > > Ping, any idea? Thanks a lot. > > > > Shuyi > > > > On Tue, Nov 7, 2017 at 11:00 AM, Shuyi Chen <[email protected]> wrote: > > > >> Hi, > >> > >> I want to use the row value constructor and CAST to create a named row, > or > >> even nested named row, e.g. > >> > >> CREATE TYPE myrowtype AS (f1 INTEGER, f2 VARCHAR(10)) > >> SELECT CAST(ROW(intField, "test") AS myrowtype) AS myRow FROM myTable; > >> > >> So if converted to JSON, the output will be {"myRow":{"f0": ${intField}, > >> "f1":"test"}}. > >> > >> I tried it out, the RVC and CAST are working, but seems Calcite doesn't > >> support CREATE TYPE in the grammar. Please correct me if I am wrong. > >> Thanks a lot. > >> > >> Shuyi > >> > >> -- > >> "So you have to trust that the dots will somehow connect in your > future." > >> > > > > > > > > -- > > "So you have to trust that the dots will somehow connect in your future." > -- "So you have to trust that the dots will somehow connect in your future."
