TurboBird further development
Mustafa on Firebird-general group : 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, supporting both Linux and Windows.
🔧 Technical Base / Refactoring
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, the project now features dynamic loading of Firebird client libraries and parallel use of multiple Firebird versions (2.5 → 6.0) within a single instance. Thanks to IBX, script execution with and without terminators is now possible.
🚀 Performance & Scalability
The TreeView has been completely reworked with Lazy Loading (objects are loaded only when expanded), significantly reducing initial load times. Performance remains stable even with very large catalogs, having been tested with:
- ~1,000,000 domains
- ~10,000 packages
- Several thousand tables
📊 Monitoring / Low-Level Access
The Activity Monitor provides a display of attachments, transactions, and statements, with the ability to directly terminate attachments or statements when necessary.
🔍 Navigation / UI
- Tree filter: For working efficiently with large databases.
- Reworked tab system: Movable and more compact.
- QueryWindow: Code and result views can be maximized independently. The editor is intentionally decoupled from the theme system for more stable rendering.
🧰 Integrated Tools
- Visual QueryBuilder: Drag & drop functionality to generate SQL.
- Routine runner: For procedures, functions, UDF, and UDR.
- DataEditor (formerly CSVEditor): Supports reading, editing, and exporting multiple formats; includes DBReader integration for data recovery.
- Buildin-Tools menu: For direct access to all integrated utilities.
💾 Backup / Restore
Migration to IBX (Tony Whyman code) has enabled:
- Server-side restore: Recommended and stable.
- Client-side restore: Currently with some limitations.
- Multi-file restore implementation.
📁 Data / Export
- Export to 14 different formats (including Markdown and HTML).
- Clipboard export with limits to protect against large datasets.
- Support for complex data types, including arrays.
🧠 Firebird-specific Features
- 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).
⚠️ Known Issues
- Embedded connections: Please consider known limitations.
- Client-side restore: May be incomplete (server-side recommended).
This is more than just maintenance—it is a large-scale technical refactoring and functional extension. I would be very interested in your feedback, especially regarding tests with different Firebird versions, edge cases, or general ideas.
Best regards,
Mustafa



