TurboBird

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
maurog
Beiträge: 34
Registriert: So 26. Mär 2023, 14:01

TurboBird

Beitrag von maurog »

Hallo zusammen,

ich habe kürzlich etwas an TurboBird gearbeitet. Das Ergebnis findet ihr hier auf GitHub:
https://github.com/mdadali/TurboBird

Eine ausführlichere Beschreibung gibt es im Lazarus-Forum:
https://forum.lazarus.freepascal.org/in ... 389.0.html

Grüße
Maurog.
Und ja, Lazarus ist definitiv ein Biest – es bringt alles mit, was man braucht, aber manchmal eben auch mehr, als man erwartet. 😅 (Chat-GPT)

Mathias
Beiträge: 6988
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: TurboBird

Beitrag von Mathias »

Eine ausführlichere Beschreibung gibt es im Lazarus-Forum:
https://forum.lazarus.freepascal.org/in ... 389.0.html
Dein Link ist falsch, da hat es ein paar Zeichen durch ... ausgetauscht.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

maurog
Beiträge: 34
Registriert: So 26. Mär 2023, 14:01

Re: TurboBird

Beitrag von maurog »

Enschuldigung.

https://forum.lazarus.freepascal.org/in ... 389.0.html


Neue und verbesserte Funktionen
✅ Dynamische Firebird-Datentypbehandlung
Alle Firebird-Datentypen werden nun zur Laufzeit dynamisch geladen, was TurboBird weitgehend versionsunabhängig macht.

✅ Paketunterstützung
Man kann jetzt Firebird-Pakete direkt in TurboBird erstellen und bearbeiten.

✅ UDR-Unterstützung (User Defined Routines)
TurboBird kann nun benutzerdefinierte Routinen (UDRs) erstellen, bearbeiten und ausführen – einschließlich Parameter und Rückgabewerte.

✅ Einheitlicher Routine-Runner
Ein einziger Runner unterstützt jetzt:

UDFs
UDRs
Stored Procedures
Functions

✅ Firebird-Serverkonfiguration
Firebird-Servereinstellungen können jetzt direkt in TurboBird konfiguriert werden – das vereinfacht die Verwaltung ohne zusätzliche Tools.

⚠️ Bekannte Einschränkungen
Die Darstellung von Datentypen ist noch nicht perfekt – insbesondere Firebird-Arrays werden derzeit nicht unterstützt.

Es gibt eine Komponente im Ordner "classes" namens:
TArrayQuery = class(TSQLQuery)
die mit Arrays umgehen kann.

Um vollständige Unterstützung zu gewährleisten, müssten alle Instanzen von TSQLQuery im Projekt durch TArrayQuery ersetzt werden – dafür fehlt mir momentan leider die Zeit.

⚠️ Lizenzhinweis
Die Originalversion von TurboBird wurde unter
GPL für die GUI und LGPL für die Units (Quelltext) veröffentlicht.

Ich habe versucht, den ursprünglichen Autor zu kontaktieren, aber leider ohne Erfolg.
Ich gehe davon aus, dass die Weiterentwicklung unter der bestehenden Open-Source-Lizenz im Sinne des Projekts ist.

🧪 Experimenteller Status
Diese Version ist nicht produktionsreif – aber ideal für Tests, Evaluation und Rückmeldungen aus der Community.

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

🛠️ Derzeit keine vorkompilierten Binaries – bitte aus dem Quellcode kompilieren.
Und ja, Lazarus ist definitiv ein Biest – es bringt alles mit, was man braucht, aber manchmal eben auch mehr, als man erwartet. 😅 (Chat-GPT)

maurog
Beiträge: 34
Registriert: So 26. Mär 2023, 14:01

Re: TurboBird

Beitrag von maurog »

Hallo,

Der Quellcode sowie die Binarys für Linux und Windows sind jetzt auf GitHub verfügbar:
https://github.com/mdadali/TurboBird/re ... 1.2.1.1124

Da SQLDb derzeit die neuen Firebird-Datentypen wie TIMESTAMP WITH TIME ZONE und Arrays nicht unterstützt, habe ich eine einfache Komponente namens TSQLQueryExt erstellt (zu finden im Verzeichnis components).

Diese Komponente:
wandelt unbekannte Datentypen wie TIMESTAMP WITH TIME ZONE automatisch in VARCHAR um,
analysiert Array-Felder und stellt Zusatzinformationen für das DBGrid bereit,
verhindert dadurch Exceptions wie „FieldType unknown“ und sorgt für reibungslose Darstellung.

Hinweis: Damit das funktioniert, muss die Komponente in Lazarus installiert werden (über das Komponenten-Paket im components-Ordner).

Viele Grüße,
Maurog.
Und ja, Lazarus ist definitiv ein Biest – es bringt alles mit, was man braucht, aber manchmal eben auch mehr, als man erwartet. 😅 (Chat-GPT)

Antworten