You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary:
Where multiple client DBEvent listeners reside on the same local PC as the database (local protocol), not ALL clients receive event notification they have registered interest in when these multiple instances of the same client register interest in the same events.
Example of it NOT working
e.g. Open two concurrent instances of the Delphi (version 7) Event Alerter Demo program C:\Program Files\Borland\Delphi7\Demos\Db\IBX\IBXEvents\Events.exe). Open Database in first instance and register two events ("hello" & "world"). Use UI to generate event "hello" or "world" and you can see in the event log control provided that either event is received as expected. Next repeat exercise in the second instance while the first instance is still connected to the DB and still registered in receiving notification for both of the before mentioned events. Note only one client now receives notification of either event (hello or world)
Example of it working
When Firebird 1.5.1.4481 is used BOTH instances of the Event Alerter Demo applications receive DB event notification (of either event) initiated by user action (Generate Event) in UI of either DB client app as expected. That is I can register both "hello" & "world" events in both clients & BOTH clients receive notification of either event.
What does work in Firebird 2.x
If client 1 registers interest in only the "hello" event and client 2 registers interest in only the "world" event then regardless of where the "hello" event is initiated (client 1 or 2) ONLY client 1 receives notification of the event. Conversly if the "world" event is iniated (client 1 or 2) then ONLY client 2 receives notification of teh event.
Please note:
The generate Event functionality in the example Delphi event demo simply runs a DB stored proc passing to it the event name provided in the UI. The DB stored proc simply posts the event name parameter (to all listening registered client apps).
I can provide simple client app demo (if required) together with db.
I must stress using the same client apps and db with Firebird 1.5 the system works as expected. It is only when used with Firebird 2.x that it is problematic and then specifically with the local protocol. The same symptoms occur whent the older Events.exe client demo application (not using Interbase express Delphi vcl components) is used. I have tried many version of FB 2.x - all exibit the same behaviour in local protocol. I have NOT yet tried the remote TCP protocol client db connection.
Bryan Skellern
The text was updated successfully, but these errors were encountered:
Enclosed zip file contains Delphi (7) example event reception client app program together with example database. Note both the example client app & associated database must reside in the same folder - can be any folder.
Submitted by: Bryan Skellern (bskellern)
Duplicates CORE1456
Attachments:
events.zip
Summary:
Where multiple client DBEvent listeners reside on the same local PC as the database (local protocol), not ALL clients receive event notification they have registered interest in when these multiple instances of the same client register interest in the same events.
Example of it NOT working
e.g. Open two concurrent instances of the Delphi (version 7) Event Alerter Demo program C:\Program Files\Borland\Delphi7\Demos\Db\IBX\IBXEvents\Events.exe). Open Database in first instance and register two events ("hello" & "world"). Use UI to generate event "hello" or "world" and you can see in the event log control provided that either event is received as expected. Next repeat exercise in the second instance while the first instance is still connected to the DB and still registered in receiving notification for both of the before mentioned events. Note only one client now receives notification of either event (hello or world)
Example of it working
When Firebird 1.5.1.4481 is used BOTH instances of the Event Alerter Demo applications receive DB event notification (of either event) initiated by user action (Generate Event) in UI of either DB client app as expected. That is I can register both "hello" & "world" events in both clients & BOTH clients receive notification of either event.
What does work in Firebird 2.x
If client 1 registers interest in only the "hello" event and client 2 registers interest in only the "world" event then regardless of where the "hello" event is initiated (client 1 or 2) ONLY client 1 receives notification of the event. Conversly if the "world" event is iniated (client 1 or 2) then ONLY client 2 receives notification of teh event.
Please note:
The generate Event functionality in the example Delphi event demo simply runs a DB stored proc passing to it the event name provided in the UI. The DB stored proc simply posts the event name parameter (to all listening registered client apps).
I can provide simple client app demo (if required) together with db.
I must stress using the same client apps and db with Firebird 1.5 the system works as expected. It is only when used with Firebird 2.x that it is problematic and then specifically with the local protocol. The same symptoms occur whent the older Events.exe client demo application (not using Interbase express Delphi vcl components) is used. I have tried many version of FB 2.x - all exibit the same behaviour in local protocol. I have NOT yet tried the remote TCP protocol client db connection.
Bryan Skellern
The text was updated successfully, but these errors were encountered: