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

Firebird usage with SchemaSpy – Java based Graphical Database Schema Metadata Browser

On devshed firebird forum someone asked if anyone used SchemaSpy with firebird , and later he got it working , here is the command line option (after installing jaybird.jar)
1) Download the ZIP file for jaybird
2) unzip it
3) Copy the file jaybird-full-2.1.6.jar into a convenient directory
4) specify the full path to the .jar file when starting schema spy

java -jar /home/java/schemaSpy_5.0.0.jar -t firebird -db /var/lib/firebird/2.1/data/employee.fdb -s schema -u SYSDBA -p ******* -o /home/firebird/ -port 3050 -host localhost -dp /home/user/jaybird-full-2.1.6.jar

ps:that is a single line

#ilovefs , #ilovefirebird:I Love Free Software Campaign , I love Firebird

Today is the day when you can share your love towards Firebird and the Free Software world (libreoffice , qt , debian)
There are lots of ways to declare one’s love… Here are some ideas on how you can go public and proclaim your love to Free Software/Firebird

  • Send active Free Software supporters a message thanking them for their work
  • Microblog about how you love Free Software, and tag those messages with #ilovefs/#ilovefirebird.
  • Hug a developer (ask permission first!)
  • Buy your favourite developer a drink. Or buy someone else a drink and while savouring it, tell him/her about your favorite Free Software application!

ps whey you search for i love firebird i have this example of trim function 🙂

select trim (‘la’ from ‘lalala I love Firebird’) from rdb$database
— returns ‘ I love Firebird’

Firebird used on a site with 1 Million users / day

Q:What kind of system is this? .The response is on Firebird-support

Monitoring software with also web access by many many users ~1 000 000
They do something which need transaction and some select(reports) which “not need” transaction
but in transactional database select also start short transaction then i can not remove it creation..
1 000 0000 x 10 queries per day i got 10 000 000 transaction+ system self generate 8 000 000 transaction per day (to
storing/updating/computing.. data)
and Forced Writes are ON but database work on some not mechanical device like normal HDD and corruption is reduced to minimal possible but this transaction counter do may problem :/

Karol Bieniaszewski

1 139 140 141 142 143 298