Thursday, December 30, 2004

Fyracle 0.8.4 pre-release

A pre-release of Fyracle 0.8.4 is available at:

This pre-release includes the following updates:
1. Several enhancements and fixes to support Compiere 2.5.1g
2. A new GUI administration tool, JDBStudio. This tool is located in the 'studio' sub-directory of the install directory.

This pre-release is for developers only (i.e. you need a developer install kit license key to use it). It is only needed if you are working and developing with the new Compiere 2.5.1g port.

The full release of Fyracle 0.8.4 is expected around February 1

Wednesday, December 29, 2004

Firebird V1.5.2 is announced on

The Firebird V1.5.2 release is announced on

IBUtils (

A new version of IBUtils is available ( IBUtils is used to simplify database design. Its main purpose is to show links between tables in your database visually like some CASE tools do.

Tuesday, December 28, 2004

Dual-booting multiple Linux distros

By: Kevin Russo

"All the Linux flavors I have tried have no problem dual-booting with Windows, but how do you boot multiple Linux flavors, like Fedora and Ubuntu? This is a great way to have your favorite distribution on the first drive (hda) and experiment with the hundreds of others on a second drive (hdb). I found many procedures by Googling, but most of them concentrated on booting two distros on the same hard drive. However, this is a very simple procedure."

Firebird 1.5.2 in OSNews

Some nice comments :)

Vote for firebird again!

Delphi 2005 Update #1 and memory leaks!

From borland.public.delphi.non-technical:

For those that still expirience memory leaks with
Update #1:

The severity of the memory leaks is proportional
to size of the source file being edited.

To completely resolve them:
Remove or rename the following packages
to disable Together:


in the \Bin directory.

It is not sufficient to disable Together from the Project
menu!!! The memory leaks due to Together will
happen as soon as you use the code editor and while
the Delphi is starting.

After you have disabled Together, you will notice, that
memory usage after D2005 has started is only half
of what it is otherwise. (85MB instead of 200 or so). The size
of the memory allocated by the process can be checked accurately with
this tool:

The Windows page file usage is not very accurate. But you get
a .NET and W32 side breakdown with that tool.

To get a .NET garbage collector breakdown use this:

You will be able to see the culprit (Together) on the work.

With the original release of D2005 there were memory leaks in
the code editor itself also. Even without Together.
Those have been fixed with Update #1.

I also found the IDE much more stable and reporting more
usefull error message after disabling Together.

I hope some will find this usefull.
Best Regards!

Fyracle 0.8.3 released!

Fyracle 0.8.3 released


- Rewritten Linux install sequence to make it
less error prone (all feedback welcome)
- Fixed handling of subfields (broken in 0.8.2)
- Added "Fyracle supported syntax" guide


In cooperation with O'Reilly publishing and its
PL/SQL authors, we can now include the "SQL Pocket
Guide" and the "PL/SQL Pocket Guide" as part of the
Fyracle documentation. These pocket guides are
available as PDF files in the Developer Install


The new demo installers can be downloaded from:

The Developer Install Kit can be downloaded via:


The recommended upgrade procedure is to first
uninstall previous versions of Fyracle and only
then to install the new 0.8.3 release. Remember
to save your configuration files (firebird.conf
and aliases.conf) if you changed them!

The uninstaller has a start menu entry on Windows
and can be found at the top of the install
directory on Linux and Windows.


The Compiere demo has not changed since the 0.8.2
release on November 30th. There is no need to
download it again if you got it after that date.

Monday, December 27, 2004

Firebird V1.5.2 for Linux and Windows has been released!

Firebird V1.5.2 for Linux and Windows has been released and is
available for download.

Other ports will follow in time.

The release deals with a number of bug reports and issues reported by users of Firebird over the last few months, (please see the
Release Notes for more detailed information).

As well as wishing everybody a merry christmas and a happy new year,
the Firebird project now hopes to concentrate on Alpha releases of Vulcan and Firebird 2.0 in the New Year.

Saturday, December 25, 2004

Firebird V1.03 (Release Candidate) Classic and SuperServer for Solaris (Sparc)

Firebird V1.03 (Release Candidate) Classic and SuperServer for Solaris (Sparc) are available for download. Comments and feedback to the Firebird Development list please. Thanks to Huw Jones for the builds.

IBAdmin 4.1 update 8.

SQLLY Development announce the availability of IBAdmin 4.1 update 8.

Firebird V1.5.2 Release Candidate 5 Classic Server for Solaris (Sparc)

Firebird V1.5.2 Release Candidate 5 Classic Server for Solaris (Sparc) is available for download and testing. Feedback to the Firebird Development list please. Once again, thanks to Huw Jones.

Firebird V1.5 Classic Server for HPUX 11

Firebird V1.5 Classic Server for HPUX 11 (Release Candidate) is available for download and testing. Feedback to the Firebird Development list please. Build provided by Paul Beach (IBPhoenix).

Thursday, December 23, 2004

Delphi 2005 Architect Review

"Delphi has grown up since it launched nearly ten years ago. The latest version – Delphi 2005 provides support for developing Win32 and .NET applications as well as now supporting the C# language as well. There are many enhancements to almost all areas of the new release with the main goal of increasing developer productivity."

Read more @,39024614,39170720,00.htm

Borland folding C++Builder into Delphi

"Borland Software (Profile, Products, Articles) in 2005 plans to fold its C++Builder developer tool line into the company’s Delphi IDE tool family for Windows application development, thus answering the question about what the company had planned to do with the technology."

Read more @

File Systems and Databases

"The topic of combining a database system (usually a conventional relational db system) with a file system to add meta-data, a richer set of attributes to files, has been a recurring discussion item on this and other sites. The article published last week, Rethinking the OS [], under the heading "Where Is It Stored?" talks about the ability to locate a file without knowing the exact name or location."

Read more @

Qt 4.0 Beta 1 Released

Trolltech has released the first Beta version of the upcoming Qt 4.0. The final version is expected to be released in late first quarter of 2005. An updated online Qt Reference Documentation is also available.

"Database vendors are joining the open source party"

Firebird is mentioned in the following article on NewsForge: "Database vendors are joining the open source party" by Jay Lyman

Firebird ODBC Updated!

Updated ODBC Snapshot is available for download.

IBReplicator V1.5.11 and Beta 2.0.14 are available.

Updated versions of IBReplicator V1.5.11 and Beta 2.0.14 are available. For details of changes please read the release notes.

Firebird - Is it a good choice?

Carlos Cantu's article: "Firebird - Is it a good choice?" in SQL Magazine #15 explains why Firebird is so great (in portuguese). See the cover.

Wednesday, December 22, 2004

Demand-loaded component packages in Delphi 2005


Delphi 2005 introduced a new mechanism for handling design-time component packages that allows them to now be demand-loaded. This allows the IDE to be more intelligent about when and what packages to load and only when actually needed, thus decreasing overall startup time (since D2005 is now three products in one, every little bit helps). In general the qualifications for demand-loading a package, or a group of packages (which I'll explain in a moment), is very deterministic. When loading a package the IDE is always analysing the package as it is registering its contents in order to best determine whether or not it is a candidate for demand-loading. There are, however, a few gotchas that you may encounter that can lead to confusion. There are a few rare cases where the IDE is unable to properly determine the eligibility of a set of packages. I'll try and outline and describe the logic which the IDE uses to qualify or disqualify a package's demand-load-ability.

Let's start with a few assumptions. In Delphi Win32, when you boil it all down, a class reference is nothing more than a pointer to that class' virtual method table. That VMT is located in the “text” or “code” segment of a given module (.exe, .dll or package). This is important to understand because it provides crucial information about the location of implementation of a given class. By using VirtualQueryEx, you can easily determine the actual module in which a class is defined. Simply pass the class reference to that function and one of the values returned in the MEMORY_BASIC_INFORMATION structure. The AllocationBase field happens to correspond to that module's HMODULE. You can pass this value to GetModuleFileName in order to get the fully qualified path to the module that was loaded.

Next, I need to define what a “package group” is. This is simply a given package and all its dependencies, both direct and indirect. Say package A requires packages B and C. The package group for package A contains A, B, and C, with A being the “root” package (ie. the package that caused all the others to be loaded). Now what's the group for package B? It's just B. That is because B doesn't require A, nor does it require C. Had B required C, then B's group would hav contained B and C. (of course B or C cannot require A since that would be circular and that is not a possible situation to have). Of course A, B and C can also exist in another root package's group as well. For instance, say package D also requires packages B and C. So now there are two groups, one containg A, B and C and another containing D, B and C with the group roots being A and D.

Now that you understand these two basics, lets start in on how the IDE analyses the design-time packages for demand-load eligibility. When the IDE loads a design-time package, it will typically “require” various run-time packages that contain *only* those bits needed for run-time use of the components. (you have separated your run-time bits from the design-time bits haven't you?... If not.. that is a discussion for another day ;-).. The design-time only package is where the actual component and property/component/selection editors are registered. This is done by calling RegisterComponents, RegisterPropertyEditor, RegisterComponentEditor, etc from within various global procedures called “Register”. It is important that this always be done within the “Register” procedure in order for the demand-loading to properly function. See this blog entry. What the IDE is basically looking for in order to determine the eligibility for demand-loading is that all component/property editor/ etc... registrations are restricted to that package's group only. If a propertly editor were to be registered that could apply to any component outside the currently loading group, then that group is disqualified from being demand-loaded. This is an important point.

Internally the IDE creates some datastructures that are filled in while all this “registering” is going on. So as each component and property/component/selection editor is registered they are cross-checked against the package group. Remember the VirtualQueryEx trick above? This is used to determine what packages contain a given component or property/component/selection editor. If the package is in the group then all is well. If a reference were allowed to “leak” outside the group, then it could be possible that a component/property/selection editor would not be properly loaded and used when needed. For instance, say you register a new propertly editor for any property of type TStrings on any TPersistent. This is a perfectly legal registration, however it would cause your package to be disqualified from being demand-loaded. Disqualification isn't nessesarily a bad thing. It may be that you actually wanted to override the Borland supplied TStrings property editor with one of your own design. It simply means that your package will now always be loaded either at startup or when a project that has it enabled is loaded.

Now what if you want your package to be demand-loaded but it isn't? How can you tell why it was disqualified? When implementing this feature, I asked the same questions. So in addition to the package analysis logic, I also added extensive logging and reporting. This functionality is also available to you as well. There are two ways you can turn this on. One is to enable it on a per-package basis. You can do this by calling EnableDemandLoadReport(Detailed: Boolean) inDesignIntf from one of the Register procedures in your design-time package. Pass False to simply get a report of why your package was disqualified and True to get a fully detailed report of what your package registered (which may be useful for many other uses as well). Once your package is loaded and fully registered, the IDE will create a text file that is the same base name as the design-time package being loaded with the extension .rpt in the same folder containing your package. You can also enable reporting globally by going to HKCU\Software\Borland\BDS\3.0\Package Cache and adding one or both of the following values: Report=1 or DetailedReport=1. They correspond to EnableDemandLoadReport(False) and EnableDemandLoadReport(True), respectively. The cool thing is that you can enable reporting in this manner and see detailed reports for *all* design-time packages that the IDE loads, including all the Borland supplied packages.

There are some cases where the IDE can get confused about what to demand-load. For instance, if you have a design-time package that requires a run-time/design-time package. The run-time/design-time package registers some components and the design-time package registers some property or component editors for the components in the run-time/design-time package. In this case you can do one of two things. The preferred method is to simply make the run-time/design-time package into a run-time only package and move the component registration into the design-time only package. The other technique is to call ForceDemandLoadState(dlDisable) from the design-time only package. Which brings up another new global function, ForceDemandLoadState(). This allows you to circumvent and override the descisions made by the IDE's automatic analysis code. There may be cases where the IDE, for whatever reason disqualified your package from being demand-loaded, but you feel that it really should be demand-loaded. You can call ForceDemandLoadState(dlEnable) from a Register procedure in your design-time package. For more information on this you can see the various comments in DesignIntf.pas.

So your packages are now being demand-loaded, how and when does it actually get loaded? When an instance of a registered component is created, the IDE will notice that the component is from a demand-loaded package and then load the package “on-demand.” This can happen by either manually dropping the component onto a design-surface or loading a form/datamodule/frame that contains that component. What about property/component editors? All the property/component/selection editors are “component centric” meaning that they always require a live component instance in order to be selected. Since they are also registered when the demand-loaded package is finally loaded, they too become available.

There is more that the demand-loading logic does, both in what it tracks and how it manages the state and palette filtering logic, but that will be left for another blog entry.


Friday, December 17, 2004

Vote for Firebird!

Firebird is racing home in a Newsforge poll of favourite open source RDBMSs. As the pollsters themselves say "This whole thing is wildly inaccurate. Rounding errors, ballot stuffers, dynamic IPs, firewalls. If you're using these numbers to do anything important, you're insane." Still, it's worth voting if you haven't already done so.

Easysoft ODBC-Firebird 1.0 driver

Easysoft Limited announce the immediate commercial release of the Easysoft ODBC-Firebird 1.0 driver. A free trial is available.

IBEasy+ Version 1.3

Marc Grange announced the availability of Version 1.3 of IBEasy+, a Firebird/Interbase database design and administration tool.

Contineo V1.2

Philippe Makowski announced the availability of Contineo V1.2. Contineo is an open source web based document management system that manages documents in most popular formats through all phases of document lifecycle.

IBDataWorks 1.3.0

Eric Chabot announced the availablility of IBDataWorks version 1.3.0 with numerous enhancements and bug fixes.

Securing Firebird on Windows2003

Si Carter of TECT Software Ltd has produced a paper on securing Firebird on Windows2003.

Thursday, December 16, 2004

Mantis 0.19.2 Released

This is mainly a maintenance release, but it is also the first release that is officially tested on PHP 5, Apache 2, and the MySqli extension. All Mantis users are encouraged to upgrade.

To see the change log for the release visit the following url:

Mantis is a php/MySQL/web based bugtracking system. Learn more.

Tuesday, December 14, 2004

Firebird 1.5.2 RC5

Latest--and hopefully last--beta build (4731) of Firebird 1.5.2 is now available in our pre-release area for download and final testing. Updated point release notes can be read on-line or downloaded.

Please submit any problem descriptions directly to the firebird-devel list (subscribe here): we don't want beta problems in the bug tracker.

Delphi2005 is faster.

"...That is a free 20% performance increase by just compiling, great, thank you Danny. (or whoever is else responsable)
Even the executable is smaller with delphi2005; 1.1Mb vs 1.4Mb."

Friday, December 10, 2004

Delphi 2005 fixes for QualityCentral bug reports

This article provides a list of the hundreds of reports in QualityCentral that are resolved with the Delphi 2005 release. I am posting this to my blog because BDN's publishing engine is currently unable to parse a document this large. We'll get that resolved ASAP.

QualityCentral bugs fixed in Delphi 2005

There are currently 263 QualityCentral bug reports closed with the release of Delphi 2005. This table lists the bugs, and provides links to additional information for each bug report.

Firebird is second!

Carlos Cantu reports that one of the biggest computer publications in Brazil Info Exame puts Firebird in second place in a survey of databases. Oracle 10g was first and there was no third.

Thursday, December 09, 2004

Microsoft Goes to Pieces

With the release of Longhorn in 2007, Microsoft said it will offer "role-based" versions of Windows in which only the code needed to perform a given function will be included in a particular build of the operating system. Could Longhorn's new, component-based approach be the start of something big?

KDE 3.3.2 Released

"The KDE Project today announced the immediate availability of KDE 3.3.2, a maintenance release for the latest generation of the most advanced and powerful free desktop for GNU/Linux and other UNIXes." Read the full announcement here, or download it here."

Mono 1.0.5 and 1.1.3 Released

Updates to the production and development versions of Mono have been released. The major features of this release are:

  • Generics support in the compiler is now feature complete. Use the bundled Mono.C5a library to explore the generics world. Couple more features from C# 2.0 are implemented.
  • SSAPRE optimization engine: for your performance needs.
  • New simplified build system, single `make' compilation of C and C# sources.
  • New and improved Mono.Unix namespace.
  • Faster, leaner, stabler everything.
  • .exe files are now gone from your /bin directory.

Wednesday, December 08, 2004

The Young Turk of Firefox

The Young Turk of Firefox, A Q & A with Blake Ross, lead architect of the Firefox browser by Keith Ward on mentions the Firebird open source database project.


IBReplicator V1.5.10 and IBReplicator Beta are available for download. Changes since the last release are available in the on-line Release Notes.

InterBase V7.5

InterBase V7.5 from Borland is available for download and trial. Note this is a 70-120MB download.

Tuesday, December 07, 2004

What's the Difference Between a Hobbyist and a Professional?

By Robert Bogue - Published 12/03/2004
A little something to debate about....

Firebird targets the enterprise database

Firebird targets the enterprise database by Paul N. Richter on NewsForge

Jaybird JDBC/JCA Driver v.1.5.5 released

The latest Jaybird driver point release 1.5.5 is now available. Details are here. If there are no showstoppers in this version, it will be the last v.1.5 point release. Coming next will be v.1.6, with Services API support.

Firebird ADO.NET Data Provider 1.7 Beta 2

The Firebird ADO.NET Data Provider 1.7 Beta 2 is available for download and testing. It fixes a number of bug issues and includes a new Wizard Framework to simplify the development of design time wizards and a configuration wizard for the FbDataAdapter class. More...

Thursday, December 02, 2004

Which Software Company Has the Best Support?

Fyracle 0.8.2 released

Fyracle 0.8.2 released


- fixed instability when using date functions (win)
- fixed instability when accessing blobs; this
issue also caused ODBC-driver errors
- fixed install issue with plsql on some linux systems
- fixed initialization failure of connector (lin)
- added suport for certain TOAD-generated syntax
- fixed a regression with nested queries
- fixed an auto-commit issue in JayBird
- upgraded the ODBC drivers to version 1.2.1
- upgraded the JDBC drivers to version 1.5.4 (lin)


The new demo installers can be downloaded from:

The new Install Kit can be downloaded via:


The recommended upgrade procedure is to first
uninstall previous versions of Fyracle and only
then to install the new 0.8.2 release.

The uninstaller has a start menu entry on Windows
and can be found at the top of the install
directory on Linux and Windows.


The Compiere demo has Jaybird preinstalled. If
you downloaded this demo ("") before
30-Nov-2004, you will need to download it again to
get rid of the "autocommit" failure reports.

Firebird V1.5.2 Release Candidate 4

Firebird V1.5.2 Release Candidate 4 is available for download and testing. Please report any issues, problems with this build to the Firebird Development list.

Tuesday, November 30, 2004

IBReplicator Beta has been released

IBReplicator Beta has been released and is available for download.

Want your own Firebird T-Shirt or Polo Shirt?

Want your own Firebird T-Shirt or Polo Shirt to impress your friends and advertise your favourite open source database? Well now you can - the Firebird Project has just started to make available, official branded Firebird merchandise. To start with T-Shirts and Polo Shirts, other goodies to follow.

Delphi Renaissance

"The TIOBE Programming Community Index is reporting that Delphi is experiencing a revival, this coincides with Borland recently releasing Delphi 2005 allowing users to target both win32 and .net platforms, which to some, is a welcome alternative for .net developers reluctant to use Microsoft Visual Studio or the opensource alternative SharpDevelop."

Firebird currently beats Ingres on performance

On the CA Ingres community page there is an interesting discussion thread:

Problems in Firebird 1.5.2 RC 3

Some minor new problems showed up in the Release Candidate 3 build. Release candidate 4 will follow shortly. Meanwhile, point release notes v.0152_08 are available online in English and for download in English and German.

Monday, November 29, 2004

Delphi 2005 update coming...

Just wanted to let you know that we do have an update underway that will improve memory usage among some other issues that have been raised post ship. Thank you for bringing some of these to our attention, your early feedback has been very helpful. We expect to have this update available after Thanksgiving, sometime in early December. Although there are some common issues raised here in these forums, the majority of early customer feedback has been that Delphi 2005 is a high quality Delphi release with an amazing feature set. With more features than we ever put in a single release, there will inevitably be some bugs that come up that we need to fix and we're focused on keeping Delphi 2005 quality level up to it's feature level - the highest ever :o)

Thanks again for your feedback and happy holidays,

Originally posted by Michael Swindell on Borland's newsgroups

Wednesday, November 24, 2004

IBReplicator Beta

IBReplicator Beta is available for download.

Tuesday, November 23, 2004

Linux's future has many challenges

INTELLECTUAL property challenges, business perception of security vulnerabilities and the reliability of open-source software are likely to be Linux's main risks this decade. Read more at »

Evans Data research survey of databases

Evans Data research survey of databases includes Firebird, for once. Firebird is listed under "What Open Source database are you using?" but appears not to rate with MySQL, MaxDB, PostgreSQL, Progress, et al., under these two: "Which of the following server database products do you work with?" and "Which database product do you use to do MOST of your programming?" Oh well.... Everyone who completes a survey is automatically entered into a draw to win $500.00 US.

They should be concerned about us...

MySQL to Oracle "They should be concerned about us" by Sylvia Carr on

SQLDirect Component Library V4.1.1

SQLDirect Component Library V4.1.1 is available. (SQLDirect is a light-weight BDE replacement for Borland Delphi V4 - 8 and C++Builder V4 - 6. It uses the native application programming interfaces to access to a number of database servers including InterBase and Firebird).

ZeosDBO 6.5.1 Alpha

Zeos Library, ZeosDBO 6.5.1 Alpha has been released.

Is Oracle A Legacy Technology?

Something to ponder: Is Oracle A Legacy Technology? On Mark Rittman's Oracle Weblog.

Firebird 1.5.2 RC3 is ready for testing

Release candidate 3 of Firebird 1.5.2 is now ready in the pre-release area for download and testing. Point release notes v.0152_07 are available online in English and for download in both English and German.

FlameRobin has Moved!

The FlameRobin project has now moved to its own home site on Sourceforge. All future releases will happen under the flamerobin SF project name. Those previously monitoring the package by way of the old fbmanager project will need to re-register your interest. The new Alpha 0.2 package is identical to the one released earlier in the week, so there is no need to download anything again.

Anyone subscribed to our current mailing lists should unsubscribe and re-subscribe to the new lists here.

InterBase Performance Monitoring: Vision and Control

In older versions of InterBase it was sometimes difficult to tell what was going on inside the server. This could make debugging applications very difficult. You could tell, for example, that there was a long-running transaction by looking at the DB header statistics, but you couldn't tell whose it was or what it was doing. Nor could the DBA preemptively end the transaction.

With InterBase 7 and higher, InterBase now provides insight into and control over the internal functions of the server via the temporary system tables. In some ways, InterBase developers and DBAs have a new problem: Instead of not enough information, we now have so much information and so many options for controlling the server that it's possible to get lost in the minutia of InterBase internals.

This session will focus on practical use of the feature. I'm not going to reproduce the InterBase documentation or explain every column of every table, but instead will focus on how to debug and enhance applications, and how to effectively administer an InterBase server.

Read more at:

Delphi 2005 Architect Trial available!!!

Borland posted trial version of Delphi 2005 Architect!!!
Let's go for it!

Friday, November 19, 2004

Fyracle 0.8.1 released!

This release fixes a number of issues:

- fixed install failure when the installer was located on
a different drive than the installation directory (Win)
- fixed install failure where fyracle.dll did not get
installed properly (Win)
- fixed install failure where the desktop icons did not
always properly launch their program
- fixed issue with the installer where post-install errors
caused the installer to abort
- removed the maximum statement length in the plsql
- fixed incorrect command line parameter handling in the
plsql compiler

Download from

myTracker 1.06

myTracker updated!

MyTracker is tracking and collaboration system that allows users to collect, file, share, and discuss any type of information, whether it is news, a thought, bug, task, idea, document, graph and report. MyTracker is powerful, well-organized, efficient, fully customizable and easy to use.

MyTracker is designed to make massive amounts of information manageable. It flexible, giving users a powerful framework allowing them to focus on their own problem-solving decisions. It can arrange large groups of information in an enormous number of ways, but quickly find a single item within the groups. MyTracker supports custom form design, queries, reporting, charting, notification and export of data - in HTML, XML and XLS (Excel) formats.

MyTracker is released under GPL License.

1.06 released on 17.11.2004
improved: documentation reviewed and updated by Chris

new:New Template macro for formatting stylesheet (very hot)
new:3 new permissions (Login restricted, Restrict selection of other users, Restrict selection of other user groups user)
new: open issue attachments via click on Stylesheet
fixed: At opening the issue details dialog set the focus on first editable field on properties page
1.05 released on 13.11.2004
new:Client console remebers the last logged user ;-)

fixed:All user can delete issues references from the tray
fixed:Wrong issue history BUG:1064527
fxed:Delete custom issue field BUG:1064045
fixed:Remember last query works also for Tray and selects the correct node
1.04 released on 8.11.2004
fixed: SOAP server dlls contain the missed midas.dll

1.03 released on 4.11.2004
fixed: Empty tray in direct DB connection does not delete the issues but the item in tray

changed: Stylesheet Macro sorts the rows by Change at field
new: Stylesheet Macro sorts the rows by field (old functionality)
1.02 released on 28.10.2004
fixed: Date formating in regions with no format

1.0 First official release (14.10.2004)

Thursday, November 18, 2004

Programming Language Popularity: UPDATE

"In the newest poll, there are some interesting things happening in the top five. C dropped a little, but Java dropped a lot going from 17.050% in October to just 14.804% in November. C++ also dropped a little. Both Visual Basic and Perl increased in their percentages, but not enough to change positions. Also notable is Delphi/Kylix in seventh position. This is notable because Pascal has been separated from this category to stand on its own. Pascal still made 17th position. "

Wednesday, November 17, 2004

GExperts 1.21 Released!

GExperts 1.21 is now available for download for Delphi 5/6/7/8/2005 and C++Builder 6. This release fixes a few minor bugs reported against GExperts 1.2. Support for Delphi 2005 (Delphi 9) is included but largely untested. Please report any problems using the feedback wizard in the GExperts about box.

FIBPlus 6.0 fixes

If you cannot wait for the service pack, you can try these quick fixes:

1. A report "Can''t read Buffer.Incorrect RecordNo" appeared on adding a new record to the database. An exception arose on trying to refresh an empty dataset.

function TRecordsCache.OldBuffer(RecordNo:integer): PChar;

if SaveChangeLog then
if RecordNo<=FRecordCount then
if FOldBufRecordNumber<>RecordNo then
if RecordNo<=FRecordCount then

procedure TRecordsCache.SaveOldBuffer(RecordNo: integer);
if SaveChangeLog then
if RecordNo<=FRecordCount then
2. Incorrect FullRefresh occurred with CacheModelKind=cmkLimitedBufferSize
unit FIBDataSet;

function TFIBCustomDataSet.RefreshAround(BaseQuery: TFIBQuery;var
IgnoreEmptyBaseQuery:boolean = True;ReopenBaseQuery:boolean = True

procedure ExecCurSelect( aCurSelect:TFIBQuery; SourceObject:ISQLObject);

function FetchAround(aCurSelect:TFIBQuery; RecordsLimit:integer;
FromRecNum:integer =-1
if FromRecNum=-1 then
Result := False;
while (i>0) and (aCurSelect.Next<>nil) do
Result := True;
FetchRecordToCache(aCurSelect, FCurrentRecord);
if Arrow<0 then
if vPartition^.EndPartRecordNo=-1 then
vPartition^.EndPartRecordNo :=FCurrentRecord;
if vPartition^.BeginPartRecordNo=-1 then
if aCurSelect.Eof then
if Arrow<0 then

RecordSource :ISQLObject;
EmptyDataSet :boolean;
with BaseQuery do
if ReopenBaseQuery then
Result:=not Eof;
Result :=RecordCount>0;


EmptyDataSet :=True;

if Result or (not IgnoreEmptyBaseQuery) then
if BaseRecNum<(FCacheModelOptions.FBufferChunks div 2) then
BaseRecNum:=FCacheModelOptions.FBufferChunks div 2;

if Result then
EmptyDataSet :=False;
FetchRecordToCache(BaseQuery, BaseRecNum);
vPartition^.EndPartRecordNo :=BaseRecNum;


if not Result then
vPartition^.EndPartRecordNo :=-1;

if FetchAround(FQSelectDescPart,FCacheModelOptions.FBufferChunks div
2,-1) then

if not Result then

if FetchAround(FQSelectPart,NotFetchedCount,1) then

if NotFetchedCount>0 then


if Result then
if EmptyDataSet then
FQCurrentSelect:=FQSelectPart ;

3. Local sorting and the CloneCurRecord method did not work.
unit FIBDataSet;

procedure GetInspectRecBuffer;
(dsState<>dsCalcFields) and (Field.FieldKind in
if Allocated then
Buff :=AllocRecordBuffer;
ReadRecordCache(vInspectRecno, Buff, State=dsOldValue);
if (Field.FieldKind in [fkLookUp,fkCalculated]) then
Allocated:=(dsState in [dsOldValue,dsFilter]) or
if Allocated then
Buff :=AllocRecordBuffer;
ReadRecordCache(vInspectRecno, Buff, State=dsOldValue)
4. On saving a dataset to the repository the query dialog always opened with an empty string.
unit RegFIBPlusEditors;

procedure TFIBGenSQlEd.SaveDataSetInfo;
with Component as TpFibDataSet do
if DataSet_ID = 0 then ShowMessage(Name + SCompEditDataSet_ID)
if DataBase = nil then ShowMessage(SDataBaseNotAssigned)
if not ExistDRepositaryTable(TFIBDataset(Component).DataBase) then
MessageDlg(SCompEditInfoTableNotExist, mtConfirmation, [mbOK, mbCancel], 0
) <> mrOk
then Exit;
if not InputQuery(SCompEditSaveDataSetProperty, SCompEditDataSetDesc, vDescription) then
5. When creating the SQL statements at design time, FibPlus 6 invoked an error in the Refreh SQL Query.
unit fraDSSQLEdit;

procedure TfDSSQLEdit.cmbTablesChange(Sender: TObject);
with cmbTables do
if ItemIndex>-1 then
FormatIdentifier(FDatabase.SQLDialect,AliasForTable(SelectSQLEdit.SQLText,cmbTables.Text)) +'.';
if FUpdTableSynonym[1]='@' then FUpdTableSynonym:='';

LstKeyFields.Clear; LstUpdFields.Clear;
6. On trying to connect to the database in design-time FIBPlus used the client library gds32.dll, though the LibraryName property had fbclient.dll.
unit pFIBDBEdit;

procedure TDBEditForm.TestBClick(Sender: TObject);
var TempDB : TFIBDatabase;
TestB.Enabled := false;
TempDB := TFIBDatabase.Create(nil);
if LocalC.Checked then
TempDB.DBName := DBNameE.Text
case ProtocolC.ItemIndex of
0: TempDB.DBName := Format('\\%s\%s', [ServerE.Text, DBNameE.Text]);
1: TempDB.DBName := Format('%s@%s', [ServerE.Text, DBNameE.Text]);
2: TempDB.DBName := Format('%s:%s', [ServerE.Text, DBNameE.Text]);
TempDB.UseLoginPrompt := UseLoginC.Checked;
TempDB.LibraryName := aDatabase.LibraryName;
////^^^^^^^^^ to add

TempDB.SQLDialect := DialectC.ItemIndex + 1;
TempDB.Connected := True;
TestB.Enabled := true;
6. If Select uses macro, refresh did not work.
function TFIBCustomDataSet.InternalRefreshRow(Qry: TFIBQuery; Buff:Pointer):boolean;

iCurScreenState: Integer;
if Buff=nil then
if not EmptyStrings(Qry.SQL) and (Active) then
if not FCachedUpdates and (CacheModelOptions.CacheModelKind=cmkStandard) then
if not (Qry.Open or Qry.ProcExecuted) then
SetQueryParams(Qry, Buff);
if (poStartTransaction in Options) and
not Qry.Transaction.InTransaction
if Qry.Open then
with PRecordData(Buff)^ do
if (Qry.SQLType = SQLExecProcedure) or (Qry.Next <> nil) then
if poRefreshDeletedRecord in Options then
if (CacheModelOptions.CacheModelKind=cmkStandard) then
if RecordCount>0 then
FIBError(feCannotRefresh, [CmpFullName(Self)]);

FYRACLE listed on GrokDoc

"Grokdoc is an offshoot of the well-known site Groklaw. Groklaw has the goal of covering legal news. Grokdoc is our newbie usability study, our attempt to help new users of GNU/Linux systems make the transition in a pleasant way, using the open method that proved so successful in developing FOSS software."

Fyracle and Firebird are listed on the "application crossover" page under the "Databases" heading:

Does your company need an open source compliance program?

Companies across the board are utilizing open source at an unprecedented rate, sometimes without much internal visibility. Who in an organization keeps track of open source adoption, modification, implementation and terms of use? Without a formal compliance program, business enterprises put themselves at risk of unintended violation of open source licenses, inadvertent loss of their own intellectual property rights, and contravention of government regulations. Yet most companies today lack the policies, procedures, and trained personnel to minimize the legal and intellectual property risks of using open source.

Read more at IT Manager's Journal »

Is SuSE Ready for the Laptop? Review of SuSE 9.2 Pro

"Linux laptop support has been in my experience abysmal at best. Things that just work when running Windows XP are either horribly broken, or simply not implemented at all under Linux. Many Linux distributions have little or no real ACPI support. Imagine using your laptop without a battery meter, or any noticeable fan control whatsoever. Due to the lack of mature ACPI support in most modern distributions, I have had to deal with a very large amount of suffering."

Read more

Advanced Data Generator

Upscene Productions is happy to announce a new version of the database developer tool: "Advanced Data Generator." More info and a 30-day trial version on Upscene

IBEasy+ announced!

Marc Grange announced IBEasy+, Firebird/Interbase design and administration tool.

Firebird support in Neo 1.3.

Johannes Ahrer announced Firebird support in Neo 1.3. Neo (.Net Entity Objects) is an open source framework for .NET developers who want an object-based domain model.

Tuesday, November 16, 2004

Installing Firebird on FreeBSD

By far the easiest way to install Firebird is via a package, or the ports tree.
When people in the FreeBSD community get a package running on FreeBSD, they often submit how they did it as a 'port', back to FreeBSD.
( This saves you working out what configure scripts to change, which make to use (make, gmake, bmake, aimk, etc) )

So we'll follow the road they've already blazed. Of course, feel free to download the source tarball, and get it building yourself, but it could take a while...

If you can't find a pre-compiled binary package on,, or, sync up your ports tree.
(Building it yourself ensure's it's built using optimisations for the processor you're running, too)

once ports tree is updated, do:


cd /usr/ports/databases/firebird
make install

Once this is finished, all dependencies are installed, the database is installed, the startup scripts are in place, the firebird user is added, and we're ready to go.

As the comment at the end of the install process suggests, we should change the password of the sysdba user, so lets do that now.

Starting Firebird
This involves running


/usr/local/etc/rc.d/ start
killall -HUP inetd

Or, simply reboot

Setting up Firebird's SYSDBA User


cd /usr/local/firebird
./bin/gsec -user SYSDBA -pass masterkey
( the ./bin/ is required if you haven't got /usr/local/firebird/bin in your path )
GSEC> modify SYSDBA -pw

( We might add a user while we're here )
GSEC> add testuser -pw testuser

( Now quit out )
GSEC> quit

Done. Now we're ready for databases. the Firebird runs as the user firebird, thusly needs read/write permissions to a directory to store the databases.
I usually make one called '/usr/db':


mkdir /usr/db
chown firebird /usr/db
chgrp firebird /usr/db
chown 770 /usr/db

There we have a nice, secure little home for our databases.
This directory isn't created by the install,as people will always want their databases stored in a different place, on a different HDD controller, etc.

Lets make a database

using your favourite editor, start a file in your home directory called 'fire1.sql', and in it, put the following:


CREATE DATABASE "localhost:/usr/db/fire1.gdb".

CREATE TABLE tbl_test1(
str_name VARCHAR(100) NOT NULL,
str_phone VARCHAR(20),
PRIMARY KEY(str_name)

Then save, and exit the file

Now, well create the database
( It may pay to put '/usr/local/firebird/bin' in your path, to save using the full path to the binaries every time )


isql -u testuser -p testuser < fire1.sql

Logging in for the very first time
Lets log in, and have a look. Run:

isql -u testuser -p testuser localhost:/usr/db/fire1.gdb

Database: localhost:/usr/db/fire1.gdb, User: testuser

You're in! Lets see what's inside:
( Note. Put a semi-colon at the end of every command. It's the terminator at the moment )

SQL> show tables;

Let see how that table's made up:
SQL> show table tbl_test1;
Primary key (STR_NAME)

Lovely! put some data in
SQL> insert into tbl_test1 (str_name, str_phone)
CON> values ('henry','12345678');

( Note the 'CON>' appears while a statement is continuing )

Let's select everything in the table
SQL> select * from tbl_test1;
===== ===
henry 12345678

Lets put some more in
SQL> insert into tbl_test1 (str_name, str_phone)
CON> values ('jane','87654321');

Select all
SQL> select * from tbl_test1;
==== ========
henry 12345678
jane 87654321

Select henry
select * from tbl_test1 where str_name = 'henry';

select people starting with 'h'
select * from tbl_test where str_name like 'h%';

select the first record
select first 1 * from tbl_test1;

select 1 record, but skip 1
select first 1 skip 1 * from tbl_test1;

select any records with the letter 'e' in them
select * from tbl_test1 where str_name containing 'e';

As you can see, the SQL is very similar to other databases.

Asterisk: The open source PBX replacement

Corporate voice communications have traditionally required expensive office exchange systems and service from big telephone companies. Today, however, organizations can use voice over Internet Protocol (VoIP) technology to provide internal voice communications, and continue to use a local telephone carrier for interfacing with the public switched telephone network (PSTN).

Read more »

FlameRobin 0.2.0 just released !

We are glad to announce the release of FlameRobin 0.2.0 ALPHA, now with property sheets and editors for most database objects, brand new background backup & restore features and a MacOS X port. Not to mention the new program logo.
New features:
- Brand new Backup/Restore dialogs that work in background, let you suppress the output messages and store their settings among invocations. Plus, the output messages can be copied to the clipboard.
- Many dialogs have been redesigned and now feature a cleaner GUI.
- "Show value" and "Show all values" context menu commands implemented for generators.
- Exceptions are now shown in the tree view and have Create/Drop menu commands and a property page.
- Property pages for triggers, table constraints, dependencies (all objects), generators were added. Plus, a special empty property page now appears for not yet supported object types, instead of an error message.
- Ability to view/add/drop table constraints.
- Reconnect menu command for databases will physically disconnect and reconnect a database in one shot.
- "Create new" and "Drop" commands added for external functions.
- New MacOS X port.
Release notes here, download here. Please send us comments, bug reports, feature requests, wishes, etc.

Firebird Words Reference

Here you can find interesting list created by Lester Caine

Delphi 2005 live audio chat

First Delphi 2005 live audio chat is with Danny Thorpe this Friday, Nov
19th at 10:00am PST, 1800GMT.

Friday, November 12, 2004

Devrace Releases FIBPlus 6.0

FIBPlus 6.0 - Database connectivity improvement tool for InterBase and Firebird developers

FIBPlus 6.0 is a library for Delphi, C++ Builder and Kylix developers who need fast direct access to InterBase and Firebird databases. FIBPlus is already familiar to most database professionals and this year the product got prestigious Best Database Connectivity Award from the Delphi Informant Magazine (Reader’s Choice). Improvements in this new version make FIBPlus 6.0 the fastest InterBase/Firebird database connectivity component available on the Internet.

The advantage of FIBPlus is that it supports all Borland InterBase and Firebird features like array-fields, convenient transaction handling, and is 100% compatible with third-party components and report generators. Most importantly, applications based on FIBPlus do not require BDE, ODBC or anything else.

This true direct database connectivity solution is capable of caching records in TpFIBDataSet, which reduces the amount of network traffic and speeds up data transfer time. Likewise, BLOB-fields can be cached as well, so when they are queried again, the values will be taken from the local cache rather from the server. Plus, the library employs a unique BLOB-field saving strategy. It splits all fields into BLOB-types and other types and saves other (common) types first. If it encounters a problem during this step, FIBPlus will not try saving BLOB-fields, thus reducing the amount of unnecessary network traffic.

FIBPlus was always easy to integrate with other visual applications and components, but now it provides extremely simple integration option for applications that have no GUI. This makes it possible to use FIBPlus for system-wide ‘non-user’ database applications. Finally IBX (InterBase Express) applications can be easily ported to FIBPlus to make sure it is 100% stable in new Firebird versions.

FIBPlus 6.0 is available at for free evaluation. The price of registering this library is 235 Euros per license. Unlimited (site) license is available for 1250 Euros.

Devrace supplies components and expertise to developers who use Borland Delphi, Borland C++ Builder, Borland InterBase and the Open Source Firebird. The FIBPlus component set has evolved through use and feedback from ourselves and a number of very experienced developers, making it a first class component set. The company is an official Borland Technology Partner since 2001.

System Requirements:
• IDE: Borland Delphi 5-7, C++ Builder 6-7, Kylix 3
• Database: Borland InterBase, Open Source Firebird

Thursday, November 11, 2004

C# Compiler Warnings ;)

11. WARNING: You appear to be making too much money. The going rate in India for code of this quality is $4/hour.
10. WARNING: Microsoft is committed to turning C# into another C++. You appear to only be using about 25% of the features currently available in the language. Please consult an approriate guide on how to incorporate the other 75% into your application.
9. WARNING: The book sitting on your bookshelf titled "Teach Yourself C# in 21 Days" is obsolete. Microsoft Press will soon be publishing a replacement titled "Teach Yourself C# in 42 Days".
8. WARNING: Your project contains over 400,000 lines of code and does not contain any abstract classes or implement any interfaces. You may want to consult with the "Gang of Four" for assistance in refactoring your application.
7. WARNING: You have marked a UserControl with the abstract keyword. Any classes derived from this class will not be editable in the Forms Designer. We don't really know why.
6. WARNING: I am an IBM Vendor who is being detained against my will at the Microsoft Redmond Campus. I have managed to infiltrate the C# development team in order to add this compiler warning. Please contact the authorities immediately. I believe that they are on to me. Just this morning, the secretary noticed that all of the Snickers bars and barbeque potato chips were missing from the "honor bar".
5. WARNING: The new intern is not a woman. Please stop staring at his "man boobs" and referring to him as "she". His name is Dexter.
4. WARNING: You do not appear to have any experience in Object Oriented design. Please switch back to VB6 immediately.
3. WARNING: The conditional operator (cond-expr ? expr1 : expr2) is too complex to be understood by the average programmer. Use an (if-else) construct instead.
2. WARNING: Your program did not generate any warnings.
1. WARNING: You are spending too much time on the Internet. You should get back to work to avoid losing your job.

Build your own search engine with ht://Dig

Most Linux users know how easily they can run a Web server on their favorite distros. Unfortunately, serving pages is one thing -- finding them is another. That's when many users turn to ht://Dig.

Read more »

CrossKylix VisualCLX patch

CrossKylix VisualCLX patch is available for Download (

ibWebAdmin 0.99.1 released - Version 1.0 soon

This release includes only small feature enhancements and bugfixes.
But it comes with a polish translation contributed by
Matthias Hryniszak and a first draft of a documentation which can be
found in the doc directory inside of the source tree.

Due to the fact that there are no known bugs for some time now I have
decided to change the development status from 'beta' to 'stable' with
this release. The version number will become 1.0 when the
documentation is finished.

- added polish language file, contributed by Matthias Hryniszak
- fixed editing of data for values containing double quotes
- fixed trigger-source when modifying triggers
- fixed a bug for csv-import of text-blobs
- direct editing of textblobs when entering/editing data
- added a 'delete all' option to the delete udf selectlist
- fixed editing/deleting data from the watchtable panel when cookies
are disabled

More on the fbwebadmin page

Updated ODBC Snapshot

Updated ODBC Snapshot (Beta V1.03.00.0074) is available for download.

The .NET Entity Objects Framework

The .NET Entity Objects Framework :- NEO is a framework for .NET developers who want to write enterprise applications with an object-based domain model. Version 1.3.0 of the Neo framework provides support for Firebird.

"The Free Database Niche"

This article "The Free Database Niche" appeared in Computerwoche, a German weekly IT newspaper a few weeks ago. The article that was printed was originally in German, this is an English translation of the original article. Despite emails and even a letter responding to this article we have had no response from Computerwoche or Wolfgang Sommergut. So we decided to print the article on our web site along with our response so supporters of Open Source databases, and in particular Firebird can see what we had to say in our defence.

Wednesday, November 10, 2004

FireFoot - alternative to the current Firebird API

New component library has been added to the contributed downloads section. FireFoot created as an alternative to the current Firebird API. It has been made using C and the GLib object model.

A new search engine for open source developers

Firebird is on A new search engine for open source developers looking for code snippets, examples etc.

FireFox 1.0 Final

The wait is over. Firefox 1.0 empowers you to browse faster, more safely and more efficiently than with any other browser. Join more than 8 million others and make the switch today — Firefox imports your Favorites, settings and other information, so you have nothing to lose.

Monday, November 08, 2004

Novell Launches an Enterprise Linux Desktop

Novell is announcing a new Linux desktop today, called "Novell Linux Desktop 9: Powered by SUSE Linux." More info at Newsforge and

Mantis 0.19.1 Released

This release is more than a minor release. It has more than one hundred features and bug fixes. The features include: relationship graphs, a report that summarizes the the access rights needed for the different actions, and many others. For more details checkout the change log at:

The Firebird ADO.NET Data Provider 1.7 Beta 1

The Firebird ADO.NET Data Provider 1.7 Beta 1 is available for download.

Download information can be found here:

Beta 1 ( 2004-11-05 )
---- - - ---- -- -- -

( Please, see the changelog for details )

* Bug fixes:

- Fixed Event Parameter buffer handling.

- Fixed plan retrieval using the connection character set.

- Fixed Globalization issues.

- Documentation fixes.

- Minor fix in the FbCommandBuilder class on quotes usage.

- Fixed Input parameter describe when the Prepare method
is called before the FbCommand instance has parameters assigned.

- Fixed Role usage in Connection Strings.

* Added new "Isolation Level" parameter for the connection string,
that allows to set the default IsolationLevel for implicit transactions.

* Improve handling of parameters when they have null values (embedded
server support only.)

* Added changes to try to handle arrays defined with lowerbound 0 correctly.

NOTE: The design time support included in this release for the
FbDataAdapter class is not complete, please, do not use it until it get
finished in future releases.

CVS Tag: NP_1_7_Beta1

Friday, November 05, 2004

IBEasy+ V1.2.2

IBEasy+ V1.2.2 is available for download. IBEasy+ is a freeware Firebird/InterBase database design and administration tool.

Thursday, November 04, 2004

Mono 1.0.4 Released

Novell released Mono 1.0.4 recently, along with testing version 1.1.2.

Wednesday, November 03, 2004

XPde Tools - Your Way To Linux

  • Oct 31th, 2004: A New Components link
    TFreeTimer - a Qt-free timer for Kylix.
  • Oct 31th, 2004: A New Components link
    TAALabel - an anti-aliased label using Xft.
  • Tuesday, November 02, 2004

    TIOBE Programming Community Index for November 2004

    November Headline: SAP/ABAP programmers still in great demand

    November's Newsflash

    brought to you by Paul Jansen

    • Pascal has been introduced as a separate entry this month. Until now Pascal has been part of the Delphi/Kylix group of programming languages. Various e-mails concerning Pascal initiated this change. The general motivation was most of the times something like "if VB.NET and classic Visual Basic are considered separate languages, Pascal and Delphi should be regarded as different languages as well". Since there is no historical data available for Pascal, its one years' difference had to be estimated. For this we took the average of two other dinosaurs: COBOL and Fortran. Within one year we can use Pascal's own historical data.

    • Because I was really surprised about the revival of Delphi, I asked Delphi expert Bob Swart ( ) why. According to him this is mainly because Delphi allows you to program single-source for both win32 and .NET by using VCL, just like CLX enables single-source Delphi development for both Windows and Linux.

    • Finally, FYI. We started monitoring the programming languages Rebol, Clarion and Simula (again) and stopped keeping track of the Cg and Curl programming languages.

    kbmMW v. 2.03 Free edition

    kbmMW v. 2.03 Free edition and kbmMemTable v5 is on the Delphi 2005 Companion CD!

    IBReplicator V2.0.0.8 (Beta)

    IBReplicator V2.0.0.8 (Beta) is available for download.

    IBReplicator Features

    Database replication synchronizes data when and where you want it!

    A tailored solution
    IBReplicator uses Firebird's/InterBase's own native API for all replication, so there is no reliance on middleware and drivers. IBReplicator is, therefore:
    • Fast: Replication occurs directly between servers: there are no intervening layers of processing from database engines or drivers, for example. Our tests indicate that actual replication speeds range from five operations per second over a 28.8 dial-up connection to 200 operations per second between two 200Mhz Pentium machines on a 10BaseT network, where an "operation" is an insert, update or delete.
    • Small: IBReplicator consists only of the necessary code; there is none of the overhead associated with any form of middleware.
    • Inexpensive: IBReplicator does not rely on any other software, so we pay no royalties, which means a cheaper product for you.
    Furthermore, IBReplicator can take advantage of Firebirds/InterBase's advanced, non-standard features:
    • Advanced datatypes: IBReplicator can replicate data of all types, including BLObs and arrays.
    • Event-alerters: Replication can occur in response to database events.
    • Two-phase commits: IBReplicator uses InterBase's two-phase commit to ensure that source and target databases are always synchronized.
    • Internationalisation: International character sets are supported.

    Ease of use
    A replication tool is, by it's nature, a complex piece of software, especially if it is a highly configurable one, like IBReplicator. Nonetheless, careful design has ensured that our replication server is exceptionally easy to install and use:

    • Point-and-click configuration: This tool allows you to select which tables and fields are to be replicated, and to view and edit optional settings; it also generates the required triggers on the source database for you.
    • Minimal configuration: Target databases need no configuration at all.
    • Performance monitor: This tool provides a real-time graph showing how replications are going.

    Powerful replication strategies
    Just how data should be replicated depends on the what you're trying to do, so our replication server offers you great flexibility as you configure your replications:

    • Multiple source and target databases: IBReplicator allows you to publish the data in many databases, and to subscribe many databases to each of them.
    • Flexible replication timing: Replication can occur either synchronously or asynchronously, i.e. on request, at timed intervals, or in response to database events.
    • N-way replication: Each target database can also be a source database in its turn, with replication being controlled by different instances of the replication server, or even by the same one.
    • Conflict resolution: IBReplicator provides three ways to handle cases where replicated data conflicts with extant data in the target database:
      • Priority-based
        Databases can be given priorities, and the database with the higher priority takes precedence.
      • Time-stamped
        Either the earliest or the latest change takes effect.
      • Master/slave
        The source database always takes precedence.

    Remote replication
    Our replication engine doesn't have to be running on either the source or the target database server for replication to occur; it can be running on any machine on your network or intranet.

    Operation logging
    IBReplicator can record its transactions in a log which can be either a window onscreen or a disk file.

    Sophisticated database operations
    IBReplicator uses a variety of techniques to get the most out of an Firebird/InterBase server, and to give you all the flexibility you need to configure a replication that fits your needs:

    • Optimizations: Only transactions that must be replicated are, in fact, replicated. For example, if an insert is immediately followed by an update of the same row, then only the insert is replicated, but with the more recent data.
    • Multi-segment primary keys: IBReplicator recognizes primary keys made up of multiple columns, and allows each column to be of any InterBase datatype.
    • Complete transactions: Only committed transactions are replicated (and the replication server may bundle multiple transactions into super-transactions for reasons of efficiency).

    Firebird 1.5.2 Release Candidate 1 is available for download and testing.

    Firebird 1.5.2 Release Candidate 1 is available for download and testing.
    Note this is a "Release Candidate", not an official release. We would
    like people to help test this before official release. Any comments
    issues, problems etc should be reported to the Firebird Development

    Builds can be downloaded from:

    Windows, Linux, Linux NPTL and 64 bit Linux versions are all available
    under the appropriate subdirectories at the above url.

    Details on what bugs have been fixed in this release, can be found in the
    release notes at:

    This release includes a fix for the following known problem with events.
    Those of you who have experienced this bug should please test 1.5.2 and
    make sure that the problem has been resolved.

    "An old legacy bug that has continued to bug us is that, when a client had some
    events registered and its network connection had been terminated abnormally
    (hardware failure, reset button or task manager), then the server would start
    using 100% of the CPU time until the "parent" port (client connection which
    called isc_que_events() API routine) reported on its failure.

    This bug affected all FB versions (more or less, depending on the
    DummyPacketInterval configuration option) and only TCP/IP connections.

    Further work has been done to rectify the problem in v.1.5.2. It now appears to be solved."

    I would like to thank all of those who worked on the release for their efforts.

    Firebird Release Team.

    Friday, October 29, 2004

    Firebird ODBC driver updated!

    Updated ODBC Snapshot (Beta V1.03.00.0073) is available for download.

    Thursday, October 28, 2004

    Creating your own content management system with php

    If you want to know how to create a content management system with php where you can make password protected pages that require to be registered, then this article should help you, but going through the code of a very basic CMS system and providing you the code to play around with. Read the Full article at IceTeks

    CrossKylix 1.0.0 is here!!!

    Here's the list of changes since 0.9.1:

    - Added "output directory" to CrossKylix options
    - Moved Kylix-paths to the top of the .conf file. This fixes the problem that if "Use Debug
    DCUs" was enabled in Delphis project options, Kylix tried to use those dcus (which failed).
    This used to be a common problem for many first-time users.
    - Added missing translation for -LU switch, which made compiling packages fail
    - Compile dialog now uses FileCtrl.MinimizeName to shorten the path name displayed - looks
    - The CK menu items now will only be enabled if you have a compilable project open. For
    Delphi 2005 it will only be enabled if the current personality is set to Delphi.
    - The ckdcc command line compiler now will display some own usage information additional
    to the native dcc one
    - ckdcc now also works when installed into a path with a space character in it. Compiling
    projects with spaces in their paths still is begging for trouble, though.
    - Delphi 2005 now is officially supported

    You may download the new version from

    Existing users of 0.9.0 and 0.9.1 may update their installation by
    downloading and unzipping this WITH
    PATH NAMES to your CrossKylix installation directory. Then recompile
    the CrossKylix IDE plugin package CrossKylix.dpk, and you are done.

    (This update only works if your previously have installed 0.9.X, it
    does NOT work with older CrossKylix releases).

    Please notice that also has
    been updated.

    Wednesday, October 27, 2004

    Talk on "Firebird's Stored Procedures, Triggers and Events"

    Carlos H Cantu will deliver a talk on "Firebird's Stored Procedures, Triggers and Events" at the 4º Delphi Developers Day in Ribeirão, Preto-SP, Brazil. More information can be found on the DUG-BR web site.

    NPTL kit for Superserver on Linux

    The NPTL (Native Posix Thread Library) Superserver for Linux build referred to in the release notes should be used if you are installing SS on Fedora Core or other Linuxen that use the New POSIX Threading Library (NPTL).

    Forum for InterBase, Firebird and Yaffil users

    New forum for InterBase, Firebird and Yaffil users is here:

    Tuesday, October 26, 2004

    Win an Apple Power Mac G5 system!

    Firebird is a Tier 2 project in the Linux On Power Open Source Developer Contest. If you port Firebird 1.5 to the Linux/PPC64 platform and you are a US resident you can win an Apple Power Mac G5 system. Any developer that would like to take up this challenge needs to register for the competition before October 31st 2004. The port needs to be a native 64-bit, optimized build, any patches required for the build need to be submitted to the Firebird CVS HEAD and current stable branch (B1_5_Release). The Port should not introduce any new regressions in the QMDB test suite as compared to current Linux/x86 platform. If you need assistance in this you can ask on the Firebird development list for advice and help. There are a number of non US residents who have sucessfully ported Firebird to other platforms.

    Jaybird V1.5.4 (Firebird Class 4 JCA-JDBC Driver)

    Jaybird V1.5.4 (Firebird Class 4 JCA-JDBC Driver) has been released and is available for download.

    Monday, October 25, 2004

    New Firebird Open Source Project

    New Firebird Open Source Project: MyTracker, has been listed on the IBPhoenix Firebird and InterBase related projects page.
    MyTracker is tracking and collaboration system that allows users to collect, file, share, and discuss any type of information, whether it is news, a thought, bug, task, idea, document, graph and report.
    If your project is not listed here and you would like it adding please send us the details.

    Friday, October 22, 2004

    30th Anniversary of Pascal

    GrokSoup writes "UC San Diego is holding a public symposium on Friday, October 22nd, honoring the 30th anniversary of the Pascal programming language. Oh the memories of undergraduate bubble-sorts ..."

    Thursday, October 21, 2004

    Why is Delphi 2005 the "must have" upgrade for Win32 developers?

    "A great question was posted in the Delphi newsgroups today:

    "What would make me switch from Delphi 7 to Delphi 2005?"

    This question is great because it's really the same for any Delphi Win32 developer using version v2 thru v7. The answer is that there are more new features for Win32 development than we've done in any previous version of Delphi. For Win32 development we focused on how we could improve, speed up, and add fun to every aspect of the day to day developer experience for every Delphi developer regardless of what type of application you are developing. And, at the same time helping you to produce higher quality code, fewer bugs, and improve team collaboration. In addition to all of that, Delphi 2005 still provides, out of the box, the most seamless migration to .NET of any programming language, period.

    So, here are some reasons to upgrade - specifically for Win32 developers:

    - New, "For In" loop iterator (worth the price of admission alone)
    - New, Delphi compiler function inlining for executable performance increase
    - New, Refactoring
    o extract method
    o declare field/variable
    o rename
    o extract to resource string
    - New, SyncEdit - visually edit multiple occurances of a symbol simultaneously
    - New, Error Insights
    o you'll find errors faster, and let fewer get by (plus it's fun to watch as you type)
    - New Help Insights
    o on the fly VCL help for every object, property, and method
    - as well as for your own classes, functions, and procedures
    - New, Integrated DUnit unit testing to automate creating and executing Unit tests
    - New, Automatic multiple file backups - keeps a historical record of all file saves
    - New, History Manager - view/diff/restore from any backup or starteam checkin
    - Starteam Standard Edtion included in Delphi Enterprise and Architect Editions
    - Enhanced, IntraWeb v7.2 RAD WYSIWYG Delphi Web development
    - New, Deployment Manager - simplifies and automates deploying IntraWeb Applications
    - Enhanced, Indy 10 Internet Protocol components
    - Enhanced, Object Inspector
    o view and change properties of files in project manager and other IDE objects
    - Enhanced, Tool Palette
    o Designed to easily find, organize, and access hundreds of components
    o In place filtered searching - ctrl-alt-p and just start typing the first few characters of what you're looking for
    o Access Gallery Wizards from Tool Palette - ie: ctrl-alt-p "u" to add a unit
    - Enhanced, Interbase 7.5 Developer Edition
    - Enhanced, Nevrona Rave Reports
    - New, GlyFX Icon Library
    - New, Component One ActiveX Enterprise Suite
    - New, Sybase dbExpress driver
    - Datasnap(Midas) royalty free deployment license
    - Tons of Win32 debugger enhancements

    plus a few .NET features to boot ;o) Delphi.NET, VCL.NET, .NET versions of Delphi data access technologies, C# support, ECO II, RAD for ADO.NET and hundreds of add'l .NET features"

    Wednesday, October 20, 2004

    Firebird ODBC Driver

    Updated V1.3 (Beta) Firebird ODBC Driver snapshot is available for download.

    Tuesday, October 19, 2004

    Firebird V1.5 Classic Server for HPUX 11

    Firebird V1.5 Classic Server for HPUX 11 is available for testing. If you want to help out with this please contact Paul Beach at IBPhoenix directly.

    Monday, October 18, 2004

    Firebird .NET Data provider V1.6.3 for Mono 1.0x, .NET 1.0 and .NET 1.1

    The Firebird .NET Data provider V1.6.3 for Mono 1.0x, .NET 1.0 and .NET 1.1 is now available for download.

    Fyracle V0.8.0 (Oracle-mode Firebird) released!!!

    In the download area (, a new
    release of Fyracle is available:

    1. Fyracle is now built on top of Firebird 1.5.1

    2. The libraries "isc_api" and "ora_api" have been rolled together
    into a new library "fyracle". This is the only library you will need:
    "fyracle" makes both "isc_api" and "ora_api" redundant.

    3. Fyracle now works with an unmodified build of Jaybird. You
    need Jaybird 1.5.2 or later. Note that the connection string for
    Oracle-mode is "firebirdsql:oracle"

    4. Installers for Windows and Linux have been added. These
    installers will install Firebird and Fyracle and configure it for you.
    The installer will overwrite a pre-existing install of Firebird. If you
    have Firebird running on the target machine, you must shut it
    down before running the installer.

    On Linux, if started from within the X Window system, the installer
    will use a GUI interface to guide the install. If started from a plain
    shell, it will use a text based install.

    You must be 'root' / 'administrator' to run the installler.

    5. The Compiere demo has been rebuilt to work with the new
    Fyracle release. The files are available from the download area.
    Note that this is the same 2.5.0b release as earlier. Moving to
    a current release will be the next step.

    Database Workbench V2.5.5 released

    Upscene announce the release of Database Workbench V2.5.5

    Friday, October 15, 2004

    Kylix C++ ilink patch

    Fixes the ilink and file which crashes unter Kernel 2.6 with a failed assertion.


    Thursday, October 14, 2004

    Delphi 2005 has been announced.

    Delphi 2005 has been announced.

    More info, FAQ, Requirements and Feature Matrix :

    The feature matrix is only 2 pages, I think this is better than the 7+ page feature list of yesteryear naming everything.

    For those who want to now all new features I suggest to look at the presentation of John Kaster

    One little thought. What is .Net 2.0 is released on time in 2005, and borland follows quickly. It will still be 2005. What will the next version be called Delphi 2006, Delphi 2005 Summer Edition.
    As you can tell I have some problems naming product for the year in which they will be use instead of the year they are released. Like JBuilder2005, Delphi2005, StarTeam2005.

    Tuesday, October 12, 2004

    Fyracle and Firebird discussed on OS News

    There is an interesting discussion of Oracle versus open source
    databases on OS News:

    Monday, October 11, 2004

    Jaybird V1.5.3 (Firebird Class 4 JCA-JDBC Driver) released!

    Jaybird V1.5.3 (Firebird Class 4 JCA-JDBC Driver)has been released and is available for download

    Thursday, October 07, 2004

    SOUND OFF : Is Microsoft Less Expensive Than Linux?

    Microsoft is concerned that Linux's popularity is increasing. Readers debate the expense issue of open source versus Redmond. By Art Jahnke on CIO. Firebird is mentioned in one of the responses (Jason Latonio CTO, International Securities Lending Exchange) to this article.

    Wednesday, October 06, 2004

    Introduction to the .NET Framework Class Library

    By Corbin Dunn (Borcon2004 paper)

    Programming Language Popularity: The TCP Index for October, 2004

    "In the newest poll, the overall positioning is not much different from last month. C continues to be ahead of Java. In fact, the top 15 positions remain the same as they did last month. Granted, this is much different than the positions of a year ago (as shown by the icons in the chart). What is interesting to note, however, is the change in percentages from last month. For example, C remains in the lead with the strongest percentage of 18.172. This actually higher than last month's 17.122%. Java also increased its percentage from last month going from 15.896% to 17.050%. The first language to drop is actually (Visual) Basic which went from 11.650% to 9.760% in the last month. In the last year, however, (Visual) Basic was up by 2.30%. "

    IBReplicator Beta V2.0 (

    IBReplicator Beta V2.0 ( is available for download and testing.

    Tuesday, October 05, 2004

    Free Technical Books Online

    Larry O'Brien found a link to a list of free technical books online. Good veriety and content.

    The CodeDOM and the Delphi IDE

    By Corbin Dunn

    Delphi 8 Tips, Tricks and Speed Improvements

    Cool article by Corbin Dunn.

    Monday, October 04, 2004

    flamerobin 0.1.5 is released

    FlameRobin V0.1.5 Alpha, has been released and is available for download. FlameRobin is an open source, lightweight and cross-platform GUI administration and management tool for Firebird.

    Friday, October 01, 2004

    IBReplicator Beta

    IBReplicator Beta is available for download and testing.

    FlameRobin version 0.1.4 released

    New release of FlameRobin is online. It's a Linux binary, Windows binary and source code on the same page . Read the release notes, or, what's new in this build. more >>

    Wednesday, September 29, 2004

    Red Hat Enterprise Linux 4 Beta 1 has been released

    * Red Hat Enterprise Linux 4 Beta 1 includes updated version of many major system components, including:
    - Kernel 2.6.8
    - gcc 3.4.1
    - GNU libc 2.3.3
    - GNOME 2.8 release candidate
    - 1.1.2
    - Evolution 1.5.94
    - Mozilla 1.7.2, Firefox 0.9.3, and Epiphany 1.3.8
    - X11 6.8.0

    * This beta release supports a wide range of hardware platforms, including:
    - 32-bit x86-compatible (i386/i686)
    - 64-bit AMD64 and Intel EM64T (x86_64)
    - 64-bit Intel Itanium2 (ia64)
    - 64-bit IBM eServer iSeries and pSeries and POWER (ppc64)
    - 31-bit IBM S/390 (s390)
    - 64-bit IBM eServer zSeries (s390x)


    P.S. I am still on SuSE ;)