Re: Polymorphic?
От | Itai Zukerman |
---|---|
Тема | Re: Polymorphic? |
Дата | |
Msg-id | 878yw31zg5.fsf@matt.w80.math-hat.com обсуждение исходный текст |
Ответ на | Re: Polymorphic? (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-sql |
>> 1. Extract information about the underlying type from the arrays, in >> particular the size of the type? >> 2. Apply an operator from within C? > > contrib/array might be a useful example of array manipulation. As for > the other stuff, do you actually want to invoke those operators > specifically, or are you looking for sorting? In any case you might > prefer to use any_ordering_op, SelectSortFunction and ApplySortFunction > rather than nailing down your own assumptions about what to compare > with. I think ApplySortFunction is exactly what I wanted. I'm not sure when I'm going to get to it, but what I'd like to do is: given an existing order relation on a type, extend it to an order on arrays of that type. I've done it for INT4[], and it looks like the general case is possible, just a question of figuring out which pegs go in which slots. So far PostgreSQL's been a pleasure to work with; kudos! CREATE FUNCTION arr_int4_lt(int4[], int4[]) RETURNS boolean AS 'arr_ops', 'generic_lt' LANGUAGE 'C' STRICT; CREATE FUNCTION arr_foo_lt(foo, foo) RETURNS boolean AS 'arr_ops', 'generic_lt' LANGUAGE 'C' STRICT; etc. -- Itai Zukerman <http://www.math-hat.com/~zukerman/>
В списке pgsql-sql по дате отправления: