Changeset: 8c149ef87fdd for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8c149ef87fdd
Modified Files:
sql/backends/monet5/rel_tvtree.c
sql/test/nested/Tests/array.test
Branch: nested
Log Message:
Fixes crash and modifies test
diffs (79 lines):
diff --git a/sql/backends/monet5/rel_tvtree.c b/sql/backends/monet5/rel_tvtree.c
--- a/sql/backends/monet5/rel_tvtree.c
+++ b/sql/backends/monet5/rel_tvtree.c
@@ -244,8 +244,12 @@ tv_parse_values(backend *be, tv_tree *t,
*/
bool single_row_val = false;
single_row_val |= col_vals->row;
- if ((t->tvt == TV_MSET) || (t->tvt == TV_SETOF))
+ if ((t->tvt == TV_MSET) || (t->tvt == TV_SETOF)) {
+ // single value MSET/SETOF of basic type
+ single_row_val |= !((sql_exp*)vals->h->data)->f;
+ // single value MSET/SETOF of composite type
single_row_val |= ((sql_exp*)vals->h->data)->row;
+ }
if (single_row_val) {
/* we need to create a dummy expression to single row vals
diff --git a/sql/test/nested/Tests/array.test b/sql/test/nested/Tests/array.test
--- a/sql/test/nested/Tests/array.test
+++ b/sql/test/nested/Tests/array.test
@@ -8,33 +8,47 @@ select * from flent_arr
----
statement ok
-insert into flent_arr values ('{1, 2}')
+insert into flent_arr values ('{10, 11}')
query T nosort
select * from flent_arr
----
-{1,2}
+{10,11}
statement ok
-insert into flent_arr values ('{1, 2}')
+insert into flent_arr values (array[20, 21])
query T nosort
select * from flent_arr
----
-{1,2}
-{1,2}
+{10,11}
+{20,21}
statement ok
-insert into flent_arr values ('{3, 4}'), ('{5}'), ('{6, 7, 8}')
+insert into flent_arr values ('{30, 31}'), ('{40}'), ('{50, 51, 52}')
query T nosort
select * from flent_arr
----
-{1,2}
-{1,2}
-{3,4}
-{5}
-{6,7,8}
+{10,11}
+{20,21}
+{30,31}
+{40}
+{50,51,52}
+
+statement ok
+insert into flent_arr values (array[60]), (array[70, 71])
+
+query T nosort
+select * from flent_arr
+----
+{10,11}
+{20,21}
+{30,31}
+{40}
+{50,51,52}
+{60}
+{70,71}
## variable-length type array
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]