On Mon, Nov 23, 2009 at 09:58:21AM +0200, Jason Armstrong wrote: > How can I return a bigint value from a C extension function? > > I have a table with a bytea column: > > CREATE TABLE mydata(data bytea); > > I would like to select and index based on a subset of the data: > > CREATE FUNCTION get_key(bytea) returns BIGINT AS '/lib/data.so' > LANGUAGE C IMMUTABLE; > CREATE INDEX mydata_key_idx on mydata(get_key(data)); For a bigint you need to use the right return type: PG_RETURN_INT64() > (And, as a side note, is the above code the correct way to use bytea > data from C?) Looks ok. Have a nice day, -- Martijn van Oosterhout <kleptog@xxxxxxxxx> http://svana.org/kleptog/ > Please line up in a tree and maintain the heap invariant while > boarding. Thank you for flying nlogn airlines.
Attachment:
signature.asc
Description: Digital signature