瀏覽代碼

* fix for mantis #18149, memoryleaks as result from change of stmtprepare to ..stmtprepare2

git-svn-id: trunk@19251 -
marco 14 年之前
父節點
當前提交
79f54fb31a
共有 1 個文件被更改,包括 3 次插入3 次删除
  1. 3 3
      packages/fcl-db/src/sqldb/oracle/oracleconnection.pp

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

@@ -1,4 +1,4 @@
-unit OracleConnection;
+unit oracleconnection;
 
 {$mode objfpc}{$H+}
 
@@ -276,7 +276,6 @@ var tel      : integer;
 begin
   with cursor as TOracleCursor do
     begin
-    OciHandleAlloc(FOciEnvironment,FOciStmt,OCI_HTYPE_STMT,0,FUserMem);
     if OCIStmtPrepare2(TOracleTrans(ATransaction.Handle).FOciSvcCtx,FOciStmt,FOciError,@buf[1],length(buf),nil,0,OCI_NTV_SYNTAX,OCI_DEFAULT) = OCI_ERROR then
       HandleError;
     if assigned(AParams) then
@@ -354,7 +353,8 @@ end;
 
 procedure TOracleConnection.UnPrepareStatement(cursor: TSQLCursor);
 begin
-  OCIHandleFree(TOracleCursor(cursor).FOciStmt,OCI_HTYPE_STMT);
+  if OCIStmtRelease(TOracleCursor(cursor).FOciStmt,FOciError,nil,0,OCI_DEFAULT)<> OCI_SUCCESS then
+    HandleError();
   cursor.FPrepared:=False;
 end;