Changeset: e2189eb716bc for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e2189eb716bc
Branch: nested
Log Message:
merged
diffs (140 lines):
diff --git a/sql/test/nested/Tests/All b/sql/test/nested/Tests/All
new file mode 100644
--- /dev/null
+++ b/sql/test/nested/Tests/All
@@ -0,0 +1,1 @@
+simple
diff --git a/sql/test/nested/Tests/SingleServer
b/sql/test/nested/Tests/SingleServer
new file mode 100644
diff --git a/sql/test/nested/Tests/simple.test
b/sql/test/nested/Tests/simple.test
new file mode 100644
--- /dev/null
+++ b/sql/test/nested/Tests/simple.test
@@ -0,0 +1,127 @@
+statement ok
+create type pair AS (key varchar, value varchar)
+
+statement ok
+create table foo(p pair)
+
+statement ok
+insert into foo values (('left', 'right')), (('left', 'right'))
+
+query TT
+select p.key, p.value from foo
+----
+left
+right
+left
+right
+
+query I
+select count(*) from foo
+----
+2
+
+statement ok
+create table bar(p pair[])
+
+statement ok
+insert into bar values (array[('left', 'right'), ('left', 'right')])
+
+query TT
+select p.key, p.value from bar, unnest(p)
+----
+left
+right
+left
+right
+
+query I
+select count(*) from bar, unnest(p)
+----
+2
+
+statement ok
+create table tpv( i integer, p pair)
+
+statement ok
+insert into tpv values (1, ('left','right')), (2, ('left','right')), (3,
('l1', 'r1'))
+
+query ITT
+select i, p.key, p.value from tpv
+----
+1
+left
+right
+2
+left
+right
+3
+l1
+r1
+
+statement ok
+create table tpsv( i integer, p pair[2])
+
+statement ok
+insert into tpsv values (1, array [ ('left','right'), ('l2','r2') ]), (2,
array [ ('left','right'), ('l2','r2') ]), (3, array [ ('l3', 'r3') ])
+
+
+query ITT
+select i, p.key, p.value from tpsv cross join unnest(p)
+----
+
+query ITT
+select i, up.key, up.value from tpsv cross join unnest(p) up where i = 1
+----
+
+query ITT
+select i, up.key, up.value from tpsv cross join unnest(p) up where up.key =
'left'
+----
+
+query II
+select i, count(*) from tpsv cross join unnest(p) up group by i
+----
+
+
+statement ok
+insert into tpsv select i, p from tpsv
+
+
+query ITTII
+select cast(json '[ { "pleft": "left", "pright": "right" }]' as pair[])
+----
+
+
+query ITTII
+select cast(json '[ { "pleft": "left", "pright": "right" }, { "pleft": "l1",
"pright": "r1" }]' as pair[])
+----
+
+
+statement ok
+insert into tpsv select 1, cast(json '[ { "pleft": "left", "pright": "right"
}, { "pleft": "l1", "pright": "r1" }]' as pair[])
+
+
+statement ok
+create type npair as (ppair pair[], i integer)
+
+
+statement ok
+create table np (id integer, np npair[])
+
+
+statement ok
+insert into np values (1, array [ (array [ ('left','right'), ('l2','r2') ],
11), (array [], 12) ]), (2, array [ ( array [ ('l3', 'r3') ], 22) ])
+
+
+statement ok
+create type ipair AS (pleft varchar, pright integer)
+
+
+query TTIII
+select cast(json '[ { "pleft": "left", "pright": "1" }]' as ipair[])
+----
+
+
+query ITIII
+select cast(json '[ { "pleft": "left", "pright": "1" }, { "pleft": "l1",
"pright": "2" }]' as ipair[])
+----
+
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]