Re: [Firebird-devel] Firebird 3.0.3 build on Fedora rawhide icu 60.2

2018-02-26 Thread Michal Kubecek
On Wed, Feb 21, 2018 at 11:46:57AM +0100, Philippe Makowski wrote:
> 
> firebird-3.0.3.32900 doesn't build on Fedora rawhide with icu 60.2
> 
> Any idea on how to fix it ?
> 
> error: 'char16_t' does not name a type; did you mean 'charset'?
> error: 'UChar' does not name a type; did you mean 'UChar32'?

I have seen similar errors when building Firebird 2.5 with ICU 59 as it
requires (at least) C+11. However, Firebird 3.0 should use C++11 by
default, IIRC.

> https://paste.fedoraproject.org/paste/o4g95lyp3QPMWO80NfwM3A

No -std=c++11 here, though. Did you override build options?

Michal Kubecek

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Firebird 3 and ICU

2018-01-19 Thread Michal Kubecek
On Fri, Jan 19, 2018 at 12:14:45PM +0300, Roman Simakov wrote:
> 
> It seems that we have a problem with installation of Firebird 3 on
> OpenSuse. I get "Could not find acceptable ICU library".
> 
> I took a look into sources. FB tries to search ICU modules in some
> magic manner combining major and minor versions. But it looks in Suse
> icu libraries has additional prefix like ".1" or "_1". I tries to make
> symlink and server could find .so! However it could not find functions
> because of the same problem. They also use such suffixes.
> 
> Anybody can fix a magic of library and functions looking up or at
> least explain me an idea of naming?

The reason for SUSE ICU package using different soname is that upstream
ICU makes incompatible API changes without updating major version number
(and, therefore, soname) from time to time. That's why SUSE packages add
minor version to soname.

The 3.0 package in Tumbleweed (openSUSE:Factory) is patched to handle
this but it's rather an ugly hack that I didn't dare to submit to
(Firebird) upstream.

Another problem is that this hack is not very future proof as it just
adds a list of versions to existing array. Neither is the original
Firebird code but while it's going to "run out of numbers" with ICU 70,
my hack already did when ICU 60 hit Factory. Dimstar band-aided this by
adding 60 to the array but I'll have to add few more numbers so that we
are good for some more time (at least until 70 when upstream code needs
updating too). Unfortunately there is no chance I would find time to
resolve this properly in near future.

For the record, the test OBS repositories home:mkubecek:firebird40 and
home:mkubecek:firebird30 are not patched yet but those are currently few
months behind upstream git anyway.

Michal Kubecek


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Weird date/time literals

2018-01-18 Thread Michal Kubecek
On Thu, Jan 18, 2018 at 12:10:19PM +0100, Dimitry Sibiryakov wrote:
> 18.01.2018 11:57, Dmitry Yemanov wrote:
> >IMO, no sane person would rely on that intentionally.
> 
>   Why? This is the only method to get procedure compilation time, AFAIR.

While I hate abusing it in general, in this case I can't help
referencing https://xkcd.com/1172/ :-)

Michal Kubecek


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] ISQL open unassigned issues

2018-01-17 Thread Michal Kubecek
On Tue, Jan 16, 2018 at 12:46:32PM -0500, William L. Thomson Jr. wrote:
> You all are likely aware already. If not then you are now :)
> 
> A user brought this up recently in #firebird IRC channel @freenode.net.
> They were having some issues with history for ISQL command. They were
> working on a solution, but no success thus far. I suggested they file
> an issue. Which they did.
> http://tracker.firebirdsql.org/browse/CORE-5711

While you say "were having issues" and type is set to "Bug" (even with
priority Major), it definitely feels like a pure feature request to me.

Michal Kubecek

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Meltdown and Spectre

2018-01-10 Thread Michal Kubecek
> The performance impact of the recent fixes hinge, mainly, on whether
> the host OS/kernel has PCID support.

First of all, the CPU must support PCID.

> PCID support was only added to linux kernel 4.14, released November
> 2017.

... and only to recent CPUs.

Michal Kubecek


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Fwd: [pkg-firebird-general] Bug#879972: firebird3.0: FTBFS with icu59, simple workaround/patch attached

2017-11-01 Thread Michal Kubecek
On Wed, Nov 01, 2017 at 12:17:41PM +0200, marius adrian popa wrote:
> Thanks for the input 
> 
> here is also the libreoffice approach for new icu 
> 
> https://github.com/LibreOffice/core/commit/
> fabad007c60958f2ff87e8f636ff6a798ad1f963#diff-5cdae6d283d6fdef5700f98b098748cc
> 
> I guess the new icu will work on new distros with firebird 3.0 

Yes, FB 3.0 is already built with -std=c++11 so that it doesn't have
problem with new ICU.

> 2.5 is already removed in debian testing / next ubuntu versions 

That's why I think this isn't much problem for distribution packages;
only latest versions of distribution have ICU >= 59.1 and those are
likely to have switched to FB3 already.

It's a problem for people who build Firebird 2.5 for new distributions
themselves, though. The workaround defining UCHAR_TYPE is probably the
best way to go at the moment. I just wanted to point out that more
problems with ICU can be expected in the future.

        Michal Kubecek


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Fwd: [pkg-firebird-general] Bug#879972: firebird3.0: FTBFS with icu59, simple workaround/patch attached

2017-10-31 Thread Michal Kubecek
On Mon, Oct 30, 2017 at 05:04:25PM +0200, marius adrian popa wrote:
> Firebird 3.0 icu59 ubuntu related patch
> 
> -- Forwarded message --
> From: Adam Conrad <adcon...@debian.org>
> Date: Fri, Oct 27, 2017 at 10:03 PM
> Subject: [pkg-firebird-general] Bug#879972: firebird3.0: FTBFS with icu59,
> simple workaround/patch attached
> To: Debian Bug Tracking System <sub...@bugs.debian.org>
> 
> 
> Package: firebird3.0
> Version: 3.0.2.32703.ds4-11
> Severity: important
> Tags: patch
> User: ubuntu-de...@lists.ubuntu.com
> Usertags: origin-ubuntu bionic ubuntu-patch
> 
> 
> 
> In Ubuntu, the attached patch was applied to achieve the following:
> 
>   * Define UCHAR_TYPE=uint16_t to avoid C++11 and fix FTBFS with icu59.
> 
> So, here's what's happening.  In icu59, UChar is defined as char16_t if
> you're compiling a C++ project (ie: ifdef __cplusplus), but char16_t is
> a C++11 type.  One could argue this is an ICU bug for forcing rdeps to
> conform to a newer C++ standard (and one could even win that argument,
> I imagine), but I figured working around it in firebird was the path of
> least resistance.
> 
> My first attempt was to change the firebird build from std=gnu++98 to
> std=gnu++11.  Don't do that.  I mean, try if you want, but it does not
> end well.
> 
> This patch just tells icu to use the same type for UChar that it used to
> and it seems to do the trick here.  So, enjoy.

This will probably work around the immediate build problem but as
I pointed out some time ago in

  
http://firebird.1100200.n4.nabble.com/heads-up-ICU-59-1-requires-C-11-td4645984.html

the real problem is that starting with version 59.1, ICU officially
requires C++11 so that there may be other, more subtle, issues with it
and even if not, more can be expected to come with newer versions.

On the other hand, making 2.5 code fully conform to C++11 might bring
other problems so addressing ICU compatibility problems one by one is
probably the only viable option (except just claiming that users of
distributions that new should use 3.0).

   Michal Kubecek


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Understanding OLTP results

2017-09-14 Thread Michal Kubecek
On Thu, Sep 14, 2017 at 10:46:12AM +0200, Paul Reeves wrote:
> 
> Your figures show that FB3 and Kernel 4.1.12 was the slowest
> combination.
> 
> Although it is interesting to see that FB 4 Alpha 1 is performing
> better than FB 3.0.3.
> 
> Anyway, if I understand correctly the issue is with the kernels, not
> firebird. Have you tried other kernels from other distros ? ( 4.1 is
> getting old, now - the latest is 4.12, I think. )

It's a bit more complicated. Latest release is 4.13 since few days ago
but most distributions - and in particular those targeted for server use
- have something older. E.g. RHEL7 has 3.10, SLES12 3.12 (GA and SP1) or
4.4 (SP2 and SP3). And there are even SLES11 SP4 (3.0) or RHEL6
(2.6.32). On the other hand, version itself may not be sufficient as
those kernels often have many backports that can affect performance
quite a lot.

What would be interesting would be using e.g. perf to identify where
does the difference between kernel versions come from (assuming kernel
is indeed the only different component between two tests).

        Michal Kubecek


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] sse3 host x64 linux

2017-07-10 Thread Michal Kubecek
On Mon, Jul 10, 2017 at 03:04:12PM +0300, marius adrian popa wrote:
> 
> ./autogen.sh --prefix=/opt/firebird3.x
> 
> /home/mariuz/Work/firebird/firebird/gen/Release/firebird/bin/gpre_current -m 
> -z
> -n /home/mariuz/Work/firebird/firebird/src/yvalve/blob.epp /home/mariuz/Work/
> firebird/firebird/temp/Release/yvalve/blob.cpp
> gpre version LI-V3.0.3.32749 Firebird 3.0
> *** Error in `/home/mariuz/Work/firebird/firebird/gen/Release/firebird/bin/
> gpre_current': free(): invalid size: 0x7eff6c49c2a0 ***

Please try if adding "-fno-delete-null-pointer-checks" to CXXFLAGS helps.

Michal Kubecek


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] gpre error when trying to build

2017-06-17 Thread Michal Kubecek
On Sat, Jun 17, 2017 at 02:35:46PM -0400, U-BLASTER-6000\mtdew wrote:
> 
> I am trying to build from source firebird 2.5. I am intersted in using
> gpre with cobol.
> 
> I use ./configure -with-gpre-cobol -with-system-icu
> 
> I get past configure but then run into these errors when trying to use
> the command make.
> 
> Please let me know if there is anything I can do to get past these
> errors. Hopefully it is something silly I am doing.
> 
> thx. very much- jim
> 
> ../src/common/classes/alloc.cpp:2127:7: error: declaration of ‘void* operator 
> new(size_t) throw (std::bad_alloc)’ has a different exception specifier
>  void* operator new(size_t s) THROW_BAD_ALLOC
>^~~~

There are some issues when building Firebird with compiler in C++14 mode
which is default for gcc >= 6. For details see e.g.

  https://tracker.firebirdsql.org/browse/CORE-5099

For Firebird 2.5, the problem can be worked around by adding
"-std=gnu++98 -fno-lifetime-dse" to CXXFLAGS which enforces C++98 mode
even on newer gcc and disables certain optimizations.

However, if your ICU is version 59.1 (or newer), you may be in trouble
as that requires C++11:

  https://sourceforge.net/p/firebird/mailman/message/35878832/

Michal Kubecek


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


[Firebird-devel] heads up: ICU 59.1 requires C++11

2017-06-06 Thread Michal Kubecek
Hello,

last week I noticed my Firebird 2.5 packages started to fail building
for openSUSE Factory. A bit surprisingly this is not caused by the
switch to gcc7 but by an upgrade of ICU to 59.1.

According to their release notes, ICU 59.1 requires C++11 to build. An
immediate symptom is an error about unknown type uchar16_t. This would
be probably easy to  work around but there may be more subtle issues.
It's only a problem for Firebird 2.5 as 3.0 and newer use C++11 mode by
default anyway. For 2.5, though, most gcc6 compatibility issues were
worked around by enforcing C++98 mode (-std=gnu++98).

It's probably nothing really serious as distributions which are new
enough to provide ICU 59.1 most likely already have Firebird 3.0 which
is fine; I just wanted to give a heads up to save others time if they
run into this issue.

Michal Kubecek

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Build FB 3 on openSUSE 42.2 ICU problem

2017-03-07 Thread Michal Kubecek
On Tue, Mar 07, 2017 at 01:54:38PM +0100, Martin Schreiber wrote:
> On 03/07/2017 11:35 AM, Michal Kubecek wrote:
> > 
> > FYI: unless you have other reasons to do your build, there are ready to
> > use FB 3.0 packages in OBS projects server:database (copy of what is in
> > Tumbleweed) and home:mkubecek:firebird30 (recent git snapshot):
> > 
> >   
> > http://download.opensuse.org/repositories/server:/database/openSUSE_Leap_42.2/
> >   
> > http://download.opensuse.org/repositories/home:/mkubecek:/firebird30/openSUSE_Leap_42.2/
> > 
> Thanks, I need debuginfo and debugsource for libfbclient.so.3.0.1 which
> I could not find in the packages. What is the correct package for
> libfbclient debuginfo?

It should be libfbclient2-debuginfo which seems to be available in both
repositories. As for -debugsource, there is only firebird-debugsource as
debugsource packages are named after the source packages, not after
binary ones (like debuginfo). But it should provide sources for
everything built from firebird source RPM, including libfbclient2.

Michal Kubecek

--
Announcing the Oxford Dictionaries API! The API offers world-renowned
dictionary content that is easy and intuitive to access. Sign up for an
account today to start using our lexical data to power your apps and
projects. Get started today and enter our developer competition.
http://sdm.link/oxford
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Build FB 3 on openSUSE 42.2 ICU problem

2017-03-07 Thread Michal Kubecek
On Tue, Mar 07, 2017 at 11:03:33AM +0100, Martin Schreiber wrote:
> I try to compile git B3_0_Release branch on openSUSE Leap 42.2. It fails
> with
> "
> /home/mse/packs/standard/git/firebird/source_3_0/gen/Release/firebird/bin/isql
> -q -i /home/mse/packs/standard/git/firebird/source_3_0/src/dbs/metadata.sql
> can't format message 17:0 -- message file
> /home/mse/packs/standard/git/firebird/source_3_0/gen/Release/firebird/firebird.msg
> not found
> Could not find acceptable ICU library

You would need the patch

  unicode-handle-the-ICU-version-hack-from-SuSE.patch

from

  https://build.opensuse.org/package/show/home:mkubecek:firebird30/firebird

It's ugly but I didn't get to replacing it with something nicer yet.

FYI: unless you have other reasons to do your build, there are ready to
use FB 3.0 packages in OBS projects server:database (copy of what is in
Tumbleweed) and home:mkubecek:firebird30 (recent git snapshot):

  http://download.opensuse.org/repositories/server:/database/openSUSE_Leap_42.2/
  
http://download.opensuse.org/repositories/home:/mkubecek:/firebird30/openSUSE_Leap_42.2/

Michal Kubecek


--
Announcing the Oxford Dictionaries API! The API offers world-renowned
dictionary content that is easy and intuitive to access. Sign up for an
account today to start using our lexical data to power your apps and
projects. Get started today and enter our developer competition.
http://sdm.link/oxford
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


[Firebird-devel] windows test build - least painful way?

2017-02-28 Thread Michal Kubecek
Hello,

as my Hackweek project, I played with struct rem_port and tried to turn
it into class hierarchy with virtual functions. The plan is to use this
to implement listening on multiple sockets (CORE-5219) and possibly also
AF_UNIX socket support but I didn't get that far yet. Current state of
the cleanup is at

  https://github.com/mkubecek/firebird/commits/mk/4.0/remote-cleanup

The problem is the series also touches windows specific code (including
WNET and XNET) and I'm pretty sure there are some typos and omissions
which I would like to fix before submitting a pull request.

The problem is the only Windows system I have is a VM with Windows XP
and even the oldest version of MSVC Express I was able to find requires
at least Windows 7 SP1. I believe I may still have an installation DVD
of Windows 7 somewhere but before I try to find it, I wanted to ask if
there is some other way. I noticed there is a configuration for
travis-ci but AFAICS that only does linux test builds; is there
something similar for windows test builds?

Thanks for any advice,
Michal Kubecek


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] RFC: Timeouts

2017-02-22 Thread Michal Kubecek
On Wed, Feb 22, 2017 at 02:42:16PM +0200, Vlad Khorsun wrote:
> 16.02.2017 12:59, Vlad Khorsun wrote:
> >
> >The code is committed at separate branch:
> >
> > https://github.com/FirebirdSQL/firebird/tree/timeouts
> >
> > ...
> >
> > If there will be no objections i plan to merge it into master next week.
> 
>Done, testers are welcome ;)

Breaks build on openSUSE Factory for me. The patch below seems to fix it
(didn't check too thouroughly so far).

Michal Kubecek


--8<
diff --git a/builds/posix/firebird.vers b/builds/posix/firebird.vers
index 8ae5b91b8660..4e09817f754e 100644
--- a/builds/posix/firebird.vers
+++ b/builds/posix/firebird.vers
@@ -225,6 +225,7 @@ isc_dsql_prepare_m
 isc_dsql_release
 isc_dsql_set_cursor_name
 isc_dsql_sql_info
+fb_dsql_set_timeout
 
 # ESQL functions
 
--8<

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


[Firebird-devel] -std=c++11 added to CXXFLAGS in 3.0 on linux

2017-01-19 Thread Michal Kubecek
Hello,

commit 52d9a05a0f3d ("Backport from master: Optimized hash function for
lock manager and hash join") in B3_0_Release branch adds "-std=c++11" to
CXXFLAGS on Linux.

Is this change intentional? Is it something we want? It doesn't seem to
be necessary, as far as I can say, the build succeeds without it, both
with gcc 4.3 and gcc6.

         Michal Kubecek


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] linux build failure - security.sql (bisected)

2017-01-17 Thread Michal Kubecek
On Tue, Jan 17, 2017 at 11:30:53AM +0100, Dimitry Sibiryakov wrote:
> 17.01.2017 9:47, Michal Kubecek wrote:
> > The offending line seems to be
> >
> >   CREATE DOMAIN PLG$PASSWD AS VARCHAR(64) CHARACTER SET BINARY;
> >
> > I bisected it to commit
> >
> >   7b9b408658e1  Implementation of CORE-5064 (#73)
> >
> > I didn't look too deep but maybe newly introduced type "binary" collides
> > with "character set binary" used here
> 
>Yes, as "binary" now is reserved word. Try to change the line to
>"CREATE DOMAIN PLG$PASSWD AS VARBINARY(64)".

This does the trick, the build succeeds then. However, if we really have
a character set named "binary", it's probably unusable now (I tried to
put the name into single quotes but the parser doesn't accept that).

  Michal Kubecek


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


[Firebird-devel] linux build failure - security.sql (bisected)

2017-01-17 Thread Michal Kubecek
Hello,

linux build of master branch currently fails on command

  .../gen/Release/firebird/bin/isql -i .../src/dbs/security.sql security.tmp

with the following error:

  can't format message 17:0 -- message file 
/usr/lib64/firebird/lib/firebird.msg not found
  Dynamic SQL Error
  -SQL error code = -104
  -Token unknown - line 1, column 55
  -BINARY
  can't format message 17:119 -- message file 
/usr/lib64/firebird/lib/firebird.msg not found
  can't format message 17:0 -- message file 
/usr/lib64/firebird/lib/firebird.msg not found
  unsuccessful metadata update
  -CREATE TABLE PLG$USERS failed

The offending line seems to be

  CREATE DOMAIN PLG$PASSWD AS VARCHAR(64) CHARACTER SET BINARY;

I bisected it to commit

  7b9b408658e1  Implementation of CORE-5064 (#73)

I didn't look too deep but maybe newly introduced type "binary" collides
with "character set binary" used here.

          Michal Kubecek


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Firebird backward incompatibility Firebird 3.0 reading 2.5 format

2016-11-25 Thread Michal Kubecek
On Fri, Nov 25, 2016 at 06:38:39PM +0200, marius adrian popa wrote:
> Thread is for migration of the already created odb files with 2.5 databases
> inside but also about the forward and backward compatibilty of the backup
> archive 
> 
> https://lists.freedesktop.org/archives/libreoffice/2016-November/075953.html

To make migration easier for openSUSE/SLE users, I created package
compat-firebird25 with modified paths so that it doesn't collide
with standard FB3 packages and can be installed alongside them. It
installs only a minimal set of files needed to access local database
files in embedded mode and back them up to be restored by FB3 gbak.
It also provides a simple script to migrate a database either via
a pipe (gbak25 | gbak30) or using an intermediate file.

The idea of using a backup file rather than platform and version
dependent database file in LibreOffice sounds like the right solution,
as far as I can say.

       Michal Kubecek

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


Re: [Firebird-devel] Firebird 3.0.1 still don't build under Fedora 24 with gcc6

2016-09-30 Thread Michal Kubecek
On Fri, Sep 30, 2016 at 11:04:44AM +0200, Philippe Makowski wrote:
> Hi,
> 
> I tried to build latest stable 3.0.1 under Fedora 24 without success.
> Fedora 24 use gcc 6.2.1
> 
> 
> log is here :
> https://copr-be.cloud.fedoraproject.org/results/makowski/firebird/fedora-24-x86_64/00459581-firebird/build.log.gz
> 
> I tried with these 2 OpenSuse patches
> https://build.opensuse.org/package/view_file/home:mkubecek:firebird30/firebird/Make-the-generated-code-compatible-with-gcc-6-in-C-1.patch?expand=1
> and
> https://build.opensuse.org/package/view_file/home:mkubecek:firebird30/firebird/Provide-sized-global-delete-operators-when-compiled-.patch?expand=1
> 
> spec and patches are here :
> http://copr-dist-git.fedorainfracloud.org/cgit/makowski/firebird/firebird.git/tree/?id=767d4a0057b13c1e706a003b96f477580a5013c3

Please try adding -fno-delete-null-pointer-checks to CXXFLAGS. To be on
the safe side, you might also add -fno-strict-aliasing to both CFLAGS
and CXXFLAGS but it's probably not critical.

         Michal Kubecek


--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] C++11 features

2016-08-31 Thread Michal Kubecek
On Wed, Aug 31, 2016 at 10:06:50AM +0200, Thomas Steinmaurer wrote:
> > 31.08.2016 05:14, Adriano dos Santos Fernandes wrote:
> >>
> >> In the code I'm writing, I had good opportunities to use some features
> >> that the compiler flags we're using disallowed, like lambda and default
> >> arguments for template parameter.
> >>
> >> Also we have the ubiquitous ugly iterator types in for's with would
> >> benefit from "auto".
> >>
> >> It seems we already had some discussion of usage of some of these
> >> features, but builds are not adjusted.
> >>
> >> The obsolete language standard we're using is so boring and so outdated.
> >> We need to move on.
> >
> > Basically, I agree. IIRC, a showstopper is MSVC10 support which I'd
> > prefer to keep for a while. But if others don't consider it really
> > important, I'm not going to stop the progress ;-)
> 
> Do we know that the new language features are stable enough?
> 
> I know, you are talking about C++ ... but e.g. we had serious troubles 
> with new fency language stuff in JDK8 like lambdas, streams (under high 
> concurrency) with the JIT compiler etc., thus new is not always better 
> (especially under load) although more convenient for the developer.

This might vary a lot from feature to feature. There may be also
difference between the language itself and standard library. For
example, gcc 4.8 (which is the standard compiler in SLES 12, including
upcoming SP2) supports C++11 as a language dialect but it has completely
broken std::regex implementation.

  Michal Kubecek


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


Re: [Firebird-devel] [FB-Tracker] Created: (CORE-5265) fb_config --embedlibs returns "-lfbembed", but there is no libfbembed.so anymore

2016-06-07 Thread Michal Kubecek
On Tue, Jun 07, 2016 at 03:02:31PM +0300, marius adrian popa wrote:
> On Tue, Jun 7, 2016 at 2:55 PM, Damyan Ivanov (JIRA) <trac...@firebirdsql.org>
> > wrote:
> > 
> > fb_config --embedlibs returns "-lfbembed", but there is no libfbembed.so
> > anymore
>
> Question fb_config --embedlibs should list both fbclient Engine12 ?

IMHO not. AFAIK libEngine12.so is loaded via dlopen() and applications
using embedded connections do not need to be directly linked against it.

         Michal Kubecek


--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-05-06 Thread Michal Kubecek
On Fri, May 06, 2016 at 05:34:10PM +0200, Dimitry Sibiryakov wrote:
> 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?

Not necessarily, I would say, e.g. you may want to add an extension to a
file path.

> Should be here an operator or function that can be used to append a
> relative path to a root directory path, for example?

Such function would be useful, IMHO. But I would be careful about an
operator as that tends to lead to confusing results if second operand is
implicitely promoted from e.g. a string literal. Also, it would be very
confusing if "+" and "+=" did different things.

          Michal Kubecek

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-05-04 Thread Michal Kubecek
On Wed, May 04, 2016 at 04:01:10PM +0200, Stefan Heymann wrote:
> > Ok, that did the trick. I can now also confirm that connecting to a
> > Firebird 2.5 server is quick when IPv6 is inactive on localhost.
> 
> Now that the technical reasons for this one-second delay are
> clarified: is there something that can/will be done to improve the
> situation? Do I need to open a ticket?

As discussed, the problem is in the configuration of the system in
question so that's where a proper solution.

I have a patch allowing "inet4" and "inet6" protocols in URL-like
connection strings to restrict host lookup to IPv4 or IPv6 addresses as
a workaround on systems where the issue cannot be fixed properly. The
patch is at

  https://github.com/mkubecek/firebird/commits/mk/4.0/inet46

I would like to run few more tests and then I'll create a pull request
(tomorrow, hopefully). I believe it can be also cherry picked into
B3_0_Release branch if there are no objections.

        Michal Kubecek

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-04-27 Thread Michal Kubecek
On Wed, Apr 27, 2016 at 03:42:16PM +0200, Dimitry Sibiryakov wrote:
> 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 circumstances as I already wrote.

I already explained why this _workaround_ is wrong - and what the
_solution_ is.

       Michal Kubecek


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-04-27 Thread Michal Kubecek
On Wed, Apr 27, 2016 at 03:24:28PM +0200, Dimitry Sibiryakov wrote:
> 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.

After a one second timeout, apparently. And that's exactly where the
problem is. If connect() failed within the roundtrip to the hop unable
to forward the syn packet on, you wouldn't observe any problem.

        Michal Kubecek


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-04-27 Thread Michal Kubecek
On Wed, Apr 27, 2016 at 09:57:36AM -0300, Adriano dos Santos Fernandes wrote:
> >
> Firebird is not probably (I think) the unique application in the world
> connecting via tcp (ipv4 or ipv6) to things. Or is it?

Definitely not.

> Is the problem happening with other applications and how they are
> solving it or not?

I'm not familiar with the situation on Windows but few years ago when
linux distributions started to have IPv6 enabled by default and popular
websites started to provide  records (and serve IPv6 requests), this
type of problem was observed quite often. To my knowledge, the solution
mostly was to either disable IPv6 or adjust /etc/gai.conf to prefer IPv4
addresses on hosts without IPv6 connectivity, sometimes also adjusting
firewalls so that outgoing IPv6 fail properly rather than being silently
dropped. Some client applications also provide means to enforce IPv4
(e.g. '-4' command line option or a configuration directive).

      Michal Kubecek


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-04-27 Thread Michal Kubecek
On Wed, Apr 27, 2016 at 02:54:11PM +0200, Dimitry Sibiryakov wrote:
> 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.

"solve" -> "worked around"

Firebird code is not the problem, it does exactly what it is supposed
to. 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.

We can - and we IMHO should - provide a workaround but we shouldn't
pretend there is something wrong in using the address system library
told us to use.

          Michal Kubecek


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-04-27 Thread Michal Kubecek
On Wed, Apr 27, 2016 at 11:03:33AM +0200, Dimitry Sibiryakov wrote:
> 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
> Firebird is not reachable on the first in list.

...and either the host is set up not to generate a TCP reset packet or
ICMP destination unreachable message or something eats it between the
endpoints.

Please stop pretending the problem is way worse than it actually is.

        Michal Kubecek

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-04-26 Thread Michal Kubecek
On Tue, Apr 26, 2016 at 09:56:30PM +0200, Michal Kubecek wrote:
> On Tue, Apr 26, 2016 at 07:02:48PM +0200, Dimitry Sibiryakov wrote:
> > 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.
> 
> That doesn't make much sense to me. Actually one of my long term plans
> is to refactor struct rem_port into a hierarchy of classes. But I don't
> see much benefit in providing support for different protocols in the
> form of plugins.

Forgot one important point: vast majority of the code is common, only
a very small part handles the differences between IPv4 and IPv6.

   Michal Kubecek


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-04-26 Thread Michal Kubecek
On Tue, Apr 26, 2016 at 07:02:48PM +0200, Dimitry Sibiryakov wrote:
> 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.

That doesn't make much sense to me. Actually one of my long term plans
is to refactor struct rem_port into a hierarchy of classes. But I don't
see much benefit in providing support for different protocols in the
form of plugins.

While I'm not opposed to the possibility to confine the client to IPv4
(or IPv6), I definitely don't like the idea of making that a default.
Seriously, it's 2016, not 1996.

        Michal Kubecek


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-04-26 Thread Michal Kubecek
On Tue, Apr 26, 2016 at 05:57:19PM +0200, Dimitry Sibiryakov wrote:
> 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.

Not necessarily. The example with "localhost" name is rather artificial.
I'm pretty sure client using linked libfbclient accessing a 2.5 server
running on the same machine is not a common production scenario.

If it's a different machine, there are other options, e.g.

  - do not give the name an  record
  - configure it in a way where the IPv6 connection fails normally

> Disabling IPv6 in client is more realistic solution for now.

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.

          Michal Kubecek


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-04-26 Thread Michal Kubecek
On Tue, Apr 26, 2016 at 01:16:17PM +0200, Dimitry Sibiryakov wrote:
> 26.04.2016 13:12, Michal Kubecek wrote:
> > Are you aware of other client applications doing this for TCP based
> > protocols?
> 
>Any torrent client.

That's completely different situation. With bittorrent, you want to
access all targets, not one of them (unless I guessed wrong what
connection you meant).

           Michal Kubecek

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-04-25 Thread Michal Kubecek
On Mon, Apr 25, 2016 at 05:46:24PM +0200, Dimitry Sibiryakov wrote:
> 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.

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.

        Michal Kubecek


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-04-25 Thread Michal Kubecek
On Mon, Apr 25, 2016 at 05:07:13PM +0200, Stefan Heymann wrote:
> >>Try to set option IPv6V6Only to true in firebird.conf and see if
> >>it makes any difference.
> 
> > This directive affects only listening sockets (i.e. a server) and
> > would actually do the exact opposite: make the server listening on
> > (default) address :: accept only IPv6 connections (to any address).
> > To accept only IPv4 connections, you would rather want
> > "RemoteBindAddress 0.0.0.0" (or e.g. 127.0.0.1).
> 
> We're now talking about Fb3 servers, right? Wenn I connect to a Fb3
> server (using the Fb3 client and "localhost" as the host name), the
> connection is quick.
> 
> The problem is when I use the Fb3 client to connect to a Fb2.5
> database. Then there is this one second delay.

Yes, that's why I explained that the IPv6V6Only directive cannot help
you as it does only affect server so that it can't change the behaviour
of a 3.0 client (and a 2.5 server wouldn't recognize it at all).

> Connection time using the new Fb3 fbclient.dll:
> - 3.0 database using "localhost" - quick
> - 3.0 database using "127.0.0.1" - quick
> - 2.5 database using "localhost" - slow
> - 2.5 database using "127.0.0.1" - quick

This agrees with the theory: "localhost" resolves to both :: and
127.0.0.1 and according to your system's rules, :: is preferred. With
3.0 database listening to any IPv6 or IPv4 connection, both are quick.
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.

  Michal Kubecek


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-04-23 Thread Michal Kubecek
On Sat, Apr 23, 2016 at 12:13:26PM +0200, Dimitry Sibiryakov wrote:
> 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 IPv6V6Only to true in firebird.conf and see if it
>makes any difference.

This directive affects only listening sockets (i.e. a server) and would
actually do the exact opposite: make the server listening on (default)
address :: accept only IPv6 connections (to any address). To accept only
IPv4 connections, you would rather want "RemoteBindAddress 0.0.0.0" (or
e.g. 127.0.0.1).

          Michal Kubecek


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-04-22 Thread Michal Kubecek
On Fri, Apr 22, 2016 at 05:53:06PM +0300, Alex Peshkoff wrote:
> On 04/22/2016 04:59 PM, Stefan Heymann wrote:
> > I just tested the new 3.0.0 Release (Build 32483) fbclient.dll against
> > a Firebird 2.5.5 database. It takes ages (about 1 second) to attach to
> > the database. Connection to a Firebird 3.0 database is quick as ever.
> >
> > Are there plans to speed this up? It's quite annoying.
> 
> Stefan, I've made a test. It's dev-build therefore it's not too fast but 
> look here:
> 
> # time (echo 'exit;' | ./isql -z -user sysdba -pas masterkey 
> localhost:employee)
> ISQL Version: LI-V2.5.6.26980 Firebird 2.5
> Server version:
> LI-V2.5.6.26980 Firebird 2.5
> LI-V2.5.6.26980 Firebird 2.5/tcp (localhost)/P12
> LI-V2.5.6.26980 Firebird 2.5/tcp (localhost)/P12
> exit;
> real0m0.183s
> 
> # time (echo 'exit;' | ./isql -z -user sysdba -pas masterkey 
> localhost:employee)
> ISQL Version: LI-V3.0.0.32486-dev Firebird 3.0
> Server version:
> LI-V2.5.6.26980 Firebird 2.5
> LI-V2.5.6.26980 Firebird 2.5/tcp (localhost)/P12
> LI-V3.0.0.32486-dev Firebird 3.0/tcp (localhost)/P12
> exit;
> real0m0.161s
> 
> I do not notice 3.0 client to work slower.

I suspect the difference may be that on your system connect() to ::1
fails (almost) immediately while on Stefan's it has to wait for timeout
for some reason as if e.g. the SYN packet was dropped silently
(actually, on Linux, connect() would fail immediately even then, but
Windows networking stack may behave differently).

 Michal Kubecek


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-04-22 Thread Michal Kubecek
On Fri, Apr 22, 2016 at 03:59:52PM +0200, Stefan Heymann wrote:
> > However, the new fbclient (3.0.0.31529) connecting to old Firebird
> > servers (2.5 and earlier) is also taking 1 second (compared to +/- 25-30
> > milliseconds with Firebird 3 beta 1 fbclient and 15 milliseconds with 
> > Firebird 2.5.3 fbclient), so we do have a problem.
> 
> I just tested the new 3.0.0 Release (Build 32483) fbclient.dll against
> a Firebird 2.5.5 database. It takes ages (about 1 second) to attach to
> the database. Connection to a Firebird 3.0 database is quick as ever.

Do you see the same delay when identifying the server by IP address
(rather than by name)?

> Are there plans to speed this up? It's quite annoying.

If this is the problem discussed before (waiting for the IPv6 connection
attempt to time out), it should be possible to change the preference via
gai.conf (RFC 3484).

We might also consider extending the new connection string format
inet://... to variants inet4://... and inet6://... which would enforce
AF_INET or AF_INET6.

          Michal Kubecek


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] FB4 Database Strings

2016-04-06 Thread Michal Kubecek
On Wed, Apr 06, 2016 at 07:47:00PM +0300, Dmitry Yemanov wrote:
> 06.04.2016 19:00, Jim Starkey wrote:
> 
> > I suggest that FB4 get completely out of the business of passing
> > database file names over the API and go strictly with something like a
> > URL that identifies the location and name of a database, letting the
> > server configuration map the name into a file name, et al.
> 
> I'm wondering how many users we'll lose because of this change. People 
> never like more requirements to do the same job. This is especially 
> important for embedded users, I believe 95% of them never used aliases 
> and would hate to setup some configuration just to access the database. 
> It will also complicate installation/distribution of embedded solutions.

I agree that for embedded users, identifying a database by file path
makes very good sense. On the other hand, it IMHO makes much less sense
to expose filesystem structure to remote clients (security guys might
use stronger words).

         Michal Kubecek


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


Re: [Firebird-devel] Icu error with Firebird 3.0 patch

2016-04-01 Thread Michal Kubecek
On Fri, Apr 01, 2016 at 12:48:00PM +0200, Lionel Elie Mamane wrote:
> On Thu, Mar 31, 2016 at 10:07:41PM +0300, marius adrian popa wrote:
> > I started refactoring firebird 3.0 patch for libreoffice (updated to rc2)
> 
> > https://gist.github.com/mariuz/bcde7f783b657b2465e5
> 
> > and there are few issues with icu linking
> 
> > https://gist.github.com/mariuz/68588eabb4f40c8aa008a601eade91e2#gistcomment-1739036
> 
> I notice that the patch removes --with-system-icu from the firebird
> configure options, is that the right thing to do?

This option has been removed in master branch by commit de453fcfd3de
("Check for presence of ICU development package in configure, related
cleanup") in November 2010.

       Michal Kubecek


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] src_bundle.sh

2016-03-28 Thread Michal Kubecek
On Mon, Mar 28, 2016 at 04:58:56PM +0100, Wols Lists wrote:
> On 28/03/16 15:59, Michal Kubecek wrote:
> >> But still clone of Firebird repository is 10 times bigger than its
> >> > sources.
> > That's one way to look at it. Another way is to say it's about 0.18 EUR
> > of disk space in case of a SSD and 0.02 EUR in case of classical
> > magnetic disk.
> 
> Another way to look at it is it's a bloody expensive download for
> somebody paying by the MB.

Again: how often do you run "git clone" and how often other commands
that do not use a single bit of your Internet connection (git log,
git diff, git blame, git commit, git checkout, git bisect, ...) but
their Subversion counterparts (if exist) do communicate with the server
each time? I'm pretty sure, in the long run, git will be much cheaper.

        Michal Kubecek


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] src_bundle.sh

2016-03-28 Thread Michal Kubecek
On Mon, Mar 28, 2016 at 10:49:53AM -0400, Jim Starkey wrote:
> On 3/28/2016 10:25 AM, Dimitry Sibiryakov wrote:
> > But still clone of Firebird repository is 10 times bigger than its
> > sources.
> 
> That's an interesting question.  I don't know the answer, but somebody 
> should research it -- maybe there's a fix.
> 
> My guess is that however history was uploaded to git short circuited 
> git's various compression and delta schemes.  Git, for example, tracks 
> files by hash, not date, so files unchanged from commit to commit and 
> branch to branch aren't duplicated.  Other systems keep full copies of 
> everything.  Maybe in the long path from CVS this didn't happen.

Few days ago I noticed that some tags, e.g. R2_5_4 or R2_5_5 are not
only on B2_5_Release branch but do actually have much less common
history with it than I would expect (e.g. "git log B2_5_Release..R2_5_5"
gives me 9260 commits). This is probably an artefact of the import from
SVN but it might mean we effectively keep multiple copies of some parts
of the branch.

BtW., "git gc --aggressive" reduced the size of my local repository from
462 MB to 155 MB.

      Michal Kubecek


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] src_bundle.sh

2016-03-28 Thread Michal Kubecek
On Mon, Mar 28, 2016 at 04:25:15PM +0200, Dimitry Sibiryakov wrote:
> 28.03.2016 16:16, Jim Starkey wrote:
> > nothing else was more suitable.
> 
> But still clone of Firebird repository is 10 times bigger than its
> sources.

That's one way to look at it. Another way is to say it's about 0.18 EUR
of disk space in case of a SSD and 0.02 EUR in case of classical
magnetic disk.

It's always a bit of shock for developers used to centralized VCS (CVS,
Subversion, ...) when they see how long "git clone" takes and how much
data does it download. But that's the point of distributed VCS: you have
a complete history stored locally. What you get is fast "git log"
(compare to "svn log"), "git blame" etc. The question you should ask is:
how many times do I run "git clone" and how many times will I need
"git log" or "git blame"?

I believe those 492 MB of disk space are worth the comfort it brings.
BtW., the directory with my checked out trunk from Subversion has 636 MB
for some reason.

  Michal Kubecek


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] [firebird] increment build number (773c7bf)

2016-03-26 Thread Michal Kubecek
On Sat, Mar 26, 2016 at 12:43:11PM +0300, alex wrote:
> 
> 25.03.2016 22:48, Adriano dos Santos Fernandes пишет:
> > Em 25/03/2016 16:24, Dmitry Yemanov escreveu:
> >> This gives us a buildno counted in days, not in commits (as now).
> >>
> > In practive it's not different.
> >
> > Doesn't the script is running per day like was in svn?
> >
> > Right, that means the snapshot build has a "perfect" buildno, but the
> > people who download zip does not.
> >
> > With the solution above, we can make snapshot builds to checkout tree or
> > 00:00 hour of the given date, so it can have a perfect buildno that we
> > can convert to date as well.
> 
> One question - if there are no commits for some days (typical for stable 
> branches) will buildno anyway be incremented every day? If yes IMHO this 
> is not good.

Both Adriano's and my proposal calculate the build number from the
(commit) date of the latest commit, not current date. So if there is a
commit on Friday and next is on Monday, you get the same build number
for the Saturday, Sunday and Monday snapshot (assuming snapshots are
taken on midnight or shortly after) but it is raised by 3 once the
Monday commit appears. In other words, there is no need to build a new
daily snapshot if there are no commits since the last one.
 
 Michal Kubecek


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] [firebird] increment build number (773c7bf)

2016-03-25 Thread Michal Kubecek
On Fri, Mar 25, 2016 at 10:24:57PM +0300, Dmitry Yemanov wrote:
> 25.03.2016 22:19, Michal Kubecek wrote:
> 
> >timestamp='$Format:%ct$'
> >if [ "${timestamp:0:1}" = '$' ]; then
> >ts=`git log -1 --pretty='%ct'`
> >fi
> >build_num=$[timestamp / 86400 - 16811]
> 
> This gives us a buildno counted in days, not in commits (as now).

Yes, but I'm not sure if it's really a problem.

One thing I had to learn when I started to work on projects using git
was that with nonlinear git history, the idea of a linear version
counter can be approximated to some extent but it can't really work in
general. And that the only reliable identifier of a point in a git tree
is the commit id.

We might combine the date based build number that would be backward
compatible and would nicely identify the daily snapshots with
(abbreviated) commit id of the actual source version which would give
precise identification for

  - daily snapshots
  - snapshots downloadad from Github web interface
  - snapshots generated locally with "git archive"
  - builds directly from (local) git repository

This woudln't, of course, work for builds from commits outside the main
branch but at least it would be easy to see this is the case.

     Michal Kubecek

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] [firebird] increment build number (773c7bf)

2016-03-25 Thread Michal Kubecek
On Fri, Mar 25, 2016 at 09:58:19PM +0300, Dmitry Yemanov wrote:
> 25.03.2016 21:35, Adriano dos Santos Fernandes wrote:
> >
> >> Can we call git from the filter and expect the repository directory
> >> being the current one? What about multiple shell commands?
> >
> > I think no. But now we have a build number for each date, so with the
> > date we can simulate the same per-day buildno we have now.
> 
> Sorry for being absolutely dumb, but HOW? :-) I'm obviously missing the 
> point.

You can set the export-subst attribute for a script which would use e.g.

  ...
  timestamp='$Format:%ct$'
  if [ "${timestamp:0:1}" = '$' ]; then
  ts=`git log -1 --pretty='%ct'`
  fi
  build_num=$[timestamp / 86400 - 16811]
  ...

plus some fallback to handle the case "git log" fails, i.e. we have
neither source exported using "git archive" nor a git repository.

 Michal Kubecek


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] [firebird] increment build number (773c7bf)

2016-03-25 Thread Michal Kubecek
On Fri, Mar 25, 2016 at 02:25:02PM -0300, Adriano dos Santos Fernandes wrote:
> 
> Looks like I found a good workaround for github "download zip" (or git
> archive).
> 
> Look at my test repository to see the simple solution which we can work on:
> 
> https://github.com/asfernandes/test1
> 
> Used this info to build it:
> 
> https://git-scm.com/book/uz/v2/Customizing-Git-Git-Attributes

Looks great.  Good to know that Github either uses "git archive" or at
least honors export attributes. Another nice effect is that it's also
going to work for local "git archive" which is probably what most people
use to export contents from git repository.

Funny thing that few days ago I set export-ignore attribute locally for
extern/SfIO but still didn't realize now that export-subst was created
exactly for this purpose.

     Michal Kubecek


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Atomics

2016-03-23 Thread Michal Kubecek
On Wed, Mar 23, 2016 at 10:59:20AM -0400, Jim Starkey wrote:
> 
> Defining your own macro layer gives you cheap portability and a zero 
> overhead implementation.

That's one side of it. The other is that for occasional contributors or
distribution support guys, it brings a lot of confusion. Like when you
find out that ULONG is in fact not unsigned long as one would expect
from the name but rather what standard calls uint32_t). Or when you
learn that instead of a standard library function you are supposed to
use this compatibility wrapper. Regular contributors have learned these
and got used to it; for newcomers, it can be tough at times.

The portability you mention is nice but it's paid for by readability and
maintainability of the code. Most of the stuff is historical and it
would be unwise to rush into weeding it out. But we should think twice
before adding more.

      Michal Kubecek

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Git

2016-03-20 Thread Michal Kubecek
On Sat, Mar 19, 2016 at 10:34:12PM -0400, James Starkey wrote:
> 
> 
> On Saturday, March 19, 2016, Wols Lists <antli...@youngman.org.uk> wrote:
> 
>     On 16/03/16 21:03, Michal Kubecek wrote:
> 
> An experienced developer might have 10 or 20 topics on the go -
> each in their own separate branches. That way work doesn't
> cross-contaminate - you don't want to accidentally upload a
> half-baked development because you had to upload an unrelated
> emergency bug-fix ... :-)
> 
> A developer who does that, experienced or novice, is going to lose
> his or her mind.  Been thre, done that, went nuts.  One can only
> juggle so much complexity.

First, I did _not_ write the quote above. But I agree with it anyway.

Second, what would be a level of complexity threatening to make one lose
his mind would be the exact opposite: trying to handle multiple pieces
of work in progress without keeping them in separate branches. You also
shouldn't forget that having 10-20 live branches doesn't mean they all
have to be actively worked on at the moment. Some may be fixes waiting
to be confirmed by reporter, some may be waiting for review and some are
long term work in progress, currently on back burner. Or you can try two
or three different fixes for the same issue and keep them all available
until the best is selected.

          Michal Kubecek

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Git

2016-03-20 Thread Michal Kubecek
On Sun, Mar 20, 2016 at 10:21:05AM +0100, Dimitry Sibiryakov wrote:
> 19.03.2016 23:38, Wols Lists wrote:
> > But for the OP, read these books, and learn to use branches. This is
> > the classic Git workflow - every little task should have its own git
> > branch on your developer machine. Switching between branches is
> > almost cost-free, and then when you're ready to submit your work you
> > rebase to the latest master, squash your branch into a single commit
> > (if it's not too big), and upload it for review and committing.
> 
> It is fine for independent pieces of work when pull requests are
> accepted quickly. But suppose that you finished one piece, pushed it,
> created a pull request and start a new work that require previous
> changes to work. When you finished this work too, push it and create a
> new pull request before first one was even looked at, you'll end up
> with mess.

As I said before, this is completely independent of VCS choice. If you
have project where pull request are often ignored for months, such
project has a problem and no VCS can possibly help.

However, you can always do the second piece of work on top of the first
and replace the original request by a new one containing both features.

         Michal Kubecek


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Git

2016-03-19 Thread Michal Kubecek
On Wed, Mar 16, 2016 at 10:11:17PM +0100, Dimitry Sibiryakov wrote:
> 16.03.2016 22:03, Michal Kubecek wrote:
> > One of the advantages of getting used to use these "topic" branches
> > rather than adding commits directly to a local copy of "upstream" branch
> > (e.g. B3_0_Release here) is that it allows you to work on several
> > different bugs or features and simply switch between the branches as
> > needed. The workflow could look like
> 
> It is fine, but what will happen to gigabytes of object files in
> temp dir after switching from one branch to another? Full rebuild
> every time?

Not necessarily. Switching between two topic branches forked from e.g.
B3_0_Release should leave most of the source tree intact. However, to be
able to build within the local git repository and still use it for devel
work, we will need to create a .gitignore file covering all files and
directories generated by the build (which is a certainly a good idea).

For branches forked from very different upstream branches, you can
either use multiple clones or (with recent git versions, IIRC since 2.5
or 2.6) multiple worktrees sharing the same objects (git worktree ...).

It's a matter of scale, I would say. Working with linux kernel most of
the time, I kind of fail to see Firebird repository as big or taking too
long to build from scratch. :-)

> > With Github workflow, one usually pushes into his fork of the original
> > repository and then creates a pull request using the web interface.
> 
>How many years can live a pull request without resolution on GitHub?

That depends on the project and its maintainers, of course. But this is
a problem completely orthogonal to the choice of VCS or VCS hosting
service.

 Michal Kubecek

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Git

2016-03-19 Thread Michal Kubecek
On Thu, Mar 17, 2016 at 01:55:08PM +0100, Jiří Činčura wrote:
> > git push :branchname
> 
> Which is changed for couple of year already.
> `git push  --delete `

More precisely, the latter was added as a nicer alias for the former. As
git-push(1) says:

  --delete
All listed refs are deleted from the remote repository. This is the
same as prefixing all refs with a colon.

Michal Kubecek

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Firebird support for "newer" compilers & SDKs / especially on Windows & MacOS X

2016-03-15 Thread Michal Kubecek
On Tue, Mar 15, 2016 at 04:37:06PM +0100, Lionel Elie Mamane wrote:
> 
> Then, we read the thread "Compiler for official Firebird 4 release on
> Windows" on this ML. Which says that not only Firebird 3, bit Firebird
> 4 binaries on http://firebirdsql.org/ will be compiled with
> MSVC2013. Some people within the LibreOffice developer community have
> understood that as "Firebird 4 will not support newer MSVC";

Well, that would be really pesimistic interpretation. I seriously doubt
core developers who work on Windows would like to confine themselves to
MSVC 2013 for the whole FB4 lifetime. As I said before, what will be the
official binaries compiled with and what compilers will be supported are
two very different questions.

It seems at least some of the issues you ran into are the same problems
we encountered with gcc6, see the initial comment of CORE-5099 for the
list. I believe all except 2 and 3 can be safely fixed in all branches
from 2.5 up and I think they should. As for issue 2 (exception specifier
for operator new), this could be fixed as well once we make sure MSVC is
OK with suggested solution.

The most complicated is issue 3, dead store elimination (see my comment
from February 26). I'm not sure how much of the code relies on zeroing
object storage in operator new. It may not be feasible (and safe) to fix
all of them in 2.5 and maybe not even in 3.0 (which is already at RC2).
Good news is it can be worked around with "-flifetime-dse=1" or stronger
"-fno-lifetime-dse". The tricky part is that gcc < 5 does not recognize
this option but that can be resolved in configure script.

I'm going to propose patches for the easy issues later this week, let's
see what the consensus will be.

          Michal Kubecek


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] RFC: File names with non-ASCII non-ANSI letters

2016-03-15 Thread Michal Kubecek
On Tue, Mar 15, 2016 at 01:49:20PM +0100, Dimitry Sibiryakov wrote:
> >Does POSIX requires any changes for this issue ?
> 
>AFAIK - no, fopen() handles utf-8 in file names out of box.

I would rather say posix filesystems are encoding agnostic. In general,
the file name is just a sequence of bytes not containing zero bytes
('\0') and slashes ('/') and it's up to you to decide what encoding you
want to use, as long as it's not something like UTF-16 or UCS-2 (which
many windows users mistake for UTF-16).

As most linux distributions have been using UTF-8 for everything for
quite some time, file names ended up being in UTF-8 as well. But it's
just kind of an "unwritten law", not a standard.

         Michal Kubecek


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] GitHub

2016-03-02 Thread Michal Kubecek
On Wed, Mar 02, 2016 at 10:45:35AM -0300, Adriano dos Santos Fernandes wrote:
> Em 02/03/2016 09:31, Michal Kubecek escreveu:
> > On Wed, Mar 02, 2016 at 02:18:27PM +0300, Dmitry Yemanov wrote:
> >>
> >> Firebird Project will be moving its repositories to GitHub soon.
> > 
> > Is the fact that the git repository hasn't been updated since Sunday
> > (and therefore has no B3_0_Release branch) related to this migration
> > or is it a different problem?
> > 
> 
> The fact is more this: :D
> 
> http://stackoverflow.com/questions/35726537/track-a-branch-in-a-bare-git-svn

That was my first hypothesis. :-)

> I didn't care too much because it's going to be replaced...

Makes sense.

Michal Kubecek

--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] GitHub

2016-03-02 Thread Michal Kubecek
On Wed, Mar 02, 2016 at 02:18:27PM +0300, Dmitry Yemanov wrote:
> 
> Firebird Project will be moving its repositories to GitHub soon.

Is the fact that the git repository hasn't been updated since Sunday
(and therefore has no B3_0_Release branch) related to this migration
or is it a different problem?

  Michal Kubecek


--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-02-29 Thread Michal Kubecek
On Mon, Feb 29, 2016 at 10:38:16AM -0500, Jim Starkey wrote:
> I'm not at all sure that having "official" Firebird compilers is that 
> good of an idea.
> 
> The basic principle is that the code should work on a wide variety of 
> compilers.

You (and not only you) are mixing two very different questions:

  (1) what compiler should be used to build the official binaries
  provided for download on project web
  (2) what compilers should be the code compatible with

The discussion started with question (1) (and that only for one
platform) but some people started mixing in (2).

We can build our official windows binaries with whatever latest and
greatest MSVC version we choose and still have code compatible with
older versions.

If we decided to use c++11 or even c++14 specific language (or standard
library) features, that would be a completely different situation, of
course. But that's not what this discussion is about.

> My experience has always been that if an unfamiliar compiler 
> produces errors, warning, or unexpected results, the probably has almost 
> always been with the code, not the compiler, usually a latent bug 
> prepared to expose itself later.

FB3 code already does not compile with gcc version present in some
actively maintained linux distributions. But it's compiler's fault so
while it means some extra work for me, I fully agree with the decision
not to work around this problem in the upstream codebase and let
distribution packagers add the workaround where needed.

>   With an official compiler, the 
> temptation will always be to write off an unexpected results from an 
> "unofficial" compiler as an aberration.

Perhaps I'm too optimistic but I believe the need to build the codebase
with different toolchains on several different platforms does prevent
this risk. After all, there were already examples of problems revealed
by new versions of gcc or clang.

> And no, it is perfectly reasonable for the client and the server to run 
> on different platforms, which makes the question whether the server and 
> client should use the same compiler meaningless.

A clarification is needed here, obviously. I wasn't talking about client
and server talking to each other via TCP. What I was replying to was the
idea of building the official client library and server binaries
intended to be used together on one system with two different compilers.

      Michal Kubecek


--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


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

2016-02-28 Thread Michal Kubecek
On Sun, Feb 28, 2016 at 09:25:30PM -0300, Carlos H. Cantu wrote:
> >> However, I seriously question the need to support Windows XP and
> >> Windows Server 2003 for Firebird 4.
> 
> LS> I completely agree!
> LS> There comes a time when some OSs/installs need to be recognized as 
> *legacy*.
> LS> Systems based on those platforms need to recognize that they
> LS> can't be running the latest/greatest software.  In the FB case, v3
> LS> will still run on/be supported for those platforms for several more years.
> LS> Sean
> 
> 
> Afaiu, there is a problem with some specific version of MSVC that
> generate code that doesn't work on WinXP/2003 so, you guys are now
> talking about dropping support to such Windows versions, so this
> compiler could be used.
> 
> Question: Does this problem would also affect the compiled client
> library? Or do you guys also think nobody using Win XP/2003 will needs
> to connect to Firebird? 

First, the discussion is about a version which, extrapolating from
previous release dates, is not likely to be released before 2020.
Second, IIUC, you should still be able to connect to a 4.0 server with
3.0 client library.

That said, using a different compiler for server and client sounds like
asking for trouble to me. (On the other hand, the most recent Windows
IDE I have experience with is Borland C++ Builder 6 so you don't have
to take me too seriously.)

Michal Kubecek


--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Firebird 3 packages on distro

2016-02-26 Thread Michal Kubecek
On Thu, Feb 25, 2016 at 10:33:46AM +0100, Philippe Makowski wrote:
> Hi,
> 
> I'm working on the Firebird 3 package for Centos 7
> 
> to have some coherence between distros , I took a look at :
> https://build.opensuse.org/package/show/home:mkubecek:firebird30/firebird
> 
> and
> 
> https://anonscm.debian.org/cgit/pkg-firebird/3.0.git/
> 
> Can we coordinate our work ?
> 
> I like the way Debian split the package, Michal, what about doing the 
> same in Suse ? (I will certainly do the same in Mageia, Fedora and Centos)

I'm not familiar with Debian packaging, is there an easier way to see
how are files divided into packages than going through

  
https://anonscm.debian.org/cgit/pkg-firebird/3.0.git/tree/debian/make_packages.sh

?

So far I noticed libib_util separated into its own package, this
definitely looks reasonable.

   Michal


--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Firebird-2.5.5 build fail on Fedora rawhide

2016-02-05 Thread Michal Kubecek
On Fri, Feb 05, 2016 at 12:36:30PM +0100, Philippe Makowski wrote:
> 
> can you check these build log ?
> 
> http://paste.fedoraproject.org/318912/14546719/
> 
> and
> 
> http://koji.fedoraproject.org/koji/getfile?taskID=12819241=build.log=-4000

Is it gcc6? If so, see http://tracker.firebirdsql.org/browse/CORE-5099

Michal Kubecek


--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Failure to build with GCC 6: cannot convert x to y

2016-02-03 Thread Michal Kubecek
On Fri, Jan 22, 2016 at 11:51:57AM +, Damyan Ivanov wrote:
> 
> The fix in r62830 
> http://sourceforge.net/p/firebird/code/62830/tree//firebird/branches/B2_5_Release/src/gpre/sqe.cpp?diff=50cc621834309d0a4876d914:62829
> 
> is not enough. Later on there are these errors:
> 
> g++ -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOT_BUILD -I../src/include/gen 
> -I../src/include -I../src/vulcan -DNAMESPACE=Vulcan -DNDEBUG -ggdb 
> -DFB_SEND_FLAGS=M
> SG_NOSIGNAL -DLINUX -DAMD64 -pipe -MMD -fPIC -fmessage-length=0 -O3 
> -fno-omit-frame-pointer  -pthread -g -O2 -fstack-protector-strong -Wformat 
> -Werror=for
> mat-security -fno-rtti  -c ../src/common/classes/alloc.cpp -o 
> ../temp/boot/common/classes/alloc.o
> ../src/common/classes/alloc.cpp: In function 'void* operator new(size_t)':
> ../src/common/classes/alloc.cpp:2107:7: error: declaration of 'void* operator 
> new(size_t) throw (std::bad_alloc)' has a different exception specifier
>  void* operator new(size_t s) THROW_BAD_ALLOC
>^~~~

Created CORE-5099 to summarize my findings and to track further progress.

Michal Kubecek


--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] ODP: Re: fb3 connections limit

2016-01-21 Thread Michal Kubecek
On Thu, Jan 21, 2016 at 01:20:02PM -0500, Jim Starkey wrote:
> On 1/21/2016 12:41 PM, Dimitry Sibiryakov wrote:
> > 21.01.2016 18:20, Leyne, Sean wrote:
> >> Operationally, your app will die/fail which you try to exceed the
> >> Windows FD_Size value -- it is a OS level limit.
> > Nope, it is truly set at compile time and only application-defined
> > structures are used by OS.  Problem is not a size of structure
> > itself, but very ineffective methods to find out which socket is
> > signaled after select() has returned.  I wonder if someone tried to
> > use bit-scanning instructions of modern x86 processors to solve the
> > problem...
> 
> Microsoft is now supporting the Linux poll() as WSAPoll().  Much more 
> intelligent data structures and is smart enough to wake up when the 
> remote end of a socket is closed.  I don't know what platforms do or 
> don't support poll(), so select() would have to be conditional, but 
> poll() beats the pants off select().

For really large sets of sockets, epoll() would be even better. IIRC the
FB3 code uses poll() if available, select() otherwise. On Windows,
select() is used always.

Anyway, IIRC we only use poll() or select() for connections belonging to
one client so that technical limitations of that syscall should not
matter for the client connections limit.

  Michal Kubecek


--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] march switch in posix build for x86 architecture

2015-12-30 Thread Michal Kubecek
On Tue, Dec 29, 2015 at 10:13:26PM -0500, James Starkey wrote:
> On Tuesday, December 29, 2015, Michal Kubecek <m...@mk-sys.cz> wrote:
> 
> > On Tue, Dec 29, 2015 at 07:43:37PM -0500, James Starkey wrote:
> > > Could you explain to us what optimization a are possible on 686 that
> > > are not on the 386?
> > >From the top of my head, 386 doesn't even have any atomic cmpxchg or
> > xadd instruction which rather complicates any lock or semaphore
> > implementation. 586 and 686 bring more new instruction but I would have
> > to do some research to tell you which exactly (I got rid of my last
> > 32-bit system some 6-7 years ago).
> 
> Nope, interlocked compare and exchange were part of the 386
> instruction set.

No, they are not. It's one of the very few new instructions introduced
by 486 (together with xadd, bswap and L1 cache control instructions).
See e.g.

  https://en.wikipedia.org/wiki/X86_instruction_listings#Added_with_80486
  http://zsmith.co/intel_c.html#cmpxchg
  http://www.cs.dartmouth.edu/~mckeeman/cs48/mxcom/doc/x86.html
  
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d55c5a93db2d

Pentium then added the 64-bit version cmpxchg8b.

Michal Kubecek


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


Re: [Firebird-devel] march switch in posix build for x86 architecture

2015-12-29 Thread Michal Kubecek
On Tue, Dec 29, 2015 at 10:04:52PM -0200, Carlos H. Cantu wrote:
> 
> Let's try to see the case from another angle:
> 
> On Windows, Firebird 3.0 uses VC 2010 runtime. From MS site, the
> minimum requirements of this runtime are:
> 
> Windows XP SP3 (SP3 was released in 2008) 
> Computer with 900 MHz or faster processor
> 128 MB RAM
> 
> In 2008, there was still new Celerons, Athlons, Pentiums, etc. being
> released:
> http://www.cpu-world.com/Releases/Desktop_CPU_releases_(2008).html

As far as I can see, all processors on that page are actually 64-bit so
not really relevant for this discussion. If you wanted a CPU unable to
run code compiled with -march=686, you would have to dig much deeper
into history. IIRC first PentiumPro appeared in something like 1995 or
1996.

> So, personally speaking, I would not install Firebird 3 in a Pentium,
> but probably there are such environments still being used in
> "micro-business", like very small shop, bar, etc. specially in "third
> world" countries (don't ask me if they will upgrade to FB 3).

If they want to run FB3 there, they could still build their own binaries
with -march=386; no need to limit the instruction set for everyone else.

> Probably this scenario is even more common if you look at Linux
> instead of Windows, since it was always more capable of running in
> limited/cheap hardware.

In general, yes. But vast majority of Linux distributions have their
binaries built with at least 586 instruction set today and 386 support
has been even dropped from mainline Linux kernel in version 3.8
(November 2012). Of course, there are still many installations with
older systems but the combination of old kernel, old distribution and
latest Firebird is not going to be too frequent, IMHO.

> Anyway, I think the real question is: how much performance increase
> this would bring, in real world environment? Do you have this number?
> If you tell me +25%, I would vote to drop i386 support :)

IMHO even more important question is: does it really matter what options
are the upstream binaries built with? In Linux world, most people are
either using packages provided by their distribution or contributed for
that distribution by a volunteer; in both cases, these would be built
with the same or similar options as the rest of the distribution. Out of
those who don't, many build their own binaries instead and use whatever
options they need or prefer.

Even the 32-bit Intel architecture as such is on steady decline for
quite a few years (in Linux world, that is; Windows are about 5 years
behind in the x86_64 adoption). So I believe the number of people who
care what instruction set are upstream 32-bit Linux binaries built for
is rather low; and the number of those who are going to run these
binaries on a 686-incompatible CPU is going to be even lower.

(I'm only talking about Linux here but AFAIK there are no official
binaries for other posix architectures.)

Michal Kubecek


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


Re: [Firebird-devel] march switch in posix build for x86 architecture

2015-12-29 Thread Michal Kubecek
On Tue, Dec 29, 2015 at 07:43:37PM -0500, James Starkey wrote:
> Could you explain to us what optimization a are possible on 686 that
> are not on the 386?

>From the top of my head, 386 doesn't even have any atomic cmpxchg or
xadd instruction which rather complicates any lock or semaphore
implementation. 586 and 686 bring more new instruction but I would have
to do some research to tell you which exactly (I got rid of my last
32-bit system some 6-7 years ago).

     Michal Kubecek


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


Re: [Firebird-devel] ExternalFileAccess in v.2.5.4

2015-10-07 Thread Michal Kubecek
On Wed, Oct 07, 2015 at 09:29:12PM +1300, Helen Borrie wrote:
> 
> Does anyone have a 2.5.4 on Linux nearby, to test this:
> 
> ExternalFileAccess = Restrict /whatever/externalfiles
> 
...

Works for me (2.5.4 with few selected post-2.5.4 patches), directive was

  ExternalFileAccess = Restrict /srv/fb-ext

When the path is changed to one different from what ExternalFileAccess
says, first insert fails with

  Access to external file "/tmp/log_2.txt" is denied by server administrator

as expected.

Michal Kubecek

--
Full-scale, agent-less Infrastructure Monitoring from a single dashboard
Integrate with 40+ ManageEngine ITSM Solutions for complete visibility
Physical-Virtual-Cloud Infrastructure monitoring from one console
Real user monitoring with APM Insights and performance trend reports 
Learn More http://pubads.g.doubleclick.net/gampad/clk?id=247754911=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] firebird.msg

2015-09-21 Thread Michal Kubecek
On Wed, Sep 16, 2015 at 07:34:12AM -0400, James Starkey wrote:
> On Wednesday, September 16, 2015, Paul Reeves  wrote:
> On Wednesday 16 September 2015 11:35:02 Dmitry Yemanov wrote:
> > 16.09.2015 12:04, Paul Reeves пишет:
> > > I just noticed the size of firebird.msg in Fb 3 trunk - it seems to be
> > > around 550 Mb. In Fb 2.5 it is around 150 Mb and in the previous beta
> > > releases of Fb 3 it is also around 150Mb.
> >
> > You surely meant KB, not MB ;-)
> 
> But hey, it was just an error of a single order of magnitude :-)
> 
> Just as well that I'm not a futures trader.
> 
> 
> Uh, try three orders of magnitude.  Even better that you're not a
> government economist.

If we are nitpicking, it's actually rather around two orders than three
as he wrote "Mb", not "MB". :-)

 Michal Kubeček


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


Re: [Firebird-devel] Crypto Performance

2015-09-21 Thread Michal Kubecek
On Tue, Sep 15, 2015 at 11:22:22AM -0400, Jim Starkey wrote:
>  1. As Sean pointed out, the AES instructions are common on Intel
>  processors.  Not so for AMD, however, which only supports AES in
>  their high end server chips.

Definitely not true. Both my recent AMD CPU's (FX-8150 and FX-4350)
support AES-NI. Neither of them is a "high end server chip". From what
I found around the web, even recent APU's have the support.

Michal Kubeček


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


Re: [Firebird-devel] Firebird database on virtual file system

2015-09-08 Thread Michal Kubecek
On Mon, Aug 31, 2015 at 07:49:34PM +0300, Геннадий Забула wrote:
> I want to use firebird database file that itself embedded to an image
> of a filesystem. Let's assume that I already have a parser for images.
> I don't get it about extraction tables to file system and SQLite.

I'm not a big fan of implementing features like this into applications.
If you can mount the image using a loop device (or something similar) or
e.g. a FUSE driver, any application in your system can access files on
it. Implementing it in each application separately would only mean
duplicating the work and introducing specific bugs and problems into
each application.

      Michal Kubecek


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


Re: [Firebird-devel] Events in Firebird 3 client library

2015-04-04 Thread Michal Kubecek
On Sat, Apr 04, 2015 at 06:39:06PM +0200, Mark Rotteveel wrote:
 What is the current status of events in the Firebird 3 client library? 
 Are there known problems?

While testing the IPv6 implementation, I also tested events (as there
were some changes to aux connection handling). I repeated the test about
a week ago while testing the cleanup of SockAddr.h. Neither time I saw
any problem but my test was really trivial: a simple C program watching
two events and isql session triggering them using a stored procedure.
I'm not sure if I also tested events with FB 2.5 on one side and FB 3.0
on the other.

 Michal Kubecek


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Build Firebird on Mac OSX Yosemite with CMake

2015-03-30 Thread Michal Kubecek
On Mon, Mar 30, 2015 at 10:33:16AM +0300, Alex Peshkoff wrote:
 On 03/29/15 21:56, Egor Pugin wrote:
  I ran fbserver from Xcode and the standard socket() function cannot
  create socket.
  remote/inet.cpp:3060
  fd = ::socket(domain, type | O_CLOEXEC, protocol);
  (The execution does not go into the next if statement. It seems errno
  has other value than specified in the condition.)
 
  Without the 'O_CLOEXEC' flag the server starts well.
  fd = ::socket(domain, type, protocol);
 
 O_CLOEXEC was added in FB3 in order to better support fork() in user code.

According to my socket(2), it should be SOCK_CLOEXEC rather than
O_CLOEXEC (but these constants seem to be equal on most architectures).

Michal


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Build Firebird on Mac OSX Yosemite with CMake

2015-03-30 Thread Michal Kubecek
On Mon, Mar 30, 2015 at 11:37:42AM +0300, Egor Pugin wrote:
 On 30 March 2015 at 11:26, Michal Kubecek m...@mk-sys.cz wrote:
 
  According to my socket(2), it should be SOCK_CLOEXEC rather than
  O_CLOEXEC (but these constants seem to be equal on most architectures).
 
 I built 64-bit version of Firebird (OS X 10.10, AppleClang 6.0.0, Xcode 6.2).
 The symbol O_CLOEXEC is present, but as you see it has negative effect
 on socket() call.

As I said, it should be SOCK_CLOEXEC, not O_CLOEXEC. But even then it
might be possible that the symbol is defined but the flag is not really
supported by kernel.

 Michal Kubecek


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Time to update our headers.

2015-03-13 Thread Michal Kubecek
On Fri, Mar 13, 2015 at 03:09:04PM -0400, Jim Starkey wrote:
 I can't see any reason to muck around with licenses at all.  MPL 2.0 claim to
 fame is that it's compatible with GPL, but at the moment approximately 100% of
 Firebird is already incompatible with GPL -- and very little of it can be
 changed -- what is the point?

Please be careful about the word compatible when talking about GPL.
Unfortunately it's one of the words (together with free) that FSF
is abusing by completely twisting their usual meaning. In FSF-speak,
GPL-compatible means, roughly speaking, code we can copy into a GPL
licensed project. I guess I don't have to explain such relation is far
from symmetric.

Michal Kubecek


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Commits visible in our main page.

2015-03-10 Thread Michal Kubecek
On Tue, Mar 10, 2015 at 11:36:37AM +0200, marius adrian popa wrote:
 This one is the official one under Firebird organization umbrella 
 
 https://github.com/FirebirdSQL

Thanks for the info, I'll relink my local clone.

Michal Kubecek


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Commits visible in our main page.

2015-03-10 Thread Michal Kubecek
On Tue, Mar 10, 2015 at 11:57:49AM +0100, Dimitry Sibiryakov wrote:
 10.03.2015 10:36, marius adrian popa wrote:
  My hope is that in the future to move all the repositories to github/git
 
BTW, is it possible with GIT to have a single local copy of a
repository but several working directories for different branches?
Or I have to have several copies of repository on my HDD to work
with, say, FB 2.5 and 3.0 at the same time?

Depending on what exactly you want to achieve, you have few different
options:

- multiple cloned repositories; this is probably the easiest option to
  handle but not very space efficient one; if disk space is not an
  issue, I would probably prefer this (for example, I have now 10
  different checked out copies of linux kernel tree)

- if you want to save space (and network traffic for pulls), you have
  some options to share objects between cloned repositories; the one
  you would be probably most interested in would be

git clone old_copy --reference remote_url new_copy

- there is also --separate-git-dir option allowing to separate work
  directory from the .git directory with objects; but I have no
  experience with that

However, there is seldom need for multiple working directories. I have
them for linux kernel tree but the reason is mostly only switching
between branches taking too long to be comfortable; in firebird git
repository, switching between 3.0 and 2.5 branches takes about half
second so that I can easily live with just one checked out clone.

The thing is, with git, local branches are cheap and work with them is
really comfortable, even if you need to reshape them substantially
before merge (tools like git commit --amend, git rebase -i,
interactive selection of hunks or even lines with git gui etc.).

Michal Kubecek


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Commits visible in our main page.

2015-03-10 Thread Michal Kubecek
On Tue, Mar 10, 2015 at 03:43:10PM +0300, Dmitry Yemanov wrote:
 10.03.2015 15:30, Michal Kubecek wrote:
 
  However, there is seldom need for multiple working directories.
 
 Right now I have five working directories for the same B2_5_Release 
 branch, each with different uncommitted changes. I don't see how it can 
 be avoided.

I prefer to keep work in progress in separate branches (i.e. in
committed form). As long as the branch is only local and not pushed to a
public repository, it's safe and relatively easy to add changes to its
commits, merge multiple commits, reorder them or even split a commit.

But other people may prefer different workflow, of course.

Michal Kubecek


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Commits visible in our main page.

2015-03-10 Thread Michal Kubecek
On Tue, Mar 10, 2015 at 02:16:26PM +0100, Dimitry Sibiryakov wrote:
 10.03.2015 14:11, Omacht András wrote:
  with git log you can see every previous version of a file without closing 
  the IDE, switching branches, etc.
 
Do you mean some kind of plugin to MSVC that can show me the file's
version from any branch?

Not sure how difficult would it be to write a MSVC plugin showing output
of a command but to see what does a file look like at certain point in
history, you can use

  git show commit:path

(tag or branch also work in place of commit). I often use something
like

  git diff commit -U30 -- path

or even

  git diff commit -U -- path

to see what has changed.

   Michal Kubecek


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Commits visible in our main page.

2015-03-10 Thread Michal Kubecek
On Tue, Mar 10, 2015 at 10:31:40AM +0200, marius adrian popa wrote:
 Also we could integrate the github api and stats 
 
 https://github.com/FirebirdSQL/core/graphs/commit-activity

Hm... so we have two github mirrors now?

Michal Kubecek


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Fwd: [Firebird-checkins] SF.net SVN: firebird:[60440] firebird/trunk/src (and CORE-4654)

2014-12-29 Thread Michal Kubecek
On Mon, Dec 29, 2014 at 02:45:40PM +0300, Alex Peshkoff wrote:
 I strongly disagree with poisoning of trunk sources with such fixes in 
 order to make ancient buggy compilers happy.
 I suggest to rollback that changes.

Agreed. As far as I can tell, this is problem of the compiler (old g++
versions), not of the source. If needed, such patch can be included in
a distribution package.

Michal Kubecek


--
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] [FB-Tracker] Created: (CORE-4654) Failed POSIX build

2014-12-29 Thread Michal Kubecek
On Mon, Dec 29, 2014 at 10:55:32AM +, Dmitriy Starodubov (JIRA) wrote:
 Failed POSIX build
 --
 
  Key: CORE-4654
  URL: http://tracker.firebirdsql.org/browse/CORE-4654
  Project: Firebird Core
   Issue Type: Bug
   Components: Build Issues / Porting
 Affects Versions: 3.0 Beta 2
  Environment: CentOS release 6.5 (Final)
 gcc version 4.4.7 20120313 
 Reporter: Dmitriy Starodubov
 Priority: Minor
 
 
 Compile fails with errors like this:
 In file included from /home/dmitry/work/fb/src/yvalve/why.cpp:37:
 /home/dmitry/work/fb/src/yvalve/../yvalve/YObjects.h: In constructor 
 'Why::YTransaction::YTransaction(Why::YTransaction*)':
 /home/dmitry/work/fb/src/yvalve/../yvalve/YObjects.h:248: error: class 
 'Why::YTransaction' does not have any field named 'YHelper'
 /home/dmitry/work/fb/src/yvalve/../yvalve/YObjects.h:252: error: no matching 
 function for call to 'Why::YHelperWhy::YTransaction, 
 Firebird::FirebirdApiFirebird::FirebirdPolicy::ITransactionImplWhy::YTransaction,
  
 Firebird::FirebirdApiFirebird::FirebirdPolicy::IReferenceCountedImplWhy::YTransaction,
  
 Firebird::FirebirdApiFirebird::FirebirdPolicy::InheritFirebird::FirebirdApiFirebird::FirebirdPolicy::IVersionedImplWhy::YTransaction,
  
 Firebird::FirebirdApiFirebird::FirebirdPolicy::InheritFirebird::FirebirdApiFirebird::FirebirdPolicy::ITransaction
  ::YHelper()'
 /home/dmitry/work/fb/src/yvalve/../yvalve/YObjects.h:132: note: candidates 
 are: Why::YHelperImpl, Intf::YHelper(typename Intf::Declaration*) [with 
 Impl = Why::YTransaction, Intf = 
 Firebird::FirebirdApiFirebird::FirebirdPolicy::ITransactionImplWhy::YTransaction,
  
 Firebird::FirebirdApiFirebird::FirebirdPolicy::IReferenceCountedImplWhy::YTransaction,
  
 Firebird::FirebirdApiFirebird::FirebirdPolicy::InheritFirebird::FirebirdApiFirebird::FirebirdPolicy::IVersionedImplWhy::YTransaction,
  
 Firebird::FirebirdApiFirebird::FirebirdPolicy::InheritFirebird::FirebirdApiFirebird::FirebirdPolicy::ITransaction
 ]
 /home/dmitry/work/fb/src/yvalve/../yvalve/YObjects.h:125: note:   
   Why::YHelperWhy::YTransaction, 
 Firebird::FirebirdApiFirebird::FirebirdPolicy::ITransactionImplWhy::YTransaction,
  
 Firebird::FirebirdApiFirebird::FirebirdPolicy::IReferenceCountedImplWhy::YTransaction,
  
 Firebird::FirebirdApiFirebird::FirebirdPolicy::InheritFirebird::FirebirdApiFirebird::FirebirdPolicy::IVersionedImplWhy::YTransaction,
  
 Firebird::FirebirdApiFirebird::FirebirdPolicy::InheritFirebird::FirebirdApiFirebird::FirebirdPolicy::ITransaction
  ::YHelper(const Why::YHelperWhy::YTransaction, 
 Firebird::FirebirdApiFirebird::FirebirdPolicy::ITransactionImplWhy::YTransaction,
  
 Firebird::FirebirdApiFirebird::FirebirdPolicy::IReferenceCountedImplWhy::YTransaction,
  
 Firebird::FirebirdApiFirebird::FirebirdPolicy::InheritFirebird::FirebirdApiFirebird::FirebirdPolicy::IVersionedImplWhy::YTransaction,
  Firebird::FirebirdApiFirebird::FirebirdPolicy::InheritFirebird::FirebirdAp
 iFirebird::FirebirdPolicy::ITransaction )

I encountered the same problem on SLE11 SP3 (gcc 4.3). You might try
patch work-around-g-problem-in-SLE11.patch from

  https://build.opensuse.org/package/show/home:mkubecek:firebird30/firebird

It's not sufficient with latest snapshots (as can be seen from today's
build failures), apparently more places with the same (or similar)
problem have been added recently. I'm going to update the patch tomorrow
or day after tomorrow.

 Michal Kubecek


--
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] [PATCH] Fix mingw build using posix environment

2014-12-18 Thread Michal Kubecek
On Thu, Dec 18, 2014 at 03:37:04PM +0300, Alexpux wrote:
 
  18 дек. 2014 г., в 15:29, Alex Peshkoff peshk...@mail.ru написал(а):
  
  patching file builds/posix/prefix.mingw
  Hunk #1 FAILED at 41.
  1 out of 1 hunk FAILED -- saving rejects to file 
  builds/posix/prefix.mingw.rej
  
  
 Hmm, I’m clearly apply it on my repo :(

The git mirror is only updated once a day, IIRC, so there may be a
difference between it and the (primary) SVN repository on SourceForge.

   Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Jaybird test failures with Firebird 3 beta 1

2014-12-05 Thread Michal Kubecek
On Fri, Dec 05, 2014 at 05:37:15PM +0100, Mark Rotteveel wrote:
 
 I also tried the snapshot build (3.0.0.31467), but that seems to behave 
 even worse. For example events don't seem to be working; log shows:
 RAMONAFri Dec 05 16:34:12 2014
   Unable to complete network request to host Ramona.
   Timeout occurred while waiting for a secondary connection for event 
 processing
 
 It looks like Firebird is asking Jaybird to connect to the wrong address 
 (Error message from Jaybird says Unable to complete network request to 
 host 0.0.0.0, but I haven't looked into it yet so this might just be 
 an artifact from how Jaybird constructs its error message here. Might 
 this be related to the IPv6 changes?

It may be related but this explanation seems wrong. As it used to be
before the IPv6 support, client part of aux_connect() ignores the
address sent by server (there might be a NAT in between) and uses the
same address as the main port. I would rather understand if the port
advertised by server was wrong, that would be a problem.

   Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Jaybird test failures with Firebird 3 beta 1

2014-12-05 Thread Michal Kubecek
On Fri, Dec 05, 2014 at 06:17:04PM +0100, Michal Kubecek wrote:
 
 It may be related but this explanation seems wrong. As it used to be
 before the IPv6 support, client part of aux_connect() ignores the
 address sent by server (there might be a NAT in between) and uses the
 same address as the main port.

Should be main connection.

Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Jaybird test failures with Firebird 3 beta 1

2014-12-05 Thread Michal Kubecek
On Fri, Dec 05, 2014 at 06:51:47PM +0100, m...@lawinegevaar.nl wrote:
 As Jaybird is not using the client library, that assumption might not be
 correct. I'll look into that more closely tomorrow.

I checked the code and I think I see where the problem comes from:
aux_request() sets packet-p_resp to what getsockname() returns for the
main connection socket. In case of an IPv4 connection to a PF_INET6
listening socket, that would be a v6-mapped address. If the client
expects only struct sockaddr_in and doesn't check sa_family, it will
read wrong address.

While the clients should eventually learn to expect and process IPv6
addresses, this should be fixed to preserve backwards compatibility by
calling unmapV4() on the address first so that an v6-mapped address is
converted to normal IPv4 one.

The reason I didn't notice this when testing the events was that 2.5
libfbclient also ignores the address passed by server so that it didn't
matter that it was wrong.

I'll commit a fix once I have it tested.

 Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Fb3 daily build and test broken

2014-11-24 Thread Michal Kubecek
On Mon, Nov 24, 2014 at 11:19:30AM +0100, Pavel Cisar wrote:
 
 I'd gladly look into it, but I can't test it. It works for 2.5.3 and I 
 can't install latest 3.0 as there is no 64-bit Linux build, and Alpha 2 
 doesn't work on my openSUSE 13.1 (problem with icu).

You can find working openSUSE packages (with a hack making it work with
SUSE ICU hack) in home:mkubecek:firebird30 OBS project:

  
http://download.opensuse.org/repositories/home:/mkubecek:/firebird30/openSUSE_13.1/

Right now it has 31406 build (which is the one where problems were
observed), I plan to update it later today.

Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Fb3 daily build and test broken

2014-11-24 Thread Michal Kubecek
On Mon, Nov 24, 2014 at 12:26:22PM +0100, Philippe Makowski wrote:
 Hi,
 Le 24/11/14 11:19, Pavel Cisar a écrit :
 
  I'd gladly look into it, but I can't test it. It works for 2.5.3 and I
  can't install latest 3.0 as there is no 64-bit Linux build
 
 here is the latest snapshot :
 
 http://web.firebirdsql.org/downloads/snapshot_builds/linux/fb3.0/

I don't think it's going to work on openSUSE 13.1 because of the trick
with ICU versioning; that's also the reason why building from unpatched
sources fails - running the binaries during build fail as they can't
find usable ICU.

I haven't pushed the patch into firebird SVN yet because I can't say
I really understand the problem and because my current patch looks more
as a dirty hack than a proper solution.

 Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Fb3 daily build and test broken

2014-11-24 Thread Michal Kubecek
On Mon, Nov 24, 2014 at 04:33:08PM +0300, Alex Peshkoff wrote:
 On 11/24/14 13:19, Pavel Cisar wrote:
  Hi,
 
  I'd gladly look into it, but I can't test it. It works for 2.5.3 and I
  can't install latest 3.0 as there is no 64-bit Linux build, and Alpha 2
  doesn't work on my openSUSE 13.1 (problem with icu).
 
 
 Pavel, what is that ICU problem?

My understanding is that ICU upstream changes its ABI between minor
versions (in particular, between 51.1 and 51.2) so that openSUSE now
uses combination of (upstream) major and minor for both soname and
U_ICU_VERSION_SHORT. With this trick, upstream Firebird sources build
binaries but then they fail to find usable ICU library (so that the
build fails).

   Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Snapshot 3.0.0.31439 Not listen on any port?

2014-11-21 Thread Michal Kubecek
On Fri, Nov 21, 2014 at 10:03:12AM +0200, Vlad Khorsun wrote:
 19.11.2014 16:08, Michal Kubecek пишет:
 
  Could you check if first getaddrinfo() call returns EAI_FAMILY on
  Windows XP without IPv6 support? The way I read the manual page it
  should but I would rather make sure.
 
On W2K3 without IPv6 i see that getaddrinfo() returns 0 and gai_result
 contains one entry with ai_family == AF_INET6. But later, call to socket()
 returns error 10047 (WSAEAFNOSUPPORT). Note, EAI_* codes is just an aliases
 for WSA* codes. In this case WSAEAFNOSUPPORT is an real error code for
 EAI_FAMILY.

That's unfortunate... I suppose the easiest way out of this would be
adding something like

#ifdef WIN_NT
if (!host_str  /* Windows version  Vista */)
gai_hints.ai_family = AF_INET;
#endif

This should also take care of XP/2003 with IPv6 support (making the
server listen on 0.0.0.0 by default).

BTW, always write OS error code with custom error message !

You mean the number in addition to its text representation?

 Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Fb3 daily build and test broken

2014-11-21 Thread Michal Kubecek
On Fri, Nov 21, 2014 at 12:01:30PM +0100, Philippe Makowski wrote:
 
 in sys.log for surperserver we have :
 Nov 21 10:41:14 precise64 kernel: [  724.669973] fbt_run[21560]: 
 segfault at 0 ip   (null) sp 7fff305ac9f8 error 14 in 
 python2.7[40+27]

Error 0x14 means instruction fetch in user mode. As both IP and fault
address are zero, my guess would be an attempt to call a (rem_port?)
method which has not been set.  A core dump (or at least a stack trace)
would be definitely helpful.

 Nov 21 10:41:14 precise64 kernel: [  724.688799] [ cut here 
 ]
 Nov 21 10:41:14 precise64 kernel: [  724.688808] WARNING: at 
 /build/buildd/linux-3.2.0/fs/dcache.c:1287 d_set_d_op+0x7c/0xb0()
 ...

This is a kernel warning, looks like an inconsistency in dentry cache.
I'm not familiar with filsystems code but this seems to point to a bug
in kernel code.

 and in firebird.log
 precise64 Fri Nov 21 10:40:27 2014
   /opt/firebird/bin/fbguard: guardian starting /opt/firebird/bin/firebird
 
 precise64 Fri Nov 21 10:40:27 2014
   setsockopt: error setting IPV6_V6ONLY to 0

This is surprising. Looking at 3.2 kernel code, setting IPV6_V6ONLY can
only fail for two reasons:

  - optlen  sizeof(int)
  - local port already set (i.e. setsockopt() called after bind())

There are also universal reasons, e.g. invalid socket number, but those
would definitely cause more errors, not only one with setsockopt().

 Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Fb3 daily build and test broken

2014-11-21 Thread Michal Kubecek
On Fri, Nov 21, 2014 at 04:07:57PM +0300, Alex Peshkoff wrote:
 On 11/21/14 15:58, Michal Kubecek wrote:
  On Fri, Nov 21, 2014 at 12:01:30PM +0100, Philippe Makowski wrote:
  in sys.log for surperserver we have :
  Nov 21 10:41:14 precise64 kernel: [  724.669973] fbt_run[21560]:
  segfault at 0 ip   (null) sp 7fff305ac9f8 error 14 in
  python2.7[40+27]
  Error 0x14 means instruction fetch in user mode. As both IP and fault
  address are zero, my guess would be an attempt to call a (rem_port?)
  method which has not been set.
 
 Pay attention - in python2.7 module. Firebird server does not use python.

If it happened in libfbclient2 function called from python, kernel would
still show python, wouldn't it? But without at least a stack trace, it's
not possible to tell which code to blame.

  Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Odp: Snapshot 3.0.0.31439 Not listen on any port?

2014-11-20 Thread Michal Kubecek
On Thu, Nov 20, 2014 at 02:45:08PM +0100, Dimitry Sibiryakov wrote:
 20.11.2014 11:11, Michal Kubecek wrote:
  I committed the fix now
 
Unfortunately EAI_ADDRFAMILY is not defined by MSVC.

Thank you, I removed the EAI_ADDRFAMILY part now. It can be put back
(protected by #ifdef) if there is an actual system where getaddrinfo()
returns EAI_ADDRFAMILY in situation when it makes sense to repeat the
call with AF_UNSPEC.

   Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Snapshot 3.0.0.31439 Not listen on any port?

2014-11-20 Thread Michal Kubecek
On Thu, Nov 20, 2014 at 03:01:11PM +0100, Dimitry Sibiryakov wrote:
 19.11.2014 15:08, Michal Kubecek wrote:
  The reason for AF_INET6 is that a PF_INET6 socket bound to
  :: can accept both IPv6 and IPv4 connections (as long as IPV6_V6ONLY is
  0 and the system supports this setting) while a PF_INET socket can only
  accept IPv4 connections. Therefore PF_INET6 should be preferred if we
  want to listen on any address (as long as we can only use one socket).
 
 At first, as you can see from link in previous message, it doesn't
 work for Windows XP.

Yes, I'm aware of this deficiency of Windows XP.

 At second, it is a good idea to use separate sockets on other systems
 as well to let users bind any interface for IPv6 and localhost
 only for IPv4.

Right now, something like that is not possible. But the reason is not in
the way IPv6 support is implemented (after all, I added a config setting
for the IPV6_V6ONLY socket option). The reason is that RemoteBindAddress
only accepts one listening address and server can create and manage only
one listening socket (for main connections, there can be more for aux
connections (events)).

I have a patch allowing the server to create and handle multiple
listening sockets and specify a list of addresses. With this patch, your
example could be configured with

  IPv6V6Only = true
  RemoteBindAddress = 127.0.0.1 ; ::

However, this patch is less tested and more intrusive than the rest of
the IPv6 series. As we are already in beta phase, I didn't feel
confident enought to commit it with the others. And I don't intend to do
so unless someone with sufficient weight says it's OK (someone having
it tested on Windows would be also helpful).

So I suppose the question is: do we want to introduce a potentially
risky feature at this stage or would we rather accept the server not
being able to listen on both IPv4 and IPv6 on two platforms, one of them
already unsupported now, the other either unsupported when 3.0 is
released or shortly after that?

  Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Snapshot 3.0.0.31439 Not listen on any port?

2014-11-19 Thread Michal Kubecek
On Wed, Nov 19, 2014 at 12:11:06PM +0200, Vlad Khorsun wrote:
 19.11.2014 11:42, Michal Kubecek wrote:
  On Wed, Nov 19, 2014 at 10:01:32AM +0100, liviuslivius wrote:
 
  I downloaded today FB 3.0.0.31439 - but i can not connect to it
  And i do not see 3050 listen port with netstat -a
 
  Does setting RemoteBindAddress 127.0.0.1 in firebird.conf help?
 
No. And it can't help. Look at inet.cpp, line 775:
 
   // Prepare hints
   struct addrinfo gai_hints;
   memset(gai_hints, 0, sizeof(gai_hints));
   gai_hints.ai_family = (packet ? AF_UNSPEC : AF_INET6);
 
How it could work on OS without support for AF_INET6 ?

Right, this is wrong. Actually, even on a system supporting IPv6, using
an IPv4 address in RemoteBindAddress creates an IPv6 socket with
v6-mapped address (which works so I didn't notice it). AF_INET6 should
only be used if host string is empty, otherwise, it would be better to
let getaddrinfo() decide. I'll test if AF_UNSPEC works correctly on
Linux (with IPv6 support).

 Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Snapshot 3.0.0.31439 Not listen on any port?

2014-11-19 Thread Michal Kubecek
On Wed, Nov 19, 2014 at 12:52:10PM +0100, Michal Kubecek wrote:
 
 Handling Windows XP with IPv6 support will be more tricky. What might
 work would be to move the attempt to set IPV6_V6ONLY earlier, before
 getaddrinfo() is called, and also use AF_UNSPEC if setting IPV6_V6ONLY
 to 0 failed.

...which won't work as we can't try setsockopt() until we create the
socket and socket creation needs to wait for getaddrinfo() to tell us
what packet family to use. :-(

I guess there are three options:

1. Add the explanation and suggestion to use RemoteBindAddress 0.0.0.0
   as workaround on pre-Vista Windows to Release Notes.

2. Let the server listen on 0.0.0.0 by default everywhere (so that admin
   can change it where IPv6 is needed).

3. Add multiple sockets support, turn IPv6V6Only on by default and
   interpret  as 0.0.0.0;:: (if it is on).

Personally, I like option 1 most; the fact that systems needing the
workaround are either unsupported already (except for POS usage) or soon
to be might calm down our conscience.

  Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Snapshot 3.0.0.31439 Not listen on any port?

2014-11-19 Thread Michal Kubecek
On Wed, Nov 19, 2014 at 03:52:37PM +0200, Vlad Khorsun wrote:
 19.11.2014 13:52, Michal Kubecek wrote:
  Could you please try attached patch? It uses AF_UNSPEC in getaddrinfo()
  hints whenever host string is non-empty and retries getaddrinfo() with
  AF_UNSPEC if AF_INET6 fails for empty host string.
 
It doesn't look at error codes and tries to guess what happens. For
example, if first call of getaddrinfo() returns error because of
wrong service name, code will change ai_family without a reason to
do it. Second call will fail too (because reason was not fixed).
Third call with fixed service name will succeed but with AF_UNSPEC
in ai_family. Is it how it supposed to work ?

Could you check if first getaddrinfo() call returns EAI_FAMILY on
Windows XP without IPv6 support? The way I read the manual page it
should but I would rather make sure.

  Handling Windows XP with IPv6 support will be more tricky. What might
  work would be to move the attempt to set IPV6_V6ONLY earlier, before
  getaddrinfo() is called, and also use AF_UNSPEC if setting IPV6_V6ONLY
  to 0 failed.
 
You assume that IPv6 support is more important than IPv4. Why ?

No, I don't. The reason for AF_INET6 is that a PF_INET6 socket bound to
:: can accept both IPv6 and IPv4 connections (as long as IPV6_V6ONLY is
0 and the system supports this setting) while a PF_INET socket can only
accept IPv4 connections. Therefore PF_INET6 should be preferred if we
want to listen on any address (as long as we can only use one socket).

  Michal Kubecek


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Odp: Snapshot 3.0.0.31439 Not listen on any port?

2014-11-19 Thread Michal Kubecek
On Wed, Nov 19, 2014 at 11:07:31PM +0100, liviusliv...@poczta.onet.pl wrote:
 
 I will try tommorow

Thank you.

 But if you have Win7pro install xpmode ;)

I don't. Actually, my only Windows system is a virtual machine with
Windows XP. But I don't have any development tools on it, I'm only using
it to update maps in my TomTom GPS.

BtW, I found that on Linux with IPv6 supported but disabled in kernel
(either via sysctl or kernel command line parameter), glibc version of
getaddrinfo() returns EAI_NONAME. So current version of the patch
(attached) uses

(n == EAI_FAMILY || n == EAI_ADDRFAMILY ||
 (!host_str  n == EAI_NONAME))

Hopefully this will catch all cases of missing/disabled IPv6 (and
nothing it shouldn't).

 Michal Kubecek

From 14ba01488a207d2f5006239ffe856b064e02e131 Mon Sep 17 00:00:00 2001
From: Michal Kubecek mkube...@suse.cz
Date: Wed, 19 Nov 2014 12:40:53 +0100
Subject: [PATCH] Fix server address resolution on systems without IPv6
 support.

We should only use AF_INET6 in getaddrinfo() hints if host string is
empty (so that we are listening on a wildcard address. If host string is
non-empty, let getaddrinfo() decide suitable address family. As a bonus,
this prevents server from binding to v6-mapped address if an IPv4
address is used for RemotBindAddress configuration directive.

Also fall back to AF_UNSPEC if getaddrinfo() fails with error code which
may be caused by IPv6 support missing or disabled.
---
 src/remote/inet.cpp | 26 --
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/src/remote/inet.cpp b/src/remote/inet.cpp
index 3696ef7..dff717b 100644
--- a/src/remote/inet.cpp
+++ b/src/remote/inet.cpp
@@ -869,7 +869,7 @@ rem_port* INET_connect(const TEXT* name,
 	// Prepare hints
 	struct addrinfo gai_hints;
 	memset(gai_hints, 0, sizeof(gai_hints));
-	gai_hints.ai_family = (packet ? AF_UNSPEC : AF_INET6);
+	gai_hints.ai_family = ((packet || host.hasData()) ? AF_UNSPEC : AF_INET6);
 	gai_hints.ai_socktype = SOCK_STREAM;
 
 #ifndef WIN_NT
@@ -882,14 +882,28 @@ rem_port* INET_connect(const TEXT* name,
 
 	const char* host_str = (host.hasData() ? host.c_str() : NULL);
 	struct addrinfo* gai_result;
-	int n = getaddrinfo(host_str, protocol.c_str(), gai_hints, gai_result);
+	bool retry_gai;
+	int n;
 
-	if (n  (protocol == FB_SERVICE_NAME))
+	do
 	{
-		// Try hard-wired translation of gds_db to 3050
-		protocol.printf(%hu, FB_SERVICE_PORT);
+		retry_gai = false;
 		n = getaddrinfo(host_str, protocol.c_str(), gai_hints, gai_result);
-	}
+
+		if ((n == EAI_FAMILY || n == EAI_ADDRFAMILY || (!host_str  n == EAI_NONAME)) 
+			(gai_hints.ai_family == AF_INET6))
+		{
+			// May be on a system without IPv6 support, try IPv4
+			gai_hints.ai_family = AF_UNSPEC;
+			retry_gai = true;
+		}
+		if ((n == EAI_SERVICE)  (protocol == FB_SERVICE_NAME))
+		{
+			// Try hard-wired translation of gds_db to 3050
+			protocol.printf(%hu, FB_SERVICE_PORT);
+			retry_gai = true;
+		}
+	} while (retry_gai);
 
 	if (n)
 	{
-- 
1.8.4.5

--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrkFirebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] IPv6 and multiple sockets - conclusion (?)

2014-11-16 Thread Michal Kubecek
On Sun, Nov 16, 2014 at 12:45:10AM -0200, Adriano dos Santos Fernandes wrote:
 In firebird.conf it says:
 
 # IPv4 and IPv6. Default is false on POSIX systems, true on Windows.
 # On Windows, false value can only be used since Windows Vista.
 
 Why it's different in POSIX and Windows? And why the default in Windows
 is something not accepted after Vista?
 
 But I then see in the code that the default is always false?

Originally the default was different but then I thought about it and
realized that if IPV6_V6ONLY can't be set, the default doesn't matter,
and if it can be set, the default can be always false (or rather should
be, unless listening on multiple sockets is also implemented). I forgot
to change the comment in firebird.conf, I'll fix it.

 In SockAddr.h:
   static const unsigned maxLen = sizeof(struct sockaddr_in6);
   char data[maxLen];
 
 Please change maxLen (static const) to MAX_LEN.
 
 And you declare a char array and cast to different structs. It will
 cause alignment problems in some architectures. It's better to use an
 union in this case, which will make avoid the casts too.

I wasn't sure if the union would guarantee that af_family, sin_family
and sin6_family members will be always at the same offset. But it seems
so and assumptions like this are quite frequent. Moreover, I tried to
rewrite the file now and there is only one place where char array is
more convenient and several where a union would be easier to handle.
So I'm going to change it (I'll need to run a few tests to make sure
nothing breaks).

Michal Kubecek


--
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] IPv6 and multiple sockets - conclusion (?)

2014-11-10 Thread Michal Kubecek
On Mon, Nov 10, 2014 at 02:12:25PM -0200, Adriano dos Santos Fernandes wrote:
 
 - methodNames in camel case, please
 - do not start variables with underline
 - SockAddr.h is copyright by Dmitry in 2006?? (you borrow the header
 from another file or is this based on existing code?)

Yes, I copied the header from another file and forgot to edit it.

Thank you for your comments. I updated the patch series at

  http://www.mk-sys.cz/tmp/fb3-ipv6/

to address them.

  Michal Kubecek


--
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


[Firebird-devel] IPv6 and multiple sockets - conclusion (?)

2014-11-03 Thread Michal Kubecek
Hello,

I'm happy to announce that attached series finally passed my tests for
all three modes (superserver, standaloneclassic and classic) including
events passing via aux connection. I only need to write a README
documenting extensions to the connection string and configuration.

First eight patches implement IPv6. These are divided into logical parts
and are quite well tested (but only on Linux, AFAIK). Last patch allows
server to listen on multiple ports. It's quite big, less tested (as it
was only completely finished last week). As Beta 1 is already out, I'm
reluctant to commit it without consulting first.

Now, I suppose, there are three options (not counting the obvious one to
leave all of it after 3.0):

1. Playing it safe, taking the IPv6 implementation with change to make
server only listen on (PF_INET) 0.0.0.0 by default. That way backward
compatibility is preserved and who wants to serve IPv6 requests, will
need to explicitely enable it.

2. If all supported platforms allow PF_INET6 socket bound to :: to
accept IPv4 connections (IPV6_V6ONLY = 0), we can take the IPv6
implementation as is, i.e. listening on :: (with IPV6_V6ONLY disabled)
by default.

3. Take the whole series including the last patch which allows server to
listen on multiple sockets (RemoteBindAddress being a semicolon
separated list).

Ideas? Suggestions?

  Michal Kubecek


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


Re: [Firebird-devel] IPv6 and multiple sockets - conclusion (?)

2014-11-03 Thread Michal Kubecek
On Tue, Nov 04, 2014 at 12:20:44AM +0100, Michal Kubecek wrote:
 
 I'm happy to announce that attached series finally passed my tests for

Forgot to attach the patch series. It is available at

  http://www.mk-sys.cz/tmp/fb3-ipv6/

Michal Kubecek


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


  1   2   >