Subject RE: [IB-Architect] Select procedures
Author Phil Shrimpton
> From: Greg Deatz [mailto:gdeatz@...]

Hi,

> You can't necessarily count on the SQL source to have anything....
>
> but could you look at the BLR of the stored proc, to determine if it has a
> suspend in it? if so, then "select", if not, then "execute"?

This is not necessarily so. In a number of recent threads on other
'support' newsgroups/mailing lists, there have been a number of people
having problems getting return values from 'Execute' SP. The 'fix' has been
to put a SUSPEND in the SP, and it is something that I have been doing for a
number of years. I am not sure if this is a 'bug' with IB, or a
documentation error, but it works and does not seam to cause any problems.
But it means that you can't really count the 'SUSPEND's' to determine what
sort of procedure it is.

Surely if you just call 'SELECT a,b,c from MyProcedure(x,y,z)'

- a 'Select' SP will give you a result set
- an 'execute' SP with Suspend will return a 'row'
- an 'execute' SP without Suspend will return nothing
- an 'execute' SP without return params will return nothing

Another thought, is look in RDB$PROCEDURES_PARAMETERS, I think that has flag
to indicate return params.

Cheers

Phil Shrimpton
------------------------------
Project JEDI DCOM Team Captain
Project JEDI Library Team
<www.delphi-jedi.org>
Registered Linux User #155621