Browse Source

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 -
lacak 10 years ago
parent
commit
b83ff7dd27
1 changed files with 5 additions and 5 deletions
  1. 5 5
      packages/fcl-db/src/sqldb/oracle/oracleconnection.pp

+ 5 - 5
packages/fcl-db/src/sqldb/oracle/oracleconnection.pp

@@ -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;