24.11.2018 13:17, Dimitry Sibiryakov wrote:

24.11.2018 6:43, Dmitry Yemanov wrote:
It could be, but new system generator is also an ODS change. IIRC, we don't have a safety gap between system and user generator IDs.

It doesn't need to be a system generator. Plugin is free to create a user one (as well as any other database object) if it needs. Auth plugins already does that.

Good plugin should never clash with user-defined metadata. Any hardcoded name for user-defined metadata objects is a subject of potential conflict. Using RDB$ prefix for non-system objects is a hack I'd rather avoid. What other options do you see?

I probably missed that. Do you speak about dbb_id (filesystem level ID) or something more persistent?

I don't know what Alex uses for that. Avalerion provided to crypt plugin exactly the same database identification GUID that you made.

Where is it stored in Avalerion?

The sequence I was talking about is just to provide contiguous numbering of journal files.

   Journal files or transactions?

Files.

I ask because I see no need in continuous numbering of files. FireSwarm, for example, uses number of the first transaction for that.

Imagine your last replicated file was marked with ID = 1000. Then you see file marked with ID = 1010 in the pipeline. How can you be sure that some other file (e.g. marked with ID = 1005) is not missing (lost by the transport or not yet delivered)? Do you just continue with fingers crossed hoping that there won't be conflicts due to missing data, or due to transactions replicated out of order (if #1005 finally appears after you processed #1010)?

I know I'm somewhat paranoid, but things never happen as expected in real life. Early problem detection is a good thing, IMHO.


Dmitry


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

Reply via email to