Browse Source

* Free cached queries when committing

Michaël Van Canneyt 2 years ago
parent
commit
c34eedb9cf
2 changed files with 18 additions and 0 deletions
  1. 12 0
      packages/fpindexer/src/pgindexdb.pp
  2. 6 0
      packages/fpindexer/src/sqldbindexdb.pp

+ 12 - 0
packages/fpindexer/src/pgindexdb.pp

@@ -35,6 +35,7 @@ type
     function InsertLanguage(const ALanguage: UTF8String): int64; override;
     function CreateConnection: TSQLConnection; override;
     function GetID(TableType: TIndexTable): int64;
+    procedure CommitTrans; override;
     procedure FinishCreateTable(const TableType: TIndexTable); override;
     procedure FinishDropTable(const TableType: TIndexTable); override;
   end;
@@ -60,6 +61,17 @@ begin
   end;
 end;
 
+procedure TPGIndexDB.CommitTrans;
+
+Var
+  Tbl : TIndexTable;
+
+begin
+  for Tbl in TIndexTable do
+    FreeAndNil(FGenQuery[Tbl]);
+  inherited CommitTrans;
+end;
+
 function TPGIndexDB.InsertLanguage(const ALanguage: UTF8String): int64;
 var
   Q: TSQLQuery;

+ 6 - 0
packages/fpindexer/src/sqldbindexdb.pp

@@ -147,6 +147,8 @@ function TSQLDBIndexDB.GetWordID(const AWord: UTF8String): int64;
 var
   Q: TSQLQuery;
 begin
+  if aWord='Just' then
+    Writeln('here');
   if (FLastWord = AWord) then
     Result := FLastWordID
   else
@@ -368,7 +370,11 @@ begin
 end;
 
 procedure TSQLDBIndexDB.CommitTrans;
+Var
+  T : TCachedQueryType;
 begin
+  For T:=Low(TCachedQueryType) to High(TCachedQueryType) do
+    FreeAndNil(FQueries[T]);
   FDB.Transaction.Commit;
 end;