Jeff Amiel <jamiel@istreamimaging.com> writes:
> CREATE OR REPLACE FUNCTION public.insert_draft(int4, numeric)
> RETURNS draft AS
> 'DECLARE
> passed_customer ALIAS for $1;
> passed_amount ALIAS for $2;
> draftid int8;
> draftrow draft%rowtype;
> BEGIN
> insert into draft( amount, customer) values (passed_amount,
> passed_customer);
> select into draftid currval(\'public.draft_check_id_seq\');
> select into draftrow * from draft where check_id=int8(draftid);
> return draftrow;
> END;'
> LANGUAGE 'plpgsql' VOLATILE;
Hmm. I put this function into 7.4.5, minus the explicit cast to int8,
and it worked just fine (I used a debugger to verify directly that the
last SELECT was producing an indexscan plan). I don't see anything in
the CVS logs to suggest that there was a related bug fix between 7.4.2
and 7.4.5. So I'm baffled why it didn't work for you. Ideas anyone?
regards, tom lane