fcl-db: oracle: fix transaction parameters handling (only one of OCI_TRANS_READONLY, OCI_TRANS_READWRITE, OCI_TRANS_SERIALIZABLE should be used). Bug #28043

git-svn-id: trunk@30815 -
This commit is contained in:
lacak 2015-05-07 05:44:22 +00:00
parent 31c1581b9f
commit b83ff7dd27

View File

@ -772,22 +772,22 @@ var
s : string;
locTrans : TOracleTrans;
begin
flags := OCI_TRANS_NEW or OCI_TRANS_READWRITE;
flags := OCI_TRANS_READWRITE;
if AParams <> '' then begin
i := 1;
s := ExtractSubStr(AParams,i,StdWordDelims);
while ( s <> '' ) do begin
if ( s = 'readonly' ) then
flags := flags and OCI_TRANS_READONLY
flags := OCI_TRANS_READONLY
else if ( s = 'serializable' ) then
flags := flags and OCI_TRANS_SERIALIZABLE
flags := OCI_TRANS_SERIALIZABLE
else if ( s = 'readwrite' ) then
flags := flags and OCI_TRANS_READWRITE;
flags := OCI_TRANS_READWRITE;
s := ExtractSubStr(AParams,i,StdWordDelims);
end;
end;
locTrans := TOracleTrans(trans);
locTrans.FOciFlags := flags;
locTrans.FOciFlags := flags or OCI_TRANS_NEW;
InternalStartDBTransaction(locTrans);
Result := True;
end;