# $Header: /home/cvsroot/tcldb/wisql/Tlib/SYBshowTables,v 1.2 1998/02/16 04:40:47 de Exp ${DB}showTables,v 1.1.1.1 1996/10/12 02:26:25 de Exp $
# tcl procs saved on Tue Sep 05 09:33:17 PDT 1995

proc SYBshowTables {} {

  global dbpipe1 DB
  global sybmsg
  global mode
  global MsgW

  set plist ""
  set dbname [sybuse $dbpipe1]

# here we should get owner as well 
# and get views as well as tables for normal users
# experts get to see the system tables as well
   if {$mode} {

	set sqlcmd "select user_name(uid),name from sysobjects where type in ('U','V','S') order by name"
   } else {
   	set sqlcmd "select user_name(uid),name from sysobjects where type in ('U','V') order by name"
   }

  set res [doSQL 1]
  if {[lindex $res 0] == "ERROR"} {
                echo "Serious problem here"
                echo "$sqlcmd"
                echo "$res"
                exit 1
  }

  set row [sybNext 1]
  ${DB}chkMsg
# parse this row and set table name own.tbl
  while {[string compare $sybmsg(nextrow) REG_ROW] == 0} {
    set tbl [format "%s.%s" [lindex $row 0] [lindex $row 1]]
    lappend plist $tbl
    set row [sybNext 1]
    ${DB}chkMsg
  }

  if {[llength $plist] == 0} {
    setMsg $MsgW "No user tables in $dbname"
    return
  }
  pickList .$dbname:Tables Tables 200x400 [lsort $plist] setTable
}

