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.