REST-DataWare
REST-DataWare copied to clipboard
[Bug] Memory Leak em MassiveObject quando utiliza RESTDWIdDatabase.ApplyUpdates
Realizei um teste utilizando o RESTDWClientSQL, onde quando MassiveType é do tipo mtMassiveObject; apos inserção do registro aplico o RESTDWIdDatabase1.ApplyUpdates gera memory leaks.
Se utilizar o MassiveType mtMassiveCache nao gera memory Leaks!
procedure TForm1.BitBtn1Click(Sender: TObject);
var
qry_ExecSQL : TRESTDWClientSQL;
bError : Boolean;
msgErro : String;
iSeqGru : Integer;
begin
try
try
qry_ExecSQL := TRESTDWClientSQL.Create(Self);
qry_ExecSQL.DataBase := dm.RESTDWDataBase1;
qry_ExecSQL.BinaryCompatibleMode := False;
qry_ExecSQL.MassiveCache := dm.DWMassiveCache1;
qry_ExecSQL.MassiveType := mtMassiveObject; // ; mtMassiveCache;
// 1º BLOCO
with qry_ExecSQL, SQL do
begin
Close;
Clear;
Add('INSERT INTO TB_USUARIOS_CONECTADOS ');
Add(' (ID_USUARIO, ');
Add(' NOME_USUARIO, ');
Add(' MODULO_SYSTEM, ');
Add(' ID_EMPSYS, ');
Add(' DATA_CONEXAO, ');
Add(' HORA_CONEXAO)');
Add('VALUES (:pIdUser, ');
Add(' :pNome_Usuario, ');
Add(' :pModulo, ');
Add(' :pIdEmpSys, ');
Add(' :pData, ');
Add(' :pHora)');
ParamByName('pIdUser').AsInteger := 310;
ParamByName('pNome_Usuario').AsString := Edit1.Text;
ParamByName('pModulo').AsString := 'ESTQ';
ParamByName('pIdEmpSys').AsInteger := 10;
ParamByName('pData').AsDateTime := Date;
ParamByName('pHora').AsDateTime := Now;
ExecSQL;
end;
finally
FreeAndNil(qry_ExecSQL);
end;
SHOWMESSAGE(INTTOSTR(dm.DWMassiveCache1.MassiveCount));
if dm.DWMassiveCache1.MassiveCount > 0 then
begin
dm.RESTDWDataBase1.ApplyUpdates(dm.DWMassiveCache1, bError, msgErro);
// quando é chamado essa funcao gera memory leaks
If bError Then
begin
Showmessage(msgErro);
raise exception.Create('');
end
else
Showmessage('OK');
end;
except
Showmessage('Erro');
end;
end;
Informações técnicas:
- OS: WINDOWS 10
- Versão do RDW - Version : v2.0.3-3088(Savage Reign - SourceForge)
- Lazarus 2.0.10
Corrigido no commit: https://github.com/OpenSourceCommunityBrasil/REST-DataWare/commit/aac291b06fde8f0fa56de0e6a9307679b95bbb11