Was ist damit? Zeos +
MySQL mappt den enum('Y','N') zu ftBoolean. Das ist schon immer so, da
MySQL keinen Boolean-Typen hat. Hast du andere Probleme mit dem Enums?
Ja. Das bezieht sich wieder auf die Tabelle
mysql.user, worin es diverse _priv-Felder als ENUM('Y','N') gibt, die aber in meinem Fall (MariaDB 10) immer als AsString="Wahr" geliefert werden. Sowas kannte ich auch früher von UniDAC, wo der Boolean-Cast per Default nur bei ENUM('0','1') und nicht bei
Unicode-Feldern funktionierte und alle anderen ENUMs immer "Wahr" (weil Inhalt <> "0") lieferten, bis man alternative Boolean-ENUMs konfiguriert hat. Irgendwann hat man das seitens Devart geändert und Y/N auch per Default als Boolean integriert. Ich habe mir aber angewöhnt, den Boolean-Cast generell abzuschalten und mit
if AsString = 'Y'
zu prüfen, weil es mehrmals nach einem Update des
DBMS vorkam, dass das Casting nicht richtig funktionierte. Oder ich bin gleich ganz auf TINYINT(1) ausgewichen und habe auf
if AsInteger > 0
geprüft.
Wie gesagt, für mich ist ZEOS neu. Kann man denn da auch die Boolean-ENUMs konfigurieren/abschalten oder ist das Y/N hartcodiert?
Wegen der 7.3 + Zeithorizont. Nicht wirklich, schön wäre noch diesen Sommer. Soll heißen es wäre schön daß mal so einige damit loslegen, damit mehr Tests/Reports der Benutzer bekommen. Hinterher kritisieren kann jeder...
Das hier war ja nicht als Kritik an ZEOS gemeint. Ich habs halt so verwendet wie ich es von UniDAC gewohnt bin und es gab dabei Probleme. Konntest du eigentlich
das Problem aus #7 nachstellen? Da kommen ja im Grunde zwei Sachen zusammen. Einerseits dass bei Gleichnamigkeit von Spalte und Tabelle die Zuordnung nicht klappt und andererseits das ohne serverseitiges Typecast ein utf8_bin mit AsString nicht richtig ausgelesen werden kann.
Davon abgesehen, ich kenne das genauso: Das höchste Lob das man als EDV'ler/Entwickler/Open-Source-Maintainer bekommen kann ist, nicht kritisiert zu werden. Insofern: ZEOS ist eine tolle Sache. Ich hätts mir vllt. eher mal anschauen sollen.