2007/10/17, Tom Lane <[EMAIL PROTECTED]>: > "Pavel Stehule" <[EMAIL PROTECTED]> writes: > >> Surely this shouldn't be creating its own tsvector datatype? > > > I would to use only pg_catalog.tsvector. But dump contains CREATE TYPE > > statement, and custom functions which prefere it, because path is: > > public, pg_catalog :(. I didn't find any other solution with full > > compatibility. > > I think we are really going to have to tell people to use the removets2 > script on their dumps in any case. I can't imagine that it'll be a good > idea to have a bogus tsvector type in the system -- it'll mess things > up going forward. I think probably the sort of solution you should be > after is > 1. load the compatibility module; > 2. load dump that's been stripped of old tsearch2 stuff; > 3. don't have to change anything else. >
I agree. @1 99% is done I have question. Have I call directfunctioncallx interface for envelop fce? If I don't modify any param from fce_info I can call directly wrapped function: I used #define ENVELOPE_FCE1(name,dest) \ Datum name (PG_FUNCTION_ARGS); \ PG_FUNCTION_INFO_V1(name); \ Datum \ name (PG_FUNCTION_ARGS) \ { \ Datum arg0 = PG_GETARG_DATUM(0); \ return DirectFunctionCall1(dest, arg0); \ } but I would #define ENVELOPE_FCE(name,dest) \ Datum name (PG_FUNCTION_ARGS); \ PG_FUNCTION_INFO_V1(name); \ Datum \ name (PG_FUNCTION_ARGS) \ { \ return (dest)(fceinfo); \ } is it correct? or is better simple modify pg_proc? There is maybe 10-15 fce where is necessary do something Pavel ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly