-QUERY: SELECT * FROM arrtest;
-a |b |c |d |e |f |g
------------+---------------+-------------+-----------------+-------------+-----------------+---------------
-{1,2,3,4,5}|{{{0,0},{1,2}}}|{} |{} | |{} |{}
-{11,12,23} |{{3,4},{4,5}} |{"foobar"} |{{"elt1","elt2"}}|{"3.4","6.7"}|{"abc ","abcde"}|{"abc","abcde"}
-{} |{3,4} |{"foo","bar"}|{"bar","foo"} | | |
+--
+-- ARRAYS
+--
+SELECT * FROM arrtest;
+ a | b | c | d | e | f | g
+-------------+-----------------+---------------+-------------------+---------------+-------------------+-----------------
+ {1,2,3,4,5} | {{{0,0},{1,2}}} | {} | {} | | {} | {}
+ {11,12,23} | {{3,4},{4,5}} | {"foobar"} | {{"elt1","elt2"}} | {"3.4","6.7"} | {"abc ","abcde"} | {"abc","abcde"}
+ {} | {3,4} | {"foo","bar"} | {"bar","foo"} | | |
(3 rows)
-QUERY: SELECT arrtest.a[1],
+SELECT arrtest.a[1],
arrtest.b[1][1][1],
arrtest.c[1],
- arrtest.d[1][1],
+ arrtest.d[1][1],
arrtest.e[0]
FROM arrtest;
- a|b|c |d |e
---+-+------+----+-
- 1|0| | |
-11| |foobar|elt1|
- | |foo | |
+ a | b | c | d | e
+----+---+--------+------+---
+ 1 | 0 | | |
+ 11 | | foobar | elt1 |
+ | | foo | |
(3 rows)
-QUERY: SELECT arrtest.a[1:3],
- arrtest.b[1:1][1:2][1:2],
- arrtest.c[1:2],
- arrtest.d[1:1][1:2]
+SELECT a[1], b[1][1][1], c[1], d[1][1], e[0]
FROM arrtest;
-a |b |c |d
-----------+---------------+-------------+-----------------
-{1,2,3} |{{{0,0},{1,2}}}| |
-{11,12,23}| | |{{"elt1","elt2"}}
- | |{"foo","bar"}|
+ a | b | c | d | e
+----+---+--------+------+---
+ 1 | 0 | | |
+ 11 | | foobar | elt1 |
+ | | foo | |
(3 rows)
-QUERY: SELECT array_dims(arrtest.b) AS x;
-x
----------------
-[1:1][1:2][1:2]
-[1:2][1:2]
-[1:2]
+SELECT a[1:3],
+ b[1:1][1:2][1:2],
+ c[1:2],
+ d[1:1][1:2]
+ FROM arrtest;
+ a | b | c | d
+------------+-----------------+---------------+-------------------
+ {1,2,3} | {{{0,0},{1,2}}} | |
+ {11,12,23} | | | {{"elt1","elt2"}}
+ | | {"foo","bar"} |
+(3 rows)
+
+-- returns three different results--
+SELECT array_dims(arrtest.b) AS x;
+ x
+-----------------
+ [1:1][1:2][1:2]
+ [1:2][1:2]
+ [1:2]
(3 rows)
-QUERY: SELECT *
+-- returns nothing
+SELECT *
FROM arrtest
- WHERE arrtest.a[1] < 5 and
- arrtest.c = '{"foobar"}'::_name;
-a|b|c|d|e|f|g
--+-+-+-+-+-+-
+ WHERE a[1] < 5 and
+ c = '{"foobar"}'::_name;
+ a | b | c | d | e | f | g
+---+---+---+---+---+---+---
(0 rows)
-QUERY: SELECT arrtest.a[1:3],
- arrtest.b[1:1][1:2][1:2],
- arrtest.c[1:2],
- arrtest.d[1:1][1:2]
+UPDATE arrtest
+ SET a[1:2] = '{16,25}',
+ b[1:1][1:1][1:2] = '{113, 117}',
+ c[1:1] = '{"new_word"}';
+SELECT a[1:3],
+ b[1:1][1:2][1:2],
+ c[1:2],
+ d[1:1][2:2]
FROM arrtest;
-a |b |c |d
-----------+---------------+-------------+-----------------
-{1,2,3} |{{{0,0},{1,2}}}| |
-{11,12,23}| | |{{"elt1","elt2"}}
- | |{"foo","bar"}|
+ a | b | c | d
+------------+---------------------+--------------------+------------
+ {16,25,3} | {{{113,117},{1,2}}} | |
+ {16,25,23} | | | {{"elt2"}}
+ | | {"new_word","bar"} |
(3 rows)
arrtest.d[1][1],
arrtest.e[0]
FROM arrtest;
--- ??? what about
--- SELECT a[1], b[1][1][1], c[1], d[1][1], e[0]
--- FROM arrtest;
-
-SELECT arrtest.a[1:3],
- arrtest.b[1:1][1:2][1:2],
- arrtest.c[1:2],
- arrtest.d[1:1][1:2]
+
+SELECT a[1], b[1][1][1], c[1], d[1][1], e[0]
+ FROM arrtest;
+
+SELECT a[1:3],
+ b[1:1][1:2][1:2],
+ c[1:2],
+ d[1:1][1:2]
FROM arrtest;
-- returns three different results--
-- returns nothing
SELECT *
FROM arrtest
- WHERE arrtest.a[1] < 5 and
- arrtest.c = '{"foobar"}'::_name;
-
--- updating array subranges seems to be broken
---
--- UPDATE arrtest
--- SET a[1:2] = '{16,25}',
--- b[1:1][1:1][1:2] = '{113, 117}',
--- c[1:1] = '{"new_word"}';
-
-SELECT arrtest.a[1:3],
- arrtest.b[1:1][1:2][1:2],
- arrtest.c[1:2],
- arrtest.d[1:1][1:2]
+ WHERE a[1] < 5 and
+ c = '{"foobar"}'::_name;
+
+UPDATE arrtest
+ SET a[1:2] = '{16,25}',
+ b[1:1][1:1][1:2] = '{113, 117}',
+ c[1:1] = '{"new_word"}';
+
+SELECT a[1:3],
+ b[1:1][1:2][1:2],
+ c[1:2],
+ d[1:1][2:2]
FROM arrtest;