Performance Comparer for Firebird (FBPC) version 1.1

FBPC Performance Comparer for Firebird 1.1 is here with major improvements throughout the comparison workflow. The tool imports SQL commands recorded by the Firebird Trace API and runs them against two different environments, making it easier to evaluate server versions, configuration changes, and infrastructure.

This release focuses on safer testing, more trustworthy results, and much clearer problem diagnosis.]

The 8 main highlights

1. More reliable trace import

Trace files are now read correctly as UTF-8, reducing corrupted characters and improving the detection of commands, plans, and parameters. Generated trace.conf files now also include the exclusion filter correctly, using either current syntax or the legacy Firebird 2.5 syntax.

2. Broader and more accurate parameter support

Version 1.1 improves support for NULL values, exact numbers, dates, times, timestamps, time zones, Boolean values, high-precision integers, DECFLOAT, blobs, and quoted strings. NUMERIC and DECIMAL values retain their precision whenever possible, avoiding unwanted rounding.

3. Safe execution by default

FBPC now distinguishes read-only queries from commands with possible side effects. Regular queries run in read-only mode, while data changes, DDL, procedures, and potentially destructive blocks require confirmation and are always rolled back afterward. Commands that could bypass this protection, such as COMMIT and ROLLBACK, are blocked.

4. More accurate handling of different command types

The decision to open a result set or simply execute a command now uses information provided by Firebird itself. This improves support for SELECT, selectable PSQL, procedures, and commands with RETURNING, without relying on keywords found in the SQL text and without misleading debugger exceptions.

5. More predictable and isolated concurrency

The configured connection count now represents the actual total used by the test, including the measured connection. Each additional connection manages its own resources, and measurement begins only after all connections are ready. Initialization failures stop the process safely.

Important: configurations created by previous versions may need adjustment.
The connection count no longer means “additional connections”; it now means
the total number of connections. Values equal to zero must be manually changed
to at least 1.

6. Clear diagnostics for additional connection failures

Errors from concurrent connections are no longer ignored. FBPC records the necessary context in errors.log without including passwords, groups repeated failures, and displays a summary at the end of the comparison. Repeated attempts also use progressive delays to prevent excessive CPU usage.

7. Validated connections and more consistent results

Server settings are now validated before execution, including protocol, host, port, dialect, character set, database, and 32-bit client library. The new Test connection button verifies the setup before a comparison starts. Old times, plans, and errors are cleared together, and visual comparisons are shown only when both environments have valid results.

FBPC 1.1 strengthens the entire process, from trace capture and import to concurrent execution and result analysis. For anyone comparing Firebird versions, evaluating firebird.conf changes, or validating new servers, this is an especially important update.

8. Limit the number of fetched rows

A new parameter allows you to set the maximum number of records fetched from a statement.

Check the changelog.txt file for a list of all changes in this version.

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading...

Leave a Reply