From: | Sathish Vadhiyar <vss(at)cs(dot)utk(dot)edu> |
---|---|
To: | Martijn van Oosterhout <kleptog(at)svana(dot)org> |
Cc: | <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: user defined data types - help |
Date: | 2002-09-15 14:34:57 |
Message-ID: | Pine.GSO.4.33.0209151031180.8908-100000@bluegrass.cs.utk.edu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Because of 2 reaons:
1. My C structure consists of other such fields like 'latency' etc. Here I
have shown 'bandwidth' for the ease of explaining. Having tables for each
such field will lead to large number of tables and hence will soon get
unmanageable.
2. I have a table in which I want to have this structure as one field.
Thanks.
On Sat, 14 Sep 2002, Martijn van Oosterhout wrote:
> Why are you trying to store this all into one value? Why not just create two
> tables, one for the names of the machines and one to stores the bandwidths?
>
> On Fri, Sep 13, 2002 at 11:39:23AM -0400, Sathish Vadhiyar wrote:
> >
> > 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).
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 3: if posting/reading through Usenet, please send an appropriate
> > subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> > message can get through to the mailing list cleanly
>
> --
> Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> > There are 10 kinds of people in the world, those that can do binary
> > arithmetic and those that can't.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly
>
---------------------------------------------------------------------
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 | Tom Lane | 2002-09-15 14:50:12 | Re: bigint datatype accepting floating numbers |
Previous Message | Shridhar Daithankar | 2002-09-15 10:21:05 | Re: Physical sites handling large data |