Subject Re: [Firebird-Architect] RFC: Please unify stored procedure
Author Geoff Worboys
> A modest proposal: We add a new field RDB$PROCEDURE_TYPE.
> A type 0 procedure is unknown (for backwards compatibility).
> A type 1 procedure is a pseudo-table. A type 3 procedure is
> one that return discrete values rather than a record set.
> The procedure compiler sets RDB$PROCEDURE_TYPE to 1 if it
> sees a suspect, otherwise it sets it to 2.

> If someone wants to get cute and put a suspend where it
> doesn't belong, he will get something unpredictable, which
> is only justice.

I like this. It is a solution that describes what Firebird
is actually presenting, allowing interfaces to determine
what type of call should be made against the procedure.

No change in behaviour, just reliable information about what
that behaviour is going to be.


Personnally I would also like an exception to be thrown when
a procedure is called with an incompatible method. This way,
as a developer, I get told when I've stuffed up. Possibly
this is undesireable for backwards compatibility reasons.

--
Geoff Worboys
Telesis Computing