|
|
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
|