PostgreSQL arrays and DBD

"Александр Чешев" <[email protected]>
Newsgroups gmane.comp.db.postgresql.interfaces
Message-ID <[email protected]>
Hello.

I create a table:

CREATE TABLE groups (
  group_id serial PRIMARY KEY,
  name varchar(64) UNIQUE NOT NULL,
  guests integer[] DEFAULT '{}'
)

I add a new record to the table:

INSERT INTO groups (name) VALUES ('My friends');

Now the table contains 1 record:

| group_id |    name    | guests
+----------+------------+--------
|        1 | My friends | {}

I read the new record from the table using DBI:

my $sth = $dbh->prepare(qq/SELECT * FROM groups/);
$sth->execute();
my (@guests, $group);
push(@guests, $group) while $group = $sth->fetchrow_hashref(); # Line 4
print $guests[0]->{guests}->[0]; # Why ({group_id=>1, name=>'My friends', *
guests=>[0]*}) ?

Output of the script:

Argument "" isn't numeric in null operation at ./guestmanager.pl line 4
*0*

DBD should return a reference to an empty array. But DBD returned the
reference to the array containing 1 element (0). How can I have a different
result:

({group_id=>1, name=>'My friends', *guests=>[]*})

PS
Version of DBD::Pg is 2.9.0 .
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.