Hello,
I have a question on array usage. I created an array with the following
commands:
CREATE TABLE file (
path varchar(255);
description varchar(255);
);
CREATE TYPE file_array (
INPUT = array_in,
OUTPUT = array_out
INTERNALLENGTH = VARIABLE,
ELEMENT = file
);
CREATE TABLE media (
media_type char,
media_list file_array
);
First of all, is the above legal and if not, is there a way to do it?
Is this an array of composite types or is that something else?
When I attempt to insert values into the array with the following command,
INSERT INTO media (media_type,media_list)
VALUES ('C', '{""/usr/doc/list1","This is the description"",
""/usr/doc/list2","Another description""}');
the INSERT succeeds, but a subsequent select reveals the following:
SELECT * FROM media;
media_type|media_list
----------+----------
C |{0,0}
(1 row)
Is this a problem with levels of indirection in that I am looking at a
pointer or something? Have I completed the insert incorrectly or is the
parser unable to
handle this?
I would be happy to document this for everyone once I understand it.
Jason Kania
chaoticinc@cyberus.ca