Seite 1 von 2
[gelöst:] Syntax UNION-Abfrage bei ext HSQLDB
Verfasst: Di 29. Okt 2019, 12:19
von herz4
Folgende Abfrage
Code: Alles auswählen
SELECT * FROM (SELECT "STICHWORT" FROM "T_SW_KAT" WHERE SMRTPHN=TRUE) UNION (VALUES ('sonstige')) ORDER BY STICHWORT
liefert mir als LO-Base Abfrage direkt(!) ein leeres Ergebnis, keine Fehlerausschrift.
Die gleiche Abfrage eingegeben unter Extras>SQL mit Häkchen bei "Ausgabe der 'select'-Anweisung anzeigen" liefert mir das Gewünschte (wenn man vom Komma absieht):
- Auto,
Bekannte,
Familie,
...,
Urlaub,
sonstige,
Was ist falsch in meiner Abfrage?!
Re: Syntax UNION-Abfrage bei ext HSQLDB
Verfasst: Di 29. Okt 2019, 18:44
von gogo
versuch' einfach mal was ganz einfaches:
Code: Alles auswählen
Select 1 from "T_SW_KAT"
union
Select 2 from "T_SW_KAT"
Re: Syntax UNION-Abfrage bei ext HSQLDB
Verfasst: Di 29. Okt 2019, 19:11
von herz4
Also,
Code: Alles auswählen
Select 1 from "T_SW_KAT"
union
(Select 2 from "T_SW_KAT")
liefert eine leere Ergebnismenge(!) in einer (regulären) Abfrage direkt.
Und unter Extras>SQL liefert es
1,
2,
Nur schlauer werde ich dadurch allein nicht

Re: Syntax UNION-Abfrage bei ext HSQLDB
Verfasst: Di 29. Okt 2019, 20:47
von gogo
... und als LO-Base Abfrage direkt?
Re: Syntax UNION-Abfrage bei ext HSQLDB
Verfasst: Mi 30. Okt 2019, 07:27
von herz4
Meine Antwort zuvor meint genau das: leere Ergebnismenge(!) in einer (regulären) LO-Base-Abfrage direkt!
Durch Experimente stellte ich fest, dass das beschriebene Fehlverhalten bei Union-Abfragen nicht nur bei hsqldb.jar-Version 2.4.1, sondern auch bei aktuellem 2.5.0 auftritt. Ich habe noch eine DB mit 2.3.3-jar, bei der Union-Abfragen tadellos funzen.
Somit downgrade ich auch meine weiteren HSQLDBs vorerst auf Version 2.3.3, womit ich mein Problem hier als gelöst betrachte.
Re: [gelöst:] Syntax UNION-Abfrage bei ext HSQLDB
Verfasst: Mi 30. Okt 2019, 16:09
von gogo
das dachte ich mir auch, Ich habe mehere Versionen "am Laufen" und die Abfrageergebnisse waren unterschiedlich. Ist ein Treiberproblem ... also ein Bug.
Re: [gelöst:] Syntax UNION-Abfrage bei ext HSQLDB
Verfasst: Mi 30. Okt 2019, 18:22
von herz4
Danke gogo für Deine Hilfe.
Mittlerweile läuft bei mir hsqldb.jar-Version 2.3.4, weil ich die Funktion REGEXP_REPLACE nicht mehr missen möchte und weil ich bei 2.3.3 mit einem graphischen Feld nicht klar kam. Auch Union-Abfrage funzt noch unter 2.3.4
Lohnte es sich, den Treiber-Bug mitzuteilen, wo doch die Entwicklung wohl weg von HSQL hin zu Firebird(?) in LO geht?!
Re: [gelöst:] Syntax UNION-Abfrage bei ext HSQLDB
Verfasst: Mi 30. Okt 2019, 18:37
von RobertG
Hallo herz4,
was hat die Nutzung der externen HSQLDB mit der internen Firebird-Datenbank zu tun?
Sicher lohnt es sich, entsprechenden Bugs (möglichst genau und mit einer Beispieldatenbank versehen) zu melden. Es scheint da ja um etwas zu gehen, was eben in der direkten SQL-Ausführung funktioniert, über die GUI aber nicht. Und da sollte da doch dann schon, soweit möglich, nachgebessert werden.
Allerdings brauchst Du gerade bei Base-Bugs manchmal einen langen Atem, bis da etwas passiert.
Gruß
Robert
Re: [gelöst:] Syntax UNION-Abfrage bei ext HSQLDB
Verfasst: Mi 30. Okt 2019, 18:55
von herz4
Guten Abend Robert,
danke für Deine Frage und ich bitte um Nachsicht für meine Oberflächlichkeit: Gerade ich wünsche eine weitere Pflege des hsqldb-Treibers seitens LO, weil ich ja sonst alle meine DBen umstellen müsste.
Einen Bug gemeldet habe ich in meiner Erinnerung noch nicht; muss ich da in Englisch schreiben?! Vielleicht hilft mir Google-Übersetzer ...
Ein wenig erleichterte es mir die Arbeit, wenn ich etwa per Link die Stelle gewiesen bekäme, wo diese Bug-Meldung angebracht wäre - frühestens morgen, jetzt geht's zum Sport ...
MbG, herz4
Re: [gelöst:] Syntax UNION-Abfrage bei ext HSQLDB
Verfasst: Mi 30. Okt 2019, 21:53
von RobertG
Hallo herz4,
Bugmeldungen für LibreOffice gehen nach
https://bugs.documentfoundation.org/.
Der Bug ist vermutlich nicht in dem hsqldb-Treiber. Dann würde ja nicht unter Extras > SQL das erwartete Ergebnis ausgegeben. Der Bug muss an anderer Stelle, also bei der Abfrage-GUI, liegen.
Gruß
Robert