was du aber damit meinst weiß ich nicht, das passiert zumindest in der aktuellen version eigentlich nicht (zumindest nicht in meinem Test gerade).
OK, Fehler von mir. Das collate steht tatsächlich in den Felddefinitionen.
Ich habe da wohl etwas geträumt.
Folgendes bezieht sich auf IBExpert und die Editoren (Domaineditor, Tabelleneditor).
Der Code ist der, den IBExpert vor dem Commit anzeigt:
Domain anlegen
Code:
CREATE DOMAIN D_VARCHAR_100 AS
VARCHAR(10) CHARACTER SET ISO8859_1
COLLATE DE_DE
Tabelle mit Feld
Code:
...
ALTER TABLE T_TEST
ADD BEZEICHNUNG D_VARCHAR_100
COLLATE DE_DE
Hier wird COLLATE DE_DE noch mal an die Felddefinition angehangen, obwohl das ja durch die Domain bereits festgelegt ist.
Das hätte ich jetzt anders erwartet. Aber vielleicht habe ich ja noch einen Denkfehler.
Das bedeudet, das das Extrahieren der Metadaten fehlerfrei arbeitet. Beim Erzeugen der Felder würde ich sagen, gehört das COLLATE DE_DE nicht hin.
[EDIT]
So, jetzt habe ich noch mal einige Tests gemacht.
Wenn man mit einem Tool wie IBExpert fast jeden Tag arbeitet, stellt sich dann schon mnal gewisse Blindheit ein.
Das Problem mit den collate in den Feldern entsteht dadurch, dass IBExpert die Collation aus der Domain beim Anlegen eines Feldes prinzipiell vorträgt. Man muss es dann halt bei jedem Anlegen eines CHAR/VARCHAR Feldes den Text aus dem Feld SOrtierung rauslöschen.
Ich hoffe, das Holger das Verhalten anpasst.[/EDIT]
Du kannst nachträglich den default character set in der Firebird
db entfernen, in dem du einfach in der rdb$database das feld rdb$character_set auf Null setzt, dann werden beim extract metadata nicht nur collations, sondern auch immer character sets ausgegeben. Das liesse sich dann ggf leichter per suchen/ersetzen umstellen.
Das geht dann in der Tat einfacher.
Vielen Dank
Frank
[EDIT]