Arrays of composites, bug or usage?

Started by Chaotic Inceptionsover 26 years ago1 messagesbugs
Jump to latest
#1Chaotic Inceptions
chaoticinc@cyberus.ca

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