|
@@ -767,30 +767,27 @@ end;
|
|
|
|
|
|
function TOracleConnection.StartDBTransaction(trans: TSQLHandle; AParams: string): boolean;
|
|
function TOracleConnection.StartDBTransaction(trans: TSQLHandle; AParams: string): boolean;
|
|
var
|
|
var
|
|
- x_flags : ub4;
|
|
|
|
|
|
+ flags : ub4;
|
|
i : Integer;
|
|
i : Integer;
|
|
s : string;
|
|
s : string;
|
|
locTrans : TOracleTrans;
|
|
locTrans : TOracleTrans;
|
|
begin
|
|
begin
|
|
- locTrans := TOracleTrans(trans);
|
|
|
|
- if ( Length(AParams) = 0 ) then begin
|
|
|
|
- x_flags := OCI_TRANS_NEW or OCI_TRANS_READWRITE;
|
|
|
|
- end else begin
|
|
|
|
- x_flags := OCI_DEFAULT;
|
|
|
|
|
|
+ flags := OCI_TRANS_NEW or OCI_TRANS_READWRITE;
|
|
|
|
+ if AParams <> '' then begin
|
|
i := 1;
|
|
i := 1;
|
|
s := ExtractSubStr(AParams,i,StdWordDelims);
|
|
s := ExtractSubStr(AParams,i,StdWordDelims);
|
|
while ( s <> '' ) do begin
|
|
while ( s <> '' ) do begin
|
|
if ( s = 'readonly' ) then
|
|
if ( s = 'readonly' ) then
|
|
- x_flags := x_flags and OCI_TRANS_READONLY
|
|
|
|
|
|
+ flags := flags and OCI_TRANS_READONLY
|
|
else if ( s = 'serializable' ) then
|
|
else if ( s = 'serializable' ) then
|
|
- x_flags := x_flags and OCI_TRANS_SERIALIZABLE
|
|
|
|
|
|
+ flags := flags and OCI_TRANS_SERIALIZABLE
|
|
else if ( s = 'readwrite' ) then
|
|
else if ( s = 'readwrite' ) then
|
|
- x_flags := x_flags and OCI_TRANS_READWRITE;
|
|
|
|
|
|
+ flags := flags and OCI_TRANS_READWRITE;
|
|
s := ExtractSubStr(AParams,i,StdWordDelims);
|
|
s := ExtractSubStr(AParams,i,StdWordDelims);
|
|
end;
|
|
end;
|
|
- x_flags := x_flags and OCI_TRANS_NEW;
|
|
|
|
end;
|
|
end;
|
|
- locTrans.FOciFlags := x_flags;
|
|
|
|
|
|
+ locTrans := TOracleTrans(trans);
|
|
|
|
+ locTrans.FOciFlags := flags;
|
|
InternalStartDBTransaction(locTrans);
|
|
InternalStartDBTransaction(locTrans);
|
|
Result := True;
|
|
Result := True;
|
|
end;
|
|
end;
|