Subject Re: DMLCache and DMLCacheReceivedItem not fired
Author Marco Menardi <mmenaz@lycosmail.com>
Well, re-looking at my code, no, I was not committing (autocommit
transaction)... but I have to investigate further, since in other
situations DMLCache seems to work pretty well.
Anyway, looking at the source I've seen that adding a
OnDMLCacheAnnounce prevents IBO to perform standard DML change
notification, while I thought that in the event handler you could ADD
something to the notification. Removing the Announce event handler has
made qryTableA change being notified to qryLk1. What I can't make work
is having qryCustomers_U_TableA notified too. This is a many to many
relation table, so it's keylink is qryTableA keylink plus qryCustomer
keylink. So seems that IBO does notify that query in this situation...
is it right? What can I do to avoid this?
thanks
Marco Menardi

--- In IBObjects@yahoogroups.com, "Marco Menardi <mmenaz@l...>"
<mmenaz@l...> wrote:
> --- In IBObjects@yahoogroups.com, "Thomas Steinmaurer" <ts@i...> wrote:
> > Hi Marco,
> >
> > just a shoot in the dark ;-).
> >
> > - Have you committed the changes of qryTableA?
>
> Yes, explicetly
>
> >
> > - What transaction isolation level are you using for
> > the TIB_Transaction's used by the recipient queries?
> > If you are using tiConcurrency, then try tiCommitted.
>
> Always use tiCommitted.
>
> thanks anyway ;)
> Marco Menardi
>
> >
> > HTH,
> > Thomas Steinmaurer
> > IB LogManager 2.1 - The Logging/Auditing Tool for InterBase and
Firebird
> > http://www.iblogmanager.com
> >
> > > -----Original Message-----
> > > From: Marco Menardi <mmenaz@l...> [mailto:mmenaz@l...]
> > > Sent: Friday, January 31, 2003 12:05 AM
> > > To: IBObjects@yahoogroups.com
> > > Subject: [IBO] DMLCache and DMLCacheReceivedItem not fired
> > >
> > >
> > > Hi, I've two datamodule, one with the connection and a transaction
> > > that is set as the default transaction of the connection, and
another
> > > datamodule with a query against a table that I will use for editing
> > > (qryTableA), and a query that I use as a lookup (qryLk1), but uses
> > > another transaction local to this second datamodule. In
addition, I've
> > > a query that is used in a form that has it's own transaction that is
> > > assigned to this query (qryCustomers_U_TableA).
> > > Well, I've all these 3 queries with all DMLCache set to true (for
> > > announce and receive), but when I edit a record in qryTableA the
> > > Announce event is generated, while the code I've put in the receive
> > > event of the other 3 queries is NOT.
> > > Is there some other property to set? I've also assigned explicit
> > > keylinks, but nothing happens :(
> > > Does DMLCaching work only for datasets under the same
transaction? Do
> > > dataset need to belong to the same datamodule? Any idea?
> > > thanks a lot
> > > IBO 4.2Ib
> > > Marco Menardi
> > >