Question and Answer Database FAQ: FAQ4557B — New Interbase SQL Links support in BDE 5.01 (SQLINT32.DLL v5.01.24) Category: Database (InterBase) Platform: All-32Bit Product: All-CBuilder, BC++5.x, C++Builder1.0, C++Builder3.x, C++Builder4.x, Delphi2.x, Delphi3.x, Delphi4.x, VdBase7.x, Question: Does the Interbase SQL Links driver support Roles and additional transaction behavior? Answer: Please see the BDEREADME.TXT for additional information regarding BDE and SQL Links v5.01. Please note that the new BDE ALIAS configuration parameters (COMMIT RETAIN, ROLE NAME, WAIT ON LOCKS) will show up only in newly created ALIASES. InterBase Changes ----------------- Transaction Isolation Levels & InterBase ---------------------------------------- By adding 4096 to the setting of DRIVER FLAGS in the Borland Database Engine (BDE) configuration, you can specify that the InterBase SQL Links driver should use soft commits. Soft commits are a feature of InterBase that let the driver retain the cursor when committing changes. Soft commits improve performance on updates to large sets of data. When not used, the BDE must re-fetch all the records, even for a single record change. With soft commit the cursor is retained, and a re-fetch is not needed. Soft commits are never used in explicit transactions started by BDE client applications. The soft commit property corresponds to the COMMIT RETAINING transaction option in the InterBase documentation. DRIVER FLAGS Isolation level Commit type ------------ --------------- ------------ 0 Read committed hard commit 512 Repeatable read hard commit 4096 Read committed soft commit 4608 Repeatable read soft commit The 4096 driver flag bit only affects implicit transaction behavior. Use the COMMIT RETAINING property to control the default commit behavior of explicit transactions. Roles ----- InterBase allows users to log in by specifying a role. ROLE NAME is a new BDE configuration parameter that allows BDE clients to pass a role name. ROLE NAME can also be passed as an optional parameter when using a TDatabase component (Delphi and C++Builder). This information supersedes that in the InterBase 5.5 Operations Guide, which indicates that the BDE has no property for specifying a role name. Transaction WAIT ---------------- Currently, the InterBase SQL Links driver uses NOWAIT when resolving lock conflicts and returns an error immediately if there is a resource conflict. Setting the WAIT ON LOCK configuration parameter allows SQL Links to use WAIT on InterBase transactions. This can also be done by setting the r/w database property dbWAITONLOCK to TRUE. Explicit transactions --------------------- The new BDE configuration parameter COMMIT RETAIN allows explicit transactions to use soft commit. The new database property dbCOMMITRETAIN also does this. Only explicit transactions are affected. The existing driver flags are still valid for explicit transactions. COMMIT RETAINING = TRUE calls isc_commit_retaining() COMMIT RETAINING = FALSE calls isc_commit_transaction() 7/13/99 10:21:26 AM
Last Modified: 01-SEP-99