Subject | RE: [IBO] 4.9.14b32 - Problem with executable SP and output parameters |
---|---|
Author | IBO Support List |
Post date | 2012-01-09T09:35:13Z |
Thomas,
Yes, it would. That's why I petitioned to have them add an implicit SUSPEND
when none are included and there are columns for output.
See: http://tracker.firebirdsql.org/browse/CORE-3695
With FB 2.5 you would only be able to use them with any connectivity library
if you modify it to have a call to SUSPEND in the body.
See: http://tracker.firebirdsql.org/browse/CORE-3680
Look closely at the dialog between Adriano and Vlad.
Vlad answered:
"IIRC, initial implementation was changed at v2.5 to be more consistent with
more strict rules of usage of SUSPEND in PSQL"
There appears to have been a deliberate departure from the legacy ability to
omit the SUSPEND and yet get a singleton output result.
Hope this helps clear up the murky waters.
Perhaps you will consider pushing for the implementation of my request so
that legacy applications will not be broken. I see nothing gained by forcing
people to plunk in a SUSPEND in all their singleton execute block and stored
procedure statements.
Thanks,
Jason
-----Original Message-----
From: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com] On Behalf
Of Thomas Steinmaurer
Sent: 09 January 2012 01:31 AM
To: IBObjects@yahoogroups.com
Subject: Re: [IBO] 4.9.14b32 - Problem with executable SP and output
parameters
Hello Jason,
of executable SPs, as we have been told over the last 10 years not to
use SUSPEND in executable SPs. ;-)
Back to IBO: How would you use executable SPs in Firebird 2.5 with IBO?
Thanks,
Thomas
Yes, it would. That's why I petitioned to have them add an implicit SUSPEND
when none are included and there are columns for output.
See: http://tracker.firebirdsql.org/browse/CORE-3695
With FB 2.5 you would only be able to use them with any connectivity library
if you modify it to have a call to SUSPEND in the body.
See: http://tracker.firebirdsql.org/browse/CORE-3680
Look closely at the dialog between Adriano and Vlad.
Vlad answered:
"IIRC, initial implementation was changed at v2.5 to be more consistent with
more strict rules of usage of SUSPEND in PSQL"
There appears to have been a deliberate departure from the legacy ability to
omit the SUSPEND and yet get a singleton output result.
Hope this helps clear up the murky waters.
Perhaps you will consider pushing for the implementation of my request so
that legacy applications will not be broken. I see nothing gained by forcing
people to plunk in a SUSPEND in all their singleton execute block and stored
procedure statements.
Thanks,
Jason
-----Original Message-----
From: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com] On Behalf
Of Thomas Steinmaurer
Sent: 09 January 2012 01:31 AM
To: IBObjects@yahoogroups.com
Subject: Re: [IBO] 4.9.14b32 - Problem with executable SP and output
parameters
Hello Jason,
> As I understand it, with newer versions of Firebird you can't get a recordWouldn't that break a LOT OF legacy applications in respect to the usage
> out of it without a call to SUSPEND regardless of what API call you use.
of executable SPs, as we have been told over the last 10 years not to
use SUSPEND in executable SPs. ;-)
Back to IBO: How would you use executable SPs in Firebird 2.5 with IBO?
Thanks,
Thomas
> TIB_DSQL won't do anything better than the TIB_StoredProc.Behalf
>
> Jason
>
> -----Original Message-----
> From: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com] On
> Of Thomas Steinmaurer
> Sent: 09 January 2012 01:11 AM
> To: IBObjects@yahoogroups.com
> Subject: Re: [IBO] 4.9.14b32 - Problem with executable SP and output
> parameters
>
> Hi Jason,
>
>> The reason it will have appeared to work is because there was also a time
>> when there was a bug in the API call and so in order to work around that
> bug
>> I didn't use the isc_dsql_execute2() API call. I actually used the
>> isc_dsql_execute() API call which required me to open a cursor, fetch one
>> record, and then close the cursor.
>
> Ok, then how do I execute an executable stored procedure without a
> SUSPEND in the body and returning output parameter values? Obviously I
> can't do that anymore with a TIB_StoredProc and the ExecProc call.
>
> With a TIB_DSQL?
>
> Thanks,
> Thomas
>
>> So, the waters are considerably murky.
>>
>> Jason
>>
>> -----Original Message-----
>> From: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com] On
> Behalf
>> Of Thomas Steinmaurer
>> Sent: 09 January 2012 12:48 AM
>> To: IBObjects@yahoogroups.com
>> Subject: Re: [IBO] 4.9.14b32 - Problem with executable SP and output
>> parameters
>>
>> Hello Jason,
>>
>>> The change took place in Firebird, not IBO.
>>
>> Hmm. I was trying an older IB LogManager version with Firebird 2.5 where
>> it worked. Recompiled IBLM with the most recent IBO version against
>> Firebird 2.5 shows the problem, so it isn't a pure Firebird engine
> problem.
>>
>> Regards,
>> Thomas