Changeset: 2b981e18da67 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/2b981e18da67
Modified Files:
        sql/backends/monet5/vaults/json/json.c
        sql/test/nested/Tests/json.test
Branch: newjson
Log Message:

lookup json type in schema


diffs (32 lines):

diff --git a/sql/backends/monet5/vaults/json/json.c 
b/sql/backends/monet5/vaults/json/json.c
--- a/sql/backends/monet5/vaults/json/json.c
+++ b/sql/backends/monet5/vaults/json/json.c
@@ -160,9 +160,15 @@ json_relation(mvc *sql, sql_subfunc *f, 
        // use file name as columnn name ?
        char *cname = sa_strdup(sql->sa, "json");
        list_append(names, cname);
-       sql_subtype *tpe = sql_bind_subtype(sql->sa, "json", 0, 0);
-       list_append(types, tpe);
-       sql_exp *ne = exp_column(sql->sa, a_create(sql->sa, tname), cname, tpe, 
CARD_MULTI, 1, 0, 0);
+       sql_schema *jsons = mvc_bind_schema(sql, "json");
+       if (!jsons)
+               return NULL;
+       sql_type *tpe = schema_bind_type(sql, jsons, "json");
+       sql_subtype *st = SA_NEW(sql->sa, sql_subtype);
+       st->type = tpe;
+       st->digits = st->scale = 0;
+       list_append(types, st);
+       sql_exp *ne = exp_column(sql->sa, a_create(sql->sa, tname), cname, st, 
CARD_MULTI, 1, 0, 0);
        set_basecol(ne);
        ne->alias.label = -(sql->nid++);
        list_append(res_exps, ne);
diff --git a/sql/test/nested/Tests/json.test b/sql/test/nested/Tests/json.test
--- a/sql/test/nested/Tests/json.test
+++ b/sql/test/nested/Tests/json.test
@@ -2,5 +2,5 @@ statement ok
 create type event as (id int, type varchar)
 
 query T
-select cast(t.josn as event) from (select json from r'$TSTTRGDIR/events.json') 
t
+select cast(t.json as event) from (select json from r'$TSTTRGDIR/events.json') 
t
 ----
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to