Hi,
should not in example below array_remove return same results?

test1=# create temp table tmptest (trid text[]);
CREATE TABLE
test1=# insert into tmptest values(null::text[]);
INSERT 0 1

test1=# update tmptest set trid[2:4]='{b,NULL,d}';
UPDATE 1
test1=# select trid,array_remove(trid,
NULL::text),array_lower(array_remove(trid, NULL::text),
1),array_upper(array_remove(trid, NULL::text), 1)  from tmptest;
       trid       | array_remove | array_lower | array_upper
------------------+--------------+-------------+-------------
 [2:4]={b,NULL,d} | [2:3]={b,d}  |           2 |           3
(1 row)

test1=# update tmptest set trid='{NULL,b,NULL,d}';
UPDATE 1
test1=# select trid,array_remove(trid,
NULL::text),array_lower(array_remove(trid, NULL::text),
1),array_upper(array_remove(trid, NULL::text), 1) from tmptest;
      trid       | array_remove | array_lower | array_upper
-----------------+--------------+-------------+-------------
 {NULL,b,NULL,d} | {b,d}        |           1 |           2
(1 row)

I expected that in both results values will start from index 1.

Regards,
Matija Lesar

Reply via email to