Re: [Firebird-devel] Plugin version number
11.06.2014 8:27, Alex Peshkoff wrote: > May be you can say a few words about it? Where will be replication > plugins plugged into firebird? Into the engine. TRA_commit() to be exactly. -- WBR, SD. -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Events working description
11.06.2014 20:41, Jim Starkey wrote: > If one or more of the event counts are zero, the call returns > immediately, which is useful for initialization. You forgot to say that if you feed to API call already initialized event buffer (from different connection/database/server), you'll get (almost) undefined behavior which in practice mean "garbage in, garbage out". And there is no API call to clean (or even free) the event buffer. -- WBR, SD. -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Cursor stability in READ COMMITTED transactions
20.06.2014 23:52, Nikolay Samofatov wrote: > Any objections if I start porting this functionality to FB3? Isn't cursor stability already implemented in FB3?.. -- WBR, SD. -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Cursor stability in READ COMMITTED transactions
23.06.2014 21:15, Leyne, Sean wrote: > Actually, without the new behaviour, the engine results are not guaranteed to > be correct. And this is correct and predictable behaviour of TIL read committed. > There is no dilemma -- the engine must return consistent and correct results > **always**. In this case "read committed" must be eliminated. -- WBR, SD. -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Cursor stability in READ COMMITTED transactions
23.06.2014 21:57, Nikolay Samofatov wrote: > You can see partial commits in results, even inside a single row returned by > the query. > Nobody is ready for this, this is CRAZY, nobody expects this. If this data is > used for any remotely > important purpose, you will get whammed. Shouldn't data used for important purpose to be got in CONCURRENCY transaction?.. > This is not normal. This is a BUG. This is an application developer's mistake in choosing TIL, nothing more. -- 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] Cursor stability in READ COMMITTED transactions
24.06.2014 17:53, Paul Beach wrote: > we need to keep our default behaviour as is and > create a new isolation level that supports the cursor stability > in Read Committed that Nikolay wants. I would rather vote for a TPB flag like isc_tpb_insensitive_cursor/sensitive_cursor. It would fit isc_tpb_rec_version/no_rec_version pair. -- 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] Cursor stability in READ COMMITTED transactions
25.06.2014 9:52, Roman Simakov wrote: > 2014-06-25 11:24 GMT+04:00 Alex Peshkoff : >> please answer what quantity of them do we prefer to see - current or >> present at the beginning of a day? > > present at the opening cursor. In this case why to use READ COMMITED transaction 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] Cursor stability in READ COMMITTED transactions
25.06.2014 11:46, Roman Simakov wrote: > 2014-06-25 12:09 GMT+04:00 Dimitry Sibiryakov : >> In this case why to use READ COMMITED transaction at all?.. > > Because opening cursor is not opening transaction. You can have long > transaction but not opened cursors. Do not open if you are not going > to fetch. I.e. a strange application developer start transaction, then, after some time, start a query and want to see data consistent to the moment of query start instead of transaction start? May be it would be better if (s)he use brain and start transaction when it is really needed?.. -- 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] Cursor stability in READ COMMITTED transactions
25.06.2014 12:41, Roman Simakov wrote: > The same prepared query can re-read fresh data in the same > transaction, for instance refresh number of books. You'll be wondered, perhaps, but a prepared query can re-read fresh data in any transaction, not only in one where it was prepared. > But read commited transaction can see new data. Newly started concurency-level transaction can do it as well. -- 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] Cursor stability in READ COMMITTED transactions
25.06.2014 13:13, Roman Simakov wrote: > Explain it to "strange developers" who start transaction and open > cursor at the begin of day in order to fetch at the end :) > > And one more about logic. Currently it's possible: > 1) We have a table X(c char) with 2 records {A, B} > 2) transaction T1 opens select * from X,X and fetch > A,A > A,B > B,A > B,B > 3) Transaction T2 inserts C into X and commit > 4) T1 continue fetchs > C,A > C,B > C,C > > right? This is right only for those who set up READ COMMITTED transaction isolation level which is not default. > So cross join of X will return > A,A > A,B > B,A > B,B > C,A > C,B > C,C > > It's semantically incorrect and maybe considered as bug. Bug should > not be by default. And it isn't default now. You have to explicitly set different TIL to get such behavior. Default TIL (concurrency) works correctly. -- 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] Cursor stability in READ COMMITTED transactions
28.06.2014 9:46, Mark Rotteveel wrote: > On 25-6-2014 15:21, Dimitry Sibiryakov wrote: >> This is right only for those who set up READ COMMITTED transaction >> isolation level >> which is not default. > > That is not true, READ_COMMITTED is the default in a lot of the Firebird > drivers (eg in Jaybird, Firebird .NET provider, fdb). In this case these drivers should be fixed to provide consistent data by default, not the engine. -- 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] Using contents of status vector
28.06.2014 11:14, James Starkey wrote: > That said, the philosophy is that the frst code is primary -- something an > application > programmer can make part of his application logic. What logic can be built on isc_dsql_error - "something happened in DSQL" which is used to be a primary code for 90% of all errors? -- 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] Cursor stability in READ COMMITTED transactions
28.06.2014 10:43, Mark Rotteveel wrote: > How about no. READ COMITTED is the default for a lot of other database > drivers for other DBMS as well, and usually matches the expectations of > users (which includes the occurrence of non-repeatable reads and phantom > reads). Who cares about other DBMS? They can use whatever, including DIRTY READ as a default. Nikolay said that by default users expect consistent data output. That's what default TIL is for. If drivers use TILs other than default, it is their bug. -- 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] GetPlugins() and failed plugin
Hello, All. Can GetPlugins() throw an exception if any of configured plugins failed to load? -- 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] GetPlugins() and failed plugin
30.06.2014 15:17, Alex Peshkoff wrote: > On 06/30/14 16:46, Dimitry Sibiryakov wrote: >> Can GetPlugins() throw an exception if any of configured plugins failed >> to load? > > No, it was as designed from the beginning that missing plugins should be > ignored. It makes issues with plugins harder to detect and diagnose. -- 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] GetPlugins() and failed plugin
30.06.2014 15:44, Alex Peshkoff wrote: > On 06/30/14 17:40, Dimitry Sibiryakov wrote: >> It makes issues with plugins harder to detect and diagnose. > > Yes, but the reason was also rather strong - make it possible for > firebird to work in server, client & embedded modes with same default > configuration. May I suggest to extend functionality of plugin manager to make possible to mark some plugins as "must have"? Say, to prepend their names with asterisk... -- 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] IPluginConfig
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? -- 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] IPluginModule
Hello, All. Currently function getMogule() and IPluginModule itself is never used in code. May be it is not too late yet to kill the call and the class to decrease complexity of third-party plugin development?.. -- 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
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] 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
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
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] 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
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
Re: [Firebird-devel] Server-side plugins and character sets
02.07.2014 15:51, Alex Peshkoff wrote: > Getting const char* in UTF8 charset is OK for most cases. Why not wchar_t? -- 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
02.07.2014 15:51, Alex Peshkoff wrote: > Just one tech detail - if we define such method somewhere in main > interfaces set (like IUtl) would not it mean that fbclient library start > to depend from ICU? Telling true there is_big_ desire to avoid such > dependency, specially on windows. Every modern compiler's RTL has support for wchar_t and every OS already provide API for converting it into any desired character set. I see no point to duplicate this functionality. -- 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] Plugin-specific database-wide configuration parameters
Hello, All. Is subj possible? If I write in database.conf something like this: MyDB=MyDB { Foo=Bar } Which interface a plugin can use to get "Bar" for "Foo" when it is loaded for this database? -- 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] Plugin-specific database-wide configuration parameters
03.07.2014 10:23, Alex Peshkoff wrote: >> Which interface a plugin can use to get "Bar" for "Foo" when it is >> loaded for this >> >database? > IFirebirdConf. I tried, but getKey("Foo") returns -1. What did I wrong? -- 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] Plugin-specific database-wide configuration parameters
03.07.2014 10:45, Alex Peshkoff wrote: > In databases.conf one can use only present in firebird.conf fixed set of > parameters. > See config.cpp for details. I saw it and really hoped that IConfig or IConfigEntry may help in this case. > I suppose we have no problems adding replication parameters in it. We have no problems adding parameters now (except one: I can't predict all of them). But what must do third-party plugins' developers after Firebird 3 release? Should they hack Firebird engine before developing their plugins? Must they write in documentation "this plugin requires custom Firebird build and won't work with any official Firebird releases"? -- 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] Plugin-specific database-wide configuration parameters
03.07.2014 11:04, Dmitry Yemanov wrote: > I don't think*plugin-specific* settings belong to our config. Ok. Is there a place where user can put database-wide parameters and where a plugin can get it from exactly for the database it was loaded for? -- 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] Plugin-specific database-wide configuration parameters
03.07.2014 11:14, Alex Peshkoff wrote: >> Ok. Is there a place where user can put database-wide parameters >> >and where a plugin can >> >get it from exactly for the database it was loaded for? > No. Do you have a suggestion? IMHO, databases.conf is an obvious (from end-user POV) and the best place. -- 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] Errors from IPluginFactory::createPlugin()
Hello, All. If a plugin has failed to create because of misconfiguration or for any other reason, how can IPluginFactory::createPlugin() method return the error code/text? -- 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] Plugin-specific database-wide configuration parameters
03.07.2014 11:27, Alex Peshkoff wrote: > Mixing plugin-specific parameters with firebird parameters in same heap > is bad idea. Mixing 2 sets of parameters of 2 plugins in same heap is > even more bad - each plugin would like to have parameter 'Foo' for > different purporses. Can we suggest a format that avoids this conflict? If plugin can get its configured (not given by developer) name, then I would suggest following syntax for databases.conf: MyDB = MyDB { SomePlugins = aaa,bbb,ccc aaa = { Foo=Bar } bbb = { Foo=Rab } } Plugin can get its parameters by using IConfig->find(MyName)->getSubConfig()->find("Foo")->getValue(). If parameters are not configured on database level, it should get global ones from plugins.conf. BTW, I don't like so long call chain. I would prefer simpler IConfig->asSubConfig(MyName)->asString("Foo","My default") -- 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] Plugin-specific database-wide configuration parameters
03.07.2014 13:25, Alex Peshkoff wrote: > This syntax fits much better into current config files. Can GetPlugins() handle 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
Re: [Firebird-devel] Plugin-specific database-wide configuration parameters
03.07.2014 13:58, Alex Peshkoff wrote: > On 07/03/14 15:36, Dimitry Sibiryakov wrote: >> >03.07.2014 13:25, Alex Peshkoff wrote: >>> >>This syntax fits much better into current config files. >> > Can GetPlugins() handle it? >> > > How is it related with GetPlugins? GetPlugins() will have to work with such scattered plugins list. Now it can handle only plugins from one string with separators, AFACS. -- 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] Plugin-specific database-wide configuration parameters
03.07.2014 14:09, Alex Peshkoff wrote: > Parameter of plugin is something different from the list of plugins of > given type, used by GetPlugins. From your syntax I decided that you suggest to combine them. -- 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] Errors from IPluginFactory::createPlugin()
03.07.2014 12:04, Alex Peshkoff wrote: > On 07/03/14 13:59, Dimitry Sibiryakov wrote: >> If a plugin has failed to create because of misconfiguration or for any >> other reason, >> how can IPluginFactory::createPlugin() method return the error code/text? > > Update your tree please. > Fix was committed yesterday for a lot of functions including createPlugin(). AFAIU, if I want to return from my plugin, for example, error "Configuration error, output directory is not set for database XXX", the only way to do so is to form complete text and then push isc_random into status array. There is no way to use parameters. Am I wrong? -- 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] Errors from IPluginFactory::createPlugin()
03.07.2014 12:04, Alex Peshkoff wrote: > Fix was committed yesterday for a lot of functions including createPlugin(). It is incomplete: > AuthSspi.cpp > ..\..\..\src\auth\trusted\AuthSspi.cpp(370): error C2660: > 'Auth::IWriter::add' : function does not take 1 arguments > ..\..\..\src\auth\trusted\AuthSspi.cpp(373): error C2660: > 'Auth::IWriter::add' : function does not take 1 arguments > ..\..\..\src\auth\trusted\AuthSspi.cpp(374): error C2660: > 'Auth::IWriter::setType' : function does not take 1 arguments Fix the build, please. -- 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] A patch to submit
05.07.2014 12:12, Dmitry Yemanov wrote: > You would do everybody a favor if the patch was cleaned from the useless > stuff (commented out code). This commented out code was supposed to make review easier, but ok, I'll clean it up. -- 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] A patch to submit
05.07.2014 12:12, Dmitry Yemanov wrote: You would do everybody a favor if the patch was cleaned from the useless stuff (commented out code). Here it is. -- WBR, SD. orphans6.diff.7z Description: Binary data -- 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/BonitasoftFirebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] The Firebird 3 API and programming language independence
Take interface unit from UIB. -- WBR, SD. -- Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] The Firebird 3 API and programming language independence
13.07.2014 16:18, Tony Whyman wrote: > Sorry - what is UIB and where do I find it? http://sourceforge.net/projects/uib/ -- WBR, SD. -- Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Problems with the Firebird 3 API
14.07.2014 17:19, Adriano dos Santos Fernandes wrote: > But unfortunately, I think we did the thing wrongly. It is not too late yet to withdraw the announcement about new official API and win some time to rethink these things. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck® Code Sight™ - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Problems with the Firebird 3 API
14.07.2014 19:56, Carlos H. Cantu wrote: > Sorry if I'm mistaken, but afaiu, withdrawing it would imply to not > have a way to create dbCrypt plugins in FB 3.0. If so, I think this is > not an option, since the (crypt) feature is already announced and very > expected by a lot of people. It is easy to expand old API to support this functionality. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck® Code Sight™ - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] C++ and the API
15.07.2014 15:08, Tony Whyman wrote: > I agree with Jim is probably the easiest way to respond to this. I have no > interested in > shooting down the C++ API - I just want to ensure that Firebird continues to > be accessible > from other languages and a handle based API is the easiest lowest common > denominator. And what is the best: old ISC API _is_ exactly such kind of API. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] C++ and the API
15.07.2014 15:23, Tony Whyman wrote: > The criticism of the old API in the release notes appears valid There is no release notes yet, so what criticism are you talking about? -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] C++ and the API
15.07.2014 15:41, Dmitry Yemanov wrote: > This one is surely a phantom: Sure it is. It even refuses to open (leave alone absence of links from official www server). -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] C++ and the API
15.07.2014 16:00, Mark Rotteveel wrote: > http://www.firebirdsql.org/en/news/firebird-3-0-alpha-2-release-is-available-for-testing-38022/ > > There. Fne, just fiine: > Not Found > > The requested URL > /download/prerelease/rlsnotes/Firebird-3.0.0_Alpha2-ReleaseNotes.pdf was not > found on this server. > Apache/2.2.3 (CentOS) Server at web.firebirdsql.org Port 80 -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] C++ and the API
15.07.2014 15:23, Tony Whyman wrote: > The criticism of the old API in the release notes appears valid This criticism is valid not for API itself, but mostly for its internal implementation. API is fine, code under the hood is inadequate. Most of 16 bits limitation belongs to the Message API which is not used now. The rest has easy workarounds or don't limit performance at all (despite what is said in RN). "The trap with the XSQLDA solution is that it encapsulates both the location of the data and their format, making it possible to change location or format (or both) between fetch calls. Hence, the need for the BLR wrapping in every fetch call". Cheap trick. The first part is true, but it does not make true the rest. There is no need to send BLR on server on every fetch. Actually, there is no need to send BLR at all. Client library is clever enough to do data coercion (or throw an error). Status vector is, actually, just an implementation artifact and can be expanded to infinity with rather simple changes in client library's code. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] C++ and the API
16.07.2014 11:49, Dmitry Yemanov wrote: > Once again, you don't count the message based API being a public API. Right. I always say that messages API is an ancient cram which nobody can use and stay sane. > It's no longer used by the DSQL API, but it's still used directly by at > least GBAK and GPRE. gbak and gpre are Firebird internal utility, so the API they are using is internal, not public from my POV. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] [Firebird-checkins] SF.net SVN: firebird:[59899] firebird/trunk/src/include/types_pub.h
21.07.2014 11:51, Alex Peshkoff wrote: > I see no reason for FB_ALIGN > to always remain a macro - template function seems to fit here fine. Why template? First parameter is always pointer, second is always size_t. There is no need for template here. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] [Firebird-checkins] SF.net SVN: firebird:[59899] firebird/trunk/src/include/types_pub.h
21.07.2014 13:10, Alex Peshkoff wrote: > In C pointers to different data types differ This macro/function can work with only one pointer type - char*. All other pointers here will produce wrong computations and thus have to be casted to char* beforehand. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds 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: >> And out of curiosity: what IPluginModule::getModule() is supposed to >> return and why it >> >may be called at all? >> > > self More interesting question: what is returned by getModule() from internal interfaces, such as JAttachment? -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Problems with the Firebird 3 API
22.07.2014 0:03, Tony Whyman wrote: > The problem that you have when accessing the current FB3 API from > another programming language is that you have to make assumptions about > the vtable layout of the C++ compiler used to compile the shared object > and somehow map it into your programming language structures. This > problem becomes multiplied for portable code by every platform/target > compiler that you need to support, as each will need to be verified. > Every time a new version of the compiler comes out, the vtable will need > to be checked to make sure that it hasn't changed. > > This is asking too much of the Firebird user, especially when the > solution is so straightforward. And this solution is using plain C API. Fortunately, Firebird still has one. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Firebird 3 build broken with gcc under Linux
22.07.2014 11:48, Alex Peshkoff wrote: >> 1) I defined FB_SIZE_T in types_pub because when somebody (Vlad?) ported my >> code into Firebird he >> >made Trace API use size_t quantities in public interfaces. I used >> >ntrace_size_t (defined as >> >"unsigned int"). >> > >> >This type can become private as soon Trace API uses unsigned int. > If nobody objects I will do this change. Could you explain first what is wrong with size_t in Trace API?.. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Problems with the Firebird 3 API
22.07.2014 12:27, Alex Peshkoff wrote: > Reviewing API from this POV I've found 2 plain structures. You missed message data buffer which IS a plain structure of non-documented structure. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Firebird 3 build broken with gcc under Linux
22.07.2014 12:31, Alex Peshkoff wrote: > See Nickolay's comment in types_pub.h, line 65. Instead of fixing "handling 32 bits internally without any bounds checking" he decided to pollute interface with types defined not by purpose, but by bitness. IMHO, this is a wrong decision and it conflict with Firebird type defining politics mentioned by Dmitry. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Firebird 3 build broken with gcc under Linux
22.07.2014 12:55, Alex Peshkoff wrote: > On 07/22/14 14:44, Dimitry Sibiryakov wrote: >> Instead of fixing "handling 32 bits internally without any bounds >> checking" he decided >> to pollute interface with types defined not by purpose, but by bitness. >> IMHO, this is a >> wrong decision and it conflict with Firebird type defining politics >> mentioned by Dmitry. > > Certainly, therefore it was suggested to replace them with plain > 'unsigned int', used in other places in new API. Situation with 'unsigned int' is not different from 'size_t'. You will have the same problem on platforms/compilers where int is 64 bits wide. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Firebird 3 build broken with gcc under Linux
22.07.2014 12:59, Dimitry Sibiryakov wrote: > You will have the same > problem on platforms/compilers where int is 64 bits wide. http://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Firebird 3 build broken with gcc under Linux
22.07.2014 13:12, Dmitry Yemanov wrote: > The problems, as I see them, are: > > 1) It may complicate client programs if their compiler misses a 100% > analogue. One might need to introduce conditional compilation etc. IF their compiler don't provide some types, then it is THEIR problem. Don't try to please perverts. There are languages where only string types are available. I see no point in thinking about compatibility with them. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Firebird 3 build broken with gcc under Linux
22.07.2014 13:31, Alex Peshkoff wrote: > Are you serious that we should take into an account such exotic as HAL > Computer Systems port of Solaris to SPARC64? Yes. > Let me once more citate from that page: > "Many 64-bit platforms today use an LP64 model (including Solaris, AIX, > HP-UX, Linux, OS X, BSD, and IBM z/OS)" (where sizeof(int) == 4). I see > here the list of our supported (more or less) ports. Currently supported, yes. But such things used to jump in all of sudden during porting to a new platform. "It is hard to foresee the future. Always in motion it is." (c) I had enough fun with unexpected bitness to learn the lesson well: use the same type everywhere. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Firebird 3 build broken with gcc under Linux
22.07.2014 15:12, Alex Peshkoff wrote: > OK, but if we want to take into an account systems with 64-bit int the > only solution is artificial types? Like FB_SIZE_T? Yes, but definitely not "like FB_SIZE_T". I would say that if there is no standard type that describe the purpose of the type (like size_t for all size parameters), define one with meaningful name (like TraNumber) basing on standard platform-independent type (like uint32_t). -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Firebird 3 build broken with gcc under Linux
22.07.2014 15:33, Alex Peshkoff wrote: > It was said many times - size_t is very good thing, but we often do not > support such sizes internally. Please do not suggest to add such support > right now - or we will delay fb3 release more and more. You don't need to add such support right now. It works now and will work the same way till you add the support. Ignoring warnings is enough for awhile. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Firebird 3 build broken with gcc under Linux
22.07.2014 18:41, Nikolay Samofatov wrote: > I can give you some examples where using size_t is not supported: > - Win32 API (DWORD for sizes) > - standard C library - e.g. "printf" - (int for sizes) > - ICU library (int32_t type from C/C++ standard for sizes) > - libtommath (int for sizes) > - Firebird's own new API (unsigned int for sizes):-) > > Shall I continue? Yes, please. Name someting that was designed in this century. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Firebird 3 build broken with gcc under Linux
22.07.2014 18:51, Nikolay Samofatov wrote: > There is no such data type in Java and other higher-level languages. > So what do you propose such people to use when interfacing with Firebird? Didn't I mentioned LUA which has no integer type at all?.. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
[Firebird-devel] Forming IStatus code-by-code
Hi, All. Don't you think that IStatus interface is missing a method for forming error code-by-code? Definition of this method could be like this: IStatus::add(ISC_STATUS gds_code, ...); Usage would be like this: status->add(isc_sql_dialect_datatype_unsupport, Arg::IntParam, 1, Arg::StrParam, 'TIME'); -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
[Firebird-devel] Error text
Hi, All. In win32\os_utils.cpp:openCreateSharedFile() i see following code: (Firebird::Arg::Gds(isc_io_error) << "open" << pathname << Firebird::Arg::Gds(isc_io_open_err) << strerror(errno)).raise(); But isc_io_open_err has no parameter's placeholder, so error text won't be displayed. Isn't SYS_ERR() missed here?.. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Forming IStatus code-by-code
23.07.2014 14:17, Alex Peshkoff wrote: > First of all - errors, warnings, information codes (we do not have one > now, but they are present in SQL spec) and successful completion codes > (like EOF in fetch) should be separated. EOF in fetch is separated. It doesn't go into status at all. But I have no idea what to do with warnings and information codes in application. Handling of errors is obvious: an exception must be thrown, but what routine that execute queries should do when it detected an information code?.. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] setCursorName in IResultSet rather than IStatement
24.07.2014 12:30, Alex Peshkoff wrote: > IMHO in old API this is required. But what about new one? In new API you can simply deprecate using named cursors. They are almost useless anyway. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] setCursorName in IResultSet rather than IStatement
24.07.2014 12:47, Dmitry Yemanov wrote: > And also deprecate WHERE CURRENT OF in DSQL for being "useless"? Just > because you don't use it? Does it work without "FOR UPDATE" in SELECT now? Has "FOR UPDATE" clause stopped kiling network peformance? Using RDB$DB_KEY for DML has the same effect as "WHERE CURRENT OF", but without drawback. That's why I don't think that any sane man is using it. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] setCursorName in IResultSet rather than IStatement
24.07.2014 13:08, Dmitry Yemanov wrote: > I haven't tried. Did it work before? No. > Not everybody is working with slow networks. Any network is slow for transferring one record per fetch. Embedded server shows this problem well. (Every SELECT in it works in non-buffered mode.) > Nope, it's a bit slower. Why? What's the difference? -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] setCursorName in IResultSet rather than IStatement
24.07.2014 15:38, Adriano dos Santos Fernandes wrote: > Maybe a flag in the new API close method to use the old or the good > behavior? Tell me that this is a joke, please... -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] setCursorName in IResultSet rather than IStatement
24.07.2014 18:39, Mark Rotteveel wrote: > A cursor name should remain set for the lifetime of the statement, > unless it is explicitly set to a different value. Ok. If there is two statements: one with cursor name and other using WHERE CURRENT OF, what should happen is the first statement is closed, unprepared and then prepared with different SQL text - completely different select from different table? -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] setCursorName in IResultSet rather than IStatement
24.07.2014 18:59, Mark Rotteveel wrote: > What is your point? That problem already exists with how it currently > works. The cursor referenced should be checked at execute time, not at > prepare time. In this case what's wrong with name bound to result set? -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
28.07.2014 11:23, Alex Peshkoff wrote: > For existing applications we support legacy ISC interface. Certainly, > when new features (like schema) will be added, they will be accessible > only from new one. I wouldn't be so sure in this. ISC API was well designed and is easily expandable. Every data structure there has field "version" not for nothing. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
28.07.2014 14:12, Alex Peshkoff wrote: > But that's not what only I decide. An argument that for a person who > used to work with ISC API for a long time change to current fb3 API is > simpler than to JDBC one remains present. As I said once, it is simpler to adapt ISC API for new FB features than to rewrite application to a new API. Sp far you haven't introduced them much enough to consider using new API. > If we decide that having JDBC as a main firebird interface is a good > idea as a possible solution not (almost not) delaying FB3 release may be > used the following. Logically what FB3 interface does is very close to > JDBC. We can rename interfaces in Provider.h to make them match the > close-most JDBC interface (i.e. IAttachment becomes Connection, > IStatement => PreparedStatement, etc.) which will help build in next > version an interface which meets JDBC requirements at the same time > remaining compatible with what we have now. I wouldn't care about compatibility with what you have now. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] COMMENT ON docs
28.07.2014 20:20, Dalton Calford wrote: > So, let me understand this. > > (a) the plan is to block/remove access to the system tables Write access, not read. > (b) functionality will not be added until it is in the sql standard, even > though we are > not implementing everything that is currently in that standard as some of it > does not make > sense or no one wants to do it. Functionality exists in isql. Adding this functionality into third-party tools is a job for third-party developers. > (c) the loss of functionality such as blocking sysdba access or displaying > comments will > not be compensated with extensions to the language. If you want to block sysdba access - just remove (or not create at all) user SYSDBA. That's all. > Do you want people to stop using firebird? We want idiots to stop using Firebird. MySQL exists for them. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] COMMENT ON docs
28.07.2014 20:39, Dmitry Yemanov wrote: > I don't > think you can have/use schemas without recompiling all those thousands > of existing applications and/or their underlying database connectivity > libraries. It depends on what you have on mind saying "can use schemas". -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
29.07.2014 18:14, Tom Coleman wrote: > I just spoke with a company that for a number of reasons would like to move > some 800 > systems off of Delphi. Could you name some of these reasons? -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
29.07.2014 18:49, Tom Coleman wrote: > would like to move some 800 systems off of Delphi. So, they invested into these systems, but now they are dropping all it into trash can and preparing to spend another to a new attempt. They are either lousy for money or... > And what could be holding back everyone else? Bribes that they could get from Oracle sellers for new big contracts?.. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
29.07.2014 19:21, Mark Rotteveel wrote: > Dmitry, I don't think this contributes to the discussion. I asked a question about reasons to get off from Delphi and got no answer. Can I a right to be pissed off a little?.. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
[Firebird-devel] SVN: firebird:[59943] firebird/trunk/src/yvalve/why.cpp
> Commented out the annoying (thus supposedly wrong?) assertion. Without this assert following code will crash with segfault on using offsets array. If this assert is activated on queries without output parameters, it should be changed to "fb_assert(count == 0 || offsets)", not just commented out. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] SVN: firebird:[59943] firebird/trunk/src/yvalve/why.cpp
03.08.2014 17:28, Dmitry Yemanov wrote: > I've just left it to the author to fix. I don't have commit rights, you know... > I couldn't run tpcc with this assert activated. This tpc-c must do something crazy to activate the assert like fetching from statement without output parameters or call isc_dsql_exec_immed2() with a pointer to zero-length XSQLDA. -- WBR, SD. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] SVN: firebird:[59943] firebird/trunk/src/yvalve/why.cpp
04.08.2014 9:29, Alex Peshkoff wrote: > But it worked in 2.5 and before... The assert wasn't there. I put the assert there in assumption that application use NULL when there is no input or output parameters. Zero-length SQLDA is out of my imagination. You should either move the assertion into loop belove, or add check for count into it as is written in my previous message. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
[Firebird-devel] IBlob release without close
Hello, All. In new interface what will happen if I call IBlob::release() without preceding IBlob::close()? -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
[Firebird-devel] dtype_packed
Hello, All. What is subj? -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IBlob release without close
05.08.2014 8:55, Alex Peshkoff wrote: > If release sets refcounter to 0 it will be the same as calling > IBlob::cancel() except all errors are ignored. What does IBlob::cancel() for BLOBs opened for reading? BTW, there is a comment in examples: > // to be reviewed after A1 - need better segment/eof handling > if (st->get()[1] != isc_segment) > check(st, "getSegment"); Still no better way to check for real errors? -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IBlob release without close
05.08.2014 10:55, Alex Peshkoff wrote: > Yes. isc_segment is not error condition, it's completion condition. Is > should not go to errors status vector. > We should do something better here. May be to skip zero-length segments and use zero returned by the method as an EOF sign? Or may be return -1 as EOF? BTW, there is a bug in the example: zero-length segments REALLY exist in live databases. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Errors from IPluginFactory::createPlugin()
04.07.2014 8:35, Alex Peshkoff wrote: >> AFAIU, if I want to return from my plugin, for example, error >> "Configuration error, >> >output directory is not set for database XXX", the only way to do so is to >> >form complete >> >text and then push isc_random into status array. There is no way to use >> >parameters. >> > Am I wrong? >> > > You are right if I'm not missing some cunning way to build status vector > from isc_random. BTW, when I call IStatus::set(), will it copy parameters-strings into internal buffer or I somehow must take care about their lifetime? From a quick glance to your code it seems that using local buffer for the error text is a bad idea. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
> I also think the version checks must be automatic at least in the C++ > API, but calling getVersion in each call is not good. It is not good but unavoidable in current plugin architecture. The first thing that every method of every interface have to do is to check versions of every interface it got as parameters and upgrade them if necessary. Otherwise new plugins will crash with old engines/applications when use new methods. Upgrading causes allocation of new VMT which (AFAICS) is never released. Upgrading doesn't replace getVersion() address in new VMT which means that even upgraded interface will return old version and will be upgraded again and again on the next call. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
06.08.2014 10:19, Alex Peshkoff wrote: > You are wrong here. See releaseUpgradeTabs(IPluginModule*) function. Ok, but when a third-party plugin must release tables for engine interfaces? -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
06.08.2014 11:48, Alex Peshkoff wrote: > I want to have warnings in IStatus separate from errors (keeping them in > same status vector IMO artifact of isc api). I think that after it this > is not big problem. Am I missing something obvious? Yes. If not in the status, where should warnings be? And how an application can find out their existence? (Let alone doubtful meaning of warnings for most apps.) >> - Who is going to initialize status vectors? > This is not directly related here, but it seems possible to reset errors > in IStatus right after copying them to StatusException but before > throwing it. But still remains a problem - who will remove warnings from > IStatus? IMHO, IStatus should be created clean and then never reset till the death. Errors should be appended to the end. In this case it will be possible to report primary source of the error and following snowball on cleanup at the same time. > Currently we have a lot of void functions, but certainly they can be > made to return boolean, therefore avoiding a need in a check if non-zero > is returned (non-zero can be also valid pointer to interface, number of > bytes read from blob, etc.). I.e. if we may tune API to make error > possible only in case of false/zero/NULL returned, we may in many cases > avid a need in checking IStatus explicitly. May be you at last give up and accept COM with returning of HSTATUS? Doomed Delphi users could directly use "safecall" and interface definitions then. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
06.08.2014 12:10, Alex Peshkoff wrote: > I've not said - not the status, I've said - in the status but separate > from errors. I.e. if you have now function get() returning mix of errors > and warnings, you will have getErrors() and getWarnings() instead. I always thought that get() is a stub for backward compatibility made because of lack of time for thinking. Actually, I still think so. Ask yourself: what status is used for by app developers? As a one of them, I know only two purposes: 1) Get error text to show to user or write to log (may be via throwing an exception) 2) Check that a definite error code is inside and get its parameter(s) None of these tasks are solved neither by get(), nor by getErrors(). I would suggest for IStatus following methods: int check() - returns 0 if status is empty, 1 if has warnings and 2 if has errors char* getText() - return fully interpreted text ICode* getCode(ISC_STATUS code) - return object encapsulating a definite gdscode block or NULL if such code isn't inside -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
06.08.2014 12:41, Adriano dos Santos Fernandes wrote: > Just that if one uses the C++ API and does not care about warnings, > he'll still need to pass IStatus everywhere. Good point. Why you, actually, don't encapsulate status into every interface object? In this case there will be no need to pass it to every call. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
06.08.2014 12:56, Alex Peshkoff wrote: >> Good point. Why you, actually, don't encapsulate status into every >> interface object? In >> >this case there will be no need to pass it to every call. >> > > This is not MT safe. Explain, please. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
06.08.2014 13:01, Alex Peshkoff wrote: > If same interface is used in 2 threads return status will get mixed. In this case mixed status will be the smallest problem. Do you have an idea what will happen if someone call ITransaction::commit() in one thread and simultaneously ITransaction::rollback() in another? I don't. To ensure that nobody does such dangerous things, it is enough to document that AnyInterface::getStatus() return status of the last call - no matter which thread it was made from. In common I see no point to care about such hypothetical things unless someone come with statement "I need to call these methods of the same object from different threads in parallel for this and that". -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
06.08.2014 13:25, Alex Peshkoff wrote: > I know for sure that for example SAS does such things in 2.5. > May be not simultaneous commit/rollback, but some operations in > IAttachment - yes, they do. There is no IAttachment in 2.5. And no point to do these operations on the same isc_db_handle from different threads because they will be serialized anyway, so I would like to hear their reasoning for such useless action. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
06.08.2014 13:55, Alex Peshkoff wrote: > As a side effect we have to have LocalStatus class in public header, > suppose it's not too big problem. Unfortunately it is because LocalStatus requires whole FB memory manager to be compiled. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New Interface
06.08.2014 14:06, Alex Peshkoff wrote: >> > I would suggest for IStatus following methods: >> > >> >int check() - returns 0 if status is empty, 1 if has warnings and 2 if has >> >errors >> > >> >char* getText() - return fully interpreted text >> > >> >ICode* getCode(ISC_STATUS code) - return object encapsulating a definite >> >gdscode block or >> >NULL if such code isn't inside >> > > Why not? Seems very reasonable. I would only ask to make possible following code to work without resource leaks: char* FKName = status->getCode(isc_foreign_key)->params(0); Currently with IRefCounted such style is impossible. -- WBR, SD. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel