PythonQ 240-8XX Uživatelský manuál Strana 632

  • Stažení
  • Přidat do mých příruček
  • Tisk
  • Strana
    / 768
  • Tabulka s obsahem
  • KNIHY
  • Hodnocené. / 5. Na základě hodnocení zákazníků
Zobrazit stránku 631
Kapitel 10: MySQL erweitern 611
Die UDF_INIT-Strukturmitglieder sind unten aufgelistet. Die Initialisierungsfunktion sollte
alle Mitglieder ausf¨ullen, die sie ¨andern will. (Um f¨ur ein Mitglied den Vorgab ewert zu
verwenden, lassen Sie es unver¨andert.)
my_bool maybe_null
xxx_init() sollte maybe_null auf 1 setzen, wenn xxx() NULL zur¨uckgeben
kann. Der Vorgabewert ist 1, wenn irgend eins der Argumente als maybe_null
deklariert ist.
unsigned int Dezimalstellen
Anzahl von Dezimalstellen. Der Vorgabewert ist die maximale Anzahl von
Dezimalstellen in den Argumenten, die an die Hauptfunktion ¨ubergeben wer-
den. (Wenn der Funktion beispielsweise die Argumente 1.34, 1.345 und 1.3
¨ubergeb en werden, are der Vorgabewert 3, weil 1.345 3 Dezimalstellen hat.
unsigned int max_length
Die maximale ange des Zeichenkettenergebnisses. Der Vorgabewert ist
unterschiedlich, abh¨angig vom Ergebnistyp der Funktion. Bei Zeichenketten-
Funktionen ist die Vorgabe die ange des angsten Arguments. Bei
Ganzzahl-Funktionen ist die Vorgabe 21 Ziffern. Bei REAL-Funktionen
ist die Vorgabe 13 plus die Anzahl von Dezimalstellen, die von initid-
>Dezimalstellen angezeigt werden. (Bei numerischen Funktionen enth¨alt die
ange jedes Vorzeichen- oder Dezimalpunkt-Zeichen.)
Wenn Sie einen Blob zur¨uckgeben wollen, onnen Sie diesen auf 65 KB oder
16MB setzen. Der Speicher wird nicht zugewiesen, aber dazu verwendet, um zu
entscheiden, welcher Spaltentyp benutzt werden soll, falls es notwendig werden
sollte, Daten tempor¨ar zu speichern.
char *ptr Ein Zeiger, den die Funktion f¨ur eigene Zwecke verwenden kann. Beispiel-
sweise onnen Funktionen initid->ptr benutzen, um Informationen ¨uber den
zugewiesenen Speicher zwischen den Funktionen zu kommunizieren. Beispiel,
um in xxx_init() Speicher zuzuweisen und ihn diesem Zeiger zuzuordnen:
initid->ptr = allocated_memory;
In xxx() und xxx_deinit() verweisen Sie auf initid->ptr, um Speicher zu
verwenden oder freizugeben.
10.1.2.2 Verarbeitung von Argumenten
Der args-Parameter zeigt auf eine UDF_ARGS-Struktur, die unten aufgelistete Mitglieder
hat:
unsigned int arg_count
Die Anzahl von Argumenten. Pr¨ufen Sie diesen Wert in der Initialisierungs-
funktion, wenn Sie wollen, dass Ihre Funktion mit einer bestimmten Anzahl
von Argumenten aufgerufen wird. Beispiel:
if (args->arg_count != 2)
{
strcpy(message,"XXX() benoetigt zwei Argumente");
Zobrazit stránku 631
1 2 ... 627 628 629 630 631 632 633 634 635 636 637 ... 767 768

Komentáře k této Příručce

Žádné komentáře