method update_display = fun iter ->
let column = self#get_data ~row:iter in
self#set ~row:iter ~column:c_string (column.SQL_db.col_name);
self#set ~row:iter ~column:c_nullable
(if column.SQL_db.col_nullable then "yes" else "no");
begin
let ty_s = SQL_ty.fullstring_of_type column.SQL_db.col_type
and spec_tys_s =
let strings =
Dbf_misc.StringMap.fold
(fun db ty acc -> (Printf.sprintf "%s: %s" db ty) :: acc)
column.SQL_db.col_spec_ty []
in
Dbf_misc.join ~sep:", " ~to_string:(fun x -> x)
strings
in
if not (Dbf_misc.StringMap.is_empty column.SQL_db.col_spec_ty) then
self#set ~row:iter ~column:c_type
(Printf.sprintf "%s [%s]" ty_s spec_tys_s)
else
self#set ~row:iter ~column:c_type ty_s
end;
self#set ~row:iter ~column:c_ocaml_ty
(column.SQL_db.col_ocaml_ty);
self#set ~row:iter ~column:c_options
(SQL_db.string_of_spec_options column.SQL_db.col_spec_options)