Re: [Firebird-devel] Plugin version number

2014-06-11 Thread Dimitry Sibiryakov
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

2014-06-11 Thread Dimitry Sibiryakov
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

2014-06-21 Thread Dimitry Sibiryakov
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

2014-06-23 Thread Dimitry Sibiryakov
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

2014-06-24 Thread Dimitry Sibiryakov
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

2014-06-24 Thread Dimitry Sibiryakov
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

2014-06-25 Thread Dimitry Sibiryakov
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

2014-06-25 Thread Dimitry Sibiryakov
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

2014-06-25 Thread Dimitry Sibiryakov
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

2014-06-25 Thread Dimitry Sibiryakov
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

2014-06-28 Thread Dimitry Sibiryakov
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

2014-06-28 Thread Dimitry Sibiryakov
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

2014-06-28 Thread Dimitry Sibiryakov
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

2014-06-30 Thread Dimitry Sibiryakov
   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

2014-06-30 Thread Dimitry Sibiryakov
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

2014-06-30 Thread Dimitry Sibiryakov
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

2014-06-30 Thread Dimitry Sibiryakov
   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

2014-06-30 Thread Dimitry Sibiryakov
   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

2014-07-01 Thread Dimitry Sibiryakov
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

2014-07-01 Thread Dimitry Sibiryakov
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

2014-07-01 Thread Dimitry Sibiryakov
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

2014-07-01 Thread Dimitry Sibiryakov
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

2014-07-01 Thread Dimitry Sibiryakov
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

2014-07-01 Thread Dimitry Sibiryakov
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

2014-07-01 Thread Dimitry Sibiryakov
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

2014-07-02 Thread Dimitry Sibiryakov
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

2014-07-02 Thread Dimitry Sibiryakov
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

2014-07-03 Thread Dimitry Sibiryakov
   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

2014-07-03 Thread Dimitry Sibiryakov
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

2014-07-03 Thread Dimitry Sibiryakov
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

2014-07-03 Thread Dimitry Sibiryakov
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

2014-07-03 Thread Dimitry Sibiryakov
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()

2014-07-03 Thread Dimitry Sibiryakov
   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

2014-07-03 Thread Dimitry Sibiryakov
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

2014-07-03 Thread Dimitry Sibiryakov
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

2014-07-03 Thread Dimitry Sibiryakov
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

2014-07-03 Thread Dimitry Sibiryakov
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()

2014-07-03 Thread Dimitry Sibiryakov
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()

2014-07-04 Thread Dimitry Sibiryakov
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

2014-07-05 Thread Dimitry Sibiryakov
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

2014-07-05 Thread Dimitry Sibiryakov

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

2014-07-13 Thread Dimitry Sibiryakov
   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

2014-07-13 Thread Dimitry Sibiryakov
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

2014-07-14 Thread Dimitry Sibiryakov
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

2014-07-14 Thread Dimitry Sibiryakov
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

2014-07-15 Thread Dimitry Sibiryakov
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

2014-07-15 Thread Dimitry Sibiryakov
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

2014-07-15 Thread Dimitry Sibiryakov
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

2014-07-15 Thread Dimitry Sibiryakov
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

2014-07-16 Thread Dimitry Sibiryakov
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

2014-07-16 Thread Dimitry Sibiryakov
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

2014-07-21 Thread Dimitry Sibiryakov
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

2014-07-21 Thread Dimitry Sibiryakov
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

2014-07-21 Thread Dimitry Sibiryakov
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

2014-07-22 Thread Dimitry Sibiryakov
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

2014-07-22 Thread Dimitry Sibiryakov
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

2014-07-22 Thread Dimitry Sibiryakov
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

2014-07-22 Thread Dimitry Sibiryakov
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

2014-07-22 Thread Dimitry Sibiryakov
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

2014-07-22 Thread Dimitry Sibiryakov
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

2014-07-22 Thread Dimitry Sibiryakov
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

2014-07-22 Thread Dimitry Sibiryakov
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

2014-07-22 Thread Dimitry Sibiryakov
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

2014-07-22 Thread Dimitry Sibiryakov
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

2014-07-22 Thread Dimitry Sibiryakov
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

2014-07-22 Thread Dimitry Sibiryakov
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

2014-07-23 Thread Dimitry Sibiryakov
   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

2014-07-23 Thread Dimitry Sibiryakov
   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

2014-07-24 Thread Dimitry Sibiryakov
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

2014-07-24 Thread Dimitry Sibiryakov
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

2014-07-24 Thread Dimitry Sibiryakov
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

2014-07-24 Thread Dimitry Sibiryakov
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

2014-07-24 Thread Dimitry Sibiryakov
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

2014-07-24 Thread Dimitry Sibiryakov
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

2014-07-24 Thread Dimitry Sibiryakov
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

2014-07-28 Thread Dimitry Sibiryakov
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

2014-07-28 Thread Dimitry Sibiryakov
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

2014-07-28 Thread Dimitry Sibiryakov
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

2014-07-28 Thread Dimitry Sibiryakov
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

2014-07-29 Thread Dimitry Sibiryakov
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

2014-07-29 Thread Dimitry Sibiryakov
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

2014-07-29 Thread Dimitry Sibiryakov
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

2014-08-03 Thread Dimitry Sibiryakov
> 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

2014-08-03 Thread Dimitry Sibiryakov
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

2014-08-04 Thread Dimitry Sibiryakov
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

2014-08-04 Thread Dimitry Sibiryakov
   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

2014-08-04 Thread Dimitry Sibiryakov
   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

2014-08-05 Thread Dimitry Sibiryakov
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

2014-08-05 Thread Dimitry Sibiryakov
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()

2014-08-05 Thread Dimitry Sibiryakov
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

2014-08-06 Thread Dimitry Sibiryakov
> 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

2014-08-06 Thread Dimitry Sibiryakov
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

2014-08-06 Thread Dimitry Sibiryakov
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

2014-08-06 Thread Dimitry Sibiryakov
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

2014-08-06 Thread Dimitry Sibiryakov
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

2014-08-06 Thread Dimitry Sibiryakov
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

2014-08-06 Thread Dimitry Sibiryakov
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

2014-08-06 Thread Dimitry Sibiryakov
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

2014-08-06 Thread Dimitry Sibiryakov
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

2014-08-06 Thread Dimitry Sibiryakov
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


<    2   3   4   5   6   7   8   9   10   11   >