Both Amorphous and NuoDB have server synchronization issues in spades.  In NuoDB I created an internal event mechanism; in Amorpohous I formalized and exposed the mechanism to the client API.  Unlike the Interbase event mechanism, Amorphous events are deliver asynchronously (generally on a separate thread) and each event caries a set of named and types values.

While I'm not suggest that Firebird implement a new event mechanism for synchronizing roles across attachments, it is the class of problem that will continue to pop up with increasing (and annoying) frequency.

The semantics of the Amorphous event mechanism are:

1. Events have qualified names.
2. An event handler can be registered with names containing wildcards
3. An event is declared with a set of named and types data items.
4. The underlying event mechanism is not transactions though events
   declared in triggers and procedures are cached in the transaction
   object and expressed to event manager after a transaction is
   successfully delivered.

For security reasons, there probably should be an event declaration that identifies what users have the rights to post and receive particular events.

By and large I find the Amorphous event mechanism vastly more useful than the one I invented for Interbase (or was it InterBase?)


On 5/11/2022 1:47 PM, Roman Simakov wrote:
ср, 11 мая 2022 г. в 19:40, Adriano dos Santos Fernandes<adrian...@gmail.com>:
On 11/05/2022 11:55, Roman Simakov wrote:
Can you make up or describe a potential case of the situation?
Undoubtedly the feature would be useful but we've lived without it for
all the time.

In the profiler, I will create a role, the tables and views in another
connection. I'll grant privileges to the role and default grant the role
to public (currently not working due to #7178, so I'm testing with
another user instead of public).

But the user connection is already made and is going to use the profiler.

Now I need to see what is its current_role, then "set role plg$profiler"
(or any other role different than current), then "set role
old_current_role" to refresh the current roles.
I was thinking the profiler should not touch profiled attachments at
all. It might influence its logic.

--
Jim Starkey, AmorphousDB, LLC
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to