Hello everyone,
I would like to introduce my continued development of TurboBird.
The tool was originally developed by Abdel Azem Motaz, but was discontinued around 2015.
I took over the code about a year ago and have been continuously developing, modernizing, and extending it since then.
TurboBird is a Lazarus (FreePascal) project and is currently cross-platform:
Linux
Windows
The biggest step was the complete removal of SQLDB:
full migration to IBX
no SQLDB used anymore
more stable behavior with complex statements / metadata
overall better Firebird compatibility
Additionally:
dynamic loading of Firebird client libraries
parallel use of multiple Firebird versions (2.5 → 6.0) within a single instance
thanks to IBX: script execution with and without terminators is possible
The TreeView has been completely reworked:
Lazy Loading (objects are loaded only when expanded)
significantly reduced initial load time
tested with:
~1,000,000 domains
~10,000 packages
several thousand tables
Performance remains stable even with very large catalogs.
Activity Monitor:
display of attachments, transactions, and statements
direct termination of attachments / statements possible
Tree filter for working efficiently with large databases
reworked tab system (movable, more compact)
QueryWindow:
code / result view can be maximized independently
editor intentionally decoupled from the theme system (more stable rendering)
visual QueryBuilder (drag & drop → SQL)
Routine runner for:
procedures
functions
UDF
UDR
DataEditor (formerly CSVEditor)
supports reading/editing/exporting multiple formats
integration of DBReader (data recovery)
“Buildin-Tools” menu for direct access to tools
Migration to IBX (Tony Whyman code):
server-side restore (recommended, stable)
client-side restore (currently with limitations)
multi-file restore implemented
export to multiple (14) formats (including Markdown / HTML)
clipboard export with limits (protection for large datasets)
support for more complex data types (including arrays)
proper support for case-sensitive identifiers
correct handling of quoted / unquoted identifiers
multi-version handling via IBX
automatic handling for older Firebird versions (e.g., DummyRole)
embedded connections (with known limitations)
simple multilingual help system (HTML-based, groundwork for UI localization)
configurable via INI (e.g., UI, editor, behavior)
embedded connections → please consider limitations
client-side restore → may be incomplete (server-side recommended)
This is not just maintenance, but rather a larger technical refactoring and functional extension of the original project.
I would be very interested in your feedback.
tests with different Firebird versions
edge cases / large databases
ideas / criticism
Releases and source:
https://github.com/mdadali/TurboBird
Best regards
Mustafa.