How to insert values with a new type ?
От | Ines.Klimann@liafa.jussieu.fr |
---|---|
Тема | How to insert values with a new type ? |
Дата | |
Msg-id | 20010219152037.A12963@liafa0.liafa.jussieu.fr обсуждение исходный текст |
Ответы |
Re: How to insert values with a new type ?
|
Список | pgsql-sql |
Hi, I have the following program : #include <stdio.h> typedef struct complexe { float x; float y; } complexe; complexe * complex_in(float x, float y) { complexe *result; result = (complexe *)palloc(sizeof(complexe)); result->x = x; result->y = y; return (result); } char * complex_out(complexe *complex) { char *result; if (complex == NULL) return(NULL); result = (char *) palloc(60); sprintf(result, "(%f,%f)", complex->x, complex->y); return(result); } (I took this from someone else...) Now, I do these SQL commands : CREATE FUNCTION complex_in(opaque) RETURNS complex AS '/ens/klimann/PostgreSQL/complexe.o' LANGUAGE 'c'; CREATE FUNCTION complex_out(opaque) RETURNS opaque AS '/ens/klimann/PostgreSQL/complexe.o' LANGUAGE 'c'; CREATE TYPE complex ( internallength = 16, input = complex_in, output = complex_out ); CREATE TABLE nombres ( val COMPLEX ); And I want to insert values in the table nombres. I have tried this : INSERT INTO nombres VALUES (complex_in(1.0, 4.0)); and this : INSERT INTO nombres VALUES (1.0, 4.0); and also this : INSERT INTO nombres VALUES ('1.0, 4.0'); and several other possibilities, but none seems to be right. Has someone an idea ? Thanks, Ines.
В списке pgsql-sql по дате отправления: