TurboBird further developed

114 views
Skip to first unread message

Mustafa Dadali

unread,
Apr 20, 2026, 1:08:20โ€ฏPMApr 20
to firebird-general

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


๐Ÿ”ง 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:

  • 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


๐Ÿš€ Performance & Scalability

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.


๐Ÿ“Š Monitoring / Low-Level Access

Activity Monitor:

  • display of attachments, transactions, and statements

  • direct termination of attachments / statements possible


๐Ÿ” Navigation / UI
  • 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)


๐Ÿงฐ Tools (integrated)
  • 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


๐Ÿ’พ Backup / Restore

Migration to IBX (Tony Whyman code):

  • server-side restore (recommended, stable)

  • client-side restore (currently with limitations)

  • multi-file restore implemented


๐Ÿ“ Data / Export
  • export to multiple (14) formats (including Markdown / HTML)

  • clipboard export with limits (protection for large datasets)

  • support for more 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)


๐ŸŒ Miscellaneous
  • embedded connections (with known limitations)

  • simple multilingual help system (HTML-based, groundwork for UI localization)

  • configurable via INI (e.g., UI, editor, behavior)


โš ๏ธ Known Issues
  • embedded connections โ†’ please consider limitations

  • client-side restore โ†’ may be incomplete (server-side recommended)


๐Ÿ’ฌ Context

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.


๐Ÿค Feedback welcome
  • tests with different Firebird versions

  • edge cases / large databases

  • ideas / criticism


Releases and source:
https://github.com/mdadali/TurboBird

Best regards
Mustafa.

Reply all
Reply to author
Forward
0 new messages