Category: Technical Articles
Technical articles, How-tos, guides, etc.
Firebird 3.x OO API example
Pierre Y wrote on Firebird-devel list about the new Firebird 3.x api and he created a project for it
Now I started playing with the new API. I created a project on github for it :
https://github.com/zedalaye/fb3-oo-api
Is the OO API complete ? I think very strange to still have to build
DPB by hand… Can you expose something that may give access to the
ClumpletWriter to ease that ?
FreePascal FCL web combined live example with ExtJS
The example uses the latest 3.x version of the ExtJS Library
installed at demo.artesoft.gr/ext . I changed a little the database,
adding a before update or delete trigger to protect the demo account
from accidents.
The database is a firebird 2.1 Superserver, and the server is a CentOS
5.7 64bit with ISPConfig and the demo.artesoft.gr is a subdomain.
Feel free to do whatever you want with the demo as long is up and running.
Firebird CpuAffinityMask for 16 core server? Question of the day
We have this question on serverfault and the answer is in that thread too :
I have a server with 16 cores. What do I set the CpuAffinityMask to?
1111 1111 1111 1111 is 65535, should I put 65535?
Also, how to I configure the SuperClassic server?
This is for Firebird 2.5.
Delphi, Firebird, IBObjects and Transaction Management
I recently had reason to revisit transaction management in our application. The application makes extensive use of data aware grids (TDBGrid) and, as I am sure everyone is aware, it is impossible to explicitly manage transactions when you are displaying data in a grid.
Fortunately, IBObjects provides the means to automatically clean up transactions left hanging by TDBGrid. Unfortunately, this isn’t as well documented or as straightforward as I would like. So, after much research using the programmer’s secret weapon (Google) and a few questions posted to the IBObjects support group (thanks Jason) I think I finally understand how it works.
Firebird + EXT4 + barrier 1/0 + FW ON/OFF
Philippe Makowski did some TPC tests and posted the results at fb-devel:
Hi,
I’m a bit puzzled by the results I get I made test on Fedora 16 with Kernel 3.1.1-1.fc16.x86_64 on LVM2 Logical Volume of 10G
Firebird 2.5.1 Classic
hdparm /dev/vg_tests/testfb
/dev/vg_tests/testfb:
multcount = 0 (off)
IO_support = 1 (32-bit)
readonly = 0 (off)
readahead = 8 (on)
hdparm -Tt /dev/vg_tests/testfb
/dev/vg_tests/testfb:
Timing cached reads: 12976 MB in 2.00 seconds = 6496.46 MB/sec
Timing buffered disk reads: 174 MB in 3.02 seconds = 57.53 MB/sec
database : 1,8G
created with -w20
and buffers 1024
Firebird 2.5.1 package for Debian Stable named Squeeze
Damyan Ivanov announced :
I have prepared packages from the current version in wheezy
(2.5.1.26351), built for squeeze.
ftp://ftp.modsoftsys.net/public/firebird2.5-backports/
If these improve the situation, then we at least know the bug is fixed
in that version and can start looking for the exact fix, which would
take about 10 iterations (and probably several weeks).
[ED if you want to rebuild them for 32bits you can use these instructions ]
Recordings from 8th FDD
The recordings of the talks of the 8th Brazilian Firebird Developers Day are now available at the FireBase store. The MegaPack DVD (containing the recordings of several FDD editions were also updated with the 8th FDD talks).
Episode 1: Fishbowl Database Security Basics (application that uses Firebird)
Here are the security notes for an application that uses Firebird:
Another thing to keep in mind while securing your database: sometimes when we release new versions of Fishbowl, it upgrades your database to a new version, as well. When this happens, Fishbowl makes two different backups. One is a copy of the database; the other is a Firebird database dump. I like to call these the “Murphy’s Law backups” because you shouldn’t need them, and you won’t need them – until you don’t have them. They are created for rollback purposes during the upgrade. Leaving these unprotected is just as bad as leaving your main database unprotected. You can find these files in C:\Program Files (x86)\Fishbowl\database\data – inside the “old” and “backup” directories.
pyfirebirdsql (python 3.x driver) here is a first todo list
Philippe Makowski wrote a first todo list for the driver :
- add multiple transactions per connection management
- add prepared statements management
- extend services api
- improve info_database output (see db_info in kinterbasdb)
after that, I think that someone could work on sqlalchemy integration
I’ll try to first add the multiple transactions per connection
management in my repo (will create a branche for that)
Volunteers ?
Anything else ?