Subject RE: [IBO] TIBOTransaction
Author Jason Wharton
Rob,

It is very clearly documented that IBO distinguishes between three
transaction aspects, each having their own methods and status indicators.

Implicit: StartTransaction, InTransaction
Logical: Activate, TransactionStatus
Physical: Start, Started

You are mixing the implicit transaction mechanisms with the physical
transaction mechanisms. Each of these three aspects of transaction do
overlap some, but each have their own distinct and specific roles and
behaviors.

Some of these, like Activate and Start, you don't ever have to call, unless
for some reason you need or want to. Activate tells IBO that there is an
update of some kind to the data that needs to be committed. Normally this
happens whenever you post a dataset insert, update or delete. It will also
happen after execution of a statement of stDML or stDDL statement type.
Start simply makes sure there is a physical handle present on the client,
which means there is a physical transaction in progress on the server.
Calling StartTransaction doesn't immediately ensure that a physical
transaction is present, though I believe there is a good argument in favor
having it do so. The reason I don't currently have it do so is because IBO
makes it 100% automatic to start a physical transaction whenever necessary.

You would do well to read very carefully in the help file where this is all
explained in much more detail.

Regards,
Jason Wharton


-----Original Message-----
From: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com]On Behalf
Of Robert martin
Sent: Thursday, November 02, 2006 5:47 PM
To: IBObjects@yahoogroups.com
Subject: [IBO] TIBOTransaction


Hi

I am seeing problems in an application where
IBOTransaction.StartTransaction does not start a transaction. If I
check immediately after this call IBOTransaction.Started = false. If I
replace IBOTransaction.StartTransaction with IBOTransaction.Started =
true then the transaction does start. The IBOTransaction is NOT the
interal transaction. I have tried tracing through the source but just
cant see it.

Any suggestions would be greatly appreciated :)

--
Rob Martin
Software Engineer

phone +64 03 377 0495
fax +64 03 377 0496
web www.chreos.com

Wild Software Ltd