Subject Re: [firebird-support] Explicit Transaction + Suspend
Author Ann Harrison
> On Nov 24, 2016, at 2:59 PM, fabianch@... [firebird-support] <firebird-support@yahoogroups.com> wrote:
>
> Just wondering can my app start a transaction with Begin Transaction and
> then call a stored procedure that contains the SUSPEND sentence at the end
> while the transaction is still opened?

Yes a transaction can include invoking a procedure that includes SUSPEND.

> Is there any special consideration
> when comencing a transaction other than to ensure the process finished as
> soon as posible with a commit or rollback, and no human intervention is
> needed in between Begin Transaction and Commit , such as messages on screen
> or buttons needed to be pressed, etc?

In general, transactions should be kept short, but your definition is limiting. A transaction is a single logical unit of work that should be executed in a consistent setting. If that involves human interaction, fine, as long as you have some mechanism to limit the response time. You don't want to hold a transaction open for hours - and in some applications even for minutes - but sometimes branching and human interaction are important. Firebird's MVCC was designed to provide consistent results while allowing interaction - as opposed to a lock-based serializable consistency that generates read/write deadlocks.

Good luck,

Ann
>
>
>
> ------------------------------------
>
> ------------------------------------
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> Visit http://www.firebirdsql.org and click the Documentation item
> on the main (top) menu. Try FAQ and other links from the left-side menu there.
>
> Also search the knowledgebases at http://www.ibphoenix.com/resources/documents/
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ------------------------------------
>
> Yahoo Groups Links
>
>
>