startTransaction method
void
startTransaction(
)
override
Implementation
@override
void startTransaction() {
if (active) {
databaseError(SErrTransAlreadyActive);
}
final db = sqlConnection;
if (db == null) {
databaseError(SErrDatabasenAssigned);
}
db!.maybeConnect();
_trans ??= db.allocateTransactionHandle();
// FParams.CommaText → comma-joined (the TStrings shim has no CommaText quoting
// rule; params conventionally use name=value with no commas, so this is equivalent)
final paramsText = _params.raw.join(",");
if (_options.contains(TSQLTransactionOption.stoUseImplicit)) {
if (db.startImplicitTransaction(_trans!, paramsText)) {
openTrans();
}
} else {
if (db.startDBTransaction(_trans!, paramsText)) {
openTrans();
}
}
}