Subject Re: [IBO] Passive mode
Author Helen Borrie
At 08:40 PM 10/03/2005 +0000, Antonio Carlos Ribeiro wrote:

>Someone could tell me what's the meaning of "Executing already or not
>in Passive mode".
>
>This error occurs only when I execute a TIB_Script connected to a
>FirebirdSQL using a WAN (768k down/256k up dsl line) connection.

It means that the ib_script is currently executing and is waiting for the
client to tell it that it has finished executing.


>I primarily use IBO* components that are doing fine...
>
>My english isn't exactly good, but does it need to be in "Passive
>mode" **or not**?

Passive mode is available to TIB_Process classes (of which TIB_Script is
one). When set True, it allows the process to be set up so that it can
continue to retry executing, e.g. in idle CPU time, without stalling the
application.


>And what's a "Passive mode" exactly? I use PASSV in ftp connections,
>but never saw it in databases.

It's not a database attribute, but a process attribute.

A TIB_Script has this property set to False. I think it needs to be left
in this state; otherwise (as far as I can tell) you would never know
whether the script's execution completed or not. What you really want is
for the application to be in control of the statement-by-statement
execution of the script - trap exceptions, handle time-outs, and so on, and
finally confirm that execution completed successfully.

I haven't had the experience of executing a script across a slow
connection, to know how to deal with disconnection, time-outs or dirty
packets, though I suspect that this could be the source of the problem. Or
perhaps your application is simply attempting to re-execute the script
while the process is still active...

Don't take this as a final answer: hopefully Jason will spot it and throw
more light on it.

Helen