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 -- [email protected]
To unsubscribe send an email to [email protected]