one of the documented procedures in this installation of the ACS
dw_table_columns   db   table
What it does:
Returns a list of lists, one for each column in a table. Each sublist is a column name and a data type.
Defined in: /web/philip/tcl/dw-defs.tcl

Source code:

    set size [ns_column count $db $table]
    set list_of_lists [list]
    for {set i 0} {$i < $size} {incr i} {
	set sublist [list [ns_column name $db $table $i] [ns_column typebyindex $db $table $i]]
	lappend list_of_lists $sublist
    return $list_of_lists