From: | Sathish Vadhiyar <vss(at)cs(dot)utk(dot)edu> |
---|---|
To: | <pgsql-general(at)postgresql(dot)org> |
Subject: | user defined data types - help |
Date: | 2002-09-13 15:39:23 |
Message-ID: | Pine.GSO.4.33.0209131123430.29371-100000@bluegrass.cs.utk.edu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi.
I have a struct in C in my application program.
typedef struct{
int count;
char** machine_names;
double* bandwidth;
} MACHINEINFO;
'count' is the number of machines. machine_names[i] gives the machine name
of machine i. 'bandwidth' is a matrix that stores bandwidth information
between the machines. So bandwidth[i*count+j] gives the bandwidth between
machines i and j.
Iam trying to define a corresponding structure and define the type to
store in a postgresql datat base using 'CREATE TYPE'.
I don't want to have a structure like
typedef struct{
int32 size; /* for variable length */
int4 count;
char data[1];
} PSQLSTRUCT;
and have both the machine_names and bandwidth encoded into string stored
in 'data'.
What I would like instead is something like a 'polygon' type where I would
have.
typedef struct{
char machine_name[100]; /* Ideally, I don't want to fix the size of a
single machine as 100. But I will compromise
for the moment */
float8 bandwidth; /* ???? */
} SINGLEMACHINE
typedef struct{
int32 size;
int4 count;
SINGLEMACHINE sm[1]; /* variable number of machines */
} PSQLSTRUCT;
This is similar to the POLYGON built in type where the structure polygon
consists of variable number of POINT structures.
But here is the tricky issue. Unlike the POINT structure that contains
fileds of fixed lengths, my SINGLEMACHINE structure consists of variable
length field in 'bandwidth'.
Any ideas regarding how to do this?
Thanks.
---------------------------------------------------------------------
Sathish S. Vadhiyar
PhD Candidate Research Assistant, Innovative Computing Laboratory
Computer Science Department
University of Tennessee
Knoxville
Ph: (865)946-4558 (H) , (865)974-6323 (O).
From | Date | Subject | |
---|---|---|---|
Next Message | Darren Ferguson | 2002-09-13 15:47:59 | Re: Data type Numeric |
Previous Message | Jan Wieck | 2002-09-13 15:19:11 | Re: [SQL] Latitude / Longitude |