1997-04-27 20:13:54 +02:00
|
|
|
--
|
|
|
|
-- ARRAYS
|
|
|
|
--
|
2000-01-05 18:32:29 +01:00
|
|
|
|
1997-04-27 20:13:54 +02:00
|
|
|
SELECT * FROM arrtest;
|
|
|
|
|
|
|
|
SELECT arrtest.a[1],
|
|
|
|
arrtest.b[1][1][1],
|
|
|
|
arrtest.c[1],
|
|
|
|
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]
|
|
|
|
FROM arrtest;
|
|
|
|
|
|
|
|
-- returns three different results--
|
|
|
|
SELECT array_dims(arrtest.b) AS x;
|
|
|
|
|
|
|
|
-- returns nothing
|
|
|
|
SELECT *
|
|
|
|
FROM arrtest
|
|
|
|
WHERE arrtest.a[1] < 5 and
|
1998-04-26 06:12:15 +02:00
|
|
|
arrtest.c = '{"foobar"}'::_name;
|
1997-04-27 20:13:54 +02:00
|
|
|
|
|
|
|
-- 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]
|
|
|
|
FROM arrtest;
|