# $Header: /home/cvsroot/tcldb/ucodb/Tlib/formatCols,v 1.3 1998/03/25 23:22:41 de Exp $
# tcl procs saved on Sun Sep 03 16:19:12 PDT 1995

proc formatCols {names types lengths} {


  set fmt ""

  while {! [lempty $names] } {
    set t [lvarpop types]
    set l [lvarpop lengths]
    set n [lvarpop names]

    # set a length based on type
    # text, image, and binary get defaults

	set ellips ""
    case $t {
      {int int4}   {set len 12 ; set just "" }
      {tinyint}   {set len 4 ; set just "" }
      {smallint int2}   {set len 6 ; set just "" }
      {float* real}   {set len 12 ; set just "" }
      {*money} {set len 17 ; set just "" }
      {*date}  {set len 26 ; set just - }
      {*char}  { set len $l ; set just - }
      {text} {set len 25; set just - ; set ellips "..."}
      {default} {set len 32 ; set just - }
    }

    # make sure length is as long as colunm name
    set len [max $len [string length $n]]

    append fmt "%${just}${len}.${len}s$ellips "

  }
  return $fmt
}

