mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-22 06:09:14 +02:00
Implements support for MySQL Transactions. Mantis #19137. Patch by Ludo Brands.
git-svn-id: trunk@22598 -
This commit is contained in:
parent
6eade12d3f
commit
d0fbfe4525
@ -1111,27 +1111,51 @@ end;
|
||||
|
||||
function TConnectionName.Commit(trans: TSQLHandle): boolean;
|
||||
begin
|
||||
// Do nothing.
|
||||
//mysql_commit(FMySQL);
|
||||
Result := mysql_query(FMySQL, 'COMMIT') = 0;
|
||||
if not Result then
|
||||
MySQLError(FMySQL, SErrExecuting, Self);
|
||||
end;
|
||||
|
||||
function TConnectionName.RollBack(trans: TSQLHandle): boolean;
|
||||
begin
|
||||
// Do nothing
|
||||
//mysql_rollback(FMySQL);
|
||||
Result := mysql_query(FMySQL, 'ROLLBACK') = 0;
|
||||
if not Result then
|
||||
MySQLError(FMySQL, SErrExecuting, Self);
|
||||
end;
|
||||
|
||||
function TConnectionName.StartdbTransaction(trans: TSQLHandle; AParams : string): boolean;
|
||||
begin
|
||||
// Do nothing
|
||||
Result := mysql_query(FMySQL, 'START TRANSACTION') = 0;
|
||||
if not Result then
|
||||
MySQLError(FMySQL, SErrExecuting, Self);
|
||||
end;
|
||||
|
||||
procedure TConnectionName.CommitRetaining(trans: TSQLHandle);
|
||||
begin
|
||||
// Do nothing
|
||||
{$IFDEF MYSQL50_UP}
|
||||
if mysql_query(FMySQL, 'COMMIT AND CHAIN') <> 0 then
|
||||
MySQLError(FMySQL, SErrExecuting, Self);
|
||||
{$ELSE}
|
||||
if mysql_query(FMySQL, 'COMMIT') <> 0 then
|
||||
MySQLError(FMySQL, SErrExecuting, Self);
|
||||
if mysql_query(FMySQL, 'START TRANSACTION') <> 0 then
|
||||
MySQLError(FMySQL, SErrExecuting, Self);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure TConnectionName.RollBackRetaining(trans: TSQLHandle);
|
||||
begin
|
||||
// Do nothing
|
||||
{$IFDEF MYSQL50_UP}
|
||||
if mysql_query(FMySQL, 'ROLLBACK AND CHAIN') <> 0 then
|
||||
MySQLError(FMySQL, SErrExecuting, Self);
|
||||
{$ELSE}
|
||||
if mysql_query(FMySQL, 'ROLLBACK') <> 0 then
|
||||
MySQLError(FMySQL, SErrExecuting, Self);
|
||||
if mysql_query(FMySQL, 'START TRANSACTION') <> 0 then
|
||||
MySQLError(FMySQL, SErrExecuting, Self);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
function TConnectionName.GetSchemaInfoSQL(SchemaType: TSchemaType;
|
||||
|
Loading…
Reference in New Issue
Block a user