Danke für die Hinweise. Inzwischen habe ich eine Lösung gefunden -
allerdings auf der DB-Ebene: Dort habe ich einen Trigger eingerichtet,
der beim INSERT und UPDATE den Wert prüft und im Falle von "unbekannt"
auf "false" setzt. Diesen Hinweis incl. PostgreSQL-Code habe ich auf der
deutschen PostgreSQL-Mailingliste von Andreas Kretschmer bekommen; auch
hier vielen Dank dafür!
create table bla(id int, b bool);
create or replace function set_false() returns trigger as
$$begin new.b := false; return new; end;$$language plpgsql;
create trigger trg1 before insert or update on bla for each row
when (new.b is null) execute procedure set_false();
insert into bla values (1, true);
insert into bla values (2, null);
insert into bla values (3, false);
select * from bla;
id | b
----+---
1 | t
2 | f
3 | f
(3 rows)
Am 25.09.2015 um 15:17 schrieb Ulrich Goebel:
Hallo,
Ich habe eine PostgreSQL Datenbank (DB) auf einem Server angelegt und
möchte LO Base als Frontend dafür verwenden.
Die Verbindung zur DB funktioniert, ich kann in LO Base die vorhandenen
Daten sehen und manipulieren (über "Tabellen").
Das Problem sind nun die boolean-Felder. Sie werden in LO korrekt als
Checkbox angezeigt, das Häkchen ist korrekt gesetzt, wenn in der
entsprechenden Spalte TRUE (= "t") steht.
Wenn ich aber das Häkchen in LO entferne und den Datensatz speicher, und
ich dann außerhalb von LO ein SELECT auf die Spalte mache, bekomme ich
dort einen leeren String (oder NULL?) anstelle des FALSE oder "f". Es
scheint, dass LO bei nicht gesetztem Häkchen den Wert NULL anstelle von
FALSE speichert. In PostgreSQL wird für den Datentyp boolean neben TRUE
und FALSE noch NULL verwendet, was "unbekannt" bedeutet.
Was kann ich machen, damit LO mir FALSE speichert, wenn das Häkchen
nicht gesetzt ist?
LO 4.2.8.2 linux PostgreSQL 9.4
Mit bestem Gruß Ulrich
--
Ulrich Goebel
Paracelsusstr. 120, 53177 Bonn
--
Liste abmelden mit E-Mail an: [email protected]
Probleme?
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert