Firebird internals : Asyncronous System Trap

What is Asyncronous System Trap ? : This is similar to Unixes signal’s or OS interrupts.
Technically this is callbacks from Lock Manager into the Engine called when
somebody acquires lock at level not compatible with current level. In this case
all processes who owns the lock receives notification and should take appropriate
action to release lock (immediately or deferred-ASAP).

The main trick with AST’s handlers is that AST is send asynchronously and
handler must take care to work correctly. Since v2.5 all ATS handlers runs in
separate thread. Before v2.5 it works using signals on Unixes and threads on
Windows.

PS the issue with old glibc and FB 2.5 is that since v2.5 we abandoned usage of old
System V semaphores (do you remember “semaphores are exhausted” error ? now
you can forget it completely) and start to use pthread mutexes. And old glibc have a
bugs in pthread mutex implementation.

Extracting glibc info in #Linux to see if is greater or equal with 2.7

Related to previous announcement:If you are on ubuntu and your ubuntu release is greater than Hardy (8.04) you are safe , on other distributions you can determine this way the glibc version
You must run the /lib/libc.so.6 and it will return the glibc version
in the first row.
In ubuntu or any debian based distro

/lib/libc.so.6 | head -n 1
GNU C Library (Ubuntu EGLIBC 2.13-0ubuntu1) stable release version
2.13, by Roland McGrath et al.

in this case glibc is 2.13
and is builded from eglibc sources
https://launchpad.net/ubuntu/+source/eglibc

another option is dpkg interrogation

dpkg -l libc6

on rpm based distros

rpm -q glibc

ps: other alternative ways

#Perl DBD::Firebird fork progress

DBD::Firebird is registered in perl cpan’s module list and soon we will upload the first tar.gz release (when is considered stable enough)

Until then the module is hosted in github and can be used and tested :

Stefan has improved the Windows support also fixed many tests , here are some of the commit messages:
Improved support for MinGW, added support for ActivePerl, Removed some obsolete tests, All tests, now use testlib.pl and Test::More (except 60leaks.t)

Complete Language Reference hopefully completed by the end of winter

Dimitry Yemanov wrote about the complete Firebird 2.5 reference and how will be structured

I’m starting working on the contents for the complete Firebird 2.5
Language Reference with a hope to have it completed this winter. All the
appropriate questions and issues will be posted here in order to keep
everybody in sync. The first thing to discuss would be the document
structure.

Here is what I have in mind:

http://www.firebirdsql.org/download/rabbits/dimitr/LangRef.html

It’s just a draft and any feedback is welcome.

The major difference from what we have now is that the syntax diagrams
(along with the detailed description of the every clause) is moved to
the appendix A.

The major chapters contain the introduction to the appropriate
statements and the information on how to apply them to the common usage
patters instead.

1 25 26 27 28 29 58