elegante Protokollumschaltung

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
charlytango
Beiträge: 845
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

elegante Protokollumschaltung

Beitrag von charlytango »

SQLDB und ZEOS verwenden zur Bezeichnung des ausgewählten "Protokolls" unterschiedliche Strings. z.B.

ZEOS: 'mysql-5'
SQLDB: 'MySQL 5.0'

Ich habe ein Anbindungsobjekt das mir die Verbindung zur Datenbank herstellt, das per defines entweder mit ZEOS oder SQLDB kompiliert werden kann.
Klappt ganz gut, ist aber noch nicht ganz fertig.

In einer INI-Datei werden mehrere Datenbankverbindungen (samt deren Zugangsdaten) abgelegt. Darunter natürlich auch der Protokolltyp.
Zur Auswahl des Protokolls verwende ich derzeit eine Combobox, die mit den jeweilig möglichen Protokollarten befüllt wird.

Allerdings bräuchte ich irgendeine Matching-Möglichkeit zwischen ZEOS und SQLDB.

Ideal wäre eine Combobox wo das Dopdown eine zweispaltige Tabelle ist.

Und ja, es gibt so etwas sicher irgendwo als Komponente -- ich will aber so schlank als möglich bleiben.
Mir ist klar wie ich das lösen könnte, aber elegant wäre anders.
Schön wäre auch wenn man so eine Matchingtabelle auch als Const erstellen könnte (wegen der Wartbarkeit)

Ich weiß, alles etwas nebulos, aber vielleicht klickt es bei dem einen oder anderen ;-)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6216
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: elegante Protokollumschaltung

Beitrag von af0815 »

Bis jetzt habe ich die Unterschiede von SQL-DB und ZEOS über bedingte Kompilierung abgefangen. Zusätzlich sind SQL-DB und Zeos unter der Haube zu unterschiedlich, ich habe mich entschlossen auf ein Pferd zu setzen. Un das ist SQL-DB weil es nativ beim fpc dabei ist.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

charlytango
Beiträge: 845
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: elegante Protokollumschaltung

Beitrag von charlytango »

af0815 hat geschrieben:
So 3. Sep 2023, 19:11
Bis jetzt habe ich die Unterschiede von SQL-DB und ZEOS über bedingte Kompilierung abgefangen
Mache ich auch so -- allerdings stoße ich da bei den Protokollbezeichnungen irgendwie an Grenzen. Klar finde ich eine Lösung aber wenns ein Gewurschtel (aka Gefrickel) wird dann weiß ich da ist der Wurm drin.
af0815 hat geschrieben:
So 3. Sep 2023, 19:11
Un das ist SQL-DB weil es nativ beim fpc dabei ist.
Ich hab da weniger Vertrauen in SQL-DB weil es meine Zielplattform MariaDB (sogar mit einem Statement im Source nach dem Motto "Pech gehabt") explizit ausschließt. Also eine Plattform die seit dem Eigentümerwechsel von MySQL sicher oft produktiv eingesetzt wird. Einer gefundenen Statistik glaube ich nicht wirklich wenn man sich die Erhebungstechniken ansieht.

Im Moment geht es mir um eine Testumgebung ohne größere Eigenheiten der jeweiligen Pakete damit man die Umgebung mit beiden Varianten kompilieren und Testen kann. Getestet werden sollen meine neuen Frame-Strukturen die ich so im Kopf habe. Un da wärs gut wenn derjenige der sich das ggfs ansieht nichts installieren muss, ich aber trotzdem bei ZEOS bleiben kann (sic!).

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2641
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: elegante Protokollumschaltung

Beitrag von m.fuchs »

charlytango hat geschrieben:
Mo 4. Sep 2023, 09:17
Ich hab da weniger Vertrauen in SQL-DB weil es meine Zielplattform MariaDB (sogar mit einem Statement im Source nach dem Motto "Pech gehabt") explizit ausschließt.
Öhm, hast du dazu mal einen Link oder kannst sagen wo man diese Info findet?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

charlytango
Beiträge: 845
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: elegante Protokollumschaltung

Beitrag von charlytango »

gerne:

viewtopic.php?p=133116#p133116

File: mysqlconn.inc
Line 85

Code: Alles auswählen

  MariaDBVersion =
{$IFDEF mysql57}
    '10.';
{$ELSE}
{$IFDEF mysql56}   // MariaDB 10.0 is compatible with MySQL 5.6
    '10.';
{$ELSE} // MariaDB 5.1..5.5 presumably report the same version number as MySQL
    MySQLVersion;
{$ENDIF}
{$ENDIF}
MariaDB steht bei 11.2.1 (RC) -- das kann IMHO nicht sauber klappen mit den aktuellen dlls.

Line 581:

Code: Alles auswählen

// Note: in case of MariaDB version mismatch: tough luck, we report MySQL
"We do not support MariaDB" oder etwas in der Art könnte ich schon verstehen. Dann will man halt ein wichtiges DBMS nicht unterstützen.

Aber das hier sehe ich schon als ziemliche Verarsche -- "tough luck" im Source ???

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6216
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: elegante Protokollumschaltung

Beitrag von af0815 »

charlytango hat geschrieben:
Mo 4. Sep 2023, 21:49
Aber das hier sehe ich schon als ziemliche Verarsche -- "tough luck" im Source ???
Na ja, ich sehe das nicht ganz so eng, aber es ist OpenSource und es gibt offensichtlich nicht "den" Maintainer für SQLdb im fpc, das meiste macht MvC. Und es sind eher laufende Wartungsarbeiten und fixes die dort passieren, wenn man sich die History von packages/sql-db ansieht.

Wie schon in einem anderen Thread gesagt, es ist nicht Verboten Patches einzureichen oder Issues zu schreiben. Wenn MariaDB die aktivere Plattform ist und nicht mehr ein 'einfacher' Fork von SQL-DB, dann würde es ja eventuell Sinn machen auch dort einen eigenen Fork der Connection zu betreiben. Nur kümmern muss sich wer dann drum - und da sind die größten Probleme (wie bei der Doku - SCNR)

Ich verwende kein MariaDB, deswegen bin ich dort noch nicht darüber gestolpert, aber bei MS-SQL und Stored Procedures gibt es auch einige Sachen im Transaktionsmanagment, die nicht so astrein sind, aber MvC sieht dort keine Notwendigkeit es zu ändern (Patch wäre vorhanden gewesen), weil es ist halt so das er der Meinung ist, das da automatische Transaktionen nicht funktionieren müssen. Aber zumindest ist das mal ausdiskutiert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

charlytango
Beiträge: 845
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: elegante Protokollumschaltung

Beitrag von charlytango »

Na ja, dewegen versuche ich mein Glück weiter mit ZEOS.

BTW: mein Problem ist dadurch leider nicht gelöst gggg
af0815 hat geschrieben:
Di 5. Sep 2023, 06:43
aber es ist OpenSource und es gibt offensichtlich nicht "den" Maintainer für SQLdb im fpc
Mein dahingehender Standpukt ist wohl mittlerweile bekannt. Nur weil es OpenSource ist muss es nicht unbedingt unterfinanziert sein und dahinplätschern.
Bitte nicht falsch verstehen -- ich schätze und achte all die Energie, KnowHow, Zeit und Engagement das in Laz/FPC drin steckt. Größte Hochachtung und Respekt!!!
Ich vermisse halt Transparenz sowie Kontinuität bei Finanzierung und Maintanance -- Man bezahlt immer mit Zeit oder Geld. Jeder einzelne der Laz benutzt oder entwickelt.

Ich komm schon wieder ins Schwadronieren gg -- und aus

Antworten