next up previous contents index
Next: Der Eintrag dataconversion im Up: DB-Table-Submodule Previous: Der Eintrag wrapper im

Der Eintrag wrap_param im Detail

Der Eintrag 'wrap_param' (Typ: Array) steht in den Abschnitten 'anzeige' und 'neues_tupel' des Arrays 'modul_param' zur Verfügung. Er dient dazu das Verhalten der Anwendung bei gescheiterten Einfügeoperationen in eine Relation zu beeinflussen. Standardmäßig macht die Anwendung nach einem gescheiterten INSERT mit den anderen Einfügeoperationen, die durch 'wrapper' (siehe Abschnitt [*]) vorgegeben sind, weiter. Im Zusammenhang mit den Aktionen 'verschieben' und 'verschieben_multi' wird bei einem fehlgeschlagenen INSERT das Tupel nicht aus der Leittabelle gelöscht. Tabelle [*] zeigt, welche Einträge 'wrap_param' enthalten kann und was für einen Einfluss diese auf das Verhalten der Anwendung haben. Den Einträgen wird als Wert immer eine Liste von Tabellennamen übergeben, für die das entsprechende Verhalten gelten soll.


 
Tabelle:  Die Einträge von 'wrap_param', die das Verhalten der Anwendung bei einem fehlgeschlagenen INSERT beeinflussen
Eintrag Verhalten der Anwendung nach fehlgeschlagenem INSERT
update_on_insert_error Unter Umständen existiert bereits ein Tupel mit dem selben Primärschlüssel. Dann kann es sinnvoll sein ein UPDATE zu versuchen.
dont_add_primkeys Im Zusammenhang mit 'update_on_insert_error'. Das zu ändernde Tupel der aktuellen Relation wird normalerweise über seinen Primärschlüssel bestimmt. Es kann aber auch über den Primärschlüssel der Leittabelle bestimmt werden, wenn dieser Eintrag verwendet wird.
delete_after_insert_error Das Tupel wird bei den Aktionen 'verschieben' und 'verschieben_multi' trotz fehgeschlagenem INSERT aus der Leittabelle gelöscht.
go_back_on_insert_error Nach einem fehlgeschlagenem INSERT wird abgebrochen und es wird versucht, die bisherigen INSERTs wieder rückgängig zu machen.

Aus dem Rahmen fällt der Eintrag all_attribs (nur bei 'anzeige'). Er beeinflusst nicht das Verhalten nach einem fehlgeschlagenem INSERT, sondern stellt nur eine Schreiberleichterung dar. Für die darin aufgelisteten Tabellen wird der zugehörige Teil von 'wrapper' ergänzt oder erstellt. Das sieht so aus, dass für alle Attribute der jeweiligen Tabelle ein Wrapper-Eintrag automatisch erzeugt wird.

Im folgenden ist ein Ausschnitt aus 'modul-Vorlesungsanmeldung.inc.php' dargestellt. Der Ausschnitt gehört zu einer Tabelle, die die Anmeldungen der Studenten anzeigt. Diese Anmeldungen befinden sich in einer temporären Relation des öffentlichen Bereichs der DB. Der Anwender kann aus der dargestellten Tabelle Studis auswählen, die dann in die Relationen 'student', 'student_besucht_vorlesung', 'student_besucht_uebung' und 'mailadressestudent' des geschützten Bereichs der DB übernommen werden.


next up previous contents index
Next: Der Eintrag dataconversion im Up: DB-Table-Submodule Previous: Der Eintrag wrapper im
Copyright Munich Network Management Team