user defined data types - help

Поиск
Список
Период
Сортировка
От Sathish Vadhiyar
Тема user defined data types - help
Дата
Msg-id Pine.GSO.4.33.0209131123430.29371-100000@bluegrass.cs.utk.edu
обсуждение исходный текст
Ответы Re: user defined data types - help  (Martijn van Oosterhout <kleptog@svana.org>)
Список 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).


В списке pgsql-general по дате отправления:

Предыдущее
От: Jan Wieck
Дата:
Сообщение: Re: [SQL] Latitude / Longitude
Следующее
От: Darren Ferguson
Дата:
Сообщение: Re: Data type Numeric