Re: [Firebird-devel] IPluginConfig
On 06/30/14 19:12, Dimitry Sibiryakov wrote: > Hello, All. > > I see in sources this: > >> // This interface is passed to plugin's factory as it's single parameter >> // and contains methods to access specific plugin's configuration data >> class IPluginConfig : public IRefCounted >> { >> public: >> virtual const char* FB_CARG getConfigFileName() = 0; >> virtual IConfig* FB_CARG getDefaultConfig() = 0; >> virtual IFirebirdConf* FB_CARG getFirebirdConf() = 0; >> virtual void FB_CARG setReleaseDelay(ISC_UINT64 microSeconds) = 0; >> }; > But I can't understand which exactly method is supposed to provide access > to plugin's > configuration parameters from file plugins.conf? > The question is wrong - plugin's configuration is not necessary in plugins.conf. But if you want to access configuration in default place - use getDefaultConfig(). -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IPluginModule
01.07.2014 8:47, Alex Peshkoff wrote: > getMo_g_ule() is really missing, but getMo_d_ule(), returning pointer to > IPluginModule, is present in MasterImplementation::upgradeInterface() So far there is only one version, upgradeInterface() is not ever called. And even there returned module is never used. What's the point to have whole class for the sake of one function which much better can be in the Factory interface or independently exported?.. -- WBR, SD. -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IPluginConfig
01.07.2014 9:08, Alex Peshkoff wrote: > The question is wrong - plugin's configuration is not necessary in > plugins.conf. But if you want to access configuration in default place - > use getDefaultConfig(). Actually, I don't care what user configured to be a storage of plugin config - separate file or a section in plugins.conf. I just need to know how to read these parameters, no matter where they are. -- WBR, SD. -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IPluginConfig
On 07/01/14 11:38, Dimitry Sibiryakov wrote: > 01.07.2014 9:08, Alex Peshkoff wrote: >> The question is wrong - plugin's configuration is not necessary in >> plugins.conf. But if you want to access configuration in default place - >> use getDefaultConfig(). > Actually, I don't care what user configured to be a storage of plugin > config - separate > file or a section in plugins.conf. I just need to know how to read these > parameters, no > matter where they are. > And this is exactly what is returned by getDefaultConfig(). -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IPluginModule
On 07/01/14 11:35, Dimitry Sibiryakov wrote: > 01.07.2014 8:47, Alex Peshkoff wrote: >> getMo_g_ule() is really missing, but getMo_d_ule(), returning pointer to >> IPluginModule, is present in MasterImplementation::upgradeInterface() > So far there is only one version, upgradeInterface() is not ever called. We should better think about future versions here. > And even there > returned module is never used. This ptr is used to distinguish modules between each other. Method is not called in this function. It's called ln class PluginModule in plugin manager. And this interface is used to detect unexpected exit() call in user program possible in embedded case. > What's the point to have whole class for the sake of one function which > much better can > be in the Factory interface or independently exported?.. > Don't mix plugin instance and plugin module. Interface IPluginModule is not only for providing doClean function, it's a collection of functionalities required for module, not instance. -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IPluginModule
01.07.2014 10:34, Alex Peshkoff wrote: > Interface IPluginModule is > not only for providing doClean function, it's a collection of > functionalities required for module, not instance. I see only doClean(), getVersion() and getModule(). What functionality I missed? -- WBR, SD. -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IPluginModule
On 07/01/14 15:47, Dimitry Sibiryakov wrote: > 01.07.2014 10:34, Alex Peshkoff wrote: >> Interface IPluginModule is >> not only for providing doClean function, it's a collection of >> functionalities required for module, not instance. > I see only doClean(), getVersion() and getModule(). What functionality I > missed? > 1. It must be single instance per module, therefore may be used as an unique marker for it. 2. doClean() makes it possible to set module cleanup routine if needed 3. Implementation of IPluginModule in GetPlugins detects unexpected exit/unloadLibrary call in embedded case. This uses features 1 & 2. Currently we do not need any more module-level functionality, if/when need we will add methods to interface. -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IPluginModule
01.07.2014 14:24, Alex Peshkoff wrote: > 1. It must be single instance per module, therefore may be used as an > unique marker for it. I saw nowhere this requirement is written. Plugin factory, BTW has the same quality, so I really don't see a reason for a separate class. Every plugin module already has unique marker, it is handle returned by LoadLibrary()/dload(). What is a second one for?.. > 2. doClean() makes it possible to set module cleanup routine if needed Separate exported function can do the same but don't require to implement unnecessary methods (including ridiculous in this case getModule()). > Currently we do not need any more module-level functionality, if/when > need we will add methods to interface. What if a plugin does not require any special cleanup? Can it return NULL from getModule()? Is engine ready to get this NULL from it? -- WBR, SD. -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
[Firebird-devel] Server-side plugins and character sets
Hi! We should decide what should happens with character sets and server-side plugins. I talked specifically at external engines, but the same may be valid for trace and whatever. My idea is that the ExternalContext should have a setCharSet method so that server-side user code could set its own connection charset. This connection charset remains active until user code returns to engine. So far, so good. But there are more problems. At the moment, we return const char* in various methods, say IRoutineMetadata::getName and others. These returns utf-8 data. They are simple (just returns), but may not be convenient in all situations. Options would be the user to pass a buffer and a character set. Or a additional API method specifically suitable for conversions. Opinions? Adriano -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Server-side plugins and character sets
01.07.2014 17:26, Adriano dos Santos Fernandes wrote: > We should decide what should happens with character sets and server-side > plugins. I talked specifically at external engines, but the same may be > valid for trace and whatever. > > Opinions? Make them unicode-only as had been suggested many times by many people. -- WBR, SD. -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Server-side plugins and character sets
On 01/07/2014 12:30, Dimitry Sibiryakov wrote: > 01.07.2014 17:26, Adriano dos Santos Fernandes wrote: >> We should decide what should happens with character sets and server-side >> plugins. I talked specifically at external engines, but the same may be >> valid for trace and whatever. >> >> Opinions? >Make them unicode-only as had been suggested many times by many people. > And at the same time, we make Windows, all files present in all HDDs in the world, and everything unicode-only. Perfect. And then even the unicode-people will complain, because we chose one unicode-encoding, while they want another one. Adriano -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IPluginModule
On 07/01/14 16:36, Dimitry Sibiryakov wrote: > 01.07.2014 14:24, Alex Peshkoff wrote: >> 1. It must be single instance per module, therefore may be used as an >> unique marker for it. > I saw nowhere this requirement is written. > Plugin factory, BTW has the same quality, so I really don't see a reason > for a separate > class. You are wrong - module may (and does - Win_Sspi) contain >1 factories. > Every plugin module already has unique marker, it is handle returned by > LoadLibrary()/dload(). What is a second one for?.. A bit easier to access inside plugin module. > >> 2. doClean() makes it possible to set module cleanup routine if needed > Separate exported function can do the same but don't require to implement > unnecessary > methods (including ridiculous in this case getModule()). Yes, it may be replaced. But it combines very nice with unexpected unload detection. >> Currently we do not need any more module-level functionality, if/when >> need we will add methods to interface. > What if a plugin does not require any special cleanup? Can it return NULL > from > getModule()? Is engine ready to get this NULL from it? > Not. -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IPluginModule
01.07.2014 18:06, Alex Peshkoff wrote: > On 07/01/14 16:36, Dimitry Sibiryakov wrote: >> >01.07.2014 14:24, Alex Peshkoff wrote: >>> >>1. It must be single instance per module, therefore may be used as an >>> >>unique marker for it. >> > I saw nowhere this requirement is written. >> > Plugin factory, BTW has the same quality, so I really don't see a >> > reason for a separate >> >class. > You are wrong - module may (and does - Win_Sspi) contain >1 factories. Which means that each of them can perform its part of cleanup or only one of them can do cleanup - it is up to plugin developer. I still see no point in single cleanup entity. >> What if a plugin does not require any special cleanup? Can it return >> NULL from >> getModule()? Is engine ready to get this NULL from it? >> > > Not. And out of curiosity: what IPluginModule::getModule() is supposed to return and why it may be called at all? -- WBR, SD. -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IPluginModule
On 07/01/14 20:15, Dimitry Sibiryakov wrote: > 01.07.2014 18:06, Alex Peshkoff wrote: >> On 07/01/14 16:36, Dimitry Sibiryakov wrote: 01.07.2014 14:24, Alex Peshkoff wrote: >> 1. It must be single instance per module, therefore may be used as an >> unique marker for it. I saw nowhere this requirement is written. Plugin factory, BTW has the same quality, so I really don't see a reason for a separate class. >> You are wrong - module may (and does - Win_Sspi) contain >1 factories. > Which means that each of them can perform its part of cleanup or only one > of them can > do cleanup - it is up to plugin developer. I still see no point in single > cleanup entity. May not use it in that case... > >>> What if a plugin does not require any special cleanup? Can it return >>> NULL from >>> getModule()? Is engine ready to get this NULL from it? >>> >> Not. > And out of curiosity: what IPluginModule::getModule() is supposed to > return and why it > may be called at all? > self -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IPluginModule
01.07.2014 20:05, Alex Peshkoff wrote: >>> You are wrong - module may (and does - Win_Sspi) contain >1 factories. >> > Which means that each of them can perform its part of cleanup or only >> > one of them can >> >do cleanup - it is up to plugin developer. I still see no point in single >> >cleanup entity. > May not use it in that case... Why? >> > And out of curiosity: what IPluginModule::getModule() is supposed to >> > return and why it >> >may be called at all? >> > > self But calling code already has this pointer. What's the point? -- WBR, SD. -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
[Firebird-devel] Meaning of incarnation
In various places of the Firebird wire protocol and the Firebird sources the term 'incarnation' is used. What does this mean? For example for op_info_database, the struct on the Firebird side has: typedef struct p_info { OBJCT p_info_object; // Object of information USHORT p_info_incarnation; // Incarnation of object CSTRING_CONST p_info_items; // Information CSTRING_CONST p_info_recv_items; // Receive information ULONG p_info_buffer_length; // Target buffer length } P_INFO; Searching through the sources I see other occurrence of this term as well, but I am not getting any closer to its meaning. Currently Jaybird always sends 0 (and I believe other wire protocol implementations do as well). Mark -- Mark Rotteveel -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Meaning of incarnation
> Mark, > In various places of the Firebird wire protocol and the Firebird sources > the term 'incarnation' is used. What does this mean? For cross-version compatibilty, most objects have a version number, sometimes called "incarnation". Objects that have not changed will be zero. At least that's what it meant originally. The header file that declares the object should have all versions. Cheers, Ann -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Meaning of incarnation
On 1-7-2014 20:56, Ann Harrison wrote: >> In various places of the Firebird wire protocol and the Firebird sources >> the term 'incarnation' is used. What does this mean? > > For cross-version compatibilty, most objects have a version number, sometimes > called "incarnation". Objects that have not changed will be zero. At least > that's what it meant originally. The header file that declares the object > should have all versions. I am looking at (for example) Request::send and Request::startAndSend in interface.cpp and I am not sure if that is how it is used there (but I haven't been able to find what the parameter level does). Mark -- Mark Rotteveel -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Meaning of incarnation
At 06:46 a.m. 2/07/2014, Mark Rotteveel wrote: >In various places of the Firebird wire protocol and the Firebird sources >the term 'incarnation' is used. What does this mean? (fig.) Bringing into existence; (lit.) Embodiment in human flesh. Helen -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] SF.net SVN: firebird:[59774] firebird/trunk/src
Frank, Please don't mess with obj.h for ISQL support. I think you should do it different, for example, passing extra parameters instead of the new constants. Adriano On 26-06-2014 13:14, f...@users.sourceforge.net wrote: > Revision: 59774 > http://sourceforge.net/p/firebird/code/59774 > Author: fsg > Date: 2014-06-26 16:14:21 + (Thu, 26 Jun 2014) > Log Message: > --- > some more enhancements to isqls extract utility > split extraction of functions and procedures in two parts (header and body) > > Modified Paths: > -- > firebird/trunk/src/isql/extract.epp > firebird/trunk/src/jrd/obj.h > > Modified: firebird/trunk/src/isql/extract.epp > === > --- firebird/trunk/src/isql/extract.epp 2014-06-26 09:43:40 UTC (rev > 59773) > +++ firebird/trunk/src/isql/extract.epp 2014-06-26 16:14:21 UTC (rev > 59774) > @@ -73,7 +73,6 @@ > static void list_all_grants(); > static processing_state list_all_grants2(bool, const SCHAR*); > static void list_all_procs(); > -static void list_all_procs(); > static void list_all_tables(LegacyTables flag, SSHORT); > static void list_all_triggers(); > static void list_check(); > @@ -88,11 +87,15 @@ > static void list_foreign(); > static void list_functions(); > static void list_functions_ods12(); > +static void list_functions_ods12_headers(); > +static void list_functions_ods12_bodies(); > static void list_functions_legacy(); > static void list_generators(); > static void list_indexes(); > static void list_package_bodies(); > static void list_package_headers(); > +static void list_procedure_bodies(); > +static void list_procedure_headers(); > static void list_views(); > > static const char* const Procterm = "^"; // TXNN: script use only > @@ -181,9 +184,11 @@ > list_filters(); > list_charsets(); > list_collations(); > + list_domains(default_char_set_id); > list_generators(); > - list_domains(default_char_set_id); > - list_functions(); > + list_functions_legacy(); > + list_functions_ods12_headers(); > + list_procedure_headers(); > list_package_headers(); > list_all_tables(flag, default_char_set_id); > list_indexes(); > @@ -191,7 +196,8 @@ > list_views(); > list_check(); > list_exceptions(); > - list_all_procs(); > + list_functions_ods12_bodies(); > + list_procedure_bodies(); > list_package_bodies(); > listDomainConstraints(); > list_all_triggers(); > @@ -1310,8 +1316,23 @@ > case obj_procedure: > legend = "Stored procedures"; > break; > + case obj_procedure_header: > + legend = "Stored procedures headers"; > + break; > + case obj_procedure_body: > + legend = "Stored procedures bodies"; > + break; > + case obj_function: > + legend = "Stored functions"; > + break; > +case obj_function_header: > + legend = "Stored functions headers"; > + break; > + case obj_function_body: > + legend = "Stored functions bodies"; > + break; > case obj_udf: > - legend = "Stored functions"; > + legend = "User defined functions"; > break; > case obj_trigger: > legend = "Triggers only will work for SQL triggers"; > @@ -1337,7 +1358,6 @@ > isqlGlob.printf("SET AUTODDL ON%s%s", isqlGlob.global_Term, > NEWLINE); > } > > - > static void list_all_procs() > { > /** > @@ -1347,19 +1367,41 @@ > ** > * > * Functional description > - * Shows text of a stored procedure given a name. > - * or lists procedures if no argument. > + * > + * lists all procedures > * Since procedures may reference each other, we will create all > * dummy procedures of the correct name, then alter these to their > * correct form. > * Add the parameter names when these procedures are created. > * > **/ > + print_proc_prefix(obj_procedure); > + list_procedure_headers(); > + list_procedure_bodies(); > + > +} > > +static void list_procedure_headers() > +{ > +/** > + * > + * l i s t _ p r o c e d u r e _ h e a d e r s > + * > + ** > + * > + * Functional description > + * Create all procedure declarations > + * with empty body. This will allow us to create objects > + * that depend on them. The alteration to their > + * correct form is postponed to list_procedure_bodies. > + * Add the parameter names when these procedures are created. > + * > + *
Re: [Firebird-devel] SF.net SVN: firebird:[59774] firebird/trunk/src
> -Original Message- > From: Adriano dos Santos Fernandes [mailto:adrian...@gmail.com] > Sent: Martes, 01 de Julio de 2014 22:22 > > > Frank, > > Please don't mess with obj.h for ISQL support. > > I think you should do it different, for example, passing extra > parameters instead of the new constants. > > > Adriano I have my reservations about the extraction order, but since I didn't try, I didn't voice my concern yet. This was the old order: list_functions(); list_generators(); list_domains(default_char_set_id); This is the new order... I mean the isql extraction order, not the "new world order": list_domains(default_char_set_id); list_generators(); list_functions_legacy(); list_functions_ods12_headers(); Why is it necessary to extract domains before generators? Domains can depend on generators, but generators don't depend on anything. This is a silly example, but it's allowed by our syntax: SQL> create domain d int check (value > gen_id(g, 3)); Statement failed, SQLSTATE = 42000 invalid request BLR at offset 15 -generator G is not defined I think generators should continue preceding domains when extracting scripts. Maybe I will have more to say when I'm able to digest all the commits. C. -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IPluginModule
On 07/01/14 22:40, Dimitry Sibiryakov wrote: And out of curiosity: what IPluginModule::getModule() is supposed to return and why it may be called at all? >> self > But calling code already has this pointer. What's the point? > Because all our interfaces are derived from IVersioned, and it has getModule() function. -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel