Recent

Author Topic: TurboBird for FireBird 5  (Read 2270 times)

maurog

  • Jr. Member
  • **
  • Posts: 57
TurboBird for FireBird 5
« on: June 07, 2025, 01:35:15 pm »
Hello everyone,

As part of a recent project, I worked on TurboBird to add support for Firebird 5. Along the way, I added several new features and improvements.

🔧 New and Improved Features
✅ Dynamic Firebird Data Type Handling
All Firebird data types are now loaded dynamically at runtime, making TurboBird largely version-independent.

✅ Package Support
You can now create and edit Firebird packages directly within TurboBird.

✅ UDR Support (User Defined Routines)
TurboBird can now create, edit, and execute user-defined routines (UDRs), including parameters and results.

✅ Unified Routine Runner
A single routine runner now supports:

UDFs
UDRs
Stored Procedures
Functions

✅ Firebird Server Configuration
You can now configure Firebird server settings directly within TurboBird, making it easier to manage without external tools.

⚠️ Known Limitations
Data type rendering is not perfect yet – especially Firebird arrays are currently not supported.

There is a component in the classes folder named
TArrayQuery = class(TSQLQuery)
which can handle arrays.

To fully support this, all instances of TSQLQuery in the project would need to be replaced with TArrayQuery – which I unfortunately don’t have time for at the moment.

⚠️ License Notice
The original version of TurboBird was released under
GPL for the GUI, and LGPL for the units (original source).

I tried to contact the original author, but was unable to reach them.
I assume that continuing development under the existing open source license is acceptable and in the spirit of the project.

🧪 Experimental Status
This version is not production-ready – but it’s ideal for testing, evaluation, and community feedback.

💾 Source Code
📦 GitHub Repository (Open Source):
🔗 https://github.com/mdadali/TurboBird

🛠️ No precompiled binaries at the moment – please compile from source.

Best regards,
Maurog

« Last Edit: July 05, 2025, 11:17:01 am by maurog »
And yes, Lazarus is definitely a beast – it comes with everything you need, but sometimes also more than you expect. 😅 (Chat-GPT)

maurog

  • Jr. Member
  • **
  • Posts: 57
Re: TurboBird for FireBird 5
« Reply #1 on: July 05, 2025, 11:33:56 am »
Quick update:

I’ve now published the source code on GitHub: 
🔗 https://github.com/mdadali/TurboBird

The first post has been updated accordingly.

New in this version: 
TurboBird can now directly edit the Firebird configuration file (firebird.conf).
And yes, Lazarus is definitely a beast – it comes with everything you need, but sometimes also more than you expect. 😅 (Chat-GPT)

maurog

  • Jr. Member
  • **
  • Posts: 57
Re: TurboBird for FireBird 5
« Reply #2 on: July 26, 2025, 01:40:35 pm »
Hi,

The source code and binaries for Linux and Windows are now available on GitHub:
https://github.com/mdadali/TurboBird/releases/tag/TurboBird_v1.2.1.1124

Since SQLDb currently does not support the new Firebird data types such as TIMESTAMP WITH TIME ZONE and arrays, I’ve created a simple component called TSQLQueryExt (located in the components directory).

This component:
automatically converts unsupported data types like TIMESTAMP WITH TIME ZONE to VARCHAR,
analyzes array fields and provides additional metadata for DBGrid,
avoids exceptions like “FieldType unknown” and ensures proper rendering.

To use this, the component must be installed in Lazarus (via the package found in the components folder).


Compatibility Note:
For Firebird 4, I recommend using the client library (fbclient.dll / fbclient.so) from Firebird 5 — the application runs noticeably more stable with it.

Also, starting from Firebird 3, it's recommended to set the following parameter in firebird.conf:
DataTypeCompatibility = 3.0
Based on my tests, the application works significantly better and more reliably with these settings.


Best regards,
Maurog
« Last Edit: July 26, 2025, 02:07:43 pm by maurog »
And yes, Lazarus is definitely a beast – it comes with everything you need, but sometimes also more than you expect. 😅 (Chat-GPT)

mariuz

  • New Member
  • *
  • Posts: 43
    • http://flamerobin.org
Re: TurboBird for FireBird 5
« Reply #3 on: December 02, 2025, 01:24:28 pm »

 

TinyPortal © 2005-2018