Subject | Automatic DML Caching per Connection |
---|---|
Author | Guido Klapperich |
Post date | 2007-04-26T10:01:55Z |
For testing purposes I have disabled DML Caching in my Application. Now
I have discovered by chance, that the DML Caching is still working
within my app. For example, I have two forms, which display the same
dataset. When I change the dataset in form1, I can see the changes in
form2 without refreshing manually the dataset. I have even deleted the
IBO$DMLCACHE table in my database, but still the same effect. After some
debugging, I have found the method
procedure TIB_Transaction.SysCommitRetaining( ASavePointOnly: boolean );
in IB_Components do the following
try
FDMLCache.ProcessItems( true );
except
// Do nothing.
end;
Does this mean, that DML Caching happens always within the same
TIB_Connection or exists a way to disable it?
Regards
Guido
I have discovered by chance, that the DML Caching is still working
within my app. For example, I have two forms, which display the same
dataset. When I change the dataset in form1, I can see the changes in
form2 without refreshing manually the dataset. I have even deleted the
IBO$DMLCACHE table in my database, but still the same effect. After some
debugging, I have found the method
procedure TIB_Transaction.SysCommitRetaining( ASavePointOnly: boolean );
in IB_Components do the following
try
FDMLCache.ProcessItems( true );
except
// Do nothing.
end;
Does this mean, that DML Caching happens always within the same
TIB_Connection or exists a way to disable it?
Regards
Guido