Subject Re: [Firebird-Architect] Re: Packages
Author Adriano dos Santos Fernandes
Leyne, Sean wrote:
> Adriano,
>
>
>>> Another reason for the above design choice was the implementation of
>>> package cursors and package variables.
>>>
>> Does your implementation works different than Oracle when changing
>> packages with variables?
>>
>> I consider very bad Oracle behavior of invalidating packages of users
>> sessions causing first (or more) access to raise exception. And they
>>
> do
>
>> the same thing with Java code.
>>
>
> I'm not familiar with Oracle, so could you please elaborate on this
> problem/issue.
You have a package with variables defined. Users are using them, and
they values are maintained per session (attachment).

When one changes (DDL) that package the sessions (including the one that
is doing DDL) that have called that package have they state (variable
values) lost. When they call a routine of the changed package, Oracle
returns an error that the state has been discarded. Most of times you
can continue call it after it (with the variables values cleaned), but
there is a case (bug?) that this doesn't happen with me. I don't know if
there is a timeout or something else, after some errors on the discarded
session it continues working.

Some says that is good practice to reconnect when package state are
discarded, as it can change the application logic.


Adriano