OPTIONAL
SYNOPSIS
        string * db_coldefs (int handle)

BESCHREIBUNG
        Resultat ist ein Array mit den Spaltennamen der Tabelle des
        letzten QUERY-Befehls. Gab die Datenbank keine Tabelle zurueck, dann
        gibt die Efun 0 als Ergebnis.

        Die Funktion ist nur verfuegbar wenn der Driver mit
        mySQL-Unterstuetzung compiliert wurde. In diesem Fall ist das Makro
        __MYSQL__ definiert.

        Die Efun ist privilegiert als ("mysql", "db_coldefs").

GESCHICHTE
        Eingefuehrt in LDMud 3.2.9.
        LDMud 3.2.11 machte die Efun privilegiert.

SIEHE AUCH
        db_affected_rows(E), db_conv_string(E), db_close(E), db_connect(E),
        db_exec(E), db_error(E), db_fetch(E), db_handles(E), db_insert_id(E),
        mysql(C), privilege_violation(M)
