|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Andrey N. Oktyabrski 2:5020/400 02 Apr 2001 17:43:08 To : All Subject : Postgres & CREATE TYPE -------------------------------------------------------------------------------- Добрый день. Может, кто уже делал свои типы данных для Постгреса - поделитесь опытом. Пытаюсь сделать что-то типа Паскалевского "String", но не с символами, а с элементами типа int4. Описываю структуру: typedef struct { int32 count; int32 elem[1]; } set_int4; Пишу функции set_int4* set_int4_in(char*) char* set_int4_out(set_int4*) Если все это добро компилирую в исполняемый файл (только вместо palloc ставлю malloc) с функцией int main () { printf(set_int4_out(set_int4_in("(1,2,3,4)"))); return 0; } - работает. Пробую запихать все это в Постгрес create function set_int4_in(opaque) returns opaque as ... create function set_int4_out(opaque) returns opaque as ... create type set_int4 ( internallength = variable, externallength = variable, input = set_int4_in, output = set_int4_out ); create table qq ( ww set_int4 ); После этого SELECT/INSERT отрабатывают без ошибок, но в таблице какая-то ерунда - количество элементов правильное, а сами они выглядят довольно странно - нечетные записи (1,3,5...) одинаковые, аналогично нечетные. Может, кто уже что-то подобное делал? Подскажете? --- ifmail v.2.15dev5 * Origin: Technology Communication Centre, Sochi, Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/3606e6a0d223.html, оценка из 5, голосов 10
|