
Hallo Martin, On 2004-02-04 12:38:40 +0100, Martin Edenhofer wrote:
Ferner hatte ich das Problem, dass nach Ausfuehren von DBUpdate-to-1.2.postgresql.sql, jedem Benutzer alle Berechtigungen fehlten. Dies lag offenbar an: UPDATE group_user SET permission_value = 0 (DBUpdate-to-1.2.postgresql.sql:53). Allerdings muss ich dazu sagen, dass dies erst beim 2. Aufruf von DBupdate passierte (weil dann permission_read/write nicht mehr existiert und demzufolge die UPDATEs in ll. 56-58 fehlschlagen).
Hast Du eine gute Idee wie man das abfangen kann?
Aeh, keine _gute_ :-) Anstelle von dem unbedingten UPDATE koennte man ein UPDATE group_user SET permission_value=0 WHERE permission_read=0 OR permission_read=1 (bzw. andere moegliche Werte) nehmen. Beim ersten Update waere die Bedingung wahr und permission_value wuerde auf 0 gesetzt. Beim n-ten Update existiert permission_read nicht und es passiert nichts. Ja, es ist potthaesslich. Ich stelle mich ja schon in die Ecke. Alternativ koennte es funktionieren, den Bereich ALTER TABLE group_user ADD permission_key VARCHAR (20); ... ALTER TABLE group_user DROP permission_write; als Transaction zu kombinieren. Allerdings bin ich mir nicht sicher, ob Postgres Schemaaenderungen per Rollback zuruecknehmen kann. MfG MB -- Michael Bussmann <bus@mb-net.net> But flowers still open, Flowers still close; Re-arranged molecules, Miracle cures; And I can still love you, Call you my own; 'Till the blooms turn to doubt, 'Till the angels come home. -- Runrig, "Amazing Things", 1993