Subject RE: [Firebird-Architect] Re: RFC: Please unify stored procedure execution
Author Samofatov, Nickolay
Roman,

> > Firebird ODBC driver makes the decision based on presence
> of blr_send
> > verb (correspoding to SUSPEND statement) in stored procedure BLR.
> > To avoid parsing BLR directly it invokes pretty printer
> BLOB filter on
> > SP BLR and looks for 'blr_receive' as unquoted word.
> > This makes everybody using CALL syntax happy.
> >
> > And with some caching you'll need not to invoke pretty printer too
> > often. :-)
>
> :)) Ok, this is a solution too. Most likely I will not wait
> for a flag in system table, but try the solution you suggest.
>
> Though I still do not understand the reason why EXECUTE
> PROCEDURE should work only for SPs that do not contain
> SUSPEND in their bodies, and for others one has to use SELECT
> * FROM syntax. And I still believe the we would win more
> customers by removing such quirks from Firebird.

I agree. It would be nice to have procedure type flag computed by the
engine based on presence of SUSPEND statement in there.
If EXECUTE PROCEDURE is called on "selectable" SP it may return
resultset.

Actually, people explained these solutions before me, but I'm still
catching up after 2 weeks outage.
Have 400+ more messages to view. :-)

> Roman

Nickolay