TurboBird further developed

55 views
Skip to first unread message

Mustafa Dadali

unread,
Apr 20, 2026, 1:08:20 PM (4 days ago) Apr 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