2.4.9.2. Maskieren von Funktionsaufrufen

Manchmal ist es nötig, das Auswerten von Funktionsaufrufen zu unterdrücken. Beispielsweise möchte man den Text „->Begrüssung(Frau,Martens)“ in ein Feld der Datenbank schreiben ohne dabei durch die Fehlermeldung CB-DB-1026 darauf hingewiesen zu werden, dass die Funktion „Begrüssung“ nicht definiert wurde. Hierzu bietet checkerberry db die Möglichkeit der Maskierung von Funktionsaufrufen oder Parametern mit Hilfe des Maskierungszeichens „^“. In unserem Beispiel würde also „^->Begrüssung(Frau,Martens)“ das gewünschte Ergebnis liefern. Bei der Maskierung gibt es jedoch folgendes zu beachten:

  1. In einfachen Fällen wie dem obigen Beispiel reicht es aus, den Anfang des Parameters/Funktionsaufrufes zu maskieren. Möchte man jedoch maskierte und nicht-maskierte Parameter und/oder Funktionsaufrufe mischen (Beispielsweise um das Zeichen „)“ als Parameter an eine Funktion zu übergeben), so ist es häufig auch nötig die Enden zu maskieren: „->param(some_(weird)_param)“ würde beispielsweise die Funktion param mit dem Parameter „some_(weird“ aufrufen. Ist checkerberry db nicht in der Lage einen Ausdruck auszuwerten, so erzeugt sie die Fehlermeldung CB-DB-1025, um auf diesen Umstand hinzuweisen.

  2. Maskierungen innerhalb eines Funktionsnamens maskieren nicht den Funktionsaufruf, sondern nur das Zeichen. Dies ermöglicht Funktionsnamen mit beliebigen Sonderzeichen.