Re: [Firebird-devel] Case-insensitive PathName comparison on Windows

2016-04-04 Thread Dimitry Sibiryakov
04.04.2016 11:47, Alex Peshkoff wrote: > If we store all strings in uppercase > this will end with creating of DB.FDB instead db.fdb. Or I miss > something here? Yes. That's how Firebird already works for ages. > Method 3 is good when talking about comparison, but for all other usages > we

Re: [Firebird-devel] Case-insensitive PathName comparison on Windows

2016-04-04 Thread Dimitry Sibiryakov
04.04.2016 20:35, Dmitry Yemanov wrote: > I thought you were speaking about UTF8. You answered about "Method 3" which was changing PathName to keep wchar_t inside on Windows. -- WBR, SD. -- Firebird-Devel

Re: [Firebird-devel] CORE-5176

2016-03-28 Thread Dimitry Sibiryakov
28.03.2016 20:13, Alex Peshkoff wrote: > What do you think about backporting this interface to B3_0_Release? IMHO, it is pointless. In current form event interface has no value at all. -- WBR, SD. -- Transform

Re: [Firebird-devel] IService::start() and isc_spb_utf8_filename

2016-03-19 Thread Dimitry Sibiryakov
17.03.2016 11:42, Alex Peshkoff wrote: > That's a bug, but in the case with utf8 in SPB it should not cause problems. Unfortunately it does because of another bug in dba.epp. This is classical "double bug" when one bug neutralize other and make most of tests work. -- WBR, SD.

Re: [Firebird-devel] Atomics

2016-03-23 Thread Dimitry Sibiryakov
23.03.2016 10:04, Vlad Khorsun wrote: > Opinions ? I vote for C++11 standard. -- WBR, SD. -- Transform Data into Opportunity. Accelerate data analysis in your applications with Intel Data Analytics

Re: [Firebird-devel] Services and encoding

2016-03-23 Thread Dimitry Sibiryakov
23.03.2016 10:04, Mark Rotteveel wrote: > In that case wouldn't it be better to bump the SPB version and declare > that from that version strings buffers are UTF-8 only? It will add more problems with backward-compatibility with no gain. -- WBR, SD.

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Dimitry Sibiryakov
13.04.2016 15:13, Alex Peshkoff wrote: > How can implementation replace interface? > Replace current implementation? Replace current interface. It was a part of new experimental plugin API. -- WBR, SD. -- Find

Re: [Firebird-devel] Updated Comparison of many standard (and non-standard) SQL features amongst 10 databases

2016-04-25 Thread Dimitry Sibiryakov
25.04.2016 16:23, Adriano dos Santos Fernandes wrote: > Something like DBMS_SQL (and DBMS_LOB too, BTW) would be very useful > to Firebird What value they can add? -- WBR, SD. -- Find and fix application

Re: [Firebird-devel] User password for encryption

2016-04-25 Thread Dimitry Sibiryakov
25.04.2016 17:03, Alex Peshkoff wrote: > Unlike other methods key in this case is not touched by open source code > making possibility of stealing it much smaller. It doesn't matter if engine will decrypt whole database for you after changing couple of bytes in header. Key is pointless,

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-25 Thread Dimitry Sibiryakov
25.04.2016 17:42, Michal Kubecek wrote: > A 2.5 server, however, does only listen to IPv4 connections and for some > reason, client has to wait for timeout of the connection to :: which is > tried first. Reason is simple: addresses for a host are tried one-by-one. -- WBR, SD.

Re: [Firebird-devel] Firebird 3 authentication when user exists both in Srp and Legacy_Auth

2016-04-24 Thread Dimitry Sibiryakov
24.04.2016 17:14, Alex Peshkoff wrote: >> What is the reasoning behind this? > Invalid password with present user appears to be severe authentication > error. I see two possible strategies: 1) User is considered authenticated if any authentication plugin accept it. 2) User is considered not

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-25 Thread Dimitry Sibiryakov
25.04.2016 22:34, Michal Kubecek wrote: > No, that's not the reason. If everything works the way it's supposed to, > the connection fails within one roundtrip and client doesn't have to > wait for a full second. For :: address, there is even less reason for > having to wait for a timeout.

[Firebird-devel] Comparison of different string

2016-04-22 Thread Dimitry Sibiryakov
Hello, All. We have basically three string classes in Firebird: string, PathName and NoCaseString. They differ in content encoding and handling. Should be comparison between them allowed? If yes, which rules should be applied when it is written "a == b" and types of a and b are

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-26 Thread Dimitry Sibiryakov
26.04.2016 12:01, Stefan Heymann wrote: > So I think Michael's idea to expand the URL type database strings is a > good idea: No, it is just a workaround. Good solution will be to connect to all host addresses at once using connection that is established as a first. -- WBR, SD.

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-26 Thread Dimitry Sibiryakov
26.04.2016 12:44, Stefan Heymann wrote: > Is there a chance that one of them will be > implemented? I have in plans to implement parallel connect in v4 as a part of cluster solution. -- WBR, SD. -- Find and fix

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-26 Thread Dimitry Sibiryakov
26.04.2016 13:12, Michal Kubecek wrote: > Are you aware of other client applications doing this for TCP based > protocols? Any torrent client. -- WBR, SD. -- Find and fix application performance issues faster

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-26 Thread Dimitry Sibiryakov
26.04.2016 13:25, Michal Kubecek wrote: > That's completely different situation. With bittorrent, you want to > access all targets, not one of them Yes, but it is a good example how to work with a swarm of unreliable servers. Exactly matches situation in this topic where connection must be

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-26 Thread Dimitry Sibiryakov
If a server has both IPv4 and IPv6 addresses, there can be four cases: 1) Firebird doesn't listen on both of them 2) Firebird listens on IPv4 only 3) Firebird listens on IPv6 only 4) Firebird listens on both Whatever priority you set up, in one case of four you'll get slow connection. --

Re: [Firebird-devel] IBPP or what?

2016-04-26 Thread Dimitry Sibiryakov
26.04.2016 12:55, Treeve Jelbert wrote: > some time ago it was stated that the future of IBPP would be decided in > a fwe days. IBPP is a completely separate project. It has no connections to Firebird. > I am about to start project using C++ and firebird3. > What interface should I use?

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-27 Thread Dimitry Sibiryakov
27.04.2016 16:31, Michal Kubecek wrote: > I already explained why this_workaround_ is wrong - and what the > _solution_ is. "Solutions" that only shift the problem into less visited area or drop the problem to users is not a way to go. Quoting RFC 6724: >Well-behaved applications

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-26 Thread Dimitry Sibiryakov
26.04.2016 22:40, Mark Rotteveel wrote: > Firebird works without configuration. To let rumors that Firebird is unbearable slow to spread is a bad thing too. -- WBR, SD. -- Find and fix application performance

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-26 Thread Dimitry Sibiryakov
26.04.2016 18:58, Michal Kubecek wrote: > Disabling it unconditionally is not a good idea. Perhaps it could be > controlled via firebird.conf but I would still prefer the connection > string as more flexible. Extract IPv6 support from remote to a separate plugin. -- WBR, SD.

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-27 Thread Dimitry Sibiryakov
27.04.2016 0:11, Leyne, Sean wrote: > 2- Slowness only occurs when using "localhost" with v3 client*and* v2.5 > server -- a very unusual situation (why would you have new client installed > on same host as old server?) No, this problem occur on any host with multiple IP addresses when

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-27 Thread Dimitry Sibiryakov
27.04.2016 11:27, Michal Kubecek wrote: > Please stop pretending the problem is way worse than it actually is. It is enough that the problem exists and can be solved without tuning of global OS settings. PS: I wonder why Vlad still hasn't demanded to rollback the path completely and

[Firebird-devel] File names iteration

2016-04-27 Thread Dimitry Sibiryakov
Hello, All. Do we really need file name iterators in both path_utils and ScanDir? -- WBR, SD. -- Find and fix application performance issues faster with Applications Manager Applications Manager provides deep

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-27 Thread Dimitry Sibiryakov
27.04.2016 15:33, Michal Kubecek wrote: > After a one second timeout, apparently. And that's exactly where the > problem is. And the most reliable solution for the problem is to try other addresses without waiting for timeout error from the first one. All the rest will fail under some

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-27 Thread Dimitry Sibiryakov
27.04.2016 15:08, Michal Kubecek wrote: > The problem is in local system setup; first it tells the client > where to connect and then it hides the fact that the connection didn't > succeed. That's plain wrong. Use only first structure returned by getaddrinfo() and you'll get your error. --

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-27 Thread Dimitry Sibiryakov
27.04.2016 0:11, Leyne, Sean wrote: > 2- Slowness only occurs when using "localhost" with v3 client and v2.5 > server -- a very unusual situation (why would you have new client installed > on same host as old server?) No, this problem will occur on any host with multiple IP addresses when

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-23 Thread Dimitry Sibiryakov
23.04.2016 12:01, Stefan Heymann wrote: >> It seems that your problem is due to slow host name to IP address >> >resolution (i.e. DNS), not with Firebird functionality. > But my 2.5 fbclient does not show this delay. So I don't assume there > is a problem with IP resolution. Try to set option

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-23 Thread Dimitry Sibiryakov
23.04.2016 12:01, Stefan Heymann wrote: > If there is no other solution to come around this problem, I also > think that this would be easily understandable. Much simpler will be to disalbe IPV6 support by default. -- WBR, SD.

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-26 Thread Dimitry Sibiryakov
26.04.2016 17:48, Stefan Heymann wrote: > we need the URL type db string > solution described by Michael so only IPv4 gets tried by the client. This solution requires to change every connection string in every application worked with Firebird which is often hard-coded. Disabling IPv6 in

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-26 Thread Dimitry Sibiryakov
26.04.2016 17:48, Stefan Heymann wrote: > Situation Nr. 1 is a pre-Firebird3 server. No, it is number 2. Number 1 is no Firebird at all. -- WBR, SD. -- Find and fix application performance issues faster with

Re: [Firebird-devel] Performance of fbclient.dll of recent snapshots

2016-04-26 Thread Dimitry Sibiryakov
26.04.2016 22:03, Michal Kubecek wrote: > But now I'm starting to worry that any > solution that is not handling his corner case out of the box without > waiting for a timeout is not going to satisfy him. Any solution that requires a special configuration of host OS in order to make Firebird

Re: [Firebird-devel] FB/Java embedded connections

2016-05-20 Thread Dimitry Sibiryakov
20.05.2016 12:02, Alex Peshkoff wrote: >> Who "it"? The user can upload whole Jaybird with any modifications he >> wants. >> > > Whole jaybird? To server? To database. Remember, any Java code can be saved into database by any user. -- WBR, SD.

Re: [Firebird-devel] FB/Java embedded connections

2016-05-20 Thread Dimitry Sibiryakov
20.05.2016 11:50, Alex Peshkoff wrote: > It even may allow embedded connection but (depending upon provided user > name in DPB or not) perform authentication or place into DPB auth block > from original connection. Who "it"? The user can upload whole Jaybird with any modifications he wants.

Re: [Firebird-devel] FB/Java embedded connections

2016-05-20 Thread Dimitry Sibiryakov
20.05.2016 12:11, Alex Peshkoff wrote: > Is there a layer between Java code when trying to attach to database and > yvalve? I would rather ask: what JVM is used to run Java code and how much it can limit the code's abilities? -- WBR, SD.

Re: [Firebird-devel] FB/Java embedded connections

2016-05-20 Thread Dimitry Sibiryakov
19.05.2016 23:26, Leyne, Sean wrote: >> >Is there a way to prevent Java applet from using anything from out of >> >database (other applets, native libraries and so on)? > But how far would the prevention go? AFAIU, the root of the problem is that (in contrast with UDF) any user can load

Re: [Firebird-devel] FB/Java embedded connections - proposed solution for Firebird and Jaybird

2016-05-20 Thread Dimitry Sibiryakov
20.05.2016 12:54, Adriano dos Santos Fernandes wrote: > - It needs to connect to user databases and java-security.fdb without > knowing password What for? > - It needs to verify (itself or in Firebird) user names and passwords What for? -- WBR, SD.

Re: [Firebird-devel] FB/Java embedded connections - proposed solution for Firebird and Jaybird

2016-05-20 Thread Dimitry Sibiryakov
20.05.2016 13:26, Adriano dos Santos Fernandes wrote: > here are more reasons, but a great one is: > > Users can only read his own stored binary classes in FB/Java tables, but > can use (run) others users classes stored in the same database. As long as they have permission for it granted by

Re: [Firebird-devel] FB/Java embedded connections - proposed solution for Firebird and Jaybird

2016-05-20 Thread Dimitry Sibiryakov
20.05.2016 13:04, Adriano dos Santos Fernandes wrote: > java-security.fdb: central permissions. Do not want to put user name and > password in config file. > user database: FB/Java group various super classic attachments in a > single FB/Java "process". > > It does a single extra attachment to

Re: [Firebird-devel] FB/Java embedded connections

2016-05-19 Thread Dimitry Sibiryakov
19.05.2016 19:32, Mark Rotteveel wrote: > I think Adriano is taking about the fact that someone from Java code running > inside > Firebird would be able to make an embedded connection to any database running > on the same > server. That is a totally different security threat than the capability

[Firebird-devel] Null-termination of file link

2016-05-21 Thread Dimitry Sibiryakov
Hello, All. In config_file.cpp I see following piece of code: > if (PathUtils::isSymLink(tempPath)) > { > // If $(this) is a symlink, expand it. > TEXT temp[MAXPATHLEN]; > const int n =

Re: [Firebird-devel] FB/Java embedded connections - proposed solution for Firebird and Jaybird

2016-05-20 Thread Dimitry Sibiryakov
20.05.2016 14:06, Alex Peshkoff wrote: >> What "security context"? > It's in class UserId (scl.h) > Auth::AuthenticationBlock usr_auth_block; // Authentication block > after mapping > > It's passed by default to user-level embedded connections (like EXEC > STATEMENT w/o login/password) and

Re: [Firebird-devel] FB 3 source code analisys

2016-05-11 Thread Dimitry Sibiryakov
11.05.2016 17:26, Adriano dos Santos Fernandes wrote: > What should be returned in case of exception? > > If we remove the redeclaration of exit_code, it was returning -1 in > exceptions and that may change. > > So should the catch assign -1 to exit_code? Currently variable exit_code in inner

[Firebird-devel] Plugin registration name

2016-05-11 Thread Dimitry Sibiryakov
Hello, All. Is subj case sensitive? If I call registerPluginFactory() with name "MyPlugin", will it be accessible as "myplugin" later? -- WBR, SD. -- Mobile security can be enabling, not merely

Re: [Firebird-devel] Plugin registration name

2016-05-12 Thread Dimitry Sibiryakov
12.05.2016 15:17, Alex Peshkoff wrote: > Please read here > http://www.firebirdsql.org/rlsnotesh/config-fb-conf.html > Pay attention that plugins are widely used in configuration files. At first, this manual has no mention of plugins at all. They are briefly described in README.Plugins.html,

Re: [Firebird-odbc-devel] ODBC-Problems

2016-05-12 Thread Dimitry Sibiryakov
12.05.2016 17:48, Olaf Kluge wrote: > Now, after we call a sp access gets not in every time the new records (the sp > inserts for > example one), only after the formular is closes (or the entire access), the > records will > be shown. This is obviously a problem with Access transactions

Re: [Firebird-devel] Non-copyable objects

2016-05-15 Thread Dimitry Sibiryakov
15.05.2016 23:14, Adriano dos Santos Fernandes wrote: > First, we do not use C++ version with this support. For 3.0 - yes. But for 4.0 official compiler is VS 2013 which support that. -- WBR, SD. -- Mobile

Re: [Firebird-devel] Non-copyable objects

2016-05-15 Thread Dimitry Sibiryakov
15.05.2016 23:21, Adriano dos Santos Fernandes wrote: > Current compilers supports std library and we cannot use it, so because it supports doesn't matter. "We don't use library X, so we cannot use language Y" you said. It is a very strange logic or I misunderstood you completely. Deleted

Re: [Firebird-devel] Compiler for official Firebird 4 release on Windows

2016-05-16 Thread Dimitry Sibiryakov
16.05.2016 8:26, Dmitry Yemanov wrote: > I suggest to drop support for VS versions 8.0 and 9.0 in the master > branch. VS 10, 12/13 and 14/15 will still be supported. I suggest to drop VS 2010 as well. Four versions is enough, IMHO. -- WBR, SD.

Re: [Firebird-devel] Non-copyable objects

2016-05-15 Thread Dimitry Sibiryakov
14.05.2016 23:59, Adriano dos Santos Fernandes wrote: > Instead of write private copy constructor and operator=, what about > start using a mixing at least for new code? > > It makes easier and much more clear. Even easier and clearer explicitly deleted constructor and operator: Car(const

Re: [Firebird-devel] Non-copyable objects

2016-05-16 Thread Dimitry Sibiryakov
16.05.2016 13:04, Alex Peshkoff wrote: > Yes, please add that class to the tree. > I wanted to do it many times but wanted to clean old code and each time > something more urgent was present. Are you aware that with hack you won't be able to make copyable derived class even if you need one?

Re: [Firebird-devel] isc_dsql_execute_immediate and FB3

2016-05-18 Thread Dimitry Sibiryakov
18.05.2016 12:25, Paul Reeves wrote: > Obviously select statements are not meant to work with > isc_dsql_execute_immediate. isc_dsql_execute_immediate() is not supposed to work with any statement that returns any data. isql_dsql_exec_immed2() must be used for that. The error is strange

Re: [Firebird-devel] isc_dsql_execute_immediate and FB3

2016-05-18 Thread Dimitry Sibiryakov
18.05.2016 13:22, Alex Peshkoff wrote: > Looks like text: > > -SQLDA missing or other SQLDA error > -Wrong number of columns or parameters (expected 1, got 0) > > will be better. Right error to be isc_dsql_no_output_sqlda. One must find out why isc_dsql_wrong_param_num is produced

[Firebird-devel] Case-sensitivity of keywords "None", "Full", "Restrict" in config

2016-05-18 Thread Dimitry Sibiryakov
Hello, All. Are these keywords to be case-sensitive? Insensitive? Platform-dependent? -- WBR, SD. -- Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to

Re: [Firebird-devel] Plugin registration name

2016-05-12 Thread Dimitry Sibiryakov
12.05.2016 10:21, Alex Peshkoff wrote: >> If I call registerPluginFactory() with name "MyPlugin", will it be >> accessible as >> >"myplugin" later? >> > > PathName rules Are you sure? In the case of wire encryption plugin (and may be auth and base encryption) this name is traveling

Re: [Firebird-devel] Plugin registration name

2016-05-12 Thread Dimitry Sibiryakov
12.05.2016 11:54, Alex Peshkoff wrote: > Registered name - no, it does not. Travels configured plugin name. In common case former is used as later. -- WBR, SD. -- Mobile security can be enabling, not merely

Re: [Firebird-devel] Plugin registration name

2016-05-12 Thread Dimitry Sibiryakov
12.05.2016 10:21, Alex Peshkoff wrote: > PathName rules Ok. Could you add it to API manual? -- WBR, SD. -- Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to

[Firebird-devel] Plugin name case-sensitivity

2016-05-04 Thread Dimitry Sibiryakov
Hello, All. I cannot find in Release Notes a rule for plugin name (registration name) sensitivity. Are they case-sensitive on all platforms? Case-insensitive? Platform-dependent? -- WBR, SD. -- Find and fix

Re: [Firebird-devel] PathName and operator +=

2016-05-06 Thread Dimitry Sibiryakov
06.05.2016 18:40, Adriano dos Santos Fernandes wrote: > Use cases for this? Look at TempFile::init(), for example. File name there is combined from several parts. -- WBR, SD. -- Find and fix application

Re: [Firebird-devel] PathName and operator +=

2016-05-06 Thread Dimitry Sibiryakov
06.05.2016 18:04, Adriano dos Santos Fernandes wrote: > We already have PathUtils::concatPath doing this correctly (putting an > separator between the parts). I know. But because I'm refactoring PathName class, Alex suggested to move most of PathUtils' functionality into it. That's why I

Re: [Firebird-devel] PathName and operator +=

2016-05-06 Thread Dimitry Sibiryakov
06.05.2016 18:45, Adriano dos Santos Fernandes wrote: > There is no ambiguity. > > You can see similar operations in any file/path API you look for: qt, > Java, C#, etc. A good source to not reinvent the wheel with bad semantics. I see that QFile and File in Java indeed have constructors with

Re: [Firebird-devel] PathName and operator +=

2016-05-06 Thread Dimitry Sibiryakov
06.05.2016 18:56, Adriano dos Santos Fernandes wrote: >> >PathName(const PathName&, const PathName&) // dirsep between >> > > Should not exist IMO. Potentially wrong operation. It looks like you assumed from class name that it contain only paths. That's not true. It is class for any FS

Re: [Firebird-devel] PathName and operator +=

2016-05-06 Thread Dimitry Sibiryakov
06.05.2016 18:19, Adriano dos Santos Fernandes wrote: > Also constructor PathName(const PathName&, const string&) would be good. Why? It has the same ambiguity: whether to put dir separator in between or not. -- WBR, SD.

Re: [Firebird-devel] PathName and operator +=

2016-05-06 Thread Dimitry Sibiryakov
06.05.2016 19:03, Adriano dos Santos Fernandes wrote: > Yes, PathName may represent a relative path, but generally (always?) you > know that a path read from somewhere will or not going to be appended > with a parent path. No, on contrary in current code they are always split or combined with

Re: [Firebird-devel] PathName and operator +=

2016-05-06 Thread Dimitry Sibiryakov
06.05.2016 18:15, Alex Peshkoff wrote: > Looking at this discussion - methods. So, we have an agreement that: 1) Operators '+' and '+=' must be prohibited for PathName; 2) Methods appendPath() and appendString() to be introduced to allow append a path (file name) with proper separator and

Re: [Firebird-devel] PathName and operator +=

2016-05-06 Thread Dimitry Sibiryakov
06.05.2016 17:27, Adriano dos Santos Fernandes wrote: > You can have a PathName += string Ok, must this operation ensure dir separator between the parts? Should be here an operator or function that can be used to append a relative path to a root directory path, for example? -- WBR,

Re: [Firebird-devel] PathName and operator +=

2016-05-06 Thread Dimitry Sibiryakov
06.05.2016 17:44, Adriano dos Santos Fernandes wrote: > It should throw an error if the string is an absolute path. Ok, but what it must to do if appended path is relative? For example, what should be result of "/usr/bin/firebird" += "plugins/" ? "/usr/bin/firebirdplugins/" or

Re: [Firebird-devel] PathName and operator +=

2016-05-06 Thread Dimitry Sibiryakov
06.05.2016 21:53, Adriano dos Santos Fernandes wrote: > - Put a "const string& getAsString()" or a "string toString()" method. No way. Returning AutoStorage descendant by value is an unpredictable behavior. -- WBR, SD.

Re: [Firebird-devel] PathName and operator +=

2016-05-06 Thread Dimitry Sibiryakov
06.05.2016 21:56, Dmitry Yemanov wrote: > Speaking about storage, would it make sense to define PathName > statically allocated (MAX_PATH limited)? We have just a few of these > objects stored persistently, most dynamic operations are local -- having > them on stack would save us costly

Re: [Firebird-devel] PathName and operator +=

2016-05-06 Thread Dimitry Sibiryakov
06.05.2016 17:17, Adriano dos Santos Fernandes wrote: > There is no sense in concatenate /x with /y, and even more c:\a with d:\b Do you suggest to prohibit concatenation of PathName at all? -- WBR, SD. -- Find

Re: [Firebird-devel] Wildcards in config include clause

2016-05-10 Thread Dimitry Sibiryakov
10.05.2016 15:21, Alex Peshkoff wrote: >> > May be ConfigFile::include() should cut into pieces not whole path, >> > but only part with >> >wildcards?.. >> > > no Why? -- WBR, SD. -- Mobile security can be

Re: [Firebird-devel] Wildcards in config include clause

2016-05-10 Thread Dimitry Sibiryakov
10.05.2016 15:37, Alex Peshkoff wrote: > I do: > cd /opt/firebird > mv conf conf2 > mv conf1 conf > > Is it enough? Won't it change timestamp of conf and any file inside of it? -- WBR, SD. --

Re: [Firebird-devel] Wildcards in config include clause

2016-05-10 Thread Dimitry Sibiryakov
10.05.2016 14:53, Alex Peshkoff wrote: >> What changes in /usr can make new files to be included? Why "/usr" is >> cached at all if >> >this is not a file? >> > > cd /usr > rm -rf firebird > tar xf firebird.image.tar It is fine, but now, actually, any change in /usr will make config to

[Firebird-devel] Assertion in HEAD

2016-05-10 Thread Dimitry Sibiryakov
Hello, All. Debug build of current HEAD on Win64 fails with following stack trace. > msvcr120d.dll!07f904db7642()Unknown > msvcr120d.dll!07f904ee2044()Unknown > engine12.dll!fb_assert_impl(const char * msg, const char * file, int > line, bool

Re: [Firebird-devel] Wildcards in config include clause

2016-05-10 Thread Dimitry Sibiryakov
10.05.2016 10:42, Alex Peshkoff wrote: > If as a result not too much files (and that files are really useful one) > are included - why not. (Certainly with this particular sample using > ".." that's hardly possible). > Something like > > include plugins/vendors/*/*.cnf > > appears really useful.

Re: [Firebird-devel] Wildcards in config include clause

2016-05-10 Thread Dimitry Sibiryakov
10.05.2016 14:31, Alex Peshkoff wrote: > If directory is changed that can mean new files in it to be included. I don't quite understand it. To cache is added every file in every directory that matches pattern. Say, in firebird.conf file there is line "include

Re: [Firebird-devel] Assertion in HEAD

2016-05-10 Thread Dimitry Sibiryakov
10.05.2016 17:43, Alex Peshkoff wrote: > What exact digits do you get in ProbeStack() for myStack and thisLocation? thisLocation = 0x00132018 myStack = 0x00111574 But increasing this for a couple of kilobytes will only put the problem off. This procedure has much more local

Re: [Firebird-devel] Assertion in HEAD

2016-05-10 Thread Dimitry Sibiryakov
10.05.2016 18:22, Alex Peshkoff wrote: > I think that for 32-bit systems it's time to change limit to 256Kb, for > 64 - to 512Kb. Max page size doesn't depend on bitness. Thus there is no point to have different limit. I'd suggest to try

Re: [Firebird-devel] Assertion in HEAD

2016-05-10 Thread Dimitry Sibiryakov
10.05.2016 19:23, Alex Peshkoff wrote: > builtin_frame_address() is not looking good at the first glance. > A message about it saying "Calling this function with a nonzero argument can > have unpredictable effects, including crashing the calling program" does not > provide big desire to use it

[Firebird-devel] Plugin name case-sensitivity

2016-05-02 Thread Dimitry Sibiryakov
Hello, All. I cannot find in Release Notes a rule for plugin name (registration name) sensitivity. Are they case-sensitive on all platforms? Case-insensitive? Platform-dependent? -- WBR, SD. -- Find and fix

[Firebird-devel] ICU upgrade

2016-04-15 Thread Dimitry Sibiryakov
Hello, All. Currently used ICU 5.2 has issue with non-ANSI directory names on Windows: u_init() call fails with error code 4. This issue is fixed in ICU 5.4. I'm suggesting to upgrade ICU version used by Firebird 4. -- WBR, SD.

Re: [Firebird-devel] ICU upgrade

2016-04-15 Thread Dimitry Sibiryakov
15.04.2016 19:48, Alex Peshkoff wrote: > when RC time comes It will be too late to find out problems. -- WBR, SD. -- Find and fix application performance issues faster with Applications Manager Applications

Re: [Firebird-devel] ICU upgrade

2016-04-15 Thread Dimitry Sibiryakov
15.04.2016 19:48, Alex Peshkoff wrote: > I agree that should be done, but one addition - it's too early to choose > ICU version, when RC time comes there will be more fresh one, sooner of > all better. Will happen something bad if it will be upgraded twice between releases? -- WBR, SD.

[Firebird-devel] Multivolume backup

2016-04-18 Thread Dimitry Sibiryakov
Hello, All. Is subj still relevant to version 4? -- WBR, SD. -- Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into

[Firebird-devel] Trace files and lock directory

2016-04-14 Thread Dimitry Sibiryakov
Hello, All. Is it a right thing that temporary trace files are created in lock directory instead of temp directory? -- WBR, SD. -- Find and fix application performance issues faster with Applications Manager

Re: [Firebird-devel] PathName and operator +=

2016-05-07 Thread Dimitry Sibiryakov
07.05.2016 0:17, Adriano dos Santos Fernandes wrote: > Define the problem. > > I do not see this unpredictable behavior. Usual code for such methods are: XXX YYY:toXXX() { return XXX(*this); } Note that constructor here uses default pool. Now look at calling code: XXX a(anyPool); a

[Firebird-devel] Protection from symlinks

2016-05-07 Thread Dimitry Sibiryakov
Hello, All. In path_utils.h there is a comment: > /** isSymLink returns true if the given path is symbolic link, and > false if not. > Use of this links may provide way to override system security. > Example: ln -s /usr/firebird/ExternalTables/mytable >

Re: [Firebird-devel] PathName and operator +=

2016-05-07 Thread Dimitry Sibiryakov
07.05.2016 18:03, Adriano dos Santos Fernandes wrote: > Optimizations are not allowed to broke conforming code. Compiler is free to destroy old instance of object and create a new one when its content is overwritten by assignment operator using appropriate copy or move constructor. For

Re: [Firebird-devel] PathName and operator +=

2016-05-07 Thread Dimitry Sibiryakov
07.05.2016 20:00, Adriano dos Santos Fernandes wrote: No, just no! It will not do this! You're free to write minimal test case compiling with maximum optimization to demonstrate this. You will fail, I know. Try attached test and notice "B destructed" in the middle of output. -- WBR, SD.

[Firebird-devel] Wildcards in config include clause

2016-05-07 Thread Dimitry Sibiryakov
Hello, All. Do it really desirable to allow wildcards in any part of path? Consider, for example, following: include ../../*/*/*/* -- WBR, SD. -- Find and fix application performance issues faster with

Re: [Firebird-devel] PathName and operator +=

2016-05-07 Thread Dimitry Sibiryakov
07.05.2016 17:47, Adriano dos Santos Fernandes wrote: > There is no problem How can you be so sure? Did you inspected exact way copy elision works for every used compiler? -- WBR, SD. -- Find and fix

Re: [Firebird-devel] PathName and operator +=

2016-05-09 Thread Dimitry Sibiryakov
08.05.2016 23:52, Adriano dos Santos Fernandes wrote: > It needs to create and destroy a temporary B. You are right. But it doesn't make returning by value better, because a) it guaranteed overhead b) it is enough to forget to define explicit assignment operator in any descendant of

Re: [Firebird-devel] PathName and operator +=

2016-05-09 Thread Dimitry Sibiryakov
06.05.2016 20:20, Alex Peshkoff wrote: > Why file name should be represented as a string, not PathName? It does > not follow from what you say before. Moreover, if we need to correctly > compare that file name with another one we must "use PathName ... to > solve". I.e. to correctly work with file

Re: [Firebird-devel] PathName and operator +=

2016-05-09 Thread Dimitry Sibiryakov
09.05.2016 18:22, Adriano dos Santos Fernandes wrote: > This should be as the rule above. Second argument is absolute (relative > to current drive, but still absolute), so if we want this logic, should > be = \qwe\uio\ which you may later interpret relative to current drive. What is "current

Re: [Firebird-devel] PathName and operator +=

2016-05-09 Thread Dimitry Sibiryakov
09.05.2016 18:33, Adriano dos Santos Fernandes wrote: > The drive of current directory. > > If you want to transform a relative path to absolute, you will use the > current drive and directory. In this case current directory should be in left part of concatenation, shouldn't it? -- WBR,

Re: [Firebird-devel] PathName and operator +=

2016-05-09 Thread Dimitry Sibiryakov
09.05.2016 19:00, Adriano dos Santos Fernandes wrote: > The PathName should not automatically transform paths to full (absolute) > paths when combining or assigning. But currently this is exactly what it does everywhere across Firebird code. Here and there separate routines combine different

Re: [Firebird-devel] [FB-Tracker] Created: (CORE-5252) Crash on bugs.core_3029 in dev build

2016-05-25 Thread Dimitry Sibiryakov
Here is sequence of savepoints generated in this test: > Request to rollback to 11. Stack is 14->11->5->10->1-> > Request to rollback to 10. Stack is 5->10->1-> In this particular case it is not hard to fix because requested savepoint really exists in stack. But I'd like to ask: in

Re: [Firebird-devel] IAttachment::openCursor with single result

2016-07-27 Thread Dimitry Sibiryakov
27.07.2016 12:26, Alex Peshkoff wrote: > Raise error. What gds code? -- WBR, SD. -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which

[Firebird-devel] IAttachment::openCursor without outMetadata

2016-07-25 Thread Dimitry Sibiryakov
Hello, All. In new API guide it is written that "Format of output data is defined by outMetadata parameter, leaving it NULL default format may be used". But in code I everywhere see comparison with DELAYED_OUT_FORMAT, which declared (in common.h ?!?) as 1. Where it the truth? --

<    9   10   11   12   13   14   15   16   17   18   >