Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
>
>> Alvaro Herrera wrote:
>>
>>> AFAIK that's an "autonomous transaction", at least to some other RDBMSs.
>>>
>
>
>> Right, but since I had to ask what that was recently I though I'd use a
>> bit more description :-)
>>
>
> Yes, but some other followups suggest that maybe a "named transaction"
> does something else entirely. Thus my request for a definition of what
> the OP is actually asking for.
>
According to the (hard to find) Firebird docs (or rather, the old
Interbase docs, which is all they have):
A single application can start simultaneous transactions. InterBase extends transaction management and data
manipulationstatements to support transaction names, unique identifiers that specify which transaction controls a
given statement among those transactions that are active.
Transaction names must be used to distinguish one transaction from another in programs that use two or more
transactionsat a time. Each transaction started while other transactions are active requires a unique name and its
ownSET TRANSACTION statement. SET TRANSACTION can include optional parameters that modify a transaction’s
behavior.
There are four steps for using transaction names in a program: 1. Declare a unique host-language variable for each
transaction name. In C and C++, transaction names should be declared as long pointers. 2. Initialize each
transactionname to zero. 3. Use SET TRANSACTION to start each transaction using an available transaction name.
4.Include the transaction name in subsequent transaction management and data manipulation statements that should be
controlledby a specified transaction.
cheers
andrew