From fefb57ce74e9030db0cd841a1454f6b924ab327b Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Fri, 30 Aug 2002 16:48:44 +0000
Subject: [PATCH] Remove pgaccess from CVS.  It has its own home now.

---
 src/bin/pgaccess/Makefile                     |   44 -
 src/bin/pgaccess/README                       |   28 -
 src/bin/pgaccess/copyright                    |   25 -
 src/bin/pgaccess/copyright.html               |   39 -
 src/bin/pgaccess/demo/formdemo.sql            |  240 --
 src/bin/pgaccess/doc/html/a_right.gif         |  Bin 207 -> 0 bytes
 src/bin/pgaccess/doc/html/addindex.gif        |  Bin 11402 -> 0 bytes
 src/bin/pgaccess/doc/html/api.html            |  232 --
 src/bin/pgaccess/doc/html/ball.gif            |  Bin 176 -> 0 bytes
 src/bin/pgaccess/doc/html/contents.html       |   29 -
 src/bin/pgaccess/doc/html/copyright.html      |   40 -
 src/bin/pgaccess/doc/html/documentation.html  |   19 -
 src/bin/pgaccess/doc/html/download.html       |   23 -
 src/bin/pgaccess/doc/html/faq.html            |  110 -
 src/bin/pgaccess/doc/html/features.html       |   52 -
 src/bin/pgaccess/doc/html/formdemo.sql        |  216 --
 src/bin/pgaccess/doc/html/forms.gif           |  Bin 20106 -> 0 bytes
 src/bin/pgaccess/doc/html/forms.html          |  203 --
 src/bin/pgaccess/doc/html/function.gif        |  Bin 10022 -> 0 bytes
 src/bin/pgaccess/doc/html/help.gif            |  Bin 7082 -> 0 bytes
 src/bin/pgaccess/doc/html/index.html          |   11 -
 src/bin/pgaccess/doc/html/irix.html           |  133 -
 src/bin/pgaccess/doc/html/linux1.gif          |  Bin 789 -> 0 bytes
 src/bin/pgaccess/doc/html/maillist.html       |   43 -
 src/bin/pgaccess/doc/html/main.html           |   33 -
 src/bin/pgaccess/doc/html/mainwindow.gif      |  Bin 8857 -> 0 bytes
 src/bin/pgaccess/doc/html/newtable.gif        |  Bin 9317 -> 0 bytes
 src/bin/pgaccess/doc/html/newuser.gif         |  Bin 3965 -> 0 bytes
 src/bin/pgaccess/doc/html/old_index.html      |  143 --
 src/bin/pgaccess/doc/html/permissions.gif     |  Bin 10414 -> 0 bytes
 src/bin/pgaccess/doc/html/pg93patch.html      |   25 -
 src/bin/pgaccess/doc/html/pga-rad.html        |   65 -
 src/bin/pgaccess/doc/html/qbtclet.html        |   45 -
 src/bin/pgaccess/doc/html/qbtclet.tcl         |  529 ----
 src/bin/pgaccess/doc/html/screenshots.html    |   43 -
 src/bin/pgaccess/doc/html/specialchars.html   |   47 -
 src/bin/pgaccess/doc/html/todo.html           |   11 -
 src/bin/pgaccess/doc/html/tutorial/addref.jpg |  Bin 28655 -> 0 bytes
 .../pgaccess/doc/html/tutorial/altern_q.jpg   |  Bin 13639 -> 0 bytes
 .../pgaccess/doc/html/tutorial/altern_v.jpg   |  Bin 16987 -> 0 bytes
 .../pgaccess/doc/html/tutorial/copyright.html |   40 -
 src/bin/pgaccess/doc/html/tutorial/index.html |   27 -
 src/bin/pgaccess/doc/html/tutorial/intro.html |   39 -
 src/bin/pgaccess/doc/html/tutorial/irix.html  |  133 -
 src/bin/pgaccess/doc/html/tutorial/newref.txt |    1 -
 .../pgaccess/doc/html/tutorial/newtable.jpg   |  Bin 29164 -> 0 bytes
 .../pgaccess/doc/html/tutorial/newtable.tga   |    1 -
 .../pgaccess/doc/html/tutorial/problems.html  |   70 -
 .../pgaccess/doc/html/tutorial/screen1.jpg    |  Bin 15331 -> 0 bytes
 .../pgaccess/doc/html/tutorial/sel_tbl.jpg    |  Bin 15983 -> 0 bytes
 src/bin/pgaccess/doc/html/tutorial/start.html |   74 -
 src/bin/pgaccess/doc/html/tutorial/tut.html   |   50 -
 .../pgaccess/doc/html/tutorial/tut_edit.html  |   39 -
 .../pgaccess/doc/html/tutorial/tut_new.html   |   36 -
 .../pgaccess/doc/html/tutorial/tut_sel1.html  |   36 -
 .../pgaccess/doc/html/tutorial/tut_user.html  |   28 -
 src/bin/pgaccess/doc/html/vdesigner.gif       |  Bin 15903 -> 0 bytes
 src/bin/pgaccess/doc/html/whatsnew.html       |  106 -
 src/bin/pgaccess/doc/html/win32.html          |   45 -
 src/bin/pgaccess/images/icon_button.gif       |  Bin 896 -> 0 bytes
 src/bin/pgaccess/images/icon_checkbutton.gif  |  Bin 873 -> 0 bytes
 src/bin/pgaccess/images/icon_entry.gif        |  Bin 907 -> 0 bytes
 src/bin/pgaccess/images/icon_frame.gif        |  Bin 908 -> 0 bytes
 src/bin/pgaccess/images/icon_label.gif        |  Bin 80 -> 0 bytes
 src/bin/pgaccess/images/icon_listbox.gif      |  Bin 896 -> 0 bytes
 src/bin/pgaccess/images/icon_query.gif        |  Bin 897 -> 0 bytes
 src/bin/pgaccess/images/icon_radiobutton.gif  |  Bin 870 -> 0 bytes
 src/bin/pgaccess/images/icon_text.gif         |  Bin 911 -> 0 bytes
 src/bin/pgaccess/lib/database.tcl             |   63 -
 src/bin/pgaccess/lib/forms.tcl                | 1268 ----------
 src/bin/pgaccess/lib/functions.tcl            |  182 --
 src/bin/pgaccess/lib/help.tcl                 |  127 -
 src/bin/pgaccess/lib/help/abort.hlp           |   10 -
 src/bin/pgaccess/lib/help/add_records.hlp     |    7 -
 src/bin/pgaccess/lib/help/alter_table.hlp     |   30 -
 src/bin/pgaccess/lib/help/alter_user.hlp      |   49 -
 src/bin/pgaccess/lib/help/author.hlp          |   12 -
 src/bin/pgaccess/lib/help/begin.hlp           |   35 -
 src/bin/pgaccess/lib/help/close.hlp           |   22 -
 src/bin/pgaccess/lib/help/cluster.hlp         |   48 -
 src/bin/pgaccess/lib/help/commit.hlp          |   17 -
 src/bin/pgaccess/lib/help/copy.hlp            |  105 -
 src/bin/pgaccess/lib/help/copyrights.hlp      |   13 -
 .../pgaccess/lib/help/create_aggregate.hlp    |   90 -
 src/bin/pgaccess/lib/help/create_database.hlp |   59 -
 src/bin/pgaccess/lib/help/create_function.hlp |   69 -
 src/bin/pgaccess/lib/help/create_index.hlp    |   87 -
 src/bin/pgaccess/lib/help/create_language.hlp |  130 -
 src/bin/pgaccess/lib/help/create_operator.hlp |  145 --
 src/bin/pgaccess/lib/help/create_rule.hlp     |  132 -
 src/bin/pgaccess/lib/help/create_sequence.hlp |   42 -
 src/bin/pgaccess/lib/help/create_table.hlp    |   39 -
 src/bin/pgaccess/lib/help/create_table_as.hlp |   20 -
 src/bin/pgaccess/lib/help/create_trigger.hlp  |   80 -
 src/bin/pgaccess/lib/help/create_type.hlp     |   24 -
 src/bin/pgaccess/lib/help/create_user.hlp     |   50 -
 src/bin/pgaccess/lib/help/create_view.hlp     |   27 -
 src/bin/pgaccess/lib/help/data_types.hlp      |   48 -
 src/bin/pgaccess/lib/help/datefunc.hlp        |   58 -
 src/bin/pgaccess/lib/help/declare.hlp         |   29 -
 src/bin/pgaccess/lib/help/delete.hlp          |   43 -
 src/bin/pgaccess/lib/help/drop_aggregate.hlp  |   17 -
 src/bin/pgaccess/lib/help/drop_database.hlp   |   14 -
 src/bin/pgaccess/lib/help/drop_function.hlp   |   22 -
 src/bin/pgaccess/lib/help/drop_index.hlp      |   17 -
 src/bin/pgaccess/lib/help/drop_language.hlp   |   17 -
 src/bin/pgaccess/lib/help/drop_operator.hlp   |   32 -
 src/bin/pgaccess/lib/help/drop_rule.hlp       |   17 -
 src/bin/pgaccess/lib/help/drop_sequence.hlp   |   17 -
 src/bin/pgaccess/lib/help/drop_table.hlp      |   17 -
 src/bin/pgaccess/lib/help/drop_trigger.hlp    |   17 -
 src/bin/pgaccess/lib/help/drop_type.hlp       |   20 -
 src/bin/pgaccess/lib/help/drop_user.hlp       |   19 -
 src/bin/pgaccess/lib/help/drop_view.hlp       |   17 -
 src/bin/pgaccess/lib/help/explain.hlp         |   23 -
 src/bin/pgaccess/lib/help/fetch.hlp           |   62 -
 src/bin/pgaccess/lib/help/form_design.hlp     |   27 -
 src/bin/pgaccess/lib/help/forms.hlp           |   19 -
 src/bin/pgaccess/lib/help/functions.hlp       |   32 -
 src/bin/pgaccess/lib/help/geomfunc.hlp        |   73 -
 src/bin/pgaccess/lib/help/grant.hlp           |   52 -
 src/bin/pgaccess/lib/help/history.hlp         |   43 -
 src/bin/pgaccess/lib/help/index.hlp           |   19 -
 src/bin/pgaccess/lib/help/inheritance.hlp     |   49 -
 src/bin/pgaccess/lib/help/insert.hlp          |   54 -
 src/bin/pgaccess/lib/help/ipv4func.hlp        |   28 -
 src/bin/pgaccess/lib/help/isolation.hlp       |   24 -
 src/bin/pgaccess/lib/help/keywords.hlp        |   85 -
 src/bin/pgaccess/lib/help/listen.hlp          |   34 -
 src/bin/pgaccess/lib/help/load.hlp            |   27 -
 src/bin/pgaccess/lib/help/lock.hlp            |   49 -
 src/bin/pgaccess/lib/help/mathfunc.hlp        |   34 -
 src/bin/pgaccess/lib/help/move.hlp            |   43 -
 src/bin/pgaccess/lib/help/mvcc.hlp            |   13 -
 src/bin/pgaccess/lib/help/new_query.hlp       |   22 -
 src/bin/pgaccess/lib/help/new_table.hlp       |   31 -
 src/bin/pgaccess/lib/help/notify.hlp          |   57 -
 src/bin/pgaccess/lib/help/open_query.hlp      |   17 -
 src/bin/pgaccess/lib/help/open_table.hlp      |   19 -
 src/bin/pgaccess/lib/help/pgfunctions.hlp     |   13 -
 src/bin/pgaccess/lib/help/postgresql.hlp      |   13 -
 src/bin/pgaccess/lib/help/queries.hlp         |    8 -
 src/bin/pgaccess/lib/help/reports.hlp         |   37 -
 src/bin/pgaccess/lib/help/reset.hlp           |   21 -
 src/bin/pgaccess/lib/help/revoke.hlp          |   49 -
 src/bin/pgaccess/lib/help/rollback.hlp        |   17 -
 src/bin/pgaccess/lib/help/schema.hlp          |    2 -
 src/bin/pgaccess/lib/help/scripts.hlp         |    2 -
 src/bin/pgaccess/lib/help/select.hlp          |  136 -
 src/bin/pgaccess/lib/help/select_into.hlp     |   17 -
 src/bin/pgaccess/lib/help/sequences.hlp       |   15 -
 src/bin/pgaccess/lib/help/set.hlp             |   54 -
 src/bin/pgaccess/lib/help/show.hlp            |   23 -
 src/bin/pgaccess/lib/help/sql_guide.hlp       |   62 -
 src/bin/pgaccess/lib/help/sqlfunc.hlp         |   21 -
 src/bin/pgaccess/lib/help/stringfunc.hlp      |  102 -
 src/bin/pgaccess/lib/help/tables.hlp          |    8 -
 src/bin/pgaccess/lib/help/unlisten.hlp        |   32 -
 src/bin/pgaccess/lib/help/update.hlp          |   40 -
 src/bin/pgaccess/lib/help/users.hlp           |    2 -
 src/bin/pgaccess/lib/help/vacuum.hlp          |   26 -
 .../lib/help/view_table_structure.hlp         |   15 -
 src/bin/pgaccess/lib/help/views.hlp           |    2 -
 src/bin/pgaccess/lib/help/visual_designer.hlp |   57 -
 src/bin/pgaccess/lib/help/y2k.hlp             |   16 -
 src/bin/pgaccess/lib/languages/chinese_big5   |  587 -----
 src/bin/pgaccess/lib/languages/chinese_gb     |  533 ----
 src/bin/pgaccess/lib/languages/czech          |  534 ----
 src/bin/pgaccess/lib/languages/deutsch        |  535 ----
 src/bin/pgaccess/lib/languages/euskara        |  532 ----
 src/bin/pgaccess/lib/languages/francais       |  585 -----
 src/bin/pgaccess/lib/languages/italiano       |  539 ----
 src/bin/pgaccess/lib/languages/japanese       |  548 ----
 src/bin/pgaccess/lib/languages/magyar         |  524 ----
 src/bin/pgaccess/lib/languages/nederlands     |  534 ----
 src/bin/pgaccess/lib/languages/portugues      |  539 ----
 src/bin/pgaccess/lib/languages/romana         |  526 ----
 src/bin/pgaccess/lib/languages/russian.koi8r  |  535 ----
 src/bin/pgaccess/lib/languages/russian_win    |  535 ----
 src/bin/pgaccess/lib/languages/spanish        |  568 -----
 src/bin/pgaccess/lib/mainlib.tcl              | 1021 --------
 src/bin/pgaccess/lib/preferences.tcl          |  274 --
 src/bin/pgaccess/lib/queries.tcl              |  228 --
 src/bin/pgaccess/lib/reports.tcl              |  991 --------
 src/bin/pgaccess/lib/schema.tcl               |  700 -----
 src/bin/pgaccess/lib/scripts.tcl              |   88 -
 src/bin/pgaccess/lib/sequences.tcl            |  159 --
 src/bin/pgaccess/lib/tables.tcl               | 2241 -----------------
 src/bin/pgaccess/lib/users.tcl                |  155 --
 src/bin/pgaccess/lib/views.tcl                |   45 -
 src/bin/pgaccess/lib/visualqb.tcl             |  776 ------
 src/bin/pgaccess/main.tcl                     |  250 --
 src/bin/pgaccess/pgaccess.sh                  |   13 -
 193 files changed, 23377 deletions(-)
 delete mode 100644 src/bin/pgaccess/Makefile
 delete mode 100644 src/bin/pgaccess/README
 delete mode 100644 src/bin/pgaccess/copyright
 delete mode 100644 src/bin/pgaccess/copyright.html
 delete mode 100644 src/bin/pgaccess/demo/formdemo.sql
 delete mode 100644 src/bin/pgaccess/doc/html/a_right.gif
 delete mode 100644 src/bin/pgaccess/doc/html/addindex.gif
 delete mode 100644 src/bin/pgaccess/doc/html/api.html
 delete mode 100644 src/bin/pgaccess/doc/html/ball.gif
 delete mode 100644 src/bin/pgaccess/doc/html/contents.html
 delete mode 100644 src/bin/pgaccess/doc/html/copyright.html
 delete mode 100644 src/bin/pgaccess/doc/html/documentation.html
 delete mode 100644 src/bin/pgaccess/doc/html/download.html
 delete mode 100644 src/bin/pgaccess/doc/html/faq.html
 delete mode 100644 src/bin/pgaccess/doc/html/features.html
 delete mode 100644 src/bin/pgaccess/doc/html/formdemo.sql
 delete mode 100644 src/bin/pgaccess/doc/html/forms.gif
 delete mode 100644 src/bin/pgaccess/doc/html/forms.html
 delete mode 100644 src/bin/pgaccess/doc/html/function.gif
 delete mode 100644 src/bin/pgaccess/doc/html/help.gif
 delete mode 100644 src/bin/pgaccess/doc/html/index.html
 delete mode 100644 src/bin/pgaccess/doc/html/irix.html
 delete mode 100644 src/bin/pgaccess/doc/html/linux1.gif
 delete mode 100644 src/bin/pgaccess/doc/html/maillist.html
 delete mode 100644 src/bin/pgaccess/doc/html/main.html
 delete mode 100644 src/bin/pgaccess/doc/html/mainwindow.gif
 delete mode 100644 src/bin/pgaccess/doc/html/newtable.gif
 delete mode 100644 src/bin/pgaccess/doc/html/newuser.gif
 delete mode 100644 src/bin/pgaccess/doc/html/old_index.html
 delete mode 100644 src/bin/pgaccess/doc/html/permissions.gif
 delete mode 100644 src/bin/pgaccess/doc/html/pg93patch.html
 delete mode 100644 src/bin/pgaccess/doc/html/pga-rad.html
 delete mode 100644 src/bin/pgaccess/doc/html/qbtclet.html
 delete mode 100644 src/bin/pgaccess/doc/html/qbtclet.tcl
 delete mode 100644 src/bin/pgaccess/doc/html/screenshots.html
 delete mode 100644 src/bin/pgaccess/doc/html/specialchars.html
 delete mode 100644 src/bin/pgaccess/doc/html/todo.html
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/addref.jpg
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/altern_q.jpg
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/altern_v.jpg
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/copyright.html
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/index.html
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/intro.html
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/irix.html
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/newref.txt
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/newtable.jpg
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/newtable.tga
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/problems.html
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/screen1.jpg
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/sel_tbl.jpg
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/start.html
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/tut.html
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/tut_edit.html
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/tut_new.html
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/tut_sel1.html
 delete mode 100644 src/bin/pgaccess/doc/html/tutorial/tut_user.html
 delete mode 100644 src/bin/pgaccess/doc/html/vdesigner.gif
 delete mode 100644 src/bin/pgaccess/doc/html/whatsnew.html
 delete mode 100644 src/bin/pgaccess/doc/html/win32.html
 delete mode 100644 src/bin/pgaccess/images/icon_button.gif
 delete mode 100644 src/bin/pgaccess/images/icon_checkbutton.gif
 delete mode 100644 src/bin/pgaccess/images/icon_entry.gif
 delete mode 100644 src/bin/pgaccess/images/icon_frame.gif
 delete mode 100644 src/bin/pgaccess/images/icon_label.gif
 delete mode 100644 src/bin/pgaccess/images/icon_listbox.gif
 delete mode 100644 src/bin/pgaccess/images/icon_query.gif
 delete mode 100644 src/bin/pgaccess/images/icon_radiobutton.gif
 delete mode 100644 src/bin/pgaccess/images/icon_text.gif
 delete mode 100644 src/bin/pgaccess/lib/database.tcl
 delete mode 100644 src/bin/pgaccess/lib/forms.tcl
 delete mode 100644 src/bin/pgaccess/lib/functions.tcl
 delete mode 100644 src/bin/pgaccess/lib/help.tcl
 delete mode 100644 src/bin/pgaccess/lib/help/abort.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/add_records.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/alter_table.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/alter_user.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/author.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/begin.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/close.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/cluster.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/commit.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/copy.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/copyrights.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/create_aggregate.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/create_database.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/create_function.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/create_index.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/create_language.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/create_operator.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/create_rule.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/create_sequence.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/create_table.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/create_table_as.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/create_trigger.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/create_type.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/create_user.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/create_view.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/data_types.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/datefunc.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/declare.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/delete.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/drop_aggregate.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/drop_database.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/drop_function.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/drop_index.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/drop_language.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/drop_operator.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/drop_rule.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/drop_sequence.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/drop_table.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/drop_trigger.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/drop_type.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/drop_user.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/drop_view.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/explain.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/fetch.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/form_design.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/forms.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/functions.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/geomfunc.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/grant.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/history.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/index.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/inheritance.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/insert.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/ipv4func.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/isolation.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/keywords.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/listen.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/load.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/lock.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/mathfunc.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/move.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/mvcc.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/new_query.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/new_table.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/notify.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/open_query.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/open_table.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/pgfunctions.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/postgresql.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/queries.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/reports.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/reset.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/revoke.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/rollback.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/schema.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/scripts.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/select.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/select_into.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/sequences.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/set.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/show.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/sql_guide.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/sqlfunc.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/stringfunc.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/tables.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/unlisten.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/update.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/users.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/vacuum.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/view_table_structure.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/views.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/visual_designer.hlp
 delete mode 100644 src/bin/pgaccess/lib/help/y2k.hlp
 delete mode 100644 src/bin/pgaccess/lib/languages/chinese_big5
 delete mode 100644 src/bin/pgaccess/lib/languages/chinese_gb
 delete mode 100644 src/bin/pgaccess/lib/languages/czech
 delete mode 100644 src/bin/pgaccess/lib/languages/deutsch
 delete mode 100644 src/bin/pgaccess/lib/languages/euskara
 delete mode 100644 src/bin/pgaccess/lib/languages/francais
 delete mode 100644 src/bin/pgaccess/lib/languages/italiano
 delete mode 100644 src/bin/pgaccess/lib/languages/japanese
 delete mode 100644 src/bin/pgaccess/lib/languages/magyar
 delete mode 100644 src/bin/pgaccess/lib/languages/nederlands
 delete mode 100644 src/bin/pgaccess/lib/languages/portugues
 delete mode 100644 src/bin/pgaccess/lib/languages/romana
 delete mode 100644 src/bin/pgaccess/lib/languages/russian.koi8r
 delete mode 100644 src/bin/pgaccess/lib/languages/russian_win
 delete mode 100644 src/bin/pgaccess/lib/languages/spanish
 delete mode 100644 src/bin/pgaccess/lib/mainlib.tcl
 delete mode 100644 src/bin/pgaccess/lib/preferences.tcl
 delete mode 100644 src/bin/pgaccess/lib/queries.tcl
 delete mode 100644 src/bin/pgaccess/lib/reports.tcl
 delete mode 100644 src/bin/pgaccess/lib/schema.tcl
 delete mode 100644 src/bin/pgaccess/lib/scripts.tcl
 delete mode 100644 src/bin/pgaccess/lib/sequences.tcl
 delete mode 100644 src/bin/pgaccess/lib/tables.tcl
 delete mode 100644 src/bin/pgaccess/lib/users.tcl
 delete mode 100644 src/bin/pgaccess/lib/views.tcl
 delete mode 100644 src/bin/pgaccess/lib/visualqb.tcl
 delete mode 100644 src/bin/pgaccess/main.tcl
 delete mode 100755 src/bin/pgaccess/pgaccess.sh

diff --git a/src/bin/pgaccess/Makefile b/src/bin/pgaccess/Makefile
deleted file mode 100644
index c8a524dbbb7..00000000000
--- a/src/bin/pgaccess/Makefile
+++ /dev/null
@@ -1,44 +0,0 @@
-#-------------------------------------------------------------------------
-#
-# Makefile for src/bin/pgaccess
-#
-# Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
-# Portions Copyright (c) 1994, Regents of the University of California
-#
-# $Header: /cvsroot/pgsql/src/bin/pgaccess/Attic/Makefile,v 1.18 2002/07/02 06:11:23 momjian Exp $
-#
-#-------------------------------------------------------------------------
-
-subdir = src/bin/pgaccess
-top_builddir = ../../..
-include $(top_builddir)/src/Makefile.global
-
-pgaccessdir = $(datadir)/pgaccess
-
-all: pgaccess
-
-pgaccess: pgaccess.sh $(top_builddir)/src/Makefile.global
-	sed -e 's,@WISH@,$(WISH),g' \
-	    -e 's,@PGACCESSHOME@,$(pgaccessdir),g' \
-	    -e 's,@PGLIB@,$(libdir),g' \
-	    -e 's,@DEF_PGPORT@,$(DEF_PGPORT),g' \
-	  $< >$@
-	chmod a+x $@
-
-install: all installdirs
-	$(INSTALL_SCRIPT) pgaccess $(DESTDIR)$(bindir)/pgaccess
-	$(INSTALL_SCRIPT) $(srcdir)/main.tcl $(DESTDIR)$(pgaccessdir)
-	for i in $(srcdir)/lib/*.tcl; do $(INSTALL_DATA) $$i $(DESTDIR)$(pgaccessdir)/lib || exit 1; done
-	for i in $(srcdir)/lib/help/*.hlp; do $(INSTALL_DATA) $$i $(DESTDIR)$(pgaccessdir)/lib/help || exit 1; done
-	for i in $(srcdir)/lib/languages/[a-z]*; do $(INSTALL_DATA) $$i $(DESTDIR)$(pgaccessdir)/lib/languages || exit 1; done
-	for i in $(srcdir)/images/*.gif; do $(INSTALL_DATA) $$i $(DESTDIR)$(pgaccessdir)/images || exit 1; done
-
-installdirs:
-	$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(pgaccessdir)/lib/help $(DESTDIR)$(pgaccessdir)/lib/languages $(DESTDIR)$(pgaccessdir)/images
-
-uninstall:
-	rm -f $(DESTDIR)$(bindir)/pgaccess
-	rm -rf $(DESTDIR)$(pgaccessdir)
-
-clean distclean maintainer-clean:
-	rm -f pgaccess
diff --git a/src/bin/pgaccess/README b/src/bin/pgaccess/README
deleted file mode 100644
index 50a2fcd443d..00000000000
--- a/src/bin/pgaccess/README
+++ /dev/null
@@ -1,28 +0,0 @@
-Hi,
-
-I've made a few changes in the pgaccess source to make it work with overloaded functions too.
-
-The files that I changed are:
-
-    pgaccess:		to run the modified version from the actual directory
-    /lib/functions.old:	bugfix for working with overloaded functions, and another one: if somebody has made a mistake 
-			in the editing process, the function was deleted, and recreation was not possibble, because the
-			program returned an error message. Now the error message is still persists, but the procedure 
-			doesn't take this into consideration.
-			Added "Save as" button to create a new function with the same source. Very usefull when one needs
-			a new function with slight modification to the source code.
-			Then default window size is increased to let the larger source code visible without resizing.
-    /lib/mainlib.tcl:	for the same bugfix, now the functionnames are represented with the parameters too, I think, that
-			the structure is more visible now. Bugfix for the introduced functionalities, at deleteing object
-			(function).
-    /lib/tables.tcl:	I don't know how, but there is a difference. Maybe this is one of the misteries of the universe :)
-
-So, in spite of the fact that this "hacking" is my first juorney in the tcl scripting language, I think
-I've made a good job after all. I hope, this changes will be reflected in the future release of the pgaccess.
-
-There can be several hidden bugs introduced by the changes, if you find one of them please let me know.
-
-At this time I am using the changed software that helps me much more in the actual project.
-
-Best regards,
-Bartus Levente (bartus.l at bitel.hu)
\ No newline at end of file
diff --git a/src/bin/pgaccess/copyright b/src/bin/pgaccess/copyright
deleted file mode 100644
index b59fa6424cd..00000000000
--- a/src/bin/pgaccess/copyright
+++ /dev/null
@@ -1,25 +0,0 @@
-pgaccess was downloaded as part of PostgreSQL, available from
-ftp.postgresql.org/pub
-
-PgAccess - Copyright notice
----------------------------
-
-Copyright (c) 1994-7 Regents of the University of California
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose, without fee, and without a written agreement
-is hereby granted, provided that the above copyright notice and this
-paragraph and the following two paragraphs appear in all copies.
-
-IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
-DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
-LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
-EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
-ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO
-PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
-
diff --git a/src/bin/pgaccess/copyright.html b/src/bin/pgaccess/copyright.html
deleted file mode 100644
index d67654b88e7..00000000000
--- a/src/bin/pgaccess/copyright.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-   <META NAME="GENERATOR" CONTENT="Mozilla/4.03 [en] (X11; I; Linux 2.0.30 i586) [Netscape]">
-   <TITLE>PgAccess - Copyright notice</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<TT>---------------------------------------------------------------------------</TT>
-<BR><TT></TT>&nbsp;
-<BR><TT></TT>&nbsp;<TT></TT>
-
-<P><TT>Copyright (c) 1994-7 Regents of the University of California</TT><TT></TT>
-
-<P><TT>Permission to use, copy, modify, and distribute this software and
-its</TT>
-<BR><TT>documentation for any purpose, without fee, and without a written
-agreement</TT>
-<BR><TT>is hereby granted, provided that the above copyright notice and
-this</TT>
-<BR><TT>paragraph and the following two paragraphs appear in all copies.</TT><TT></TT>
-
-<P><TT>IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
-PARTY FOR</TT>
-<BR><TT>DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
-INCLUDING</TT>
-<BR><TT>LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS</TT>
-<BR><TT>DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED
-OF THE</TT>
-<BR><TT>POSSIBILITY OF SUCH DAMAGE.</TT><TT></TT>
-
-<P><TT>THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,</TT>
-<BR><TT>INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</TT>
-<BR><TT>AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER
-IS</TT>
-<BR><TT>ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS
-TO</TT>
-<BR><TT>PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</TT>
-</BODY>
-</HTML>
diff --git a/src/bin/pgaccess/demo/formdemo.sql b/src/bin/pgaccess/demo/formdemo.sql
deleted file mode 100644
index 92a7d20be73..00000000000
--- a/src/bin/pgaccess/demo/formdemo.sql
+++ /dev/null
@@ -1,240 +0,0 @@
-CREATE SEQUENCE "cities_id_seq" start 7 increment 1 maxvalue 2147483647 minvalue 1  cache 1 ;
-SELECT nextval ('"cities_id_seq"');
-CREATE TABLE "pga_queries" (
-	"queryname" character varying(64),
-	"querytype" character,
-	"querycommand" text,
-	"querytables" text,
-	"querylinks" text,
-	"queryresults" text,
-	"querycomments" text
-);
-CREATE TABLE "pga_forms" (
-	"formname" character varying(64),
-	"formsource" text
-);
-CREATE TABLE "pga_scripts" (
-	"scriptname" character varying(64),
-	"scriptsource" text
-);
-CREATE TABLE "pga_reports" (
-	"reportname" character varying(64),
-	"reportsource" text,
-	"reportbody" text,
-	"reportprocs" text,
-	"reportoptions" text
-);
-CREATE TABLE "phonebook" (
-	"name" character varying(32),
-	"phone_nr" character varying(16),
-	"city" character varying(32),
-	"company" bool,
-	"continent" character varying(16)
-);
-CREATE TABLE "pga_layout" (
-	"tablename" character varying(64),
-	"nrcols" int2,
-	"colnames" text,
-	"colwidth" text
-);
-CREATE TABLE "pga_schema" (
-	"schemaname" character varying(64),
-	"schematables" text,
-	"schemalinks" text
-);
-REVOKE ALL on "pga_schema" from PUBLIC;
-GRANT ALL on "pga_schema" to PUBLIC;
-CREATE TABLE "cities" (
-	"id" int4 DEFAULT nextval('cities_id_seq'::text) NOT NULL,
-	"name" character varying(32) NOT NULL,
-	"prefix" character varying(16) NOT NULL
-);
-REVOKE ALL on "cities" from PUBLIC;
-GRANT INSERT,SELECT,RULE on "cities" to "teo";
-CREATE FUNCTION "getcityprefix" (int4 ) RETURNS varchar AS 'select prefix from cities where id = $1 ' LANGUAGE 'SQL';
-COPY "pga_queries" FROM stdin;
-Query that can be saved as view	S	select * from phonebook where continent='usa'    	\N	\N	\N	\N
-\.
-COPY "pga_forms" FROM stdin;
-Phone book	pb 28 {FS {}} 444x307+284+246 {label label1 {33 10 68 28} {} Name {} label1 flat #000000 #d9d9d9 1 n} {entry name_entry {87 9 227 27} {} entry2 DataSet(.pb.qs,name) name_entry sunken #000000 #fefefe 1 n} {label label3 {33 37 73 52} {} Phone {} label3 flat #000000 #d9d9d9 1 n} {entry entry4 {87 36 195 54} {} entry4 DataSet(.pb.qs,phone_nr) entry4 sunken #000000 #fefefe 1 n} {label label5 {33 64 78 82} {} City {} label5 flat #000000 #d9d9d9 1 n} {entry entry6 {87 63 195 81} {} entry6 DataSet(.pb.qs,city) entry6 sunken #000000 #fefefe 1 n} {query qs {3 6 33 33} {} query7 {} qs flat {} {} 1 n} {button button8 {174 177 246 203} {namespace eval DataControl(.pb.qs) {\
-\	setSQL "select oid,* from phonebook where name ~* '$what' order by name"\
-\	open\
-\	set nrecs [getRowCount]\
-\	updateDataSet\
-\	fill .pb.allnames name\
-\	bind .pb.allnames <ButtonRelease-1> {\
-\	   set ancr [.pb.allnames curselection]\
-\	   if {$ancr!=""} {\
-\	\	DataControl(.pb.qs)::moveTo $ancr\
-\	\	DataControl(.pb.qs)::updateDataSet\
-\	   }\
-\	}\
-}} {Start search} {} button8 raised #000000 #d9d9d9 1 n} {button button9 {363 276 433 300} {DataControl(.pb.qs)::close\
-DataControl(.pb.qs)::clearDataSet\
-set nrecs {}\
-set what {}\
-destroy .pb\
-} Exit {} button9 raised #000000 #d9d9d9 2 n} {button button10 {291 237 313 257} {namespace eval DataControl(.pb.qs) {\
-\	moveFirst\
-\	updateDataSet\
-}\
-} |< {} button10 ridge #000092 #d9d9d9 2 n} {button button11 {324 237 346 257} {namespace eval DataControl(.pb.qs) {\
-\	movePrevious\
-\	updateDataSet\
-}\
-} << {} button11 ridge #000000 #d9d9d9 2 n} {button button12 {348 237 370 257} {namespace eval DataControl(.pb.qs) {\
-\	moveNext\
-\	updateDataSet\
-}} >> {} button12 ridge #000000 #d9d9d9 2 n} {button button13 {381 237 403 257} {namespace eval DataControl(.pb.qs) {\
-\	moveLast\
-\	updateDataSet\
-}\
-} >| {} button13 ridge #000088 #d9d9d9 2 n} {checkbox checkbox14 {33 87 126 105} {} {Is it a company ?} DataSet(.pb.qs,company) checkbox14 flat #000000 #d9d9d9 1 n} {radio usa {63 108 201 120} {} U.S.A. DataSet(.pb.qs,continent) usa flat #000000 #d9d9d9 1 n} {radio europe {63 126 204 141} {} Europe DataSet(.pb.qs,continent) europe flat #000000 #d9d9d9 1 n} {radio africa {63 144 210 159} {} Africa DataSet(.pb.qs,continent) africa flat #000000 #d9d9d9 1 n} {entry entry18 {129 180 169 198} {} entry18 what entry18 sunken #000000 #fefefe 1 n} {label label19 {108 219 188 234} {} {records found} {} label19 flat #000000 #d9d9d9 1 n} {label label20 {90 219 105 234} {} { } nrecs label20 flat #000000 #d9d9d9 1 n} {label label21 {3 252 33 267} {} OID= {} label21 flat #000000 #d9d9d9 1 n} {label label22 {39 252 87 267} {} { } pbqs(oid) label22 flat #000000 #d9d9d9 1 n} {button button23 {9 276 79 300} {set oid {}\
-catch {set oid $DataSet(.pb.qs,oid)}\
-if {[string trim $oid]!=""} {\
-   sql_exec noquiet "update phonebook set name='$DataSet(.pb.qs,name)', phone_nr='$DataSet(.pb.qs,phone_nr)',city='$DataSet(.pb.qs,city)',company='$DataSet(.pb.qs,company)',continent='$DataSet(.pb.qs,continent)' where oid=$oid"\
-} else {\
-  tk_messageBox -title Error -message "No record is displayed!"\
-}\
-\
-} Update {} button23 raised #000000 #d9d9d9 1 n} {button button24 {210 276 280 300} {set thisname $DataSet(.pb.qs,name)\
-if {[string trim $thisname] != ""} {\
-\	sql_exec noquiet "insert into phonebook values (\
-\	\	'$DataSet(.pb.qs,name)',\
-\	\	'$DataSet(.pb.qs,phone_nr)',\
-\	\	'$DataSet(.pb.qs,city)',\
-\	\	'$DataSet(.pb.qs,company)',\
-\	\	'$DataSet(.pb.qs,continent)'\
-\	)"\
-\	tk_messageBox -title Information -message "A new record has been added!"\
-} else {\
-\	tk_messageBox -title Error -message "This one doesn't have a name?"\
-}\
-\
-} {Add record} {} button24 raised #000000 #d9d9d9 1 n} {button button25 {141 276 204 300} {DataControl(.pb.qs)::clearDataSet\
-# clearcontrols stillinitialise\
-# incorectly booleans controls to {}\
-# so I force it to 'f' (false)\
-set DataSet(.pb.qs,company) f\
-focus .pb.name_entry} {Clear all} {} button25 raised #000000 #d9d9d9 1 n} {listbox allnames {249 6 435 231} {} listbox26 {} allnames sunken #000000 #fefefe 1 n} {label label27 {33 252 90 267} {} {} DataSet(.pb.qs,oid) label27 flat #000000 #d9d9d9 1 n} {label label28 {3 182 128 197} {} {Find name containing} {} {} flat #000000 #d9d9d9 1 n}
-Full featured form	full 21 {FS {set entrydemo {nice}\
-set color {no color selected}}} 377x418+50+130 {label label1 {3 396 165 411} {} {Status line} {} {} sunken #000000 #d9d9d9 2 n} {label label2 {171 396 369 411} {} {Grooved status line} {} {} groove #000098 #d9d9d9 2 f} {label label3 {108 9 270 31} {} {     Full featured form} {} {} ridge #000000 #d9d9d9 4 {Times 16 bold italic}} {button button4 {15 210 144 243} {.full.lb insert end {it's} a nice demo form} {Java style button} {} {} groove #6161b6 #d9d9d9 2 b} {label label5 {15 42 115 58} {} {Java style label} {} {} flat #6161b6 #d9d9d9 1 b} {entry entry6 {123 39 279 60} {} entry6 entrydemo {} groove #000000 #fefefe 2 {Courier 13}} {listbox lb {12 69 147 201} {} listbox8 {} {} ridge #000000 #ffffc8 2 n} {button button9 {18 264 39 282} {} 1 {} {} flat #000000 #d9d9d9 1 n} {button button10 {48 264 68 282} {} 2 {} {} flat #000000 #d9d9d9 1 n} {button button11 {78 264 234 282} {} {and other hidden buttons} {} {} flat #000000 #d9d9d9 1 n} {text txt {153 69 372 201} {} text12 {} {} sunken #000000 #d4ffff 1 n} {button button13 {150 210 369 243} {.full.txt tag configure bold -font {Helvetica 12 bold}\
-.full.txt tag configure italic -font {Helvetica 12 italic}\
-.full.txt tag configure large -font {Helvetica -14 bold}\
-.full.txt tag configure title -font {Helvetica 12 bold italic} -justify center\
-.full.txt tag configure link -font {Helvetica -12 underline} -foreground #000080\
-.full.txt tag configure code -font {Courier 13}\
-.full.txt tag configure warning -font {Helvetica 12 bold} -foreground #800000\
-\
-# That't the way help files are written\
-\
-.full.txt delete 1.0 end\
-.full.txt insert end {Centered title} {title} "\
-\
-You can make different " {} "portions of text bold" {bold} " or italic " {italic} ".\
-Some parts of them can be written as follows" {} "\
-SELECT * FROM PHONEBOOK" {code} "\
-You can also change " {} "colors for some words " {warning} "or underline them" {link} } {Old style button} {} {} raised #000000 #d9d9d9 2 n} {checkbox checkbox14 {48 297 153 309} {} different {} {} flat #00009c #d9d9d9 1 b} {checkbox checkbox15 {48 321 156 336} {} {fonts and} {} {} flat #cc0000 #d9d9d9 1 i} {checkbox checkbox16 {48 345 156 360} {} colors {} {} flat #00b600 #dfb2df 1 f} {radio radio17 {207 297 330 315} {} {red , rosu , rouge} color red flat #9c0000 #d9d9d9 1 n} {radio radio18 {207 321 324 333} {} {green , verde , vert} color green flat #009000 #d9d9d9 1 n} {radio radio19 {207 345 327 363} {} {blue , albastru, bleu} color blue flat #000000 #d9d9d9 1 n} {label selcolor {210 369 345 384} {} {} color {} flat #000000 #d9d9d9 1 n} {button button21 {285 258 363 285} {destroy .full} Exit {} {} raised #7c0000 #dfdbb8 1 b}
-Working with Tables namespace	f3 13 {3 4 5 6 7 9 10 11 12 13} 377x263+59+127 {radio usa {36 24 138 36} {} USA selcont} {radio europe {36 45 141 60} {} Europe selcont} {radio africa {36 66 147 81} {} Africa selcont} {label label6 {9 99 339 114} {} {Select one of the above continents and press} {}} {button button7 {270 93 354 117} {Tables::open phonebook "continent='$selcont'" $selorder} {Show them} {}} {button button9 {66 189 312 213} {Tables::design phonebook} {Show me the phonebook table structure} {}} {button button10 {141 228 240 252} {destroy .f3} {Close the form} {}} {button button11 {93 141 282 165} {Tables::open phonebook "company=true"} {Show me only the companies} {}} {radio name {183 24 261 36} {} {Order by name} selorder} {radio phone_nr {183 45 267 57} {} {Order by phone number} selorder}
-The simplest form	mf 5 {FS {set thename {}}} 306x136+82+146 {label label {42 45 99 60} {} Name {} label flat #000000 #d9d9d9 1 {Helvetica 12 bold italic}} {entry ename {120 42 219 63} {} entry2 thename ename sunken #000000 #fefefe 1 n} {button button3 {6 96 108 129} {set thename Teo} {Set the name} {} button3 raised #000000 #d9d9d9 1 n} {button button4 {192 96 300 129} {destroy .mf} {Close the form} {} button4 raised #000000 #d9d9d9 1 n} {button button5 {114 96 186 129} {set thename {}} {Clear it} {} button5 raised #000000 #d9d9d9 1 n}
-A simple demo form	asdf 14 {FS {set color none}} 370x310+50+75 {label label1 {15 36 99 57} {} {Selected color} {} label1 flat #000000 #d9d9d9 1} {entry entry2 {111 36 225 54} {} entry2 color entry2 sunken #000000 #fefefe 1} {radio red {249 21 342 36} {} {Red as cherry} color red flat #900000 #d9d9d9 1} {radio green {249 45 342 60} {} {Green as a melon} color green flat #008800 #d9d9d9 1} {radio blue {249 69 342 84} {} {Blue as the sky} color blue flat #00008c #d9d9d9 1} {button button6 {45 69 198 99} {set color spooky} {Set a weird color} {} button6 ridge #0000b0 #dfbcdf 2} {label label7 {24 129 149 145} {} {The checkbox's value} {} label7 flat #000000 #d9d9d9 1} {entry entry8 {162 127 172 145} {} entry8 cbvalue entry8 sunken #000000 #fefefe 1} {checkbox checkbox9 {180 126 279 150} {} {Check me :-)} cbvalue checkbox9 flat #000000 #d9d9d9 1} {button button10 {219 273 366 303} {destroy .asdf} {Close that simple form} {} button10 raised #000000 #d9d9d9 1} {button button11 {219 237 366 267} {Forms::open "Phone book"} {Open my phone book} {} button11 raised #000000 #d9d9d9 1} {listbox lb {12 192 162 267} {} listbox12 {} lb sunken #000000 #fefefe 1} {button button13 {12 156 162 186} {.asdf.lb insert end red green blue cyan white navy black purple maroon violet} {Add some information} {} button13 raised #000000 #d9d9d9 1} {button button14 {12 273 162 303} {.asdf.lb delete 0 end} {Clear this listbox} {} button14 raised #000000 #d9d9d9 1}
-Working with listboxes	f2 5 {FS {set thestudent ""}} 257x263+139+147 {listbox lb {6 6 246 186} {} listbox1 {} lb sunken #000000 #ffffd4 1} {button button2 {9 234 124 258} {# Populate the listbox with some data\
-#\
-\
-foreach student {John Bill Doe Gigi} {\
-\	.f2.lb insert end $student\
-}\
-\
-\
-\
-# Binding the event left button release to the\
-# list box\
-\
-bind .f2.lb <ButtonRelease-1> {\
-\	set idsel [.f2.lb curselection]\
-\	if {$idsel!=""} {\
-\	\	set thestudent [.f2.lb get $idsel]\
-\	}\
-}\
-\
-# Cleaning the variable thestudent\
-\
-set thestudent {}} {Show students} {} button2 groove #000000 #d9d9d9 2} {button button3 {132 234 247 258} {destroy .f2} {Close the form} {} button3 groove #000000 #d9d9d9 1} {label label4 {9 213 119 228} {} {You have selected} {} label4 flat #000000 #d9d9d9 1} {label label5 {129 213 219 228} {} {} thestudent label5 flat #00009a #d9d9d9 1}
-Invoices	inv 0 {FS {frame .inv.f\
-place .inv.f -x 5 -y 100 -width 500 -height 300\
-set wn [Tables::getNewWindowName]\
-Tables::createWindow .inv.f\
-set PgAcVar(mw,.inv.f,updatable) 0\
-set PgAcVar(mw,.inv.f,layout_found) 0\
-set PgAcVar(mw,.inv.f,layout_name) ""\
-Tables::selectRecords .inv.f "select * from cities"\
-}} 631x439+87+84
-\.
-COPY "pga_scripts" FROM stdin;
-How are forms keeped inside ?	Tables::open pga_forms\
-\
-\
-\
-
-Opening a table with filters	Tables::open phonebook "name ~* 'e'" "name desc"\
-\
-\
-
-Autoexec	Mainlib::tab_click Forms\
-Forms::open {Full featured form}\
-\
-\
-
-\.
-COPY "pga_reports" FROM stdin;
-My phone book	phonebook	set PgAcVar(report,tablename) "phonebook" ; set PgAcVar(report,y_rpthdr) 21 ; set PgAcVar(report,y_pghdr) 47 ; set PgAcVar(report,y_detail) 66 ; set PgAcVar(report,y_pgfoo) 96 ; set PgAcVar(report,y_rptfoo) 126 ; .pgaw:ReportBuilder.c create text 10 35 -font -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-* -anchor nw -text {name} -tags {t_l mov ro} ; .pgaw:ReportBuilder.c create text 10 52 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -anchor nw -text {name} -tags {f-name t_f rg_detail mov ro} ; .pgaw:ReportBuilder.c create text 141 36 -font -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-* -anchor nw -text {city} -tags {t_l mov ro} ; .pgaw:ReportBuilder.c create text 141 51 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -anchor nw -text {city} -tags {f-city t_f rg_detail mov ro} ; .pgaw:ReportBuilder.c create text 231 35 -font -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-* -anchor nw -text {phone_nr} -tags {t_l mov ro} ; .pgaw:ReportBuilder.c create text 231 51 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -anchor nw -text {phone_nr} -tags {f-phone_nr t_f rg_detail mov ro}	\N	\N
-\.
-COPY "phonebook" FROM stdin;
-FIAT	623463445		t	europe
-Gelu Voican	01-32234	Bucuresti	f	europe
-Radu Vasile	01-5523423	Bucuresti	f	europe
-MUGADUMBU SRL	+92 534662634	Cairo	t	africa
-Jimmy Page	66323452		f	europe
-IBM	623346234	\N	t	usa
-John Doe	+44 35 2993825	Washington	f	usa
-Bill Clinton	+44 35 9283845	New York	f	usa
-Monica Levintchi	+44 38 5234526	Dallas	f	usa
-Bill Gates	+42 64 4523454	Los Angeles	f	usa
-COMPAQ	623462345	\N	t	usa
-SUN	784563253	\N	t	usa
-DIGITAL	922644516	\N	t	usa
-Frank Zappa	6734567	Montreal	f	usa
-Constantin Teodorescu	+40 39 611820	Braila	f	europe
-Ngbendu Wazabanga	34577345		f	africa
-Mugabe Kandalam	7635745		f	africa
-Vasile Lupu	52345623	Bucuresti	f	europe
-Gica Farafrica	+42 64 4523454	Los Angeles	f	usa
-Victor Ciorbea	634567	Bucuresti	f	europe
-\.
-COPY "pga_layout" FROM stdin;
-pga_forms	2	formname formsource	82 713
-Usaisti	5	name phone_nr city company continent	150 150 150 150 150
-q1	5	name phone_nr city company continent	150 150 150 150 150
-view_saved_from_that_query	5	name phone_nr city company continent	150 150 150 150 150
-phonebook	5	name phone_nr city company continent	150 105 80 66 104
-Query that can be saved as view	5	name phone_nr city company continent	150 150 150 150 150
-pg_database	4	datname datdba encoding datpath	150 150 150 150
-pg_language	5	lanname lanispl lanpltrusted lanplcallfoid lancompiler	150 150 150 150 150
-cities	3	id name prefix	60 150 150
-	3	id name prefix	125 150 150
-	3	id name prefix	150 150 150
-	3	id name prefix	150 150 150
-	3	id name prefix	150 150 150
-\.
-COPY "pga_schema" FROM stdin;
-Simple schema	cities 10 10 phonebook 201.0 84.0	{cities name phonebook city}
-\.
-COPY "cities" FROM stdin;
-3	Braila	4039
-4	Galati	4036
-5	Dallas	5362
-6	Cairo	9352
-1	Bucuresti	4013
-7	Montreal	5325
-\.
-CREATE UNIQUE INDEX "cities_id_key" on "cities" using btree ( "id" "int4_ops" );
diff --git a/src/bin/pgaccess/doc/html/a_right.gif b/src/bin/pgaccess/doc/html/a_right.gif
deleted file mode 100644
index 386e27c304feb300eb29248ae887e13fb338bf70..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 207
zcmZ?wbhEHb6k!lyc+3C-MrVx}{xjUUb7$Yaefs|Xdfnj#4HNe7-w%?*z=}Uv7#SEi
z7<51~ATt<PY6MPtuHLHtI=b`PfxrTfXSI=qG4s3xvZ6#Brb_-Wn6oj;U&&da!T3X3
z!^D&_0ls$Ei5+Sat>*j32z^M7+vwle5XDuyF-a<1h-uEzCV}1>1OA6!Yks$TNF50_
nZi=a?H7RY6>C6_%>h5k8j&3QAR%w|sO(iF*XZCy%K?Z98Xun02

diff --git a/src/bin/pgaccess/doc/html/addindex.gif b/src/bin/pgaccess/doc/html/addindex.gif
deleted file mode 100644
index 2ff0aa2084e9e573fb2a2de07a40a4bac5075282..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 11402
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

diff --git a/src/bin/pgaccess/doc/html/api.html b/src/bin/pgaccess/doc/html/api.html
deleted file mode 100644
index 7630fd2054d..00000000000
--- a/src/bin/pgaccess/doc/html/api.html
+++ /dev/null
@@ -1,232 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]">
-</head>
-<body bgcolor="#FEFEDF">
-
-<h2>
-PgAccess developer API</h2>
-
-<hr>
-<br>Starting with PgAccess 0.98 I am planning to make available a complete
-API for the PgAccess developers. I plan to make PgAccess not just an administrative
-tool, but also a tool for easy build of small applications.
-<p>That's why PgAccess 0.98 has been internally restructured, every main
-module of PgAccess has became a namespace (see Tcl namespaces) in order&nbsp;
-to hide the variables and internal procedures to the user. Also, all the
-global variables that have been used before were grouped under a single
-big associative array called <b>PgAcVar</b> (PgAccess variables) so they
-should not interfere with user defined global variables.
-<br>&nbsp;
-<br>&nbsp;
-<p><b><font size=+1>Global variables available</font></b>
-<br>&nbsp;
-<center><table BORDER=0 WIDTH="100%" NOSAVE >
-<tr NOSAVE>
-<td ALIGN=LEFT VALIGN=TOP NOSAVE><b>PgAcVar</b></td>
-
-<td>The main global associative array that hold together various information
-needed by PgAccess. User should <b><font color="#FF0000">NOT</font></b>
-alter it under any circumstances.</td>
-</tr>
-
-<tr NOSAVE>
-<td VALIGN=TOP NOSAVE><b>CurrentDB</b></td>
-
-<td>The handler of the current opened database. Can be used for database
-operations as selects or command execution.</td>
-</tr>
-
-<tr NOSAVE>
-<td ALIGN=LEFT VALIGN=TOP NOSAVE><b>Messages</b></td>
-
-<td NOSAVE>The associative array that holds the translation for the current
-language. Loaded from the appropriate language file from lib/languages
-directory</td>
-</tr>
-
-<tr NOSAVE>
-<td ALIGN=LEFT VALIGN=TOP NOSAVE><b>PGACCESS_HOME</b></td>
-
-<td>Keep the system directory of PgAccess root installation</td>
-</tr>
-</table></center>
-
-<br>&nbsp;
-<p><b><font size=+1>Window naming convention</font></b>
-<p>Every toplevel window defined by PgAccess has the following naming convention.
-Every window name starts with <tt>.pgaw</tt> (PgAccess window) followed
-by a colon and a name. <i>Example:</i>
-<blockquote><tt>.pgaw:User , .pgaw:About , .pgaw:ImportExport</tt></blockquote>
-<b><font size=+1>Namespaces available</font></b>
-<p>For every tab from the main database window there is a namespace defined
-(Tables, Queries, Views, Functions, Sequences, Reports, Forms, Scripts,
-Users, Schema). Every namespace has by default the following&nbsp; procedures:
-<ul>
-<li>
-<tt>new</tt>&nbsp; , no parameter needed</li>
-
-<li>
-<tt>open</tt> , need a single parameter, the object name</li>
-
-<li>
-<tt>design</tt> , need a single parameter, the object name</li>
-</ul>
-You can use these procedures if you want to produce the same efects as
-clicking on the desired tab and then on the "New", "Open" or "Design" buttons
-from the main database window.
-<br><i>Example:</i>
-<blockquote><tt>Tables::open "customers"</tt>
-<br><tt>Queries::open "Invoices received"</tt>
-<br><tt>Forms::open "Add new invoice"</tt></blockquote>
-The <tt>Tables::open</tt> procedure accepts two optional parameters, filter
-and order.
-<br><i>Example:</i>
-<blockquote><tt>Tables::open "phonebook" "name ~* 'joe'" "age desc"</tt></blockquote>
-will open a table view window with predefined filter "name ~* 'joe'" and
-ordered by descending age.
-<p>There is also a special namespace called Database.&nbsp; Here are some
-procedures and functions defined for this namespace available to the user:
-<br>&nbsp;
-<table BORDER NOSAVE >
-<tr BGCOLOR="#FFCCFF" NOSAVE>
-<td NOSAVE><b>Name</b></td>
-
-<td NOSAVE><b>Parameters</b></td>
-
-<td><b>Type</b></td>
-
-<td><b>Returns</b></td>
-
-<td NOSAVE><b>Description</b></td>
-</tr>
-
-<tr>
-<td><b>vacuum</b></td>
-
-<td>none</td>
-
-<td>procedure</td>
-
-<td>nothing</td>
-
-<td>vacuums the current database</td>
-</tr>
-
-<tr ALIGN=LEFT VALIGN=TOP NOSAVE>
-<td><b>getTablesList</b></td>
-
-<td>none</td>
-
-<td>function</td>
-
-<td>list</td>
-
-<td NOSAVE>returns the list of tables from the current database</td>
-</tr>
-
-<tr ALIGN=LEFT VALIGN=TOP NOSAVE>
-<td><b>executeUpdate</b></td>
-
-<td>sqlcmd</td>
-
-<td>function</td>
-
-<td>integer</td>
-
-<td NOSAVE>execute the sqlcmd command on the current database returning
-1 if no errors ocurred or 0 if the command failed</td>
-</tr>
-</table>
-
-<p><b><font size=+1>Global functions available</font></b>
-<br>&nbsp;
-<table BORDER NOSAVE >
-<tr BGCOLOR="#99FFCC" NOSAVE>
-<td><b>Name</b></td>
-
-<td><b>Parameters</b></td>
-
-<td NOSAVE><b>Description</b></td>
-</tr>
-
-<tr ALIGN=LEFT VALIGN=TOP NOSAVE>
-<td><b>setCursor</b></td>
-
-<td>type</td>
-
-<td NOSAVE>Set the cursor for all PgAccess windows, type of cursor can
-be WAIT or CLOCK or WATCH for the hourglass , anything else (or none) to
-return to the normal cursor shape</td>
-</tr>
-
-<tr ALIGN=LEFT VALIGN=TOP NOSAVE>
-<td><b>parameter</b></td>
-
-<td>msg</td>
-
-<td NOSAVE>Shows a modal input dialog with the msg message, wait for user
-to enter the data and returns it as a string</td>
-</tr>
-
-<tr>
-<td><b>showError</b></td>
-
-<td>msg</td>
-
-<td>Shows a modal dialog window with an error message</td>
-</tr>
-
-<tr>
-<td></td>
-
-<td></td>
-
-<td></td>
-</tr>
-
-<tr>
-<td></td>
-
-<td></td>
-
-<td></td>
-</tr>
-
-<tr>
-<td></td>
-
-<td></td>
-
-<td></td>
-</tr>
-
-<tr>
-<td></td>
-
-<td></td>
-
-<td></td>
-</tr>
-
-<tr>
-<td></td>
-
-<td></td>
-
-<td></td>
-</tr>
-
-<tr>
-<td></td>
-
-<td></td>
-
-<td></td>
-</tr>
-</table>
-
-</body>
-</html>
diff --git a/src/bin/pgaccess/doc/html/ball.gif b/src/bin/pgaccess/doc/html/ball.gif
deleted file mode 100644
index 02d203471ed785ff5148f6ce7193cee8b248c447..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 176
zcmZ?wbhEHb<Y3@oIP#z2z<~p2&YVd*Gc#>wn(@puhMC3;X~qm`3=A#|@7}$;d-v|{
z-Md$<T6N&Sf%5Y5(9lpNB_#$@fZ|UUMv!_P5CO8&fmK&Qp)biu=EPx*r<+t#bo5*T
jWO!q=y7c}pZfOXR*uc>3bdVuaMwFLb`N8B?1_o;YMpQ2K

diff --git a/src/bin/pgaccess/doc/html/contents.html b/src/bin/pgaccess/doc/html/contents.html
deleted file mode 100644
index 971f3f43dce..00000000000
--- a/src/bin/pgaccess/doc/html/contents.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]">
-   <base target="right">
-</head>
-<body bgcolor="#00FFFF">
-<img SRC="ball.gif" ><a href="main.html">What is PgAccess?</a>
-<br><img SRC="ball.gif" ><a href="whatsnew.html">What's new?</a>
-<br><img SRC="ball.gif" ><a href="features.html">Features</a>
-<br><img SRC="ball.gif" ><a href="screenshots.html">Screenshots</a>
-<br><img SRC="ball.gif" ><a href="faq.html">FAQ</a>
-<br><img SRC="ball.gif" ><a href="documentation.html">Documentation</a>
-<br><img SRC="ball.gif" ><a href="todo.html">To-Do list</a>
-<br><img SRC="ball.gif" ><a href="download.html">Download</a>
-<br>&nbsp;
-<p><br>
-<center>
-<p><a href="http://www.linux.org"><img SRC="linux1.gif" BORDER=0 ></a></center>
-
-<p><b>Other links</b>
-<br><img SRC="ball.gif" ><a href="http://www.postgresql.org">PostgreSQL</a>
-<br><img SRC="ball.gif" ><a href="http://www.neuron.com/stewart/vtcl/index.html">Visual Tcl</a>
-<br><img SRC="ball.gif" ><a href="http://www.scriptics.com">Tcl/Tk</a>
-<br><img SRC="ball.gif" ><a href="http://www.linux.org">Linux</a>
-<br><img SRC="ball.gif" ><a href="http://www.java.ro/vtclava/index.html">vTcLava</a>
-</body>
-</html>
diff --git a/src/bin/pgaccess/doc/html/copyright.html b/src/bin/pgaccess/doc/html/copyright.html
deleted file mode 100644
index b624786e1a2..00000000000
--- a/src/bin/pgaccess/doc/html/copyright.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<HTML>
-<HEAD>
-   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-   <META NAME="GENERATOR" CONTENT="Mozilla/4.03 [en] (X11; I; Linux 2.0.30 i586) [Netscape]">
-   <TITLE>PgAccess - Copyright notice</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<TT>---------------------------------------------------------------------------</TT>
-<BR><TT></TT>&nbsp;
-<BR><TT></TT>&nbsp;<TT></TT>
-
-<P><TT>Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group</TT>
-<P><TT>Portions Copyright (c) 1994, Regents of the University of California</TT>
-
-<P><TT>Permission to use, copy, modify, and distribute this software and
-its</TT>
-<BR><TT>documentation for any purpose, without fee, and without a written
-agreement</TT>
-<BR><TT>is hereby granted, provided that the above copyright notice and
-this</TT>
-<BR><TT>paragraph and the following two paragraphs appear in all copies.</TT><TT></TT>
-
-<P><TT>IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
-PARTY FOR</TT>
-<BR><TT>DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
-INCLUDING</TT>
-<BR><TT>LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS</TT>
-<BR><TT>DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED
-OF THE</TT>
-<BR><TT>POSSIBILITY OF SUCH DAMAGE.</TT><TT></TT>
-
-<P><TT>THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,</TT>
-<BR><TT>INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</TT>
-<BR><TT>AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER
-IS</TT>
-<BR><TT>ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS
-TO</TT>
-<BR><TT>PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</TT>
-</BODY>
-</HTML>
diff --git a/src/bin/pgaccess/doc/html/documentation.html b/src/bin/pgaccess/doc/html/documentation.html
deleted file mode 100644
index 48d3fa5ec14..00000000000
--- a/src/bin/pgaccess/doc/html/documentation.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]">
-</head>
-<body bgcolor="#FEFEDF">
-
-<h2>
-Documentation</h2>
-
-<hr WIDTH="100%">
-<p>Still need to be written. Some information can be found in the help
-included in the main program.
-<p>Jim Lemon &lt;Jim.Lemon@uts.EDU.AU> has started writing a <a href="tutorial/index.html">tutorial</a>.
-Thought it is based on earlier versions than 0.98 it is a beginning after
-all, isn't it ?
-</body>
-</html>
diff --git a/src/bin/pgaccess/doc/html/download.html b/src/bin/pgaccess/doc/html/download.html
deleted file mode 100644
index ba585dcf5ca..00000000000
--- a/src/bin/pgaccess/doc/html/download.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]">
-</head>
-<body bgcolor="#FEFEDF">
-
-<h2>
-Download</h2>
-
-<hr>
-<br>The primary site for PgAccess download is:
-<ul><a href="ftp://ftp.flex.ro/pub/pgaccess">ftp://ftp.flex.ro/pub/pgaccess</a>
-<ul>
-<li><a href="ftp://ftp.flex.ro/pub/pgaccess/pgaccess-0.98.7.tar.gz">Unix tar.gz file</a></li>
-<li><a href="ftp://ftp.flex.ro/pub/pgaccess/pgaccess-0.98.7.zip">Windows ZIP file</a></li>
-</ul>
-</ul>
-
-<br>&nbsp;
-</body>
-</html>
diff --git a/src/bin/pgaccess/doc/html/faq.html b/src/bin/pgaccess/doc/html/faq.html
deleted file mode 100644
index 94d301e2ecc..00000000000
--- a/src/bin/pgaccess/doc/html/faq.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.7 [en] (X11; I; Linux 2.2.12-20 i586) [Netscape]">
-</head>
-<body bgcolor="#FEFEDF">
-
-<h2>
-PgAccess - FAQ</h2>
-
-<hr>
-<br><b>1. When I run PgAccess I got a message complaining about the crypt
-library! What should I do?</b>
-<blockquote>Versions of PostgreSQL prior to 6.5.1 couldn't reliably detect
-the presence of the crypt library on RedHat 5.x systems. That's why the
-libpgtcl library does not include reference to crypt. You will need to
-get a proper copy of libpgtcl.so library or to compile one. Go to the postgresql
-source directory into src/interfaces/libpgtcl and edit Makefile adding
--lcrypt to the end of the line SHLIB_LINKS. Make clean and make again.
-Your libpgtcl.so is now prepare to run PgAccess. I strongly recommend you
-to upgrade to PostgreSQL 6.5.1 where this problem has been solved.</blockquote>
-<b>2. I cannot connect to a database from another machine</b>
-<blockquote>There may be two problems here. First of all, PgAccess running
-on the localhost is using two PostgreSQL dependent libraries, libpq and
-libpgtcl. Each of them are compiled for a specific PostgreSQL version.
-If the PostgreSQL version running on your server is different you might
-experience problems. The other problem is related to access rights. On
-the PostgreSQL server, in data directory there is a file pg_hba.conf that
-will grant access rights to users based on host authentication. Ask your
-database administrator to check if your workstation is listed there with
-the appropriate access rights. Try for the beginning the 'trust' mode,
-allowing full access to the databases.</blockquote>
-<b>3. I am experiencing core dumps when trying to run PgAccess. Is PgAccess
-broken?</b>
-<blockquote>No. There were NEVER reported crashes because of PgAccess.
-All of them were related to bad libraries usage. The most frequent was
-the installing of a new PostgreSQL on a RedHat 5.x server where the postgresql-clients
-rpm still exists. So, PgAccess was trying to use the old libpgtcl.so library
-suitable for an older version of PostgreSQL. Before installing a new PostgreSQL
-(either by compiling it ot by rpm packages) remove ANY TRACE of old PostgreSQL.
-PgAccess is fully relying on libpgtcl library in order to get access to
-the database so when you are experiencing that kind of problems, double-check
-libpq and libpgtcl libraries.</blockquote>
-<b>4. When I try to run PgAccess I get the following error : Application
-initialization failed: couldn't connect to display ""</b>
-<blockquote>That kind of error was reported on some Linux RedHat 5.x systems
-when user has su - to root and tried to run PgAccess. Some unknown errors
-in login scripts are not defining the DISPLAY environment and the wish
-application cannot connect to the X display. Try typing <tt>export DISPLAY=localhost:0.0</tt>
-and run PgAccess again.</blockquote>
-<b>5. Cannot run PgAccess on a Windows machine.</b>
-<blockquote>In order to use PgAccess on Windows you must have installed
-two libraries libpq.dll and libpgtcl.dll suitable for your Tcl/Tk package
-and your PostgreSQL server. Note that libraries that work with Tcl/Tk 8.0.x
-won't work with Tcl/Tk 8.1.x and libraries that work with 6.4.2 backend
-won't work with 6.5.x. So, you must properly identify your Tcl/Tk package
-version and your PostgreSQL version and download from the Downloads section
-(or pick from the win32/dll directory of PgAccess distribution) the right
-files. Copy them into your Windows/System directory and try again. Also,
-you should be able to access over the network the machine running the PostgreSQL
-server (try ping-ing it) and have the proper access rights to the database.</blockquote>
-<b>6. How much costs PgAccess?</b>
-<blockquote>PgAccess is a free tool. You won't have to pay anything in
-order to use it. It is protected by the following <a href="copyright.html">copyright</a>
-as PostgreSQL is. I cannot guarantee technical support but I will try to
-answer to your questions as much as I can.</blockquote>
-<b>7. I want to translate PgAccess messages for xxx language. What should
-I do?</b>
-<blockquote>In the PgAccess distribution in lib/languages directory there
-are files with messages translated for different languages. Copy one of
-them and name it after your native language and then start editing it translating
-all the messages. Save it into the same directory and that's all. Don't
-forget to send me a copy in order to include it into the standard distribution.</blockquote>
-
-<p><br><b>8. I am receiving the following error: <tt>message invalid command
-name "namespace" while executing "namespace eval Mainlib</tt>&nbsp; ..."</b>
-<blockquote>That means 100% that you have an older version of Tcl/Tk that
-don't recognize namespaces command. Please upgrade to Tcl/Tk 8.0.x minimum</blockquote>
-<b>9. When saving big forms with a lot of widgets and code inside, a big
-error message appears, PgAccess crashes, cannot recover old form, pga_forms
-table appears to be corrupted.</b>
-<blockquote>Your form source is exceeding 8000 bytes. A PostgreSQL record
-cannot hold more than 8 Kb and pga_forms table is corrupted. Sorry for
-your work :-( , your old form cannot be recovered anymore if you don't
-have a backup (dumped) database. Upgrade to PgAccess 0.98.3 that will prevent
-saving of those big forms. In order to make your form sources smaller,
-define some scripts for your form initialize routines or for other big
-portions of code and call them from the form code with the command <tt>Scripts::execute
-"Your space saving code script name"</tt></blockquote>
-
-<p><br><b>10. I have a dual boot machine with Linux and Windows 9x installed.
-PgAccess works fine from Linux but when trying to connect under Windows
-it says something about wrong access rights to the same database. Tcl/Tk
-version and PostgreSQL server version matches libpgtcl and libpq DLL's.</b>
-<blockquote>Check your Windows TCP/IP configuration. If you configured
-the Windows TCP/IP machine address to by dynamic allocated by the server
-then it got another IP address, different from Linux. If you have host
-based authentication then you have no rights for the database. Change the
-Windows TCP/IP configuration and set up manually the same TCP/IP address
-as from Linux installation or change the pg_hba.conf configuration file
-from the server to allow access to the database from the whole domain not
-from a single IP address.</blockquote>
-
-<br>&nbsp;
-<br>&nbsp;
-<br>&nbsp;
-<br>&nbsp;
-</body>
-</html>
diff --git a/src/bin/pgaccess/doc/html/features.html b/src/bin/pgaccess/doc/html/features.html
deleted file mode 100644
index 4531663be38..00000000000
--- a/src/bin/pgaccess/doc/html/features.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]">
-</head>
-<body bgcolor="#FEFEDF">
-<b>Tables</b>
-<br>- opening multiple tables for viewing, max. n records (changed by preferences
-menu)
-<br>- column resizing, dragging the vertical grid line (better in table
-space rather than in the table header)
-<br>- text wrap in cells - layout saved for every table
-<br>- import/export to external files (SDF,CSV)
-<br>- filter capabilities (enter filter like (price>3.14)
-<br>- sort order capabilities (enter manually the sort field(s))
-<br>- editing in place
-<br>- improved table generator assistant
-<br>- improved field editing
-<br><b>Queries</b>
-<br>- define , edit and stores "user defined queries"
-<br>- store queries as views
-<br>- execution of queries with optional user input parameters ( select
-* from invoices where year=[parameter "Year of selection"] )
-<br>- viewing of select type queries result
-<br>- query deleting and renaming
-<br>- visual query builder with drag &amp; drop capabilities. For any of
-you who had installed the Tcl/Tk plugin for Netscape Navigator, you can
-see it at work <a href="qbtclet.html">clicking here</a>
-<br><b>Sequences</b>
-<br>- defines sequences, delete them and inspect them
-<br><b>Functions</b>
-<br>- define, inspect and delete functions in SQL, plpgsql and pgtcl languages
-<br><b>Reports</b>
-<br>- design and display simple reports from tables
-<br>- fields and labels, font changing, style and size
-<br>- saves and loads report description from database
-<br>- show report previews, sample postscript output file
-<br><b>Forms</b>
-<br>- open user defined forms
-<br>- form design module available
-<br>- query widget available, controls bound to query results
-<br>- <a href="forms.html">click here</a> for a description of forms and
-how they can be used
-<br><b>Scripts</b>
-<br>- define, modify and call user defined scripts
-<br><b>Users</b>
-<br>- define and modify user information
-<p><b><a href="api.html">PgAccess API</a></b> for developing small applications
-<br>&nbsp;
-</body>
-</html>
diff --git a/src/bin/pgaccess/doc/html/formdemo.sql b/src/bin/pgaccess/doc/html/formdemo.sql
deleted file mode 100644
index 73bf1c5027f..00000000000
--- a/src/bin/pgaccess/doc/html/formdemo.sql
+++ /dev/null
@@ -1,216 +0,0 @@
-\connect - teo
-CREATE SEQUENCE "cities_id_seq" start 7 increment 1 maxvalue 2147483647 minvalue 1  cache 1 ;
-SELECT nextval ('cities_id_seq');
-CREATE TABLE "pga_queries" (
-	"queryname" character varying(64),
-	"querytype" character,
-	"querycommand" text,
-	"querytables" text,
-	"querylinks" text,
-	"queryresults" text,
-	"querycomments" text);
-CREATE TABLE "pga_forms" (
-	"formname" character varying(64),
-	"formsource" text);
-CREATE TABLE "pga_scripts" (
-	"scriptname" character varying(64),
-	"scriptsource" text);
-CREATE TABLE "pga_reports" (
-	"reportname" character varying(64),
-	"reportsource" text,
-	"reportbody" text,
-	"reportprocs" text,
-	"reportoptions" text);
-CREATE TABLE "phonebook" (
-	"name" character varying(32),
-	"phone_nr" character varying(16),
-	"city" character varying(32),
-	"company" bool,
-	"continent" character varying(16));
-CREATE TABLE "pga_layout" (
-	"tablename" character varying(64),
-	"nrcols" int2,
-	"colnames" text,
-	"colwidth" text);
-CREATE TABLE "pga_schema" (
-	"schemaname" character varying(64),
-	"schematables" text,
-	"schemalinks" text);
-REVOKE ALL on "pga_schema" from PUBLIC;
-GRANT ALL on "pga_schema" to PUBLIC;
-CREATE TABLE "cities" (
-	"id" int4 DEFAULT nextval('"cities_id_seq"') NOT NULL,
-	"name" character varying(32) NOT NULL,
-	"prefix" character varying(16) NOT NULL);
-CREATE FUNCTION "getcityprefix" (int4 ) RETURNS varchar AS 'select prefix from cities where id = $1 ' LANGUAGE 'SQL';
-COPY "pga_queries" FROM stdin;
-Query that can be saved as view	S	select * from phonebook where continent='usa'    	\N	\N	\N	\N
-\.
-COPY "pga_forms" FROM stdin;
-Working with Tables namespace	f3 13 {3 4 5 6 7 9 10 11 12 13} 377x263+59+127 {radio usa {36 24 138 36} {} USA selcont} {radio europe {36 45 141 60} {} Europe selcont} {radio africa {36 66 147 81} {} Africa selcont} {label label6 {9 99 339 114} {} {Select one of the above continents and press} {}} {button button7 {270 93 354 117} {Tables::open phonebook "continent='$selcont'" $selorder} {Show them} {}} {button button9 {66 189 312 213} {Tables::design phonebook} {Show me the phonebook table structure} {}} {button button10 {141 228 240 252} {destroy .f3} {Close the form} {}} {button button11 {93 141 282 165} {Tables::open phonebook "company=true"} {Show me only the companies} {}} {radio name {183 24 261 36} {} {Order by name} selorder} {radio phone_nr {183 45 267 57} {} {Order by phone number} selorder}
-A simple demo form	asdf 14 {FS {set color none}} 370x310+50+75 {label label1 {15 36 99 57} {} {Selected color} {} label1 flat #000000 #d9d9d9 1} {entry entry2 {111 36 225 54} {} entry2 color entry2 sunken #000000 #fefefe 1} {radio red {249 21 342 36} {} {Red as cherry} color red flat #900000 #d9d9d9 1} {radio green {249 45 342 60} {} {Green as a melon} color green flat #008800 #d9d9d9 1} {radio blue {249 69 342 84} {} {Blue as the sky} color blue flat #00008c #d9d9d9 1} {button button6 {45 69 198 99} {set color spooky} {Set a weird color} {} button6 ridge #0000b0 #dfbcdf 2} {label label7 {24 129 149 145} {} {The checkbox's value} {} label7 flat #000000 #d9d9d9 1} {entry entry8 {162 127 172 145} {} entry8 cbvalue entry8 sunken #000000 #fefefe 1} {checkbox checkbox9 {180 126 279 150} {} {Check me :-)} cbvalue checkbox9 flat #000000 #d9d9d9 1} {button button10 {219 273 366 303} {destroy .asdf} {Close that simple form} {} button10 raised #000000 #d9d9d9 1} {button button11 {219 237 366 267} {Forms::open "Phone book"} {Open my phone book} {} button11 raised #000000 #d9d9d9 1} {listbox lb {12 192 162 267} {} listbox12 {} lb sunken #000000 #fefefe 1} {button button13 {12 156 162 186} {.asdf.lb insert end red green blue cyan white navy black purple maroon violet} {Add some information} {} button13 raised #000000 #d9d9d9 1} {button button14 {12 273 162 303} {.asdf.lb delete 0 end} {Clear this listbox} {} button14 raised #000000 #d9d9d9 1}
-Working with listboxes	f2 5 {FS {set thestudent ""}} 257x263+139+147 {listbox lb {6 6 246 186} {} listbox1 {} lb sunken #000000 #ffffd4 1} {button button2 {9 234 124 258} {# Populate the listbox with some data\
-#\
-\
-foreach student {John Bill Doe Gigi} {\
-\	.f2.lb insert end $student\
-}\
-\
-\
-\
-# Binding the event left button release to the\
-# list box\
-\
-bind .f2.lb <ButtonRelease-1> {\
-\	set idsel [.f2.lb curselection]\
-\	if {$idsel!=""} {\
-\	\	set thestudent [.f2.lb get $idsel]\
-\	}\
-}\
-\
-# Cleaning the variable thestudent\
-\
-set thestudent {}} {Show students} {} button2 groove #000000 #d9d9d9 2} {button button3 {132 234 247 258} {destroy .f2} {Close the form} {} button3 groove #000000 #d9d9d9 1} {label label4 {9 213 119 228} {} {You have selected} {} label4 flat #000000 #d9d9d9 1} {label label5 {129 213 219 228} {} {} thestudent label5 flat #00009a #d9d9d9 1}
-The simplest form	mf 5 {FS {set thename {}}} 306x136+82+146 {label label {42 45 99 60} {} Name {} label flat #000000 #d9d9d9 1 {Helvetica 12 bold italic}} {entry ename {120 42 219 63} {} entry2 thename ename sunken #000000 #fefefe 1 n} {button button3 {6 96 108 129} {set thename Teo} {Set the name} {} button3 raised #000000 #d9d9d9 1 n} {button button4 {192 96 300 129} {destroy .mf} {Close the form} {} button4 raised #000000 #d9d9d9 1 n} {button button5 {114 96 186 129} {set thename {}} {Clear it} {} button5 raised #000000 #d9d9d9 1 n}
-Full featured form	full 21 {FS {set entrydemo {nice}\
-set color {no color selected}}} 377x418+50+130 {label label1 {3 396 165 411} {} {Status line} {} {} sunken #000000 #d9d9d9 2 n} {label label2 {171 396 369 411} {} {Grooved status line} {} {} groove #000098 #d9d9d9 2 f} {label label3 {108 9 270 31} {} {     Full featured form} {} {} ridge #000000 #d9d9d9 4 {Times 16 bold italic}} {button button4 {15 210 144 243} {.full.lb insert end {it's} a nice demo form} {Java style button} {} {} groove #6161b6 #d9d9d9 2 b} {label label5 {15 42 115 58} {} {Java style label} {} {} flat #6161b6 #d9d9d9 1 b} {entry entry6 {123 39 279 60} {} entry6 entrydemo {} groove #000000 #fefefe 2 {Courier 13}} {listbox lb {12 69 147 201} {} listbox8 {} {} ridge #000000 #ffffc8 2 n} {button button9 {18 264 39 282} {} 1 {} {} flat #000000 #d9d9d9 1 n} {button button10 {48 264 68 282} {} 2 {} {} flat #000000 #d9d9d9 1 n} {button button11 {78 264 234 282} {} {and other hidden buttons} {} {} flat #000000 #d9d9d9 1 n} {text txt {153 69 372 201} {} text12 {} {} sunken #000000 #d4ffff 1 n} {button button13 {150 210 369 243} {.full.txt tag configure bold -font {Helvetica 12 bold}\
-.full.txt tag configure italic -font {Helvetica 12 italic}\
-.full.txt tag configure large -font {Helvetica -14 bold}\
-.full.txt tag configure title -font {Helvetica 12 bold italic} -justify center\
-.full.txt tag configure link -font {Helvetica -12 underline} -foreground #000080\
-.full.txt tag configure code -font {Courier 13}\
-.full.txt tag configure warning -font {Helvetica 12 bold} -foreground #800000\
-\
-# That't the way help files are written\
-\
-.full.txt delete 1.0 end\
-.full.txt insert end {Centered title} {title} "\
-\
-You can make different " {} "portions of text bold" {bold} " or italic " {italic} ".\
-Some parts of them can be written as follows" {} "\
-SELECT * FROM PHONEBOOK" {code} "\
-You can also change " {} "colors for some words " {warning} "or underline them" {link} } {Old style button} {} {} raised #000000 #d9d9d9 2 n} {checkbox checkbox14 {48 297 153 309} {} different {} {} flat #00009c #d9d9d9 1 b} {checkbox checkbox15 {48 321 156 336} {} {fonts and} {} {} flat #cc0000 #d9d9d9 1 i} {checkbox checkbox16 {48 345 156 360} {} colors {} {} flat #00b600 #dfb2df 1 f} {radio radio17 {207 297 330 315} {} {red , rosu , rouge} color red flat #9c0000 #d9d9d9 1 n} {radio radio18 {207 321 324 333} {} {green , verde , vert} color green flat #009000 #d9d9d9 1 n} {radio radio19 {207 345 327 363} {} {blue , albastru, bleu} color blue flat #000000 #d9d9d9 1 n} {label selcolor {210 369 345 384} {} {} color {} flat #000000 #d9d9d9 1 n} {button button21 {285 258 363 285} {destroy .full} Exit {} {} raised #7c0000 #dfdbb8 1 b}
-Phone book	pb 28 {FS {}} 444x307+284+246 {label label1 {33 10 68 28} {} Name {} label1 flat #000000 #d9d9d9 1 n} {entry name_entry {87 9 227 27} {} entry2 DataSet(.pb.qs,name) name_entry sunken #000000 #fefefe 1 n} {label label3 {33 37 73 52} {} Phone {} label3 flat #000000 #d9d9d9 1 n} {entry entry4 {87 36 195 54} {} entry4 DataSet(.pb.qs,phone_nr) entry4 sunken #000000 #fefefe 1 n} {label label5 {33 64 78 82} {} City {} label5 flat #000000 #d9d9d9 1 n} {entry entry6 {87 63 195 81} {} entry6 DataSet(.pb.qs,city) entry6 sunken #000000 #fefefe 1 n} {query qs {3 6 33 33} {} query7 {} qs flat {} {} 1 n} {button button8 {174 177 246 203} {namespace eval DataControl(.pb.qs) {\
-\	setSQL "select oid,* from phonebook where name ~* '$what' order by name"\
-\	open\
-\	set nrecs [getRowCount]\
-\	updateDataSet\
-\	fill .pb.allnames name\
-\	bind .pb.allnames <ButtonRelease-1> {\
-\	   set ancr [.pb.allnames curselection]\
-\	   if {$ancr!=""} {\
-\	\	DataControl(.pb.qs)::moveTo $ancr\
-\	\	DataControl(.pb.qs)::updateDataSet\
-\	   }\
-\	}\
-}} {Start search} {} button8 raised #000000 #d9d9d9 1 n} {button button9 {363 276 433 300} {DataControl(.pb.qs)::close\
-DataControl(.pb.qs)::clearDataSet\
-set nrecs {}\
-set what {}\
-destroy .pb\
-} Exit {} button9 raised #000000 #d9d9d9 2 n} {button button10 {291 237 313 257} {namespace eval DataControl(.pb.qs) {\
-\	moveFirst\
-\	updateDataSet\
-}\
-} |< {} button10 ridge #000092 #d9d9d9 2 n} {button button11 {324 237 346 257} {namespace eval DataControl(.pb.qs) {\
-\	movePrevious\
-\	updateDataSet\
-}\
-} << {} button11 ridge #000000 #d9d9d9 2 n} {button button12 {348 237 370 257} {namespace eval DataControl(.pb.qs) {\
-\	moveNext\
-\	updateDataSet\
-}} >> {} button12 ridge #000000 #d9d9d9 2 n} {button button13 {381 237 403 257} {namespace eval DataControl(.pb.qs) {\
-\	moveLast\
-\	updateDataSet\
-}\
-} >| {} button13 ridge #000088 #d9d9d9 2 n} {checkbox checkbox14 {33 87 126 105} {} {Is it a company ?} DataSet(.pb.qs,company) checkbox14 flat #000000 #d9d9d9 1 n} {radio usa {63 108 201 120} {} U.S.A. DataSet(.pb.qs,continent) usa flat #000000 #d9d9d9 1 n} {radio europe {63 126 204 141} {} Europe DataSet(.pb.qs,continent) europe flat #000000 #d9d9d9 1 n} {radio africa {63 144 210 159} {} Africa DataSet(.pb.qs,continent) africa flat #000000 #d9d9d9 1 n} {entry entry18 {129 180 169 198} {} entry18 what entry18 sunken #000000 #fefefe 1 n} {label label19 {108 219 188 234} {} {records found} {} label19 flat #000000 #d9d9d9 1 n} {label label20 {90 219 105 234} {} { } nrecs label20 flat #000000 #d9d9d9 1 n} {label label21 {3 252 33 267} {} OID= {} label21 flat #000000 #d9d9d9 1 n} {label label22 {39 252 87 267} {} { } pbqs(oid) label22 flat #000000 #d9d9d9 1 n} {button button23 {9 276 79 300} {set oid {}\
-catch {set oid $DataSet(.pb.qs,oid)}\
-if {[string trim $oid]!=""} {\
-   sql_exec noquiet "update phonebook set name='$DataSet(.pb.qs,name)', phone_nr='$DataSet(.pb.qs,phone_nr)',city='$DataSet(.pb.qs,city)',company='$DataSet(.pb.qs,company)',continent='$DataSet(.pb.qs,continent)' where oid=$oid"\
-} else {\
-  tk_messageBox -title Error -message "No record is displayed!"\
-}\
-\
-} Update {} button23 raised #000000 #d9d9d9 1 n} {button button24 {210 276 280 300} {set thisname $DataSet(.pb.qs,name)\
-if {[string trim $thisname] != ""} {\
-\	sql_exec noquiet "insert into phonebook values (\
-\	\	'$DataSet(.pb.qs,name)',\
-\	\	'$DataSet(.pb.qs,phone_nr)',\
-\	\	'$DataSet(.pb.qs,city)',\
-\	\	'$DataSet(.pb.qs,company)',\
-\	\	'$DataSet(.pb.qs,continent)'\
-\	)"\
-\	tk_messageBox -title Information -message "A new record has been added!"\
-} else {\
-\	tk_messageBox -title Error -message "This one doesn't have a name?"\
-}\
-\
-} {Add record} {} button24 raised #000000 #d9d9d9 1 n} {button button25 {141 276 204 300} {DataControl(.pb.qs)::clearDataSet\
-# clearcontrols stillinitialise\
-# incorectly booleans controls to {}\
-# so I force it to 'f' (false)\
-set DataSet(.pb.qs,company) f\
-focus .pb.name_entry} {Clear all} {} button25 raised #000000 #d9d9d9 1 n} {listbox allnames {249 6 435 231} {} listbox26 {} allnames sunken #000000 #fefefe 1 n} {label label27 {33 252 90 267} {} {} DataSet(.pb.qs,oid) label27 flat #000000 #d9d9d9 1 n} {label label28 {3 182 128 197} {} {Find name containing} {} {} flat #000000 #d9d9d9 1 n}
-\.
-COPY "pga_scripts" FROM stdin;
-How are forms keeped inside ?	Tables::open pga_forms\
-\
-\
-\
-
-Opening a table with filters	Tables::open phonebook "name ~* 'e'" "name desc"\
-\
-\
-
-Autoexec	Mainlib::tab_click Forms\
-Forms::open {Full featured form}\
-\
-\
-
-\.
-COPY "pga_reports" FROM stdin;
-My phone book	phonebook	set PgAcVar(report,tablename) "phonebook" ; set PgAcVar(report,y_rpthdr) 21 ; set PgAcVar(report,y_pghdr) 47 ; set PgAcVar(report,y_detail) 66 ; set PgAcVar(report,y_pgfoo) 96 ; set PgAcVar(report,y_rptfoo) 126 ; .pgaw:ReportBuilder.c create text 10 35 -font -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-* -anchor nw -text {name} -tags {t_l mov ro} ; .pgaw:ReportBuilder.c create text 10 52 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -anchor nw -text {name} -tags {f-name t_f rg_detail mov ro} ; .pgaw:ReportBuilder.c create text 141 36 -font -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-* -anchor nw -text {city} -tags {t_l mov ro} ; .pgaw:ReportBuilder.c create text 141 51 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -anchor nw -text {city} -tags {f-city t_f rg_detail mov ro} ; .pgaw:ReportBuilder.c create text 231 35 -font -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-* -anchor nw -text {phone_nr} -tags {t_l mov ro} ; .pgaw:ReportBuilder.c create text 231 51 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -anchor nw -text {phone_nr} -tags {f-phone_nr t_f rg_detail mov ro}	\N	\N
-\.
-COPY "phonebook" FROM stdin;
-FIAT	623463445		t	europe
-Gelu Voican	01-32234	Bucuresti	f	europe
-Radu Vasile	01-5523423	Bucuresti	f	europe
-MUGADUMBU SRL	+92 534662634	Cairo	t	africa
-Jimmy Page	66323452		f	europe
-IBM	623346234	\N	t	usa
-John Doe	+44 35 2993825	Washington	f	usa
-Bill Clinton	+44 35 9283845	New York	f	usa
-Monica Levintchi	+44 38 5234526	Dallas	f	usa
-Bill Gates	+42 64 4523454	Los Angeles	f	usa
-COMPAQ	623462345	\N	t	usa
-SUN	784563253	\N	t	usa
-DIGITAL	922644516	\N	t	usa
-Frank Zappa	6734567	Montreal	f	usa
-Constantin Teodorescu	+40 39 611820	Braila	f	europe
-Ngbendu Wazabanga	34577345		f	africa
-Mugabe Kandalam	7635745		f	africa
-Vasile Lupu	52345623	Bucuresti	f	europe
-Gica Farafrica	+42 64 4523454	Los Angeles	f	usa
-Victor Ciorbea	634567	Bucuresti	f	europe
-\.
-COPY "pga_layout" FROM stdin;
-pga_forms	2	formname formsource	82 713
-Usaisti	5	name phone_nr city company continent	150 150 150 150 150
-q1	5	name phone_nr city company continent	150 150 150 150 150
-view_saved_from_that_query	5	name phone_nr city company continent	150 150 150 150 150
-phonebook	5	name phone_nr city company continent	150 105 80 66 104
-Query that can be saved as view	5	name phone_nr city company continent	150 150 150 150 150
-cities	3	id name prefix	150 150 150
-\.
-COPY "pga_schema" FROM stdin;
-Simple schema	cities 10 10 phonebook 201.0 84.0	{cities name phonebook city}
-\.
-COPY "cities" FROM stdin;
-3	Braila	4039
-4	Galati	4036
-5	Dallas	5362
-6	Cairo	9352
-1	Bucuresti	4013
-7	Montreal	5325
-\.
-CREATE UNIQUE INDEX "cities_id_key" on "cities" using btree ( "id" "int4_ops" );
diff --git a/src/bin/pgaccess/doc/html/forms.gif b/src/bin/pgaccess/doc/html/forms.gif
deleted file mode 100644
index 947d920b04b475628599d8d586d8eff253588553..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 20106
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
XPD|9Bmh3q#;b)VB<kUJr4hCxgCOFdc

diff --git a/src/bin/pgaccess/doc/html/forms.html b/src/bin/pgaccess/doc/html/forms.html
deleted file mode 100644
index 57ecff52fcb..00000000000
--- a/src/bin/pgaccess/doc/html/forms.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]">
-</head>
-<body text="#000000" bgcolor="#FEFEDF" link="#0000EF" vlink="#51188E" alink="#FF0000">
-
-<h1>
-FORMS</h1>
-
-<hr WIDTH="100%">
-<p>This version (0.97) of PgAccess has changed the form API : variable
-handling, query results interface and control bindings naming convention.
-Please read it carefully, download the database demo and practice a while
-before trying to design your own forms.
-<p>For the moment, it has only some basic widgets : labels, entries, buttons
-, listboxes , checkboxes and radiobuttons.
-<p>Also there is a pseudo data control widget that allows you yo have access
-to a query results.
-<p><b>How do you generate widgets :</b>
-<ol>
-<li>
-select a widget from the toolbox by clicking the appropriate radiobutton</li>
-
-<li>
-move to the canvas , point with the mouse at the desired location and click
-the mouse button to begin</li>
-
-<li>
-keeping the mouse-button pressed move the mouse in order to draw a rectangle
-that will hold the widget</li>
-
-<li>
-release the mouse-button</li>
-</ol>
-In the rectangle that you have designed it will appear the selected object.
-<br>Move now to the attribute window to change some of its properties.
-<p>Renaming, resizing items are possible (for the moment) only by modifying
-appropriate parameters in attribute window. You <b>must </b>press Enter
-in the edit field after changing a value in order to be accepted.
-<p>You can also move items by dragging them or delete them by pressing
-Del key after selecting them.
-<p>In attribute window, there are some fields named <b><tt><font size=+1>Command
-</font></tt></b>and
-<b><tt><font size=+1>Variable</font></tt></b>.
-<p>The field <b><tt><font size=+1>Command </font></tt></b>have meaning
-only for Button widgets and holds the command that will be invoked when
-the button is pressed.
-<p>&nbsp;&nbsp;&nbsp; The field <b><tt><font size=+1>Variable </font></tt></b>have
-meaning only for EditField , Label widgets , checkboxes and radiobuttons
-and it is the name of the global variable that will hold the value for
-that widget. For checkboxes the values are <b>t</b> and <b>f</b> (from
-true and false) in order to simplify binding to logical data fields (PgAccess
-0.82 used 0 and 1).
-<p>&nbsp;&nbsp;&nbsp; For radiobuttons, it is usual to assign the same
-variable to the same radiobuttons within the same group. That variable
-will contain the name of the widget of the radiobutton that has been pressed.
-Let's presume that you have entered 3 radiobuttons named red, green and
-blue, all of them having the same variable named color. If you will press
-them, they will assign their names to global variable.
-<p>&nbsp;&nbsp;&nbsp; In order to make a simple test, put an entry field
-and set it's variable to <b>v1</b> and a button who's command is "set v1
-whisky". Press the button "Test form" and click on the button. In that
-entry should appear whisky.
-<br>Another test is defining in Script module a script called "My first
-script" having the following commands:
-<br><tt><font size=+1>tk_messageBox -title Warning -message "This is my
-first message!"</font></tt>
-<br>and then define a button who's command is <b><tt><font size=+1>execute_script
-"My first script"</font></tt></b>.
-<br>&nbsp;
-<h2>
-Database manipulation</h2>
-Let's presume that our form have the internal name <b><tt>mf </tt></b>(<b>m</b>y
-<b>f</b>orm). Don't forget that the Tk window names could not start with
-an uppercase letter.
-<br>The window will be referred inside the Tcl/Tk source as <b><tt>.mf</tt></b>
-<br>If you want to close the form in run-time you have to issue the command
-<b><tt>destroy
-.mf</tt></b>
-<p>Also, any widget created inside this window (form) will have the name
-prefixed by <b><tt>.mf ,</tt></b>so we will have <b><tt>.mf.button1</tt></b>
-or <b><tt>.mf.listbox1</tt></b> .
-<p>We can name the data control widget <b><tt>dc</tt></b> for example.
-The fully qualified name for that "virtual widget" will be <b><tt>.mf.dc</tt></b>
-then. A new namespace called <b><tt>DataControl(.mf.dc)</tt></b> will be
-automatically defined.
-<br>The <b><tt>Command </tt></b>property of the data control widget must
-contain the SQL command that will be executed.
-<br>When the form will be in run-time, automatically you will have access
-to the following procedures and functions from the namespace:
-<p><b><tt>open</tt></b> - opens the connection and execute the query (returns
-nothing)
-<br><b><tt>setSQL newsql</tt></b> - set the command query that will be
-executed at the next <b><tt>open</tt></b>
-<br><b><tt>getRowCount</tt></b> - returns the number of records of the
-result set
-<br><b><tt>getRowIndex </tt></b>- returns the current record number inside
-the result set
-<br><b><tt>getFieldList</tt></b> - returns a Tcl list containing the fields
-names from the current result set
-<br><b><tt>moveFirst</tt></b> - move the cursor to the first record in
-the recordset
-<br><b><tt>moveLast</tt></b><tt> , <b>moveNext</b> , <b>movePrevious</b></tt>-
-moves the cursor there
-<br><b><tt>moveTo newrecno</tt></b> - move the cursor to that new record
-number (first is 0)
-<br><b><tt>updateDataSet</tt></b> - update the variables inside the designed
-form that have a particular name (I'll explain later)
-<br><b><tt>clearDataSet</tt></b> - clear the associated DataSet variables
-<br><tt><b>fill listbox field</b> </tt>- fill the named listbox (whole
-widget name as <b><tt>.mf.listbox1</tt></b>) with the all the values of
-that field from the current result set
-<br><b><tt>close</tt></b> - close the result set (<b><font color="#FF0000">if
-you don't close it, you will loose some memory</font></b>)
-<p>These procedures and functions should be called in the normal Tcl namespace
-mode as in the following example:
-<p><tt>DataControl(.mf.dc)::setSQL "select * from phonebook"</tt>
-<br><tt>DataControl(.mf.dc)::open</tt>
-<br><tt>set nrecs [DataControl(.mf.dc)::getRowCount]</tt>
-<p>If you complaint about writting to many DataControl(...) you can include
-many commands into a single namespace eval as in the following example
-:
-<p><tt>namespace eval DataControl(.mf.dc) {</tt>
-<br><tt>&nbsp;&nbsp;&nbsp; setSQL "select * from phonebook"</tt>
-<br><tt>&nbsp;&nbsp;&nbsp; open</tt>
-<br><tt>&nbsp;&nbsp;&nbsp; set nrecs [getRowCount]</tt>
-<br><tt>&nbsp;&nbsp;&nbsp; moveLast</tt>
-<br><tt>&nbsp;&nbsp;&nbsp; updateDataSet</tt>
-<br><tt>}</tt>
-<p>It's no need to close a query-result set if you want to assign it a
-new SQL command and open it again. That will be done automatically releasing
-the memory used for the last result set.
-<br>Opening a new <b>DataControl</b> will automatically position the current
-row index of the result set on the first row (index 0) and will define
-a new global associative array named <b>DataSet</b> that will hold data
-from the current row. The key into that array will be the fully qualified
-name of the data control widget followed by a comma and the name of every
-field in the selected rows.
-<p><i>Example:</i>
-<br><tt>DataSet(.mf.dc,name)</tt>
-<br><tt>DataSet(.mf.dc,city)</tt>
-<p>If you want to bound some controls to the fields of the recordset, you
-will have to name their associate variable like that :
-<p><b><tt>DataSet(.mf.dc,salary)</tt></b> to get the "salary" field , or
-<b><tt>DataSet(.mf.dc,name)</tt></b> to get the "name" field. Using the
-data control procedures <b><tt>DataControl(.mf.dc)::moveNext</tt></b> or
-movePrevious will automatically update the <b><tt>DataSet(.mf.dc,...)</tt></b>
-array so the database information from entries in the form will be refreshed.
-<br>&nbsp;
-<p>Here it is a dumped <b><a href="formdemo.sql">sample database</a></b>
-that contains a demo database. What should you do ?
-<br>Shift-click the above URL in order to download that tiny file (4 Kb).
-Create a empty database and <b><tt>psql yourdatabase &lt;formdemo.sql</tt></b>
-<p>You should find a single table called "phonebook" a form called "Phone
-book" and another "A simple demo form".
-<p>First of all enter and view the phonebook table in table view. Note
-the fields and their values.
-<br>Open the "Phone book" form and enter a letter (a, e or i) in the field
-to the left of "Find" button then press Find. It's fine to enter one letter
-in order to get more records in query result. You will get information
-about the number of records selected, in the listbox you will see all the
-values of field "name" from the current data set. Use buttons to move to
-first, next, previous or last record within the record set.
-<p>In order to add a new record, press the "New" button in order to get
-new, clean entries. Fill them with your data and press "Add new" button.
-A new phonebook record will be added. Also, if you want to update a record,
-change it's values in the displayed fields after finding it and press "Update"
-button. The values will be updated in the database BUT NOT IN THE CURRENT
-QUERY RESULT . If you want to see them modified, make a new query trying
-to find it again.
-<p><font color="#000080">Before using the results from a query you should
-know that the information that has been retrieved could be found only in
-your computer client memory. It has <b>no live connection</b> to the data
-from the database. That's why it isn't possible to develop a simple update
-function as interface to that query-result widget. More than that : a query
-result could be obtained from a SQL command that return a non-updatable
-data set !!! For example fields gathered from multiple tables or summary
-fields. It isn't just simple to make an automatic update procedure. The
-programmer must know how to make the update or the append procedure, sometimes
-using key fields to point to the desired record or an OID. There are examples
-in the demo database in "Phone book" form. It may be possible that in the
-future, I will develop another pseudo-widget describing a table. It would
-be more simple than to implement an update or append or even a delete procedure.</font>
-<p>There is in the demo database also another simple form called "A simple
-demo form". It will show you how to handle variables from checkboxes, radiobuttons,
-how to use listboxes, open another forms and so on. I think they will help
-you.
-<p>In order to avoid naming user defined forms with&nbsp; a particular
-name of another PgAccess form, I would recommend naming them as udf0, udf1
-(user defined form 0 , 1 )
-<p>
-<hr WIDTH="25%">
-<p>Please feel free to send me your opinion at <b>teo@flex.ro</b> on forms
-designing and usage.
-<p><b><font size=+1>KEEP IN MIND !&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-THE FORM API MAY CHANGE IN ORDER TO BE MORE SIMPLE AND BETTER!</font></b>
-<br><b><font size=+1>SEND ME YOUR WISHES, YOUR IDEAS, YOUR OPINIONS !</font></b>
-<br><b><font size=+1>ALSO ... DON'T BLAME ME IF YOU WILL HAVE TO RE-DESIGN
-YOUR OLD FORMS DUE TO SOME INCOMPATIBILITIES WITH NEWER PGACCESS VERSIONS.</font></b>
-</body>
-</html>
diff --git a/src/bin/pgaccess/doc/html/function.gif b/src/bin/pgaccess/doc/html/function.gif
deleted file mode 100644
index 51634e5df9d585ddbe8b221a3fab4280e6b2abc0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 10022
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
WH<X-i_%O(TY57K}^@R)!4Aub5MA;+&

diff --git a/src/bin/pgaccess/doc/html/help.gif b/src/bin/pgaccess/doc/html/help.gif
deleted file mode 100644
index f08fee8fd38d3e566718d8da06a16cd7d813eadc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7082
zcmZ?wbh9u|>|pxCc!YuB-o1Ma3=H4CeRFhiJbLIT14A_fLoowG76U^P149%8Ll6Ul
z7XyPM1A`?4gCPThCIf>41A_zug8%~q$N&HTiwldFEL_su*nIESJqCtm1`MDB5&_xe
z!1`Z7p)VzKUdF0*Ij{E>=$tRfy<f5Jea-v-2No1aa5J#9EGasfV>NjySMVtrk#($G
ztgDY!ZN9z!hJ)Vh^Dn;qJdn5h{s#*g$Mv`0|M+8j@cr-q4UP3&Ev;?s9i1KAJ-vPX
z6DIcaOqn`u`iz+~c<0QWH-Evx`Fu;3E?d50<#PTtYuBycuyKRHmaW^i@7TFraL?X-
z`wtx4FLdPSvEwIBo)A8B_T2dk7tb?Zxq9vTjhojz{O|gU1U`Hea`(X#uV=o@Zg=jz
z^9u}q6&D-+HR^kG?AN%gfB!R{aL7ow_aAJoV9|`>@R)eGy;H?=4u|LDqun!IGVgGB
zO+DVfBBfJC(tG;J$vay9uZ-dJnR$Bp$t5S}aQe<ZJNx>ry~XT&^Zg6nUs~9`yf1bV
zx5s3y*i&0pUS1xs*lVuW)>T(mM{Lfzdur?I>+2H^cgcEhTXS=B#$_kpP47+wa!EW$
zn&G{D-QC?4pI^<bPF#0qZv!*;v)APt9v<!xe*AXzj*X9xPf+%r=d*Lu)6+AIga57m
zS#Y0Q<c5?ggO%O`hSI>~fW1|E*}GQ6KTka)xjyUK_Qc)$W>@RKy}Ye-`MtZdEb{Ih
z?tcGHcShm!=NA@x&-dHA>+7qn6WPP{W>-EqzmRjw(=e;uU+-UkzsNuSuI2CVA0D5c
z@Be>q<+lf}yH$N1*Z%*{z^3t_fkiCiK_iFSiU<E29`=5pR{hmg<6+B;#Lc&IC3cBL
zm&;^TJj}lO#I?6wIW8lqQ}xg`#ZJjZ9f@5c$21=IbbM|1EA#$x{Xxb8M~}z-4s4oF
zCb)=Ys+5?$b7|=NHSzlWi2-h!Pp5>0Wu}%`nH^tJVPiM5H*u5g^SQB!ZIw@FW-MFz
zY}TjLpLeJ6eR?j}etc<%bdSL@vqyzh$HMN+ty|}Dr~S~z%ohtg)K+Q4<uP4*-1qzI
zjYzh#)CA4gDREZfOJ`@@dbwypo7SrpOMZpkn!UjEr$XAaZLeOf-f&E7_41|HvR<#<
z@$bfp{DQKVk5lGcJDR!SaMG@o8zls)bJm?Pd;Mnf`M0aCFJ5(u^X>nwH_}$WoptHl
zwd^JSS<_Z-I6cWaZ^P5P)$ew_vAg{?>AuxZ?G0<UWxwD1<Js?ZRUg;Qnz{PWr7F#h
zkIPo&?EIRfWw7g~*_#iCufNR}-x||oou9&^T=VA8VZJpRHgP-ad^(}xuU;4{a$NIe
z>gH{4KAkq0uJiefiFKJ#tmf}u`Uj-cyWbpixUTc%f{T5bas1z?=r5Oi%zd9;lz5W!
zaeoEt-kgn3tk!<L=IyMzb<ZO;nTTU2igLf*G^(Ea<<y$4xoeg?9=>aMtK@p_`dcf*
zc+6Hu?w2(<G5?nCj|Z<G@xHt_?cf@V^DXA@D%Q1ypZ<0(b$ajC^E2Y(em<U4o|pQh
z>i6rP|6eRw%)9H<!)fb&y^5Xx>cy><>gRSOr0|>lzRk3G-S2l7cb&_=w<4Y=@@?Mf
zzbl^|-Q8P#aQ&xue?GhYw$pucC^<)O*Qxp(%XfCgIXTBTwfpxTnvox~^82mH>+Qb0
z*<QWtoQ}TU|36=@=l}n^Y1{h$+ur-{{r{g~OXz<A@dHd!0)fmTcNxV`9MDz`$mH!=
zz|#Naz)9Z^O%hWAS(B$9<g41?d+D>-hX>ye3eCD;CB5bzXZVRjCzfnzHRySm5~p!k
z>edGXlRXRh$}6VJeEQIC^+i#jUBX#W=wpYviIULt8;+_*A3KFglth+SIA{ia?E1f1
zNo+fZt!~lB?p>diB#wJn{WqNSv8UfyS?aomh3Te`z3IiuGS6R_SYG<r=d$@?ZNWB`
z3mgynnLfzNv1jh$Hh8Gtb|&y1i$TL*jh7QA^ej<P_dMwp^=Z<KGfULWPoDIv`ZRd~
z&r%I{&r?DBnkP<3S)%N_vW0QSr>Prymg=N?o{qZpY1)o6OZCc6o{szVY5D=4Wd`k@
zXOg5o&p6?;%xL<_GZC*^rcUn(?%Pw?rxNjC){Qj{tQs56=7t5^eEHF7cW6U@;VosJ
z2!;-;|Be&Ngjf_m*l;*M+bPg-Ls&`V<Z~B;L;gJlPv%QAb~@NQO=_CNqRL^*=`FTP
zXoiJ|nn~vip8}`A**2Rw7yeXpGvyLdo%!E+@md*PlbcFylV*Kc@-k+**YyYIrkzuq
zXK<I<Hr=YD`c{eHuQM-Iex1DR%kX9SVu=+2;fWU(ol{!qahKJ3x>ZlRRjH&<?<*56
zudBH|CX-hf^VVG3eD#omS8GekExGlR=U@2fzPgHWVwXe8a>ujBR%gcYMel50^kk3d
zTBS|d9U)5=is>$2-@0ja!I_fl8!qLpIi+|x>g$!|?_J&&<R8qg+VM;7R9u_?55t_h
z0=MTK_gZJq&9yee-TT(1S>Lv-@LijAnkkYaYnu6W3*JQQ$?CVyOk2OHHunpkrg%?Z
zz=U0?Iy1vsmh;}sTrbZwr6}?B!Y7+fxEyX>*S%!-^_Ohd_5N4MWDBh*zx(donZA3x
z@3+>h2z$(PZS9M*+T~k}m)XxP-}|WdeVP-;`ujow`+n%k)c#D3XWg_WfBNC5x2LAx
zXIfmaU-)s}jf|-?7^Qz4yu`RZk-=@lr_Q$tccSH6%wr@uFXvUWy^ee)bLOGY`RSYc
z->%QrY~DY8=8vN@K5lqxAoE~eq;7HfPQ#u=oyW4jZ+O^V<Gz`<X6Ndg6~!w53|pG#
zOn<g9;$(my&*ar?2|Ir3){4!Gp0a(;bj{~GPKMcq?~*w4)TmtYphob9H&Hg)#=B<*
zW*nP2OLO`<W$Bp*^6NHF|9mEW@=?i5t!)n`PmD>ok=}Ja@80L1C+?WLSV!r1{rfNd
zZB37X7yFImezU?Q#%D9d|5+YgD_XMLeeOJ8{r+R6>o&Gd?0GnU;;jwK>b9<77S3jR
z{o{1`v5%|DZBxR-yH4%oD_h8ZW`oN4TZLQgwrzSn=}oHs?wjZA%(g7neVrLR`^vR_
zWy?3Oed|-a`*z<yvmL*6-W5LIdFPqmm*xAP-7ncKed+bQ&%2-BJzT*)tNF{h@|ZWW
zSv9Y#@4fi9y`NdHK<@MJ%?Y{|TRGQ#5HjBLP`b|Ih`i3nPVpU&#E$D9GnTvGTWqsO
z?tevjsf%c3x6Lijs7px~HlA?1_x;H^zn?-vl_#dH|Fp{D{LXXb=RVK-{pYy@|E>$|
ze4d$oSGY8Mt1kTyKUHG1<IBt3j+IwlI$U1$`Qfq%{T9FN=Q`$9?G<w1wN`KQDhrbM
z`ev=is#}={uWbALXk~$ZTgdZsJ*#fnGKi~IiMs4M$(5lfBOA+f>HJC7qDRdip2|31
z4(BRe;UD`dY<<<W&F8+Zt^fNviNE^h$-c5J>to;M<yYT%?Du`={k^Ly=cha<X1U}n
z<f`Givr=uVWnVs@98c@<T8q;2{n|S7KK7Qse4H#*Im=J(_0;PxpYEMkxgf7@#a#Q}
z&nHV&E$fqew{-femn&ygd9JI|kn3f7lYIYg;Jvt)NiY72*R8+wfV=+3N1cB@{q>ih
zJTLiaoBPjyzW$XL(xtyVLTkNCYybOCtqt5-D;iq2>`U!~?d6-6mkUTV3RyIYL^O(3
zG)hQ#MY0wPm*-D%4J)`BD!)RF^LS%!kbLUY&<@e)_QGfl;ilV+G7}Ob54XlNJ#4B@
z<TZ_mJDb?#(3E5~BW}{frdXq<+MwunqOpCcE$^qc_*JNT?`U%5h`(#7ai%fy?9_;7
zrV^?zn!hPFzq#5H_CjM`YS>f7Xfp{V{UD9)uFWSKBda$>bY5*USRuQ?H2kb+dvQce
z<)UW&rWXAdt;S3(Cs;KOu|}l4Xw>*7lUE^E>e19>(V-F1rnN$0*(QbQJEGzRJEcsb
zrkqfoCDFCWqH9S+*RqPP6&VT~$2%{%75~?H&Y~tBbG%fkW>ZXUYWKO)?lYw^m$#~?
zI>iLMP`bw2v0k+}DnQ)ydVZ{jd+iOSoU1)v745yMG5aK9uN@8F`=Y13qd9S^%JB|y
zo#j0OWxWngJrCKW=3I4ubfW8OSwY&1{5L-`6vg`sO!~i^aC;Kkyz63E$Bfor7Hxkk
zT62%~w-oiOP3h0!nDACKg5joA!H(9gKjQ9WOb~qHChR#;>UrP6%VvIU*}ZKO6GF0&
zB&Tm@o8+M~sr#C3__Wl?X_I_X`t?q_E@QJ(DofOoOp+3tY-%$3SyDPfSjOzdlMS|H
z=A_v>?VK#->D2i-yS;2mib(c~W7*|tIewbXC&P07M{LV(44&%1GCAhwBu~zmsg5>^
zi?bxJ*-oA|jq&r;P?2f+>^hOolXr%t1f866;Mg<<mnp70r|UIOuY5V}t(*S#%LxuI
zr|XzZ?r}~zY&P94a|Z8`$)SgBrX}032v601IU~0->CLvJ87~VOPR=Z_oT;#QnzXQ8
z$jzBESE_#B)*~!7U2bL8+G|r*L{6NqnI&;}dYAER-;miKDrPsYoE_XU!|ddYU1hTl
zNV@JhIcpnpT3}`7@yZz|f6fsUpIak5vmsb#R?@6XFC8an=9I3?cHB9)-*awu+w6@>
z^Te;r-PAeHe#t!7Wi#H)ba^6auh^WbD>+~O$<!Z_POpBN-*=v6&bi?K@16GVcFwq`
znV@90;O*k+&t}f%+O^>G&jq`d&KH_BPcUlXhO&hcULLGnlN%S$z43D4-eXga?Oa&7
zWZ@*kMHOuej@-;R!8}i`Dni4`hBs=ltmNXT!wW>h=BiqmWuDBC>s)-JX_A82Y?W8p
zA670ZxjAuK=8_`L#jiD&xHv5_<y`XB$UH)8*2Bta{#AAXQ8WL|ocdLBX`s`>6e)+a
zs%4QTi?e=B$+@*m@#nGvt;t1J%Oj>NEBj?rF>Cpr&C6?~+)95f_kXgyX_Zw=)QVJ*
z6&+PB?YmaYy}Y7tmRpz9%D0v)r|fc`P_?po^2%9R=5ubXG+H%tBgZP2FDsX1nJueY
z6+L;?|5Z`$({8Q0pt))_=W6wztF}~4*jBar=gif+cFo?jt8ecq=QUDmOpVtZ`4zjT
zYR!qCt5>gBW1h0+oR!f9skH*eYp=XAxK_3H*Q7PKq8x7CT3dd2?Soy*&iv{-Wx4L2
z*18v53!m<q__}NL+f`HEzgoSDbIoV3^(&IrfA4a<zia*DrR)B2t@x-ljnR8H^Y3Y_
zyB+?{+Hhu(@}n;sq6}8^bkDhMs(U-Nn8SKw#;dNa2RBMc&yd=^Q9{&opQzj_75$Yn
zHfinNq;q?d-tSF}Nt=4F_?Sd*HmlxjF?+Ms?#(v0H{1Q*>>$16_z{nWkS%W6TlC7e
zc<tWeb9;;5?=1n+TZ62(hD2}uA6C6JV)oXk-CJXBZ;kuCH9>k?lJ&Nf=xu4-+uWu%
zX6@dVb9-Cf?`;Lr+wV=-wx*=+MfrBt19h*T)akO;e^jsk>{4%*TK}u1-eze%!_j)?
zr}eI^4V<bCJgyCXsSQG{4I)b$T->)WOW9trx}<8gU(IX3I&S|4=^ahk{w=fp+iv@J
z{PyqC4(Q1a=<5!cusdMV?|>=Nfz!H$XS@y+Sj}p~7{s$;=kzD#PaH&=wpX`=2fYdp
zn$In;@V4LLZh@tz1(tX3TDjYQ^=tpN(gEwe12$F%Y+fC(^>)B^?!cYafxEK<XB}zq
zzEtI0$oE)0Xw&!IKN<q<7y91WvVYt1Jv*lJ|NlR`;_rt&{{;5FH`&V;xc6(xUjB)D
zZ|&YIc5&~$-+NaH?0aOrZ&$#+XVv@kChmK+d*96k4d12rY~a|xCVkIZ_wDkb)hAZ7
z=+yXbNoV{!ySn4MFyo#*nyv>j6Amyp9^hPapy|K?-Zuv(F&q?EJSgROP%iPHa^pd@
zg$K0`9@Kw$(1`KSErmn6e|Tk552^F)Ka%bF@WCPDp2JLYD%zLVS*>BS(Gjp)!|ot+
z#AywOOUx0sHJlzgTwXB;eRR0}<{S)=;R(8PFhqtoOy<zr-AAnzMLv7)-}~EhPWSe+
zvkzzHux0D8=gwizm*FVXIbIwiSUN|r{ElFyj8JuqQ0*L{`a44Z8)bx>V}x7h2)Ca(
z6uBqx{+1K*IdyYq*S%O$G1=$j)IUMfbJ%Cz5t!W*JogR9e4bMa-*7JWIkof;*YciI
zE8lRhK67gA8=mz%rzI**FDlt~@6Xu>GUp!IoO=>;?pe*b7d6`?Pn<2feeT_#b01{R
zf3i8x_d?}c_4yxj&i~qT{?DEB|Nfk3kiEcUdx0hP0$c3`j=2}O_Fmw*dx7uo1%bQg
z=ZlI9_MWc`y!f-`qQu^d0^G}G=3eZQkng<_=~JQh{M5W|4OtfsJ=L|B`Z=0(b5+%Q
z=V{8yYQI%6<ds$Sm9^HrEN9!PIJdb;R6=;?<vSG<FMqn!SUS-|HzJ~=HRZ;#IiYd?
zeb2VeKXFO>N1N{qX^V_2l^HVOJ6b*OUJB8jC@@p;18XeL%NFky%Ody63jS>Aypf->
zHvH<*m_Uu@!oTXl8GS8**ULCslXNGT?YNqB_gea|Yl#`Hr=B*M%SLwTUJub|Y5Z}m
zFgCn?>$R!8ZB?uj6Yfs9_wmZC*oaQwD^a#LC(XU$7#r#3d&!hnGBj7xSa;s~vmN2R
zm$%kR+P=MH$$Psl_p-gOe1C1&PTkvU&t5+M_Hq#Km6F&yQ#al|aQAkw(e2wW@60f~
zGhb|zWJ$jK-Mjbx-hCi@?~(1jC$aaQ)!uut_Wb;*_ukyS_wMh#53=_^+1~$h_wLzM
zcXMB|tdr>b-h2Q5ORG)4*Y^Fr8@pLUsg+lD|KHoq3m<$^E!H|Ne$wK>^`qU#rnWZ)
z^=|nQBf0KcL+it<E81k49&M?3sB*7R#@euJ$$H^?idUYt>+B0_J<(qAwp-6H_S%YG
zWx2<aoqXEm8@2Sh75g6U+VM~>?$MKs$2UDRF3fnM<o9IbU$=W18=3OfsU3UpCGqL2
zZx6(*SA8^Xb!>W?=2jGZ@aey^c6_VP3q?PZuHK-q`dKW?hP-_%3*?^9vwB`4x9Y3b
z!}51F+`FH1n9TRjlieJuR#&INv2wy*!D~5dC$!CN**fDzPuz>(q8BUPzSx%ffVr}z
zx%PT`?Sn~ts#E^Gm}mQH?%peDzODZ!%)2&UPgQK^tD<wy7D$G#i+jEyZ}#SQmLa!N
z9IIYmnDpA=@S?EGi}$>9D9fA9#ytCYT;gFrt$qKD5A-cLZKqW$_jYpJn=5^5w%(h4
z{hr%3yR_SV`hPj+Z8*8;=+C!Vm*zgXXZY~(8*#Na&;B*v&C5RbZt@AarSJJtKGwbG
zHGca`Pvy_O_aElHy|VVTJm-hKa_`Unw7u;-ovmI?!_scK*;LD$A2N!jx<^gk=k_u4
z(|aj@MVb2_g+6^$h?keO`gE3QYJ}y~uXagCB;TmX%U@Xb?&i#oM*Ba>C)?=r%gai=
zVcPb|?)_X#e_7Gz?;P!y{_K-*iU0Di?u*y`4R_~#*?sTJ{~vlELO#!u_nKt(?M)E>
zXaD-?X8Ip>xt2ut%f|L+8{hww!T&A!yqwbhZ*^{8^Zbo-<-dCbeQRAQ5#awlfBy53
zxVgIX--Yupt+JPYQTN$?{nRA;AKwzcKa%_5S@pduKFfz+qEh~+iv7>(z@O9nf6Unb
zvrXvTyz{y}@k=7KW`2|VHHrWG|J1LgE8nb;|FqcueZu;m>+dJdjsMM8|9i)O%U%0_
z`yc)h;QxD{zNAL}^r*5wS@wU}m;IWYw4ir>>Z$YJ4(R_5U-tE)|F<*t@`vjGsvrCQ
zE=vCP`M*c*|9+JJ<)(ecg!q5W7Jr}CnLb(f@AUh>pSu2CnExhO?B9oc3G4aa{x{A4
zAK~;*p`lYba+dn6Rob_A>C2opj=gO@@3r;)-}VMK7R6|+O`7N+!NS0#8l*8dX!SL1
zv(<NtcHdjyk&&XP>9tJQi)Hiecjh*F^Dn<P{}@=4XUBOlp3PI?)PlJW6_XY{Qc9MU
zn|V)Y{w>!4w}l=LAEc%&S65%5&X$(E@}*|hDy?gey>7<Mx_|4+vd*+;s?T3M_t1N(
zRj}cMfnnC_Q>#<n%;!(j)&H{Y%jevUUro!leY;xdWfUd<`I|-M&YzV9=BK_d$x*ec
z+4IL{@3dc>zdz;J*6;ss?;!l$=Lz?AeT73UT;hDv5sMU5+l17E)>s@@<m`B-Q}pJ=
zM`eK?Wt0D1%$c85PEApE=~Ac+P(3rlNO;qc2cPbqnPXMHXm#ae^$QD}q{U87cA4oo
z$9B%%A5WWBYGekr2d(wmtg&SA10^OQl`bih*re*ON?%{kyt*ap_0OIyrODyZDTQa(
zE<1Uhb4$YYPj9o=t-V&JT5hpbdfK{>!^O+PKEM7^Xm}uPLebL4B1X^7<ZRqkr2S**
z?3h{Zlb5MWhF!X}D%{!5S5i-4h4<n|7Oz8H7o1*G{+aKv<jnM1ui2cptiNi1$~<O%
zvu|64)T1NaU)Aof-fdnsVcmVcXNt3TW<);})o#<fZu$1f;t$L0PuJCceDf(W@4rpW
zx00_vr@Ak$+w-eZ)xdpr{nP)E)9=-AMup5TP>)@%(6aXLGv9)hl_GI1l9P@tXqBq^
z@h~m9L@c6NVOGVXc;R)yiK!a9ekd8rY~xVwHJzoToMZNC$74l{vg67V9Gf00XE;e!
zs%UFHI-Jz!VfAx~fXh90)v2NP7OFV<{L4_C9=l0l>GZ^|olG;5XH}}Pr7qf;Ha%<8
zPqis|hb)&*EV@+ryszxhPW7IuPd}G;)-hRSv^5D;y{KtZ+NF`-W%Mf}v(L#&Gi_2(
zRc8FOq+KgRXBGX*44BtsmF2f+Qq?N2Ws7#LDvPjNk~(qCDXGb;Hs8_;T)X{MSHQa6
zzi#=j-_ND(zu~ad>_r_1Cf<0s@od~woz~O;&%MyudSKTq!8O5QyK`-h7X4nUb+5@f
zPxH~F>O7@qi*~P5zTP)QclXDr#q0Kb-Q>7_@6V#f_51!7J<jv~@XLCG(jTFk5BzM(
zdp7WK8UHEZ<#V<%<Pi$4F`UV8TgBj*?0@dJU6;&W8lH5Fh%q{;zWC0@Q`+%&Hk}qe
zEc5xW@#Q@m&YH{5*?f-q^PS@T_RMqFUvR!2z2)LZrMX{rc^lWRyX@aDz4gldpxCe5
z!jpa1UW+!rz4iLBCfRKpk|)1ieKY;_tZlcpZMwT{P5$A%tL_xfkJ^5B@uRulmsfw@
zyYha0ywr{dlZE1bEN)lcx8hN^{H-02o1Nr-&Yv8-Z~4>d_h;^WR{X!{-p|?doA)hy
zv3P#uu9wM+=2gvDz4_j<WA=OdHoV>(?%5)=^YuP!Mw#31^xvhN_-Fk=T%)n)V-nAX
zKMblu@>@P0e=J<9!eny(&F62A=2<&l{9ZTZ>$&vxd%s`W9#Z%9y1%vE?%S{H{=IwI
zeSY7ir_bve|K9f(s|ynO@!y_-S>phs(1r#!8wDoe6$e<2HZ=0pD6lAN9OMkz&?L4;
zfz5cuLEfSb&2n=R1jRV)zMg#4tY)Lg6};k*=%x*=dNqnX$r^_xg#tMLJeK7vUU69V
z(}s4tKZ*j)8b=g`Hg>q#C<#qoaYWT<W2aw@lE`9>qnbez+plpi`pUH6sBY25?zlfn
z`VxmVju}qc*pp_XEOmLsG1E;Od-H0PWgcrBx4g8muWXO9+~*a?ZKC=s>;5P!I5RL<
F0{{-+S55!`

diff --git a/src/bin/pgaccess/doc/html/index.html b/src/bin/pgaccess/doc/html/index.html
deleted file mode 100644
index 7ccda192907..00000000000
--- a/src/bin/pgaccess/doc/html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>PgAccess</TITLE>
-
-<FRAMESET COLS="200,*" border=0 framespacing=0 frameborder=no>
-	<FRAME NAME="left" scrolling="none" src="contents.html">
-	<FRAME NAME="right" scrolling="nonw" src="main.html">
-</FRAMESET>
-
-</HTML>
-
diff --git a/src/bin/pgaccess/doc/html/irix.html b/src/bin/pgaccess/doc/html/irix.html
deleted file mode 100644
index b678458569e..00000000000
--- a/src/bin/pgaccess/doc/html/irix.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML>
-<HEAD>
-   <TITLE>PgAccess on Irix</TITLE>
-   <META NAME="GENERATOR" CONTENT="Mozilla/3.04Gold (X11; I; Linux 2.0.33 i586) [Netscape]">
-</HEAD>
-<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000">
-
-<H1>INSTALLING PgAccess UNDER IRIX 5.3.
-<HR WIDTH="100%"></H1>
-
-<P><B><FONT COLOR="#000080">This HOWO-TO make PgAccess working under Irix
-is written by Stuart Rison</FONT></B></P>
-
-<P>These are the steps that I had to follow to get pgaccess to run on an
-INDIGO2 running postgreSQL 6.3.2 under IRIX 5.3. I make no guarantee whatsoever
-that the same step will work for others but at least it should point you
-in the right direction. Also, I am a biologist by training so I only got
-pgaccess working by fudging (that is, trial and error) this means that
-some of the steps may be unnecessary (e.g. compiling $postgreSQL_source/src/interfaces/libpgtcl
-as both a shared and static library) and they certainly haven't been optimised
-(I know nothing about compiler switches etc.).</P>
-
-<P><B>1) Requirements:</B></P>
-
-<UL>
-<P>You will need:</P>
-
-<UL>
-<LI>postgreSQL source (http://www.postgresql.org)</LI>
-
-<LI>tcl8.0 source (http://www.tclconsortium.org/)</LI>
-
-<LI>tk8.0 source (http://www.tclconsortium.org/)</LI>
-
-<LI>pgaccess source (http://www.flex.ro/pgaccess)</LI>
-</UL>
-</UL>
-
-<P><B>2) Installation:</B></P>
-
-<P>a) tcl/tk:</P>
-
-<UL>
-<P>You must first install tcl and then tk (in that order). I just used
-./configure, no switches and gmake. Their installation should be trouble
-free. Then you must move headers and libraries to the right places so:</P>
-
-<P>Header files: both tcl and tk have a header file (tcl.h and tk.h). The
-tcl.h file is in $tcl_source_dir/generic and the tk.h file is in $tk_source_dir/generic;
-both should be copied to /usr/local/include.</P>
-
-<P>Libraries: compilation (with cc) of tcl and tk yield libraries libtcl8.0.a
-and libtk8.0.a in $source_dir/unix. Both should be copied to /usr/local/lib.</P>
-</UL>
-
-<P>b) postgreSQL:</P>
-
-<UL>
-<P>Make sure you have a fully patched postgreSQL source. If your ./configure
-says it can't load 'IRIX' settings then you most probably will need to
-patch ./configure.</P>
-
-<P>Configure using ./configure with the following switches: ./configure
---with-includes=/usr/local/include</P>
-
-<P>--with-libraries=/usr/local/lib --with-tcl [this and previous line as
-one]</P>
-
-<P>Then make, make install as usual</P>
-</UL>
-
-<P>c) Compiling libpgtcl:</P>
-
-<UL>
-<P>The source for libpgtcl is in $postgreSQL_directory/src/interfaces/libpgsql.</P>
-
-<P>I do this twice. Once with just gmake. This produces a static library
-libpgtcl.a which I leave where it is (I don't know what to do with it but
-it may just come in handy). The I modify Makefile manually with a text
-editor. Essentially I modify two line:</P>
-
-<P>before:</P>
-
-<P># Shared library stuff</P>
-
-<P>install-shlib-dep := shlib :=</P>
-
-<P>after:</P>
-
-<P># Shared library stuff</P>
-
-<P>install-shlib-dep := install-shlib shlib := libpgtcl.so.1</P>
-
-<P>Then gmake -f Makefile_modified. This creates two shared (.so) libraries:
-libpgtcl.so and libpgtcl.so.1. I can't tell the difference between them
-so I copied them both to /usr/lib/.</P>
-</UL>
-
-<P>d) running pgaccess:</P>
-
-<UL>
-<P>Uncompress pgaccess (usually with gunzip and tar). So long as 'wish'
-(a binary produced when compiling tk8.0) is somewhere in your path, you
-should be able to run pgaccess with:</P>
-
-<P>wish -f $pgaccess_dir/pgaccess.tcl [postgreSQL_database_name]</P>
-</UL>
-
-<P>e) et voila!</P>
-
-<P><B>3) Concluding remarks:</B></P>
-
-<UL>
-<P>As I stated at the start of this document, following the procedure indicated
-above worked for me. I am sure, however, that a few of the steps are unnecessary/non-optimised/stupid
-etc. If any Unix (IRIX) boffin is reading this and you spot anything you
-would like to comment/correct etc. please e-mail me (stuart@ludwig.ucl.ac.uk).
-Also, if you just have questions and think I might help, please contact
-me at the same e-mail.</P>
-
-<P>Finally, I can accept no responsibility if these steps don't work for
-you or if it all goes horribly wrong and you 'damage' your computer trying
-them. Let common sense prevail!</P>
-</UL>
-
-<P>Good luck</P>
-
-<P>Stuart Rison LICR University College London London W1P 8BT<BR>
-<A HREF="mailto:stuart@ludwig.ucl.ac.uk">stuart@ludwig.ucl.ac.uk</A></P>
-
-</BODY>
-</HTML>
diff --git a/src/bin/pgaccess/doc/html/linux1.gif b/src/bin/pgaccess/doc/html/linux1.gif
deleted file mode 100644
index b98ac024d735a911da2481054ac9af3ed448282b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 789
zcmZ?wbhEHbj9`#wXklRZ|NsC0GiUzKocW)@_{^CzXVTKn7#p8qFh0Y;FmvY2na0L5
z8H{H#Fr<NiaT<eh8Uuqd2rw8kfLIKKfZ{)Sr%DCy)UwPx1&`A7jMQQsg=`Qn!yz@Z
zL@zl%mq7<)2FN)Mtp61h`%*IJWvp74v)atXRi#8!H93gqaL~g}H&(Zd2TGz0x<#{1
zryTB>c&(#D=tSE@R^@dGMp1{_cE986k!S4Od$H@`g92U#j^(FTMZ`T5i&Y9z%T;kK
zGp^0{Rc%u9=`09qh|}>bE$en=Wai*6Zcv}39HlJCpyV_`V~S=%NAgT7=8UX7@2#HR
zzK+Ju7F9_(tJc=**+-o?;o)O;CdKkhUa065pOaD7LaxuRTad3BJ)v4Psri2E^Kb{f
zH47HbeE0F=Tg}1^wVcAj`~qetT2HNu^-NpMw$jFVTS<1}`<XK%GaCXtD^$Xz6%39Y
zn6PO%n|r{Q0F$0lwMC1XM5q3bDY>Nmc(PJb&`$2kLvc;sWm<1$v~r)=tR?Sy<=~_2
z6<eE(ZZcjf%RRNBqIyy-cM-3gp}5p}$*#ut?2{ywWhO0{rq>p#loiF0dT86)+uI8s
zpPK8vJuha~r%$iun!l7<qRyo7AoaQUf{?8ZZr?H!7!EenHAk{^YBl#wmiIrXTBmB(
z*vu)a;G<Bm>Y}{H^kY104o~|e+#f8kIBS*;Tl%EU0xK3OWpE2k?T<)vwF*3~e~U@E
zeQ)pjB~r^Bf?plFQN(sUVV}|b4^4mOKax4uFOu`AdRIaGp`$gg?ro89e)d4|k<hng
zf4rQ_yXF|l`AoTV^X^SCpAeCj?QXhx2PO)Zi$yyeoamME_9I92R!#LLU!kxC2bg$%
z6nINYWqx!vJrz(qLB@Q6$Q36Y1;?}920=&er@W9b7ckm>V8#Mt{iv;{;vCpciif34
zeK57&NM>?J#L^!pQUo1*jXY&kJPxu%h|g+G<(VP*?0#!z@1bkc^f@x0&0O2Uz+epk
Du5CYE

diff --git a/src/bin/pgaccess/doc/html/maillist.html b/src/bin/pgaccess/doc/html/maillist.html
deleted file mode 100644
index 4e0ce850c96..00000000000
--- a/src/bin/pgaccess/doc/html/maillist.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML>
-<HEAD>
-   <TITLE></TITLE>
-   <META NAME="GENERATOR" CONTENT="Mozilla/3.04Gold (X11; I; Linux 2.0.32 i586) [Netscape]">
-</HEAD>
-<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000">
-
-<P>The mailing list for PgAccess is : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B><TT>pgsql-interfaces@postgresql.org</TT></B></P>
-
-<P>If you have some questions regarding PgAccess you should mail to this
-address. I will also answer to messages addresed directly to me but it
-would be better to post your messages here because it might be possible
-to get an answer quickly from another user of PgAccess.</P>
-
-<P>
-<HR WIDTH="100%"></P>
-
-<P>To subscribe please send a mail message to&nbsp;:</P>
-
-<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B><TT><FONT SIZE=+1>pgsql-interfaces-request@postgresql.org
-</FONT></TT></B>&nbsp;</P>
-
-<P>having a single line in the body message :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B><TT><FONT SIZE=+1>subscribe</FONT></TT></B></P>
-
-<P>In a couple of minutes , if everything is ok, you must receive something
-like that :</P>
-
-<P>
-<HR WIDTH="100%"></P>
-
-<P><TT>Welcome to the pgsql-interfaces mailing list!</TT></P>
-
-<P><TT>Please save this message for future reference. Thank you.</TT></P>
-
-<P><TT>If you ever want to remove yourself from this mailing list, you
-can send mail to &lt;Majordomo@hub.org&gt; with the following command in
-the body of your email message:</TT></P>
-
-<P><TT>unsubscribe pgsql-interfaces yourname@yourdomain</TT></P>
-<TT></TT>
-</BODY>
-</HTML>
diff --git a/src/bin/pgaccess/doc/html/main.html b/src/bin/pgaccess/doc/html/main.html
deleted file mode 100644
index 722b60e49ea..00000000000
--- a/src/bin/pgaccess/doc/html/main.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; I; Linux 2.2.14 i586) [Netscape]">
-</head>
-<body bgcolor="#FEFEDF">
-
-<h1>
-PgAccess
-<hr WIDTH="100%"></h1>
-A free graphical database management tool for <a href="http://www.postgresql.org">PostgreSQL</a>.
-PgAccess has been written by <a href="mailto:teo@flex.ro">Constantin Teodorescu</a>
-using Visual Tcl, the best tool for developing Tcl/Tk applications I've
-ever seen.
-<p><b>Last version</b>
-<br>Last stable version is 0.98.7 , released on 27 January 2001. Read <a href="whatsnew.html">what's
-new</a> .
-<p><b>Portability issues</b>
-<br>PgAccess is available for every platform where PostgreSQL was ported
-and where a Tcl/Tk package is available. PgAccess has been reported running
-on :
-<br>- Linux
-<br>- FreeBSD
-<br>- NetBSD
-<br>- Solaris
-<br>- HPUX
-<br>- Irix
-<br>- Windows 95,98,NT
-<p>PgAccess needs Tcl/Tk versions 8.0.x and higher. For win32 platforms there are some special DLL's that have to be downloaded and installed, more information <a href="win32.html">here</a>.
-<p>PgAccess is protected by the following <a href="copyright.html">copyright</a>.
-</body>
-</html>
diff --git a/src/bin/pgaccess/doc/html/mainwindow.gif b/src/bin/pgaccess/doc/html/mainwindow.gif
deleted file mode 100644
index 6a48792d194b5230566665f2e00725f1fb6ace27..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8857
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

diff --git a/src/bin/pgaccess/doc/html/newtable.gif b/src/bin/pgaccess/doc/html/newtable.gif
deleted file mode 100644
index 891d05698f9d32750cf9bfd6e755b312103e61e6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9317
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
Kuq*}!25SI|Wp=Ot

diff --git a/src/bin/pgaccess/doc/html/newuser.gif b/src/bin/pgaccess/doc/html/newuser.gif
deleted file mode 100644
index 5c56c9ad2998cd3a4ae31d3f43e26fd0a920ebf0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3965
zcmZ?wbh9u|<Y)ZBaD;*3-o1Ma3=H4CeRFhiJbLIT14A_fLoowG76U^P149%8Ll6Ul
z7XyPM1A`?4gCPThCIf>41A_zug8%~q$N&HTiwleI-MTkt=A7on<}C(E3>ZKMBm%O_
zf%U(FLSIVeyo^=ra$fH%&^cd{dz?{0pyvJm0}BEyG$i_`s4SgeVln@GbBUL&!nzwe
zN(bLo33qL%SQ9bh{0r9Pvw6l+A9n0{xZ?KvzV^EF^$!0U8U+MfTH6GLI=i}sg!}p@
z2s2KeGS%97hLeb>sKe~J_RN;kXD(gl;Og$?<?YM1&Wn9bkmnW=4$ts4@iCs9o{4Lc
z)}(o6<eex!RdJ^FT+@a2OFdU6UYmM@amn(f^X=}fSZpKq<mt2LFJ8WS{pRhv_a8of
z`uyeVx9>mR*etSo{PRBp^S0dwRxLQ#%pt55b7I57!|ejn>u#&}IqYJ1W{{?`yij>p
zpOj;fOs3+J12rs~|5-dXZA$Q-Dwup~j_2mIL!B%?Vy#YYUVeVQLo-*d`^Nc47kW(A
ziam8D{o-7C+i7#AY<wItN%eH=604%@Ys+2*-IDR%wkEQ}qVyN@>2LFHY%X|wYVFKz
zNw;@be12v7vqaZnb@g?|vhQW<9v<%CzGli*VsP!idoJ~PJ~!Vat(ah(eXnQx`@nMx
zoV&|rUCy)OkqlZL=G!Riwp#70)i=xN4Y{RT-Pyma;rsgP>e^CndA?cZA0MBXEbZRD
zaOdae61N!p=9+)^e7$|6`um-K=DfeZvf2Hs$J|L*ZiYA>diLw9O!#N<o9pM#|7u(P
z{ZoAQRW14Lb$wrK%i;@{8g9GW$dPv~_J5NTYr(;00XL0@Eh1qV4_hVDRy=HzDT`Q`
z%>C~BjE;?+Pvkl^>P%;JzFm4^Q5oN+PeMLAk|xT%`ddqsdo8ZrSln;<tKveB<EIsi
zC$u+4D5UY2X+)+5xJgc&lvR7}$<zon(WGfHWjk+As;ks|Hsfo~$|)6}LoS7sFfM%A
zH_J9NopJVrnKP%%{&;}%LA|b@>hnydhcBgSs;{XpnjgCH2H)Jqo1G%87hJVoE}0UR
zwQ^}=+^Uz$=47p!xj3awYnA1^!sIM9<|V6Mty;6~)vMJTj%mGKv*lXW>$N+coqA=q
z{F{`^)cXlcUF#RFnAD=>6Y!u#+y6>Xw~mOz>eISAA2=QSFTU@OQzMgCPvRM-V;Y5Q
zMtK^>?8X%qm)T94Jc>C?dm@BA&87+5=2buZFKXi6Z_Aq2Xa%smaS>(7PBhSupRlk%
zif8ieww*-_s@r$fY>@8Q-F9Gi$DRonygAqZ`4#nah064rbJI3_oc^Nja_rIh9#<5r
z#2u$>FzM_u_g+~%WqNDoCma8FI$tg{O=5m^-ow1I<kCwP-!GQ~zU4e!_<XL%yoFB_
zmukfMIlnbc3NqF$o9^8o>vuhVxor3i@vZH>*Hn(ytf=}K`c&yoUa;)UTQ%y(w%x4$
zuDc_qo;hzvQG#FXk4L*^{*<k7{e5$OSNZpu<_-G$uYY?Qbat)!oM=I-^8e4G4u4l#
z_;caE^u?XV?{*cW?$@)9?rT1ND|dRj@6M-c+ho2!i~el4>*}uXy}v&eJ$`Hb>F`mz
z-=DoK`Tu@#T$p3};qk>_rM&Cu_xF}0U0u`iLoakvitm%vQ#PNqey1Tmby;Em{JN(f
zGq=Bc*?S}DU+X@xs^?9foMy+i+s#?(U+bc!@U!oVGV8kYwah8=8FNh}e@J#zNi2zd
zZFItMnaBEOg+0gF{e>(q7--3>J~_kr)##AJ!(@m3-3y;S*m$UVNkIOM$qzp~2|0W&
zXM(Qz6(9cBf=ABqY}D1|St#@{aMc9MkDUQMi$s=t9M$@k9UpdPk=XVVNA;=#QzHH(
z`Tc9v`QOOelMre!LrmZqYwN_u#LNN-X$3L%&YO)%)f*%f48k~iHJg(AKip7pP;*P@
zEbQ@!XxcdC=$c4}*AusGxVB}})7Biu=IFazZ95LQGWxA@?8{%EEc<2#yUj1h{^keD
zN`G!}ICwctXyK8xI3UQkSVm~#>VOob=|??M_bNr5FS@3y61i44;dRulPhtl9O4-ut
zg8CN8ES2@G^s-%5G_|heskW_{cVto1w5@NRiT!mw#xz5aD`Sq+)~-%gv$BJ|$qkPU
z9VC5&rU~`0@KKeIyy@k@6(k*Wr$z14)g#eTUlwrqu5fhUcBJi-N~itj2`=hh7rUaq
zEE3d`xf*7!#>n^o-QtvsD;nIc>^{qxUw)Li+r3vs<$L3orAl`%SA{LJKR5Ha{ny7C
z{wyn$*>`<es?fXg%>}kAi|)C|3Y4x0^89*usnu2=-&VQ6Ua!!wBVTfJFKPxXi@Lfh
zF4RAq`N6j$bDO;dTUWd7T~%LTb$QdNoceE%rJ|m92`t?AZcPcVR?y;KSN82wURf8b
zl;GKReGi}CTB9#qUWF?xH|c$I-Kj0;&YgW@-%Zoh&eqw<Qqh-=K03QmYgSGwZ}xTZ
zU22w7WOHwMN#D38)w_OO@7ruit=qTGnbmEZ`Zl4Md+)8Addw4>bw0Q3K73}E&Kh;z
zwV$-gFCD82+j*w?UBqnm+m?UDcKrXeTBgvv+w$c#lclG5*Ozy;+duU!Uo-dWtJt#B
zw{LFTzIT1KevPF1{hxB@wr|s3__yfS&8I8dm$g+zE_}qinUViSiGfYQzjw{M?B?<v
z$jOZ<mH$3_(a(2#VmUW_3}SJ3TxL=6(l(dJ`gY>EmjU&!V!IxTB;9{`b^Fn@YQvtR
zYL6w=*B*=Mnwa%G%TX=&$J(#n>pb5y2T%UwpT@x_m#1>rL9X|_DvQs8Df90<nfhbO
zDbAHe-W%u4ko(<}dhGCrucxZ_Y??H4cYf5$o_Rb^O|2z83;s=<cHbx6N?g<9=8Gb$
z0+}fy_4*Cg&pysu{d-rv)UOL2ep?oapMBwGed~1B=KmWLICWq0ecE|x@h+2P&P!kV
z_OHDBYDV^g3%@kI_?LD}uzX|_AS)5t%zEWzf+-(w%`TDMR&uUue48cDWUDf38E<fF
zU*nz?EPVU%wGSss%TE4Dl$thcTY_X++=Rb;nU7m<T{PYru%=c#XM6MQ+>d5KO>bZ7
zOx%4Z+{%2HWQa)Y&fj-G^ljhs-1mLe?cev-NVPJ2JNv%w_wV}*{5uY?`+aDV{_}vt
zf5##5b06BQ|2$+jU*e?h_pvK_Pq@&3CCif)=QNfCb7h@rvfjzyZ+N0O=8MQu+m$oV
zXMYNw{a-{~-1yzm-v6r~GymQp>QvV{v3cQ>REwX+vSI!~n`EZyrK_I#pC}p7^vz+x
zLXO49CYG*AG4xKbx^H>Dmha1g`7%=$E_r;)_hwP(zB^M5=POwpyxH7i%+mE_O_fsh
zPwzM<?im%^#kRJ2o{Uo{o_YI_idy%@lTAExV_fH}-JF<Lwsi5_mmz;xZr462tBJh#
zsUTkEYAt7XB#ZI;BRVGx|JwC<OC6c4(Z1|d@4kv`GrQUS&zFhXKP)-rz4zJd^Qq5Y
z|MT|X3VuIn%e5D~Q-9^wYRAm=vAr0+zM{scZhqf)^(V9Wx=xChyn1TFbdGmIsm_MY
z&z0Zry1+l5=b87L7wg*X-YnJst>IVq$>jZ_v!^>gui5O>8^iwV$H93&K5xI5<hi|0
zW^&no4$=A;mO_ph4O}}Kcsd$5Qyav^8-*+y*;#X6Pjh@#*2q4oQL4j2?1#-t(G35?
zQQg8#N){#^p}`)D)6`dlH-BsVZJeaCNhxWXoa?eC&y7Ll$I^5)Of+AZl{}7-X0uXe
z3-evr{OoX$?ThAW*5(<Z&2D0GNyo&jPNcbRYO!)|YEN#8kTCV_hz`2iYVfsH+{89U
zqiyoSR@sX9Tie=lIGXb$;&Ub14b9pcngc6lv{&tDmtNFX-q9xiv^}l3t)W7~{zdxF
zh7NVdj#dltc8%8k%#nMQBO4EP^zJZAd6BI3!!q}2q{_2wt<uh#&&@|o<Bp0&PSxnj
zQtn7j?)<+hLTrtO*}5NH$%5S_Ka6E6x))FE-X$Tm=SKIOkKMZtwjYV;IhGN)ZHCEa
zkM5F*o$<?TwTz_}9qmzm(K9hDJK>pq%_gPeU&HRch?yLb5N_CerK9PZMC$_6*1Xar
z@wAvDto)}V`V19AZqKldY)-ql)ZAGtVZKH78-e~$9b(UC#BMp3XdEK{WnskKuaORA
z_71`me10?~Xb9|TixSvrd~!#V_{>&j&YpG3J#vxiWfGHAm?x>6bW*OIG-ui*t)H1X
zHz&m<O)^;NSYR<(^|8fNCD|jJ#k)B8WkM&iR3;0T#r_g)c8IX~C)&#@sj!GSapBP^
zF3;rMS0)$;D{#N;{m-c;^@G)Nhj5aSMv6-61es&K$;Tq(w)Lf!O?#s;?FwtV2%C&!
zXPkzU{kI*H>!<anbtau@?TeF)jh<}t&qE>4b4uaN2%cyC?$@$6i%n(O7TERDo~=zj
zm~&=_lRanU)J2o0?z2eLNt^ug+oX9vXPQdR(zcwn<mIGgm9q>vXRX@VxaQ_8Ig5!K
zI%jRljNKnP#s9=)&xLUfn(fV%vtv)je3h6MZ`t{nG09jX?v+NXsmHW=Gv;KjRB+~;
zlWl65zHIu^$(9YAaZblN=cKmuiS{{Vq&Z3$&(fT<e`b7ZW|!Bph=7VYl{5RVcg}t6
zn)F0*`nw(7msif)+$m#pbH4q@`TrSC$*#9tAT(_jTbBaUtOfB+3wWevr*hc#n=KTH
zS}0bvuuW~E;4d4iZ4(2SG9|Apl=G5QcxB68xoA)2^mCbuRLcaj%+mA3($hW$^K5K(
zIMn<q*imX#=ijBV;hAwqBd6<Kp1xp)U~6IP+skQYzmzSKQp3`W&AC+UTbD$KDVta=
zw*J*4r4}5|Iqjk6{H<z{ywlPwR<#&vEq!#^&hvyrv6!P?sj~O4B}P)>s=MZ$zu8-8
zJpbIwd50utxJjjlcPtKB)nayPSx#1~vy)@sue9(evC=9T+sZ}n7$+#tN{y7tJhZT*
zUTM+PE{T4vg;Q>=G%H%kziSp>)T$#J7p%~7`p>#+)q!iP)}69iF10#}bM=;4;;X7w
zf1I#-*RSwxw^o}(&OT7J;E>gttyZgT8S`=!^Ik7llW=g2)4|4byVUebWG+P6?)P#z
zQMmTdwzcQO)+`U>pRrWrP8Ht@vvndbbJlmQu}REjzSMtAjQ?pC->GBM-%HNj`*E%G
zE|GImEeUGDuT0lJ4Oq`|Eaz5d^Sy=ZZK~8Bb;Z1hTJlC=!;^w_e5>a?+N!~|dTIZo
zwYi5jzTjMU``O0-25Ws3H`YvC`^90Ccj6{3?{$*hE6bHOX{c=0IJxdv)Mkb1&HAf1
zA3wO-rrJp3_vRZ}o1K1VbvieC%--T<?I&?-i{I}p0n%H8tha_(b22G1FjxZsSo?qE

diff --git a/src/bin/pgaccess/doc/html/old_index.html b/src/bin/pgaccess/doc/html/old_index.html
deleted file mode 100644
index 4bbf11fcf07..00000000000
--- a/src/bin/pgaccess/doc/html/old_index.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]">
-   <title>PgAccess - a Tcl/Tk PostgreSQL interface</title>
-</head>
-<body bgcolor="#FFFFFF">
-
-<h1>
-PgAccess - a free database management tool for <a href="http://www.postgreSQL.org">PostgreSQL</a></h1>
-
-<hr>
-<li>
-Download the last version of PgAccess <a href="pgaccess-0.96.tar.gz">(press
-shift and click this link) (tar.gz file)</a>&nbsp; or&nbsp;&nbsp; <a href="pgaccess.zip">this
-one (zip file for Windows)</a></li>
-
-<center>
-<p><br>Latest stable version of PgAccess is 0.97 , released 16 August 1999
-!
-<p><font size=+2>PgAccess 0.93 and higher will not work from the beginning
-with PostgreSQL 6.3.x !!</font>
-<br><font size=+2>Read <a href="pg93patch.html">here</a> how to apply a
-simple patch in order to make it work !</font></center>
-<b><font color="#000000"><font size=+2></font></font></b>
-<center><table BORDER=2 NOSAVE >
-<tr NOSAVE>
-<td NOSAVE><b><font color="#FF0000"><font size=+2>NEW</font></font></b></td>
-
-<td NOSAVE><b><font color="#000000"><font size=+2>International version
-(english, french, italian, romanian)</font></font></b></td>
-</tr>
-
-<tr NOSAVE>
-<td NOSAVE><b><font color="#FF0000"><font size=+2>NEW</font></font></b></td>
-
-<td><b><font size=+2>Context sensitive Help</font></b></td>
-</tr>
-</table></center>
-
-<center>
-<p>Precompiled libpgtcl and libpq binaries and dll's for i386 are <a href="ftp://ftp.flex.ro/pub/pgaccess">here
-</a>!!!</center>
-
-<h3>
-<font color="#000080">Installation problems</font></h3>
-
-<ul>
-<li>
-Some problems related with locale special characters could be solved by
-this <a href="specialchars.html">simple patch</a></li>
-
-<li>
-I think that there were some problems loading libpgtcl library. I invite
-you to read a <a href="index.html#libpgtcl">special section concerning
-libpgtcl</a></li>
-
-<li>
-For Silicon Graphics Indigo computers, Irix operating system, there is
-a <a href="irix.html">HOWTO make PgAccess to work</a></li>
-</ul>
-
-<h3>
-<font color="#191970">What does PgAccess now!</font></h3>
-Here are some screenshots from PgAccess windows : <a href="pic-pga-1.gif">Main
-window </a>, <a href="pic-pga-2.gif">table builder </a>, <a href="pic-pga-4.gif">table(query)
-view </a>, <a href="pic-pga-3.gif">visual query builder </a>.
-<p><b>Tables</b>
-<br>- opening multiple tables for viewing, max. n records (changed by preferences
-menu)
-<br>- column resizing, dragging the vertical grid line (better in table
-space rather than in the table header)
-<br>- text wrap in cells - layout saved for every table
-<br>- import/export to external files (SDF,CSV)
-<br>- filter capabilities (enter filter like (price>3.14)
-<br>- sort order capabilities (enter manually the sort field(s))
-<br>- editing in place
-<br>- improved table generator assistant
-<br>- improved field editing
-<br><b>Queries</b>
-<br>- define , edit and stores "user defined queries"
-<br>- store queries as views
-<br>- execution of queries with optional user input parameters ( select
-* from invoices where year=[parameter "Year of selection"] )
-<br>- viewing of select type queries result
-<br>- query deleting and renaming
-<br>- visual query builder with drag &amp; drop capabilities. For any of
-you who had installed the Tcl/Tk plugin for Netscape Navigator, you can
-see it at work <a href="qbtclet.html">clicking here</a>
-<br><b>Sequences</b>
-<br>- defines sequences, delete them and inspect them
-<br><b>Functions</b>
-<br>- define, inspect and delete functions in SQL, plpgsql and pgtcl languages
-<br><b>Reports</b>
-<br>- design and display simple reports from tables
-<br>- fields and labels, font changing, style and size
-<br>- saves and loads report description from database
-<br>- show report previews, sample postscript output file
-<br><b>Forms</b>
-<br>- open user defined forms
-<br>- form design module available
-<br>- query widget available, controls bound to query results
-<br>- <a href="forms.html">click here</a> for a description of forms and
-how they can be used
-<br><b>Scripts</b>
-<br>- define, modify and call user defined scripts
-<br><b>Users</b>
-<br>- define and modify user information
-<p>Here is <a href="pga-rad.html">a special section concerning forms and
-scripts</a> .
-<p>This program is protected by the following <a href="copyright.html">copyright</a>
-<p>If you have any comment, suggestion for improvements, please feel free
-to e-mail to : <a href="mailto:teo@flex.ro">teo@flex.ro</a>
-<p><b><font color="#FF1493"><font size=+2>Mailing list for PgAccess </font></font></b><a href="maillist.html">Here
-you will find how to subscribe to this mailing list</a>.
-<p>
-<hr>
-<h1>
-More information about libpgtcl - downloads</h1>
-&nbsp;&nbsp;&nbsp;&nbsp; Also, you will need the PostgreSQL to Tcl interface
-library, lined as a Tcl/Tk 'load'-able module. It is called libpgtcl and
-the source is located in the PostgreSQL directory /src/interfaces/libpgtcl.
-Specifically, you will need a libpgtcl library that is 'load'-able from
-Tcl/Tk.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This is technically different from
-an ordinary PostgreSQL loadable object file, because libpgtcl is a collection
-of object files. Under Linux, this is called libpgtcl.so.
-<p>&nbsp;&nbsp;&nbsp;&nbsp; One of the solutions is to remove from the
-source the line containing <b>load libpgtcl.so </b>and to load pgaccess.tcl
-not with wish, but with pgwish (or wishpg) that wish that was linked with
-libpgtcl library! I do not recommend this one.
-<p>&nbsp;&nbsp;&nbsp;&nbsp; If you have installed RedHat 5.x, you should
-get the last distribution kit of PostgreSQL and compile it from scratch.
-RedHat 5.x is using some new versions of libraries and you have to compile
-and install again at least <b>libpq </b>and <b><tt>libpgtcl </tt></b>libraries.
-<p>&nbsp;&nbsp;&nbsp; PostgreSQL 6.4 release has a minor bug. I does not
-include by default the crypt lib when compiling libpgtcl. So, you will
-need to manually add a -lcrypt to SHLIB line in Makefile in src/interfaces/libpgtcl
-and then make clean and make again. The new libpgtcl.so library is properly
-configured to run pgaccess.
-<br>&nbsp;
-</body>
-</html>
diff --git a/src/bin/pgaccess/doc/html/permissions.gif b/src/bin/pgaccess/doc/html/permissions.gif
deleted file mode 100644
index 06c43491e07da0fe7a9fd7bb63f23eaf2aff968a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 10414
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

diff --git a/src/bin/pgaccess/doc/html/pg93patch.html b/src/bin/pgaccess/doc/html/pg93patch.html
deleted file mode 100644
index 4c77bfac61b..00000000000
--- a/src/bin/pgaccess/doc/html/pg93patch.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (X11; I; Linux 2.0.36 i586) [Netscape]">
-</head>
-<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#FF0000" alink="#000088">
-
-<h1>
-PgAccess 0.93 patch to make it work with PostgreSQL 6.3.x
-<hr WIDTH="100%"></h1>
-
-<p><br>PgAccess 0.93 is working fine with PostgreSQL 6.4.x due to some
-changes in libpgtcl !
-<p>There is a small patch that you have to make in order to make it work
-with 6.3.x !
-<p>Replace in procedure <tt>wpg_exec</tt> the following line:
-<p><tt>set pgsql(errmsg) [pg_result $pgsql(res) -error]</tt>
-<p>with this one :
-<p><tt>set pgsql(errmsg) "NO ERROR INFORMATION SUPPLIED"</tt>
-<p>And it will work fine! In some error cases, you will not get the appropriate
-error message from libpgtcl.
-<p>&nbsp;<a href="index.html">Back</a>
-</body>
-</html>
diff --git a/src/bin/pgaccess/doc/html/pga-rad.html b/src/bin/pgaccess/doc/html/pga-rad.html
deleted file mode 100644
index 7564cf7b553..00000000000
--- a/src/bin/pgaccess/doc/html/pga-rad.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<HTML>
-<HEAD>
-   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-   <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; Linux 2.0.32 i586) [Netscape]">
-</HEAD>
-<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000">
-
-<H1>
-PgAccess - Scripts and Forms&nbsp;
-<HR WIDTH="100%"></H1>
-Beginning with 0.70 version, I have introduced in PgAccess two new modules
-for operating with scripts and forms.
-
-<P>&nbsp;&nbsp; This would give to PgAccess the power of creating application
-directly into PgAccess, defining new modules, procedures, forms and possibly
-making it a rapid development tool for PostgreSQL. The "scripts" and "forms"
-modules are using two new tables called pga_forms and pga_scripts. PgAccess
-take care of creating them if user is opening a new database and grant
-ALL permissions on them to PUBLIC.
-<BR>&nbsp;
-<BR>&nbsp;&nbsp; Of course, when Designing a script, a simple text editor
-is opened and text is saved as is in pga_scripts table. When "designing"
-a form, a "form editor" that would be very similar with "Visual Tcl" is
-invoked.
-
-<P>&nbsp;&nbsp; This mechanism and the extremely versatile scripting mode
-of Tcl/Tk would give PgAccess a great power for creating end user application
-using PostgreSQL. The most important thing is that the user could call
-procedures and functions that I have used for building up PgAccess !
-<H3>
-Forms</H3>
-&nbsp;&nbsp; Forms are used for creating windows and placing widgets inside
-it. When PgAccess interpret them, a new window appear, with buttons as
-defined that could call "user defined scripts", "user defined procedures"
-or "internal PgAccess procedures".
-<BR>&nbsp;&nbsp; Forms can hold all the widgets allowed in Tcl/Tk , buttons,
-check-boxes, radio-buttons, list-boxes, frames, canvases, etc. With these
-forms, you can control your application so PgAccess would become just a
-"shell", a startup point for you applications. See the&nbsp; <A HREF="forms.html">special
-section concerning forms.</A>
-<H3>
-Scripts</H3>
-&nbsp;&nbsp; Scripts are normal Tcl/Tk code that is interpreted by Tcl/Tk.
-You can define your own procedures inside a script called "Library" for
-example. You can call your procedures from within another script, from
-another procedure.
-<BR>&nbsp;&nbsp; The most important thing is that you have total access
-to the PgAccess core of functions and procedures used by me in building
-PgAccess as an application. Just write <B><TT><FONT COLOR="#000080">open_table
-"Your sample table"</FONT></TT></B> and you'll see the result.
-<BR>&nbsp;&nbsp; If you are writing a script called "Autoexec" then it
-will be executed every time the database is opened. You can put inside
-different commands that you want to be executed such as : running scripts
-that would define your own procedures such as <B><TT><FONT COLOR="#000080">execute_script
-"My own procedure library"</FONT></TT></B> or open a form with <B><TT><FONT COLOR="#000080">open_form
-"Main window with menu buttons"</FONT></TT></B> , and so on.
-
-<P>
-<HR WIDTH="100%">
-<BR>Remember : I'm waiting your messages at <A HREF="mailto:teo@flex.ro">teo@flex.ro</A>
-
-<P>
-<HR WIDTH="50%">
-</BODY>
-</HTML>
diff --git a/src/bin/pgaccess/doc/html/qbtclet.html b/src/bin/pgaccess/doc/html/qbtclet.html
deleted file mode 100644
index b990c0f15c3..00000000000
--- a/src/bin/pgaccess/doc/html/qbtclet.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<html>
-
-<title> Visual Query Builder in Tcl/Tk </title>
-<body bgcolor=white>
-<h1> Visual Query Builder</h1>
-<hr>
-This visual query builder is included in <a href='http://www.flex.ro/pgaccess'>
-PgAccess</a>, a visual interface to 
-<a href='http://www.postgreSQL.org'> PostgreSQL</a> written entirely in 
-vTcl , (Visual Tcl).
-
-
-<p align="center">
-
-<embed src="qbtclet.tcl"  width=590 height=485>
-
-</p>
-
-<br>
-
-
-Visual Query Designer demo<br>
-Click <a href='qbtclet.tar.gz'>here</a> to download the source </a>
-created by Constantin Teodorescu with vTcl (visual Tcl), teo@flex.ro
-<hr>
-Facitilies<br>
- - drag and drop selection of fields<br>
- - drag and drop fields from a table to another do create links<br>
- - move table position by dragging<br>
- - point and click any link or table then press delete to delete them<br>
- - modify sort order by clicking on (unsorted)<br>
- - enter filter conditions as criteria (>2000 , ='item')<br>
- - easy panning of table and result panels<br>
- - show SQL command<br>
-<br>
-If you want to use it for your database, modify ql_read_struct in order to read
- your table structure.
-<br>
-Feel free to use, modify or copy this software for non-commercial purposes.<br>
-In any other case, please contact me.
-<br>
-FLEX Consulting Braila, ROMANIA is able to deliver high end interfaces 
-and any other commercial products written in Tcl/Tk just like that you have seen.
-</body>
-</html>
diff --git a/src/bin/pgaccess/doc/html/qbtclet.tcl b/src/bin/pgaccess/doc/html/qbtclet.tcl
deleted file mode 100644
index 9d086a33900..00000000000
--- a/src/bin/pgaccess/doc/html/qbtclet.tcl
+++ /dev/null
@@ -1,529 +0,0 @@
-#################################
-# GLOBAL VARIABLES
-#
-global qlvar; 
-global widget; 
-
-#################################
-# USER DEFINED PROCEDURES
-#
-proc init {argc argv} {
-global qlvar
-set qlvar(yoffs) 360
-set qlvar(xoffs) 50
-set qlvar(reswidth) 150
-}
-
-init $argc $argv
-
-proc main {argc argv} {
-
-}
-
-proc show_message {usrmsg} {
-global msg
-set msg $usrmsg
-after 2000 {set msg {}}
-}
-
-proc ql_delete_object {} {
-global qlvar
-# Checking if there 
-set obj [.c find withtag hili]
-if {$obj==""} return
-if {[ql_get_tag_info $obj link]=="s"} {
-#    if {[tk_messageBox -title WARNING -icon question -message "Remove link ?" -type yesno -default no]=="no"} return
-	show_message "Deleting the link from tables ..."
-    set linkid [ql_get_tag_info $obj lkid]
-    set qlvar(links) [lreplace $qlvar(links) $linkid $linkid]
-    .c delete links
-    ql_draw_links
-} else {
-    set tablename [ql_get_tag_info $obj tab]
-    if {$tablename==""} return
-#    if {[tk_messageBox -title WARNING -icon question -message "Remove table $tablename from query ?" -type yesno -default no]=="no"} return
-	show_message "Deleting table from query ..."
-    for {set i [expr [llength $qlvar(restables)]-1]} {$i>=0} {incr i -1} {
-        if {$tablename==[lindex $qlvar(restables) $i]} {
-            set qlvar(resfields) [lreplace $qlvar(resfields) $i $i]
-            set qlvar(restables) [lreplace $qlvar(restables) $i $i]
-            set qlvar(rescriteria) [lreplace $qlvar(rescriteria) $i $i]
-        }
-    }
-    for {set i [expr [llength $qlvar(links)]-1]} {$i>=0} {incr i -1} {
-        set thelink [lindex $qlvar(links) $i]
-        if {($tablename==[lindex $thelink 0]) || ($tablename==[lindex $thelink 2])} {
-            set qlvar(links) [lreplace $qlvar(links) $i $i]
-        }
-    }
-    .c delete tab$tablename
-    .c delete links
-    ql_draw_links
-    ql_draw_res_panel
-}
-}
-
-proc ql_dragit {w x y} {
-global draginfo
-if {"$draginfo(obj)" != ""} {
-    set dx [expr $x - $draginfo(x)]
-    set dy [expr $y - $draginfo(y)]
-    if {$draginfo(is_a_table)} {
-        set taglist [.c gettags $draginfo(obj)]
-        set tabletag [lindex $taglist [lsearch -regexp $taglist "^tab"]]
-        $w move $tabletag $dx $dy
-        ql_draw_links
-    } else {
-        $w move $draginfo(obj) $dx $dy
-    }
-    set draginfo(x) $x
-    set draginfo(y) $y
-}
-}
-
-proc ql_dragstart {w x y} {
-global draginfo
-catch {unset draginfo}
-set draginfo(obj) [$w find closest $x $y]
-if {[ql_get_tag_info $draginfo(obj) r]=="ect"} {
-    # If it'a a rectangle, exit
-    set draginfo(obj) {}
-    return
-}
-. configure -cursor hand1
-.c raise $draginfo(obj)
-set draginfo(table) 0
-if {[ql_get_tag_info $draginfo(obj) table]=="header"} {
-    set draginfo(is_a_table) 1
-    .c itemconfigure [.c find withtag hili] -fill black
-    .c dtag [.c find withtag hili] hili
-    .c addtag hili withtag $draginfo(obj)
-    .c itemconfigure hili -fill blue
-} else {
-    set draginfo(is_a_table) 0
-}
-set draginfo(x) $x
-set draginfo(y) $y
-set draginfo(sx) $x
-set draginfo(sy) $y
-}
-
-proc ql_dragstop {x y} {
-global draginfo qlvar
-. configure -cursor top_left_arrow
-set este {}
-catch {set este $draginfo(obj)}
-if {$este==""} return
-# Re-establish the normal paint order so
-# information won't be overlapped by table rectangles
-# or link linkes
-.c lower $draginfo(obj)
-.c lower rect
-.c lower links
-set qlvar(panstarted) 0
-if {$draginfo(is_a_table)} {
-    set draginfo(obj) {}
-    .c delete links
-    ql_draw_links
-    return
-}
-.c move $draginfo(obj) [expr $draginfo(sx)-$x] [expr $draginfo(sy)-$y]
-if {($y>$qlvar(yoffs)) && ($x>$qlvar(xoffs))} {
-    # Drop position : inside the result panel
-    # Compute the offset of the result panel due to panning
-    set resoffset [expr [lindex [.c bbox resmarker] 0]-$qlvar(xoffs)]
-    set newfld [.c itemcget $draginfo(obj) -text]
-    set tabtag [ql_get_tag_info $draginfo(obj) tab]
-    set col [expr int(($x-$qlvar(xoffs)-$resoffset)/$qlvar(reswidth))]
-    set qlvar(resfields) [linsert $qlvar(resfields) $col $newfld]
-    set qlvar(ressort) [linsert $qlvar(ressort) $col unsorted]
-    set qlvar(rescriteria) [linsert $qlvar(rescriteria) $col {}]
-    set qlvar(restables) [linsert $qlvar(restables) $col $tabtag]
-    ql_draw_res_panel    
-} else {
-    # Drop position : in the table panel
-    set droptarget [.c find overlapping $x $y $x $y]
-    set targettable {}
-    foreach item $droptarget {
-        set targettable [ql_get_tag_info $item tab]
-        set targetfield [ql_get_tag_info $item f-]
-        if {($targettable!="") && ($targetfield!="")} {
-            set droptarget $item
-            break
-        }
-    }
-    # check if target object isn't a rectangle
-    if {[ql_get_tag_info $droptarget rec]=="t"} {set targettable {}}
-    if {$targettable!=""} {
-        # Target has a table
-        # See about originate table
-        set sourcetable [ql_get_tag_info $draginfo(obj) tab]
-        if {$sourcetable!=""} {
-            # Source has also a tab .. tag
-            set sourcefield [ql_get_tag_info $draginfo(obj) f-]
-            if {$sourcetable!=$targettable} {
-                lappend qlvar(links) [list $sourcetable $sourcefield $targettable $targetfield $draginfo(obj) $droptarget]
-                ql_draw_links
-            }
-        }
-    }
-}
-# Erase information about onbject beeing dragged
-set draginfo(obj) {}
-}
-
-proc ql_draw_links {} {
-global qlvar
-.c delete links
-set i 0
-foreach link $qlvar(links) {
-    # Compute the source and destination right edge
-    set sre [lindex [.c bbox tab[lindex $link 0]] 2]
-    set dre [lindex [.c bbox tab[lindex $link 2]] 2]
-    # Compute field bound boxes
-    set sbbox [.c bbox [lindex $link 4]]
-    set dbbox [.c bbox [lindex $link 5]]
-    # Compute the auxiliary lines
-    if {[lindex $sbbox 2] < [lindex $dbbox 0]} {
-        # Source object is on the left of target object
-        set x1 $sre
-        set y1 [expr ([lindex $sbbox 1]+[lindex $sbbox 3])/2]
-        .c create line $x1 $y1 [expr $x1+10] $y1 -tags [subst {links lkid$i}] -width 3
-        set x2 [lindex $dbbox 0]
-        set y2 [expr ([lindex $dbbox 1]+[lindex $dbbox 3])/2]
-        .c create line [expr $x2-10] $y2 $x2 $y2 -tags {links} -width 3
-        .c create line [expr $x1+10] $y1 [expr $x2-10] $y2 -tags [subst {links lkid$i}] -width 2
-    } else {
-        # source object is on the right of target object
-        set x1 [lindex $sbbox 0]
-        set y1 [expr ([lindex $sbbox 1]+[lindex $sbbox 3])/2]
-        .c create line $x1 $y1 [expr $x1-10] $y1 -tags [subst {links lkid$i}] -width 3
-        set x2 $dre
-        set y2 [expr ([lindex $dbbox 1]+[lindex $dbbox 3])/2]
-        .c create line $x2 $y2 [expr $x2+10] $y2 -width 3 -tags [subst {links lkid$i}]
-        .c create line [expr $x1-10] $y1 [expr $x2+10] $y2 -tags [subst {links lkid$i}] -width 2
-    }
-    incr i
-}
-.c lower links
-.c bind links <Button-1> {ql_link_click %x %y}
-}
-
-proc ql_draw_lizzard {} {
-global qlvar
-ql_read_struct
-.c delete all
-set posx 20
-for {set it 0} {$it<$qlvar(ntables)} {incr it} {
-    ql_draw_table $it
-#    set posy 10
-#    set tablename $qlvar(tablename$it)
-#    .c create text $posx $posy -text $tablename -anchor nw -tags [subst {tab$tablename f-oid mov tableheader}] -font -Adobe-Helvetica-Bold-R-Normal-*-*-120-*-*-*-*-*
-#    incr posy 16
-#    foreach fld $qlvar(tablestruct$it) {
-#        .c create text $posx $posy -text $fld -anchor nw -tags [subst {f-$fld tab$tablename mov}] -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*
-#        incr posy 14
-#    }
-#    set reg [.c bbox tab$tablename]
-#    .c create rectangle [lindex $reg 0] [lindex $reg 1] [lindex $reg 2] [lindex $reg 3] -fill #EEEEEE -tags [subst {rect tab$tablename}]
-#    .c create line [lindex $reg 0] [expr [lindex $reg 1]+15] [lindex $reg 2] [expr [lindex $reg 1]+15] -tags [subst {rect tab$tablename}]
-#    set posx [expr $posx+40+[lindex $reg 2]-[lindex $reg 0]]
-}
-.c lower rect
-.c create line 0 $qlvar(yoffs) 10000 $qlvar(yoffs) -width 3
-.c create rectangle 0 $qlvar(yoffs) 10000 5000 -fill #FFFFFF
-for {set i [expr 15+$qlvar(yoffs)]} {$i<500} {incr i 15} {
-    .c create line $qlvar(xoffs) $i 10000 $i -fill #CCCCCC -tags {resgrid}
-}    
-for {set i $qlvar(xoffs)} {$i<10000} {incr i $qlvar(reswidth)} {
-    .c create line $i [expr 1+$qlvar(yoffs)] $i 10000 -fill #cccccc -tags {resgrid}
-}
-# Make a marker for result panel offset calculations (due to panning)
-.c create line $qlvar(xoffs) $qlvar(yoffs) $qlvar(xoffs) 500 -tags {resmarker resgrid}
-.c create rectangle 0 $qlvar(yoffs) $qlvar(xoffs) 5000 -fill #EEEEEE -tags {reshdr}
-.c create text 5 [expr 1+$qlvar(yoffs)] -text Field: -anchor nw -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags {reshdr}
-.c create text 5 [expr 16+$qlvar(yoffs)] -text Table: -anchor nw -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags {reshdr}
-.c create text 5 [expr 31+$qlvar(yoffs)] -text Sort: -anchor nw -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags {reshdr}
-.c create text 5 [expr 46+$qlvar(yoffs)] -text Criteria: -anchor nw -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags {reshdr}
-.c bind mov <Button-1> {ql_dragstart %W %x %y}
-.c bind mov <B1-Motion> {ql_dragit %W %x %y}
-bind . <ButtonRelease-1> {ql_dragstop %x %y}
-bind . <Button-1> {qlc_click %x %y %W}
-bind . <B1-Motion> {ql_pan %x %y}
-bind . <Key-Delete> {ql_delete_object}
-set qlvar(resfields) {}
-set qlvar(ressort) {}
-set qlvar(rescriteria) {}
-set qlvar(restables) {}
-set qlvar(critedit) 0
-set qlvar(links) {}
-set qlvar(linktodelete) {}
-}
-
-proc ql_draw_res_panel {} {
-global qlvar
-# Compute the offset of the result panel due to panning
-set resoffset [expr [lindex [.c bbox resmarker] 0]-$qlvar(xoffs)]
-    .c delete resp
-    for {set i 0} {$i<[llength $qlvar(resfields)]} {incr i} {
-        .c create text [expr $resoffset+4+$qlvar(xoffs)+$i*$qlvar(reswidth)] [expr 1+$qlvar(yoffs)] -text [lindex $qlvar(resfields) $i] -anchor nw -fill navy -tags {resf resp} -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*
-        .c create text [expr $resoffset+4+$qlvar(xoffs)+$i*$qlvar(reswidth)] [expr 16+$qlvar(yoffs)] -text [lindex $qlvar(restables) $i] -anchor nw -tags {resp rest} -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*
-        .c create text [expr $resoffset+4+$qlvar(xoffs)+$i*$qlvar(reswidth)] [expr 31+$qlvar(yoffs)] -text [lindex $qlvar(ressort) $i] -anchor nw -tags {resp sort} -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*
-        if {[lindex $qlvar(rescriteria) $i]!=""} {
-            .c create text [expr $resoffset+4+$qlvar(xoffs)+$i*$qlvar(reswidth)]  [expr $qlvar(yoffs)+46+15*0] -anchor nw -text [lindex $qlvar(rescriteria) $i]  -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*  -tags [subst {resp cr-c$i-r0}]
-        }
-    }
-    .c raise reshdr
-    .c bind sort <Button-1> {ql_swap_sort %W %x %y}
-}
-
-proc ql_draw_table {it} {
-global qlvar
-
-set posy 10
-set allbox [.c bbox rect]
-if {$allbox==""} {set posx 10} else {set posx [expr 20+[lindex $allbox 2]]}
-set tablename $qlvar(tablename$it)
-.c create text $posx $posy -text $tablename -anchor nw -tags [subst {tab$tablename f-oid mov tableheader}] -font -Adobe-Helvetica-Bold-R-Normal-*-*-120-*-*-*-*-*
-incr posy 16
-foreach fld $qlvar(tablestruct$it) {
-   .c create text $posx $posy -text $fld -anchor nw -tags [subst {f-$fld tab$tablename mov}] -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*
-   incr posy 14
-}
-set reg [.c bbox tab$tablename]
-.c create rectangle [lindex $reg 0] [lindex $reg 1] [lindex $reg 2] [lindex $reg 3] -fill #EEEEEE -tags [subst {rect tab$tablename}]
-.c create line [lindex $reg 0] [expr [lindex $reg 1]+15] [lindex $reg 2] [expr [lindex $reg 1]+15] -tags [subst {rect tab$tablename}]
-}
-
-proc ql_get_tag_info {obj prefix} {
-set taglist [.c gettags $obj]
-set tagpos [lsearch -regexp $taglist "^$prefix"]
-if {$tagpos==-1} {return ""}
-set thattag [lindex $taglist $tagpos]
-return [string range $thattag [string length $prefix] end]
-}
-
-proc ql_link_click {x y} {
-global qlvar
-
-set obj [.c find closest $x $y 1 links]
-if {[ql_get_tag_info $obj link]!="s"} return
-.c itemconfigure [.c find withtag hili] -fill black
-.c dtag [.c find withtag hili] hili
-.c addtag hili withtag $obj
-.c itemconfigure $obj -fill blue
-}
-
-proc ql_pan {x y} {
-global qlvar
-set panstarted 0
-catch {set panstarted $qlvar(panstarted) }
-if {!$panstarted} return
-set dx [expr $x-$qlvar(panstartx)]
-set dy [expr $y-$qlvar(panstarty)]
-set qlvar(panstartx) $x
-set qlvar(panstarty) $y
-if {$qlvar(panobject)=="tables"} {
-    .c move mov $dx $dy
-    .c move links $dx $dy
-    .c move rect $dx $dy
-} else {
-    .c move resp $dx 0
-    .c move resgrid $dx 0
-    .c raise reshdr
-}
-}
-
-proc ql_read_struct {} {
-global qlvar
-
-set qlvar(ntables) 3
-set qlvar(tablename0) Facturi
-set qlvar(tablename1) Nommat
-set qlvar(tablename2) Incasari
-set qlvar(tablestruct0) [list factura client valoare tva]
-set qlvar(tablestruct1) [list cod denumire pret greutate procent_tva]
-set qlvar(tablestruct2) [list data valoare nrdoc referinta]
-}
-
-proc ql_show_sql {} {
-global qlvar
-
-set sqlcmd "select "
-for {set i 0} {$i<[llength $qlvar(resfields)]} {incr i} {
-    if {$sqlcmd!="select "} {set sqlcmd "$sqlcmd, "}
-    set sqlcmd "$sqlcmd[lindex $qlvar(restables) $i].[lindex $qlvar(resfields) $i]"
-}
-set tables {}
-for {set i 0} {$i<$qlvar(ntables)} {incr i} {
-    lappend tables $qlvar(tablename$i)    
-}
-set sqlcmd "$sqlcmd from [join $tables ,] "
-set sup1 {}
-if {[llength $qlvar(links)]>0} {
-    set sup1 "where "
-    foreach link $qlvar(links) {
-        if {$sup1!="where "} {set sup1 "$sup1 and "}
-        set sup1 "$sup1 ([lindex $link 0].[lindex $link 1]=[lindex $link 2].[lindex $link 3])"
-    }
-}
-for {set i 0} {$i<[llength $qlvar(resfields)]} {incr i} {
-    set crit [lindex $qlvar(rescriteria) $i]
-    if {$crit!=""} {
-        if {$sup1==""} {set sup1 "where "}
-        if {[string range $sup1 0 4]=="where"} {set sup1 "$sup1 and "}
-        set sup1 "$sup1 ([lindex $qlvar(restables) $i].[lindex $qlvar(resfields) $i]$crit) "        
-    }        
-}
-set sqlcmd "$sqlcmd $sup1"
-set sup2 {}
-for {set i 0} {$i<[llength $qlvar(ressort)]} {incr i} {
-    set how [lindex $qlvar(ressort) $i]
-    if {$how!="unsorted"} {
-        if {$how=="Ascending"} {set how asc} else {set how desc}
-        if {$sup2==""} {set sup2 " order by "} else {set sup2 "$sup2,"}
-        set sup2 "$sup2 [lindex $qlvar(resfields) $i] $how "
-    }
-}
-set sqlcmd "$sqlcmd $sup2"
-set qlvar(sql) $sqlcmd
-#tk_messageBox -message $sqlcmd
-.c delete sqlpage
-.c create rectangle 0 0 2000 [expr $qlvar(yoffs)-1] -fill #ffffff -tags {sqlpage}
-.c create text 10 10 -text $sqlcmd -anchor nw -width 550 -tags {sqlpage} -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*
-.c bind sqlpage <Button-1> {.c delete sqlpage}
-}
-
-proc ql_swap_sort {w x y} {
-global qlvar
-set obj [$w find closest $x $y]
-set taglist [.c gettags $obj]
-if {[lsearch $taglist sort]==-1} return
-set cum [.c itemcget $obj -text]
-if {$cum=="unsorted"} {
-    set cum Ascending
-} elseif {$cum=="Ascending"} {
-    set cum Descending
-} else {
-    set cum unsorted
-}
-set col [expr int(($x-$qlvar(xoffs))/$qlvar(reswidth))]
-set qlvar(ressort) [lreplace $qlvar(ressort) $col $col $cum]
-.c itemconfigure $obj -text $cum
-}
-
-proc qlc_click {x y w} {
-global qlvar
-set qlvar(panstarted) 0
-if {$w==".c"} {
-    set canpan 1
-    if {$y<$qlvar(yoffs)} {
-        if {[llength [.c find overlapping $x $y $x $y]]!=0} {set canpan 0}
-            set qlvar(panobject) tables
-    } else {
-        set qlvar(panobject) result
-    }
-    if {$canpan} {
-        . configure -cursor hand1
-        set qlvar(panstartx) $x
-        set qlvar(panstarty) $y
-        set qlvar(panstarted) 1
-    }
-}
-set isedit 0
-catch {set isedit $qlvar(critedit)}
-# Compute the offset of the result panel due to panning
-set resoffset [expr [lindex [.c bbox resmarker] 0]-$qlvar(xoffs)]
-if {$isedit} {
-    set qlvar(rescriteria) [lreplace $qlvar(rescriteria) $qlvar(critcol) $qlvar(critcol) $qlvar(critval)]
-    .c delete cr-c$qlvar(critcol)-r$qlvar(critrow)
-    .c create text [expr $resoffset+4+$qlvar(xoffs)+$qlvar(critcol)*$qlvar(reswidth)] [expr $qlvar(yoffs)+46+15*$qlvar(critrow)] -anchor nw -text $qlvar(critval) -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags [subst {resp cr-c$qlvar(critcol)-r$qlvar(critrow)}]
-    set qlvar(critedit) 0
-}
-catch {destroy .entc}
-if {$y<[expr $qlvar(yoffs)+46]} return
-if {$x<[expr $qlvar(xoffs)+5]} return
-set col [expr int(($x-$qlvar(xoffs)-$resoffset)/$qlvar(reswidth))]
-if {$col>=[llength $qlvar(resfields)]} return
-set nx [expr $col*$qlvar(reswidth)+8+$qlvar(xoffs)+$resoffset]
-set ny [expr $qlvar(yoffs)+76]
-# Get the old criteria value
-set qlvar(critval) [lindex $qlvar(rescriteria) $col]
-entry .entc -textvar qlvar(critval) -borderwidth 0 -background #FFFFFF -highlightthickness 0 -selectborderwidth 0  -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*
-place .entc -x $nx -y $ny -height 14
-focus .entc
-bind .entc <Button-1> {set qlvar(panstarted) 0}
-set qlvar(critcol) $col
-set qlvar(critrow) 0
-set qlvar(critedit) 1
-}
-
-proc Window {args} {
-global vTcl
-    set cmd [lindex $args 0]
-    set name [lindex $args 1]
-    set newname [lindex $args 2]
-    set rest [lrange $args 3 end]
-    if {$name == "" || $cmd == ""} {return}
-    if {$newname == ""} {
-        set newname $name
-    }
-    set exists [winfo exists $newname]
-    switch $cmd {
-        show {
-            if {$exists == "1" && $name != "."} {wm deiconify $name; return}
-            if {[info procs vTclWindow(pre)$name] != ""} {
-                eval "vTclWindow(pre)$name $newname $rest"
-            }
-            if {[info procs vTclWindow$name] != ""} {
-                eval "vTclWindow$name $newname $rest"
-            }
-            if {[info procs vTclWindow(post)$name] != ""} {
-                eval "vTclWindow(post)$name $newname $rest"
-            }
-        }
-        hide    { if $exists {wm withdraw $newname; return} }
-        iconify { if $exists {wm iconify $newname; return} }
-        destroy { if $exists {destroy $newname; return} }
-    }
-}
-
-
-	set base ""
-    bind $base <B1-Motion> {
-        ql_pan %x %y
-    }
-    bind $base <Button-1> {
-        qlc_click %x %y %W
-    }
-    bind $base <ButtonRelease-1> {
-        ql_dragstop %x %y
-    }
-    bind $base <Key-Delete> {
-        ql_delete_object
-    }
-    canvas $base.c \
-        -background #fefefe -borderwidth 2 -height 207 -relief ridge \
-        -takefocus 0 -width 295 
-    label $base.msg -textvar msg -borderwidth 1 -relief sunken
-    button $base.b2 \
-        -borderwidth 1 -command ql_draw_lizzard \
-        -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -padx 9 \
-        -pady 3 -text {Paint demo tables} 
-    button $base.showbtn \
-        -borderwidth 1 -command ql_show_sql \
-        -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -padx 9 \
-        -pady 3 -text {Show SQL} 
-    ###################
-    # SETTING GEOMETRY
-    ###################
-    place $base.c \
-        -x 5 -y 30 -width 578 -height 425 -anchor nw -bordermode ignore 
-    place $base.b2 \
-        -x 5 -y 5 -height 26 -anchor nw -bordermode ignore 
-    place $base.showbtn \
-        -x 130 -y 5 -height 26 -anchor nw -bordermode ignore 
-	place $base.msg \
-		-x 5 -y 460 -width 578 -anchor nw
-
-main $argc $argv
diff --git a/src/bin/pgaccess/doc/html/screenshots.html b/src/bin/pgaccess/doc/html/screenshots.html
deleted file mode 100644
index 0cf3ac6b65b..00000000000
--- a/src/bin/pgaccess/doc/html/screenshots.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.12 i586) [Netscape]">
-</head>
-<body bgcolor="#FEFEDF">
-
-<h3>
-Image gallery
-<hr WIDTH="100%"></h3>
-
-<ul>
-<li>
-&nbsp;<a href="mainwindow.gif">Main window</a> 9 Kb</li>
-
-<li>
-&nbsp;<a href="newtable.gif">Creating a new table</a> 9 Kb</li>
-
-<li>
-&nbsp;<a href="permissions.gif">Table access control</a> 10 Kb</li>
-
-<li>
-&nbsp;<a href="addindex.gif">Adding a new index</a> 12 Kb</li>
-
-<li>
-&nbsp;<a href="vdesigner.gif">The visual query designer</a> 16 Kb</li>
-
-<li>
-&nbsp;<a href="function.gif">Working with functions</a> 10 Kb</li>
-
-<li>
-&nbsp;<a href="forms.gif">Form designer</a> 19 Kb</li>
-
-<li>
-&nbsp;<a href="newuser.gif">User management</a> 4 Kb</li>
-
-<li>
-&nbsp;<a href="help.gif">Help</a> 7 Kb</li>
-</ul>
-
-</body>
-</html>
diff --git a/src/bin/pgaccess/doc/html/specialchars.html b/src/bin/pgaccess/doc/html/specialchars.html
deleted file mode 100644
index b6b82f2336a..00000000000
--- a/src/bin/pgaccess/doc/html/specialchars.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML>
-<HEAD>
-   <TITLE>Special locale characters</TITLE>
-   <META NAME="GENERATOR" CONTENT="Mozilla/3.04Gold (X11; I; Linux 2.0.32 i586) [Netscape]">
-</HEAD>
-<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000">
-
-<H1>Special locale characters and PgAccess 
-<HR WIDTH="100%"></H1>
-
-<P>The problem is related with some special characters used in different
-countries because PgAccess did not use fonts with `-ISO8859-1' encoding
--- </P>
-
-<P>The sollution was proposed by H.P.Heidinger ( hph@hphbbs.ruhr.de) and
-it's very simple.</P>
-
-<P>If you look into PgAccess, you will find fonts declared as follows :</P>
-
-<P><TT>$ grep -e '-font' -i pgaccess.tcl<BR>
--font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \<BR>
--font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \<BR>
--font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \<BR>
--font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \</TT></P>
-
-<P>It should be something like: -adobe-helvetica-medium-r-normal-*-*-120-*-*-*-*-iso8859-1</P>
-
-<P>You can achieve this by running the following script :</P>
-
-<P><TT>#!/bin/sh<BR>
-cp pgaccess.tcl pgaccess.tcl-org<BR>
-cat pgaccess.tcl |\<BR>
-sed -e's/\-\*\-\*\ /\-iso8859\-1\ /g' |\<BR>
-sed -e's/\-\*\-\*\}/\-iso8859\-1}/g' |\<BR>
-sed -e's/\-\*\-\*\]/\-iso8859\-1]/g' |\<BR>
-sed -e's/\-\*\-\*$/\-iso8859\-1/g' |\<BR>
-sed -e's/\-Clean\-/\-Fixed\-/g' |\<BR>
-sed -e's/clean/fixed/g' &gt;pgaccess.iso<BR>
-mv pgaccess.iso pgaccess.tcl<BR>
-chmod +x pgaccess.tcl</TT></P>
-
-<P>The final version of PgAccess (1.0) will let the user decide what fonts
-will be used through a &quot;preferences&quot; dialog window.</P>
-
-</BODY>
-</HTML>
diff --git a/src/bin/pgaccess/doc/html/todo.html b/src/bin/pgaccess/doc/html/todo.html
deleted file mode 100644
index f19b61ab90c..00000000000
--- a/src/bin/pgaccess/doc/html/todo.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<html>
-<body bgcolor="#FEFEDF">
-<h2>ToDo List</h2><hr>
- - Finish the report generator module<br>
- - Enhance the form designer<br>
- - Enhance the scripts module<br>
- - Translations in other languages<br>
-<br>
-Please send any suggestions by mail to <a href="mailto:teo@flex.ro">Constantin Teodorescu</a>. 
-</body>
-</html>
diff --git a/src/bin/pgaccess/doc/html/tutorial/addref.jpg b/src/bin/pgaccess/doc/html/tutorial/addref.jpg
deleted file mode 100644
index ee0525d15cecc91742d6c0a42f5cefc9195bfebd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 28655
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
T)@;SyOD0?D?Pn<2|Gx<Uk(Eb>

diff --git a/src/bin/pgaccess/doc/html/tutorial/altern_q.jpg b/src/bin/pgaccess/doc/html/tutorial/altern_q.jpg
deleted file mode 100644
index 3fb02aebbd7cdf887746bc450730fa404ba4ab2c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 13639
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
Y{LTJbtNt^zt8K1^jo>fUSpWYf0J9|5ZU6uP

diff --git a/src/bin/pgaccess/doc/html/tutorial/altern_v.jpg b/src/bin/pgaccess/doc/html/tutorial/altern_v.jpg
deleted file mode 100644
index 52cbbb077207034c3c570ec8b7a18b9702082b95..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 16987
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

diff --git a/src/bin/pgaccess/doc/html/tutorial/copyright.html b/src/bin/pgaccess/doc/html/tutorial/copyright.html
deleted file mode 100644
index b624786e1a2..00000000000
--- a/src/bin/pgaccess/doc/html/tutorial/copyright.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<HTML>
-<HEAD>
-   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-   <META NAME="GENERATOR" CONTENT="Mozilla/4.03 [en] (X11; I; Linux 2.0.30 i586) [Netscape]">
-   <TITLE>PgAccess - Copyright notice</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<TT>---------------------------------------------------------------------------</TT>
-<BR><TT></TT>&nbsp;
-<BR><TT></TT>&nbsp;<TT></TT>
-
-<P><TT>Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group</TT>
-<P><TT>Portions Copyright (c) 1994, Regents of the University of California</TT>
-
-<P><TT>Permission to use, copy, modify, and distribute this software and
-its</TT>
-<BR><TT>documentation for any purpose, without fee, and without a written
-agreement</TT>
-<BR><TT>is hereby granted, provided that the above copyright notice and
-this</TT>
-<BR><TT>paragraph and the following two paragraphs appear in all copies.</TT><TT></TT>
-
-<P><TT>IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
-PARTY FOR</TT>
-<BR><TT>DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
-INCLUDING</TT>
-<BR><TT>LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS</TT>
-<BR><TT>DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED
-OF THE</TT>
-<BR><TT>POSSIBILITY OF SUCH DAMAGE.</TT><TT></TT>
-
-<P><TT>THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,</TT>
-<BR><TT>INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</TT>
-<BR><TT>AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER
-IS</TT>
-<BR><TT>ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS
-TO</TT>
-<BR><TT>PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</TT>
-</BODY>
-</HTML>
diff --git a/src/bin/pgaccess/doc/html/tutorial/index.html b/src/bin/pgaccess/doc/html/tutorial/index.html
deleted file mode 100644
index 32c31d63cfe..00000000000
--- a/src/bin/pgaccess/doc/html/tutorial/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html><head><title>PgAccess - a Tcl/Tk interface for PostgreSQL</title></head>
-<body bgcolor="#C0C0C0">
-<h1>PgAccess - a Tcl/Tk interface for PostgreSQL</h1>
-<hr>
-<a name="intro">
-<ul><li><a href="intro.html">Introduction</a>
- <ul><li><a href="intro.html#whatpga">What is PgAccess?</a>
-  <li><a href="intro.html#helppga">How to get help with PgAccess</a>
- </ul>
-<a name="start">
- <li><a href="start.html">Getting Started</a>
- <ul><li><a href="start.html#getpga">How to get PgAccess</a>
-  <li><a href="start.html#uncpga">How to uncompress PgAccess</a>
-  <li><a href="start.html#putpga">Putting PgAccess where it will be found</a>
-  <li><a href="start.html#startpga">Starting PgAccess</a>
-  <li><a href="irix.html">Installing PgAccess under IRIX 5.3</a>
- </ul>
-<a name="problems">
- <li><a href="problems.html">Common Problems with PgAccess</a>
- <ul><li><a href="problems.html#connfail">Connection failure</a>
-  <li><a href="problems.html#libpg">libpgtcl not found</a>
-  <li><a href="problems.html#spchar">Locale specific characters</a>
-  <li><a href="problems.html#pg63">Problems with PostgreSQL 6.3.x</a>
- </ul>
-</ul>
-</body></html>
diff --git a/src/bin/pgaccess/doc/html/tutorial/intro.html b/src/bin/pgaccess/doc/html/tutorial/intro.html
deleted file mode 100644
index 2f056599edf..00000000000
--- a/src/bin/pgaccess/doc/html/tutorial/intro.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<html><head><title>PgAccess - Introduction</title></head>
-<body bgcolor="#C0C0C0">
-<h1>PgAccess - Introduction</h1>
-<a name="whatpga"><h2>What is PgAccess?</h2> 
-PgAccess is a graphical user interface for the PostgreSQL database management
-system written in the Tcl/Tk scripting language by Constantin Teodorescu.  It 
-allows the user to interact with PostgreSQL in a manner similar to many PC 
-database applications, with menu choices and graphical tools like buttons.  
-This means that the user can avoid the basic command line interface for most 
-common tasks.  PgAccess doesn't change the way PostgreSQL operates, just makes 
-it easier to use for those familiar with graphical interfaces.<p>
-Obviously, you <u>must</u> have PostgreSQL installed and running, and Tcl/Tk on
-your system before you can use PgAccess.<p>
-PgAccess is an "open source" application.  The source code is available to the 
-user, and may be modified by the user.  The user can fix a bug, or change the 
-way a function operates.  You may not want to get that involved with the
-programming, but you have the option to do so.  If you feel you have made an
-improvement to the program, you are encouraged to share it with other users.<p>
-If you are not familiar with how open source software can be altered and
-redistributed, please read <a href="copyright.html">this</a>.<p>
-<a name="helppga"><h2>How to get help with PgAccess</h2>
-The mailing list for PgAccess is: <b>pgsql-interfaces@postgresql.org</b><p>
-If you have any questions regarding PgAccess you should subscribe to this
-list in the following way:<p>
-First subscribe to the list by sending an email message to:<p>
-<samp>pgsql-interfaces-request@postgresql.org</samp><p>
-Send a single line in the body of the message as follows:<p>
-<samp>subscribe</samp><p>
-In a short time you should receive a message beginning like this:<p>
-<samp>Welcome to the pgsql-interfaces mailing list!<br>
-...</samp><p>
-This will contain instructions on how to remove yourself from the mailing
-list, so save that message.  You may only want to ask a few questions and then
-stop receiving messages.<p>
-You may also email <a href="mailto:teo@flex.ro">Constantin Teodorescu</a>
-directly, although writing to a mailing list with many correspondents will often
-produce a quicker answer.<p>
-<a href="index.html#intro">Back to index</a>
-</body></html>
diff --git a/src/bin/pgaccess/doc/html/tutorial/irix.html b/src/bin/pgaccess/doc/html/tutorial/irix.html
deleted file mode 100644
index 7d472aa9cdc..00000000000
--- a/src/bin/pgaccess/doc/html/tutorial/irix.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML>
-<HEAD>
-   <TITLE>PgAccess on Irix</TITLE>
-   <META NAME="GENERATOR" CONTENT="Mozilla/3.04Gold (X11; I; Linux 2.0.33 i586) [Netscape]">
-</HEAD>
-<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000">
-
-<H1>INSTALLING PgAccess UNDER IRIX 5.3.
-<HR WIDTH="100%"></H1>
-
-<P><B><FONT COLOR="#000080">This HOWO-TO make PgAccess working under Irix
-is written by Stuart Rison</FONT></B></P>
-
-<P>These are the steps that I had to follow to get pgaccess to run on an
-INDIGO2 running postgreSQL 6.3.2 under IRIX 5.3. I make no guarantee whatsoever
-that the same step will work for others but at least it should point you
-in the right direction. Also, I am a biologist by training so I only got
-pgaccess working by fudging (that is, trial and error) this means that
-some of the steps may be unnecessary (e.g. compiling $postgreSQL_source/src/interfaces/libpgtcl
-as both a shared and static library) and they certainly haven't been optimised
-(I know nothing about compiler switches etc.).</P>
-
-<P><B>1) Requirements:</B></P>
-
-<UL>
-<P>You will need:</P>
-
-<UL>
-<LI>postgreSQL source (http://www.postgresql.org)</LI>
-
-<LI>tcl8.0 source (http://www.tclconsortium.org/)</LI>
-
-<LI>tk8.0 source (http://www.tclconsortium.org/)</LI>
-
-<LI>pgaccess source (http://www.flex.ro/pgaccess)</LI>
-</UL>
-</UL>
-
-<P><B>2) Installation:</B></P>
-
-<P>a) tcl/tk:</P>
-
-<UL>
-<P>You must first install tcl and then tk (in that order). I just used
-./configure, no switches and gmake. Their installation should be trouble
-free. Then you must move headers and libraries to the right places so:</P>
-
-<P>Header files: both tcl and tk have a header file (tcl.h and tk.h). The
-tcl.h file is in $tcl_source_dir/generic and the tk.h file is in $tk_source_dir/generic;
-both should be copied to /usr/local/include.</P>
-
-<P>Libraries: compilation (with cc) of tcl and tk yield libraries libtcl8.0.a
-and libtk8.0.a in $source_dir/unix. Both should be copied to /usr/local/lib.</P>
-</UL>
-
-<P>b) postgreSQL:</P>
-
-<UL>
-<P>Make sure you have a fully patched postgreSQL source. If your ./configure
-says it can't load 'IRIX' settings then you most probably will need to
-patch ./configure.</P>
-
-<P>Configure using ./configure with the following switches: ./configure
---with-includes=/usr/local/include</P>
-
-<P>--with-libraries=/usr/local/lib --with-tcl [this and previous line as
-one]</P>
-
-<P>Then make, make install as usual</P>
-</UL>
-
-<P>c) Compiling libpgtcl:</P>
-
-<UL>
-<P>The source for libpgtcl is in $postgreSQL_directory/src/interfaces/libpgsql.</P>
-
-<P>I do this twice. Once with just gmake. This produces a static library
-libpgtcl.a which I leave where it is (I don't know what to do with it but
-it may just come in handy). The I modify Makefile manually with a text
-editor. Essentially I modify two line:</P>
-
-<P>before:</P>
-
-<P># Shared library stuff</P>
-
-<P>install-shlib-dep := shlib :=</P>
-
-<P>after:</P>
-
-<P># Shared library stuff</P>
-
-<P>install-shlib-dep := install-shlib shlib := libpgtcl.so.1</P>
-
-<P>Then gmake -f Makefile_modified. This creates two shared (.so) libraries:
-libpgtcl.so and libpgtcl.so.1. I can't tell the difference between them
-so I copied them both to /usr/lib/.</P>
-</UL>
-
-<P>d) running pgaccess:</P>
-
-<UL>
-<P>Uncompress pgaccess (usually with gunzip and tar). So long as 'wish'
-(a binary produced when compiling tk8.0) is somewhere in your path, you
-should be able to run pgaccess with:</P>
-
-<P>wish -f $pgaccess_dir/pgaccess.tcl [postgreSQL_database_name]</P>
-</UL>
-
-<P>e) et voila!</P>
-
-<P><B>3) Concluding remarks:</B></P>
-
-<UL>
-<P>As I stated at the start of this document, following the procedure indicated
-above worked for me. I am sure, however, that a few of the steps are unnecessary/non-optimised/stupid
-etc. If any Unix (IRIX) boffin is reading this and you spot anything you
-would like to comment/correct etc. please e-mail me (stuart@ludwig.ucl.ac.uk).
-Also, if you just have questions and think I might help, please contact
-me at the same e-mail.</P>
-
-<P>Finally, I can accept no responsibility if these steps don't work for
-you or if it all goes horribly wrong and you 'damage' your computer trying
-them. Let common sense prevail!</P>
-</UL>
-
-<P>Good luck</P>
-
-<P>Stuart Rison LICR University College London London W1P 8BT<BR>
-<A HREF="mailto:stuart@ludwig.ucl.ac.uk">stuart@ludwig.ucl.ac.uk</A></P>
-<a href="index.html#start">Back to index</a>
-</BODY>
-</HTML>
diff --git a/src/bin/pgaccess/doc/html/tutorial/newref.txt b/src/bin/pgaccess/doc/html/tutorial/newref.txt
deleted file mode 100644
index ef2185f4b78..00000000000
--- a/src/bin/pgaccess/doc/html/tutorial/newref.txt
+++ /dev/null
@@ -1 +0,0 @@
-Cassileth, BR~Unorthodox Cancer Medicine~Cancer Investigation~~1986~4~6~591-598
diff --git a/src/bin/pgaccess/doc/html/tutorial/newtable.jpg b/src/bin/pgaccess/doc/html/tutorial/newtable.jpg
deleted file mode 100644
index 06af40e741044ef042297c4a07c228eadac91ffe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 29164
zcmex=<NpH&0WUXCHwH#V1_nk3Mh1rew;7xnIM~?O*;qN)+1WWcIk<R4czL+Fc_f8|
z`9)-<<mF_gWMmXn^wbrUbd+UeG|V-13=B<7Oyt!qZ7qy!^o&i6K!z}Ka&q!;^GNXW
zN*F21C>oIr{vTiv<X{Y8YG7tmVqg+vWEN!ne}qArfsuikkrCux1}I==Wn*Dy0!ao5
zFfcMRGcs|qbF#6pvM@5UGBPo<Ft7>=2`jRRh$<O|PPuqV%rrQpWYK0L6UV@yiIXO8
zWLHisDm|3kc=(};u~T8OYFN^yscOy(U7NOi`1t<_g9OMjWa}6hK!*N5!k{b&at0G4
zGYd1+B@BX$Ow5WbhK@qQMu~wNAO63^z{AYQz$C~l$Y9SfciBSsZPE2#c2{>5NqYy~
z>6^63<DTdGy9K}IUBB5{XTh{~+J@q0#)Uf`|C_Z?&vTnk*u|%|5<PRXPBOpv&tQN3
z&-UUsZ+{n;+tmBlFa8q!>fbsW%e3M%J7<6Xb@pF<y!Ky+L8gaaRmZ1^9+z~ycKEi#
z-ehIZXN_O^|1;eA*Oc{gcF~@>bIjXyAMX1xJH~GL)^CZv5M3!^N21#~-}BrHy4_<a
zyIE3yjw-LF{hp}$e-DiIP3%bt^?Gl<Br0#a#CEeD3!|{ZoVx8Ik32a&wQa4O8rdt=
zEl;dEe6bX4wa9h;m2YcjglUFn_mq0|D+RBeXDqwo!P0h>xye-=UR%^HP6V|(+FEan
z*Gf4(Cql{l-NM56kBt1LeSMJ68o_Ecd6Ic?edB^Ju@IL*{nOT4yYuu8@fnp`U3zmu
zQhnM)t{I+Hc^&kh;gy7n{Nh*Z-idG9ZYl14&V2T4&1Ws|)Gfk3l=tNQGJnt39KKFI
z_||WOWjkv9v)>%r$oHYibEnZ8%RbMJr)LE@dCep)xqWG#v{fVBYP-sRhTF^fSdV$j
zh_?$0MHku3m^|UJqVo4t&Y*+m{nq|x_;yfw-z2%^C?@WCWc%vP9aVGQsz5dsT}Ia>
zCZ&q1(V;rc`z@qA);lgh4QgjE&aKD+6=E`~0F+>cY&cvz8WR=Jt-IAb@KDf<1(WI)
z#@0;x{_k4ve}>2BOPw=5Uy;wq|Ie^t?OHa|8>(&H{RLUdxyzS&H#gXyx&BJ`oJGr8
z8HuhX8mU@7JWX~Rcdhvm{@J4L>c3g9+rH<PeJ<K?Ks<Wx-gUl(PbGx7y`m-`J#cl$
zlj5t6A5Z4jzs<P+&*poGkBd-1xP0@5xegXud14FauP!a#omzI-&ROYu#k?!CZH}%K
zemXs9s=^jVj{^svuUfCDdbGeP?$pDRr}-=v>U)Vu9ttQG*q152{rQV?A1^UCPrCP?
z;nv0de=6Ut$`fdNbnB^Eu0Ya029}P6+I}9tewoY7+W25TXI_lzZa%Zm0fAB$5goU)
z*eb#vDykk~Wh*asDu431-@)XL($A^qZ_W8}tm&ewS9?b0w)o1!`I(M9TbA=NNLqMU
zZ|~o?!0h{#Q?p_>J=(JVX;#a-kh=Yo|1<nq%g^%XW9Gm1zh}eVEqj)~yQcEf!yj+{
zGsxNUT~-oXa7TNi*RG%yeiP@fe-a)pKJ)5!xkK;U_Qp-M_;}9J;<x$zyEpHjueL7x
zbbtB;uPuddW%7<{x%Irfbvq_*&X>m;cQ0taG&{O<`)uE73C>5oN|o+BlTlx?BIEx2
z<)*K<thLxvY38D&^=R2aMZ;^QnhSFZ6y3`{nIwGS-!-SBcXsb5mR>%VrI}BT8!VVV
ziR0padH1VvhrRd}p7j4XXL%xM$Mt1TuA6>IewuOK?bXB|{9dU(C${*NF0EN&nP2K@
z@An}%Zo3!1T-k~CJEg~Sgk+)@s2<h3@lcytg5|~i3w94(A_Z=FMQ`wM(4Dqnc5?F!
zKd(A>N0m7x;TtYBAD^1yG$-|Fgo@}Up=ncc`%*VpG5Pi0_+=Oy6PF%#r<!}8)K~Yo
z%qgu_kEA^<PF-O*>w5g*uiNr7tY6q1?mqMCc7I~|VLyH2)p@q9_j#-8<=bE9)Fr%M
z4y6}-=7Y&u>^Zk~$2ajB)0cnh<kxQe*}QKKlx{u)lQVhr*=pP48?hg*FaP+XZrkx^
ze7_2zG`|5%?lR2UxcN}0yoAz2#YvNc7VlX!ZGPra#yN@!b3(Sr1s;7?ntOc1?uW|}
zNpH%iC^!oa=5R=4@$4<=RV+I_)7fun7H8AD0uJk)TaQ<7JMvKGiqGx>qm=dwH!`)a
zYD##hG`4JG_cVQ7vfxw8rq5zC%2wFO&gPQ|_wMk>a$b_6uRP~oRhYkTSxjtE(Ie4<
zx_3)m6O3-3)eA{|uvF^c&E*xU%uD7qUW}XW#jmNmuVvq|9roq=yCqMYEOY*>lHv7n
z4(o!(y_(h=FUFpj@G9rno&OB%s^>C~hisRg$a|M1QL0?*>fD#-KOFeapzpDieV%36
zj4#tvb{}+~_FHP3-pY2b*;fqKswYpJxa0A%P1mnl<$i8{V|Dm++>LFovmF`pgbY_O
zxqF<m>-u);)B9WTb5yE@<wZ|%=W+ggbonp;?^$c_CR(UJ@Am&<|1N8LNm!Zgqkmt&
zo=(12on0+9v-Y`QQDH>xQC*u05t0EnR~IUj<p0|Dv|!hryUU)MX~wiVcf8r6n7ek#
z2`Aw>+qSB6`=5NiI6!Jr-Nbp%60GiXs>gUu+*qelCN#ls!Ln<gI;}VMSk1}*#sBlk
z{0Ft~yo<}u8$D@%yJ_vy?|J+da{4NDztfhyOrLYB=$4Ve=KV7!EHcUau!w2lOo6G#
z3e}8RRW$c3eLm?{jGwzDd!S~(sn8`2RfSise!KJc$bsCa)3<7J2Bs!1U2A!zWrtg<
zMq;Fwr?S^3%jF{PZ|H5FKT#`s!ezz0+n1PKqr~oHsy^ELSTm?;3X|o5gyM5W%G*AK
z{)kZ!is2}1TY6%~?Nf6V-Gi4NUgCZtbCcOBsZVPfDi^HR<UT$1+uh9Cj!*X@>YT!s
zMdnW3wcUxUG}DVwOF6)T+2Z62mX0SM`Ywwnh3iMjX6my?=H_i{>v!&sV)POy@QCX0
z<P1FbxKpm-^&FMvLN2$X9g`%2JgvIsL~F6+9W%JJdH+lKr_*L0c)eyF?}1ILyhKjv
z`W`5Dxjw_2o8!`UrvUp$j4Z`6m)QFMWgU#tl+oJcI$KHj@`X;rD*}(BLPFOp(bQnz
zE1DvD*5hQDh!CgO#_#GaWixgQ?X0@++Oxvybav?$lPa003tR!sO-@&wJiPkKWx|b<
z=B?gc&VD9ExK#K~E}v#p@R5q09;(XfasL|6-rw<VRp|$*#AY_5Z~FfkUJAaQ<Sswq
zaK_EnrnS6}^CoYxxhj(9XJjhF_G`*g_SbeLjsF>D#`Bi)?r)#A^V-9LGMg6$*YiV9
zE>GRuyPAVjZ-uJL>X~bmE2K7YnJ%yOIX_pS{#p3p*pLtU&E;Yhw#ju53u|`@zUge2
zm5J2dE1uOh<w4w<rCwgM9Q*<d7`eFBO@*V_b~v<ZF$d*-UU*`rZlKWV7k&X7F5NpB
z6cV&#io$!xu+Pm+BJ9>RdTn2R1k7x=yuNg|<`NbY4u7#4qgPW(6E#m>;e5#~ud!5Z
z?K?i(j0YFmIn17(4GvafN<6CL+Vz2%QG+#Fj4NpEa%(L<E8%kmDtDrPn4I0@Ix+Bx
zMZ}idGTY7C8MLB8A`W%6u{k8ay1)9xu}@mh3jVg~6zk<gsas8nzO&QG>&hjT8!s+}
zJo1Rt@ZdA^i17Nb_GBQdvS*g@)a<_1GxPg2rRH*^rwIA|wJP1g$jtCCi>1l&X!66l
zv&s&eW7hUq<|Yc|_T7%GGhNHOe_<x)wcoQkOOrWm?#@sTRIVy{uOYG&9a*fKZ|48G
z|H4(@=vcd)`OoDSu9~&FH9Y=@%iD=&D>lw3{aMb=EqKAKGdtYUWo?Gj79Qp=^6QJ7
zrp%UlwEI9=%5LtrD;W)zto+W@dD1iU+XwTKr$_!qH!j*4{cwsQ8_!H(8GossJCh>4
z*KNC;Ey*4Ag?E-!!Ez=xp~bsBkKcS4Bw6-orgrT{p{OJU^R-X+Ejpd|IiMlLgWI~n
zdP3;MIjP|XGTV40PT$!7pJ9pnHcy#4XWqqWVq9Cydw2O=_#6_r)8fRH!a}8^w&s%J
z632}D)n2J@INhho8C5Z(Cuk|lq{(x=?ugD|+-=DcbL0K9pE-};*pzA2ew!U6cWvs@
z?O`_}lnc2yul}p|_jP1$3)?-LYogdIZ^k~uZN<?U!3n%xTmg)ZmW&bVjuv5jul_vv
zx+`?urDWgI=_y)1?bo&i1vPJ}%;RD5l%8gu@_4cOvQ-ZY@}7$EPF?oQSk8r8dfTU8
z!dotUYG%~-@?i92T`D7!UiS7mV^&3So{Rd^{kA{WY*=>by>#X^k$V>%H3GdmSyWb+
zt;xKz_Rr-`<$_JO^>a7vR{zecd421e#VNv{4sA{LnmBQ-dX=eqfK*$t;1A7W{(Y}5
zosKR~)buEN_UF(<IgfJ1yyZ4eRwnyB;0nIH=H=Xb9A1-Uf1Ep+y2W1Vt*p0SNbs@y
z-W>{g=Y;s&-2NW6HIb?={kwYE1-H7OuxqAU6_-mCFwfC;Zq&L|;9zl3Q`x$=>|^_1
z<M|!eikqjUzde6?s_GPz&o6WLaJO`>(sYcJEPNwiw7I3FC*RWYQ2vXR7Ki`MJbxtf
znEaP>b;^O4n*0p@Gb}6qDAn4jzv`)p_#8#SS(>cwh1y{r{~7kN-;EDt$+z<V7FMV9
z!s-VOt*du^=nY%lx=88Ba^7Q}eImDF0`hrRMye|GO=)a$d$hDfH8e3ayuxVdnav(u
zlHo#gx0mXzS*$xPHs|FbzYw#Ah5|mriH=%7!WjjkX02{+vc3>r;PhpEO$p0XeTj1q
zw&cCMe{sjfb)pBVv_D1fu!u_bTf8)3jmASRhhs5b=bnf#iIuBNj#$3-wjFE1tSH&r
z4rv$uXh(IG7p5#c%BnDVu8Jn_^M4y<xlc8<>8TgwJuS_8^yYf9lK07u+nIf@JG`5W
zPgQ6KJU0mo32u3%am;C2Mz0O`DZL!c7nkG}wJvP2n7VC?Hp4@Y2rkcq>?}M@{Elq9
zc7VeotG{{Ma@{}`_Sw$)o;7>6EDOHmVI|Z!J=SVkLE{${#>U=Ty+=jWCF(C*{^*5-
ze3n%}&9SM9ZgKG?FDC^VZQhYH+v4|0`{%)h;8?t_5;t?+l{(>2Tb4PA{~3IqKQejD
z|0~^IaK%eUbaOn9fg=$XgMCwEf`536-S`zb)$q$|zpYcu9$mU*<hEU8f^+7bbwwv+
zuI4|RQ={ElAY4*(E03>m*<5eG<z8R5ZB^BBh}yW+YAeH>i7TEes|aZ2f7ATV{w_(e
zCvw;A%lWnW7E83O9Lv9VdU*25*i<fA{Dk+<+dH}k<`?a|zj)h<LmYdK)*fB4!s^zn
zH0>SCEIQg=!I$P*pSQPQiH_QlclE5b>y9UGlaF(qS@hUdqwiHf_<0AZf(4<IOy=c%
z5?#LH!?8OZ{-^7zKSn0{F1=@Vd5z}YMNI*VrVDX+hP{oryfgaea>>sJB|puYDdl}}
zX6iG&ix(be1$SN6ePYonGG$4sf`;Jy1qtshUe_Hj-D$6sv*mEF;`Q7IMwefeGVZwK
zeKhKnP^pHlgSwyP;<~>Fi=T$rDIfcBXRUQ?-|>WZ_cME=%B;#}ZTY-$xmD$T_1cKd
z7AF(8-<TGgdZcyRBbh5xm-IAo+;NomO;fv}x+`y;*`4&MY7aVdmIlctIx1P`%Glhv
za%t1le2=goFaJ|2@rN?MDICuVnP;rXtE#tufpXRcgU}^;l9m>-l8biX%0ZC0zf!Vb
za*zGXIe*-sQEw`%p#q8hb=t+<Wj6(ni!EK7v(PK3&r?-dW!B4e-r+MJR$JHqb!CsO
zEPtziPRO>izw2pLFA_&M?2ho~qsxEEe>aWZb*RAqyx9B~^>?o3y;!QXQbuWOq3Nl~
zhBI;%uisV+UYY+d__nBa<xi^*#{U^k+Oj-aQudR{_GZ{i{e|sKks86Ly@DRi4eoRj
zo;+#ImbEv2ZJhgqTPj?8x&?1c)OJfNBXz5}xyOQ6@~yT0-tt_fICTFH`Be+*e&;4;
zdM!Jq95m_Cj>8EiLNY3=wWJ$U5AIeGSzRWyi0RnW(CmkztKPER)Ur7ie9Bi`*<^c=
zOdMO-1V+oCDiO8<$ForvG`#{ey#m;tE_E)NR5bZZb5GuX2Bj=m(r+-j{Q1F_&l!bV
zZPqNzWRbtS{)K7rNwIV5I)8G$Tclk9&aBWfFDzza&Z`&mC(L_Q<hptFqB^JQRie?T
zIcd|A?(}e%KP}&bC+W_O75*fA*J(8YGggG=qvZ0_Fr9uL+e%CPPxzN|t%XG8a)`P}
znC&ZJ?pzqU2PMa^)`MxaRJwWfqP?Q+6|L>4=_3`UcezTm)h_iX>bqLQAhp3|h{82H
zVOn8c3Rrd2>d`T=M^o$;6~~LFJmDw|JM{QS;?(IuT(fgj9>2O9n!Ss~FH3024i%eA
zcb$yZzHsyiJn!~sOYMJ#16Sok<NmZ=SMTbWwA?>vT4djurG{<N-dTl_SA_gx8JPF1
z%w$=r=;eNUda&Jju^i95bv9EC9%r+9Ub}T|PM-Dm<_mSZI%TB9SN|@Kul)AtsL!-1
z%05-rt$7?vZJu>``bmd5+NxUjUogEa<j%T0y5+~Gr+S)Y)>hv>x!ZoYn2|8&bMxE!
z+hKna9-BSqSbIzFb(ZXPfpvw-i?ijbI1`V$d41yJEZ5ifVz+3RyrlQ}rrQTrf8BPL
z?^65QRS6#3yr;aHwrOqPWJ&H^&dWW5(h-sNev=yKCOxWW&-3@)v9MV%Q0>mcnC{i3
zo>3yF9<!P+P-)^)o+P>=KfrGeZ>XT;?1P1}e64rGwyyPfbaq+R6O|=Qr3Q?J3akoG
zJ(;;3|1+$$oFvo79ix|apDku(5Zk16dVi)1G%P#3B52yApeZZ4ShZAG^BE>_2(E9w
z-eIFPyS|~rD5mndld`>HPVelVBc6c~xfKB+!DlZya-Un^#-GkyVe*}I?WaU*#ho15
z2_}ymJ%ge<4oe37;tbZZV0oup%i2Eq+JA;s;W^bu{ngk0X9!t$<9pXyO~>#jU-!S7
zdRy*e@X6QpSGBj<K3eS+5c<<L|JTy8<9k9rRo(yU^|rra)ukz-b^g)+R>p38FIu<g
zV19n~QvRn`T6EolmrUSuIJc(vKSTJnx?P)>vgIDzVRK#b+Mk6-mu}^}|6``i^|?1+
z_@BBzcXRczhpQ_kELIo&Jh07E|J<Czj*Lf6R0iEn%+OQZn^79!baCaipC?rk9V3tZ
z+A;OuKEp$8dWvTpt>Pz3hnwEy?bTVcTq5l0B+vURJANGNI=i?r{3$n2dHlAHX%TN+
zGL~j*SL%9pyt^24M`fkp6ce787SC5`YjU^Gd+=J|v1g%q|Btz@%b1HpesWp_bt~jD
zIVx*uGS8X&=i#j1xu;I6eJyCz6c-b^vu$S2qa(*I1U=^2F=fZ2z9|-AFFl;PLiZ|5
zDqC?M;hwH@aQCfSor*s$-tSuRX?`%LW~r}sL{z}$36acxbANT7IL2G`!@6j)+@s|^
zZu4hXG!|ZH581L%r(?IvD@~R;8}{T$o+|E{!!AAj9P1{}x{_y79DHidr>5QJb}Zz5
z?Y!!cSg+sqbDqjvT<6TMr##H+KX_d4<Kvi^pbd8_-tSj4x?AbZyX_|TLARw-mIt-5
z6<^%9^5TKjpIY0j*WY&W)+tjm3EDb!&$J~+$}`sG359f=l42{FQ+!2q${P#k+^W|p
zRW_k!Gc%%#l*K(cZkue`bt8_^%5<S(#QmPf?6qvV->(X{aBkc4r_}CF$HyHFRZb~>
z-i>>gOe^}RnaP^1k{S0*d}{Ag({HnntX|V7rxU2<vf3)|<ILRex4qMKS9fV1`pH$Y
z@JjKAhF*_Iucj}(&fBDyoSejw*_Lo8Pf)La<@5dZk~wXB$I~V((O0u_3@AvBJP<Z<
z)w+WReqU!@V5Fp^(pmPy|8U2vdwP=Dr8zH4|16a@F`FhWCA6F)CzEB0dO(&!w9a+w
zlFSd+HBW4s<$Pv+?><vS2a!3VDJg=NW949pv?MBb&CN9zatp6Kn$aq|<L$~rTwMVZ
zCipQ(9{AN-77)hGy2pHhl7rN#lR|S@CNZ3}+ElJm@;CG+EI))U)zJDgZ~Nb%-O2Z~
zDxvuyG}DV~KRo-)gV_}o)U+O!eU`)XS=f{Xt6}+P<v<xb^~Qotx8^!bUdgZ`EqX~x
zJ<}SgQ&EdnB?op-Ql0C&G*82`An%y}<?r=E+SSU>&i!Xl{HraRHJwXznUUOd+3j~S
zSv{j0G&L_77?k&X`Ok3MbJdCjSM6zcGWkyhUHFiB{>OB-wU6tb=ABUZ&%pC&WBiu=
z79QW!?6jxueOxfLs^PcL;~h(PwN0C1#i<-_^4Q){CGU5nt!UHVr9Th3Z#4WEvtZkU
z`SWz`FZ^fNx$5pU;ikHZE&myu|2<n>?wYbTOj75*g7<V@sbsA;Th_X2>8||g8J&`U
zLMuP+;{{H3$)lm04@P%9xbrNWQKqs+xIZUls>13Vfe(cn*1VGpuC%;Vo^NsYg~@`W
zr#HsTeQ2`D=d0t?f?f-@n7$d0Q>N8F6II!}I@t1%<?>lZb5?XdxRG)+c59N9bddh#
zbk86!M~wncFR_BkBduHPCb1d!<XyYe%$>D4Hlp?56X~d%wJRnn`|w+w?iDz+`S+3c
z3Oy@xH8)RM%A3H_bvI}V7Z}N}`FV-`Uuuo%wXV&b&vxBj{B&EX%3pVux|Zwy@{?cI
zUUcbR6{-(r`Pr*q`n_nOc*v?aFl$bo|I+WS9J`hVef()R{jSL4Pqq5HG+eK0P47SX
zW#5bCU`<YXD?|2x6<Yk6@BOYzu+(cQSfS?eC%@uL0?<rvi49s=0ajQDHdE<X{C|dx
z{~2bQ_C92tdwVs{j7j2R(ODY&+cvef&5@F2bP%4a9_8+Kaofo|v-XD^zZMj>H!4Jg
zk$FjIzHt4TrFCL^L|uw*W|{76lgQ*Xy1hnm+l2{J7AhWLV32NLez8LD*n_hhi*&zN
zmVN!SCE_)Y*{P;WpC{f@c`F_EVX8(?a^?MbT`xmecLd4KRXwsaGj5VJ!;}f`PL3~`
zc0Z1e+;w=W>{p8^N)L`S1UOjD(%Cg}kL;}pjQ=EGyj-~c?v{=}Mq6*+E&V>*Y$Z4U
zDhKJ%rN@L8J@$0)TUX>2!f|Xl+XRkP|M={ycg9u(3cZ(YThy7j=GacFt($xzo;#<f
zHBEWwTGi;u6?ou3!-{+Msr(<N$-eJD?eyq)kyWya`KG8CO)afcT%V_ym21>AeqF7Y
z%Im+wyW1`%*;2A}+u<yaYNr4>sR<qtUIKH{-QG-@<Y_2rQDgF?j_rf1(Gtgy*R3me
zvbo-Sd^9?)?bh|_USS~*^;8;rA81T6+@G1b)3|c8<1Tma&ZL~OCuY+bxHzMn8Z1=O
z*<YLb%QwDt-g;}1%kDcf>aNQMDxdW`>i33k&b9^1PI3IbUH#?NGv41<=c+PISqevN
zb^e?`_M9v@V{<C&p_H=D+k)-4OBAM0nv?G3So7|LP3+mnT$kORzhx`djb5sC;Pytn
ziMJ=S7+dSF<*u{#<aU}cMX_Si<ldB2m8|1dTl*sy?yu=Bk22P>_R6$w<Es)WPY-e|
zP<dWZdhkC(;3|{4^KVyFNu7B;=^`udR>7$@b9szzpV`xP$>a;GyTg^DtxQf+)~GD8
zR=JnYvzzH&cZ}%WrzT%oP14sGwA~I8DtLEf#frDl2QILmy1yf9d2{_9$GvgkcFKGX
z;t><WmiR?ompwkCtD)^eG^203EX!O^o2RmtcS@#5YwYys*PZ$4?PukMxr=-PZibyr
zRn1U5qHCebVR@`_F$<I9<Lu@S@>wOt1$Ex1ceqa1OwE1GziGx(MMq6Wt7hF5J^a%O
z8{C+B&)?#C7PZ|gv~hb<tnzj>j<mA)D6v0flf+sTHJm=Gs!N?X<#DyIG%jwPxyKw)
zy&Y|eF;A?nxM;SQz3AIM&s(!VRMG0oYwk-y#=VxmvU}w>|IU(Y+idk@i=%U{ORB%R
zGtaiq`ifh6Z5abEn98hmn6OlvQ}aS>?wY%AixljZ3$#ycc<jQuW!;puEX_+Z1GqeY
zaj?HwaQJkUkDq{zWZjcMzUOShMrV$$vMHOQ+-mSSD=xOQ+V$a~c7r%aZNEu@{s%3u
z#|fP1x|6+TThz{osfxj3zx$p&y4knX>Xz3Rwh7C>OuM*L)w7h_lhZ@m<z|9+oy_y~
z)^6|kHfrX$2WR%$d1rV{cx5E=+*u>QE9RK={S{eSs~Zy^e973X`>jsc>}E%EZmzD~
zxz$PXrHZ+W(}Whhy3!!Doa^dZh0lEp7F>&1SF`=#>(txH8y{bkn!M@iYPT({ndjIF
z=cF^O(K3@r(<xhgJabz_CL`~*TTVeOjSZmUpiIk)RTCfLcv5ro{uBG9X}J$Mw>mN|
ztIN80?~>=e#y{G=u$sx3{cJ())cI|*^i)b8U78V`k*Z}R>F2C@j=Pin#jnowhVXi2
zz1P%>^0yZM2??L|@6w-#$~R{GSQjdWy^AZG$-ima9H|LgrmRSpWG`H_?`1%tgl#PQ
zrtNqAl-XA=_!jnih5Ay*BMDzi<WAi$wdj#s*L*Yj-GX^j*#(=gUZ~ctz4FMQY8QWM
z{;sB~5E(cAaK|@mzXx|5eD%V1>b_T;!_2s=woEJ2ZdHa=2_MZ3_nmdmW@>S{b6%?8
ze}+2CzEt1G{wH44d~PdPy=v`L?dDzKdHbV(I_E0-Z<d}cGy9WtrdHe(#j3(B9w(2V
zT9n<y&hhk2%j~23O18ay<GbxpKj(+m_Q(kxOV&PJp?T<qQ0N}Zo`sfN&$Av+JoNk2
z+Ze$--K#Az>%>-UO3hB?e!g2v*zu@BLd%5Lj~SL*e{l3r&MXL>I+?wtNH=$<&f1PM
zo-qzHdE4*sE=f($W!8Hy-N72YdDoK8oXtCp^16k2EY56NYPF-oqw*-*T)ica=bqzz
z8f$gy*Ck$;@H4I_&9g%rcfWa(o8&d+&4(*RzfR{FO<B@(F-M(W<{`u9;Qh-@lb#+*
z{V>nR!*i#1(p@tX(;Y4@#|xL5ow{52X3FlZoTXXP27(hBmwax#WOjFcn~mJ|Gc$9O
zQY3xN4X33Ww41zg3-a=F2;fpKzgB+TNhhrAnd^+ZtGHBMG7Kf39CwJ;ZE$cB?OAG}
zl8|>VLkBXn0U=YK-PL>Zq4BnHc5%K|PWr<gQmk8?8CAcmcx-vvZ^;}PNgbYEXFuN>
zwf#A7_}w3hrN!lbT((p2nPhaK_oj#2OqObT&$hAo<hFE@!_TO;RbQPBYfb3n%G~rz
zV2R?Pi7Pb&SsmmiaC&*l`%U~BE~OJzb~kv%R!8sdl6^}%Ua<O!DyF79eky8qtMlb4
zp(=+3%V%^?%Dc9jx%}pdTSum9-h8;?>DOs@QZ+qU7v1oavpmH3Y<az3#w~Mh*IU1B
zXYbkWq`yINx9qi>H}`K%6ZR^s$kEW}6Eaz;dCJ{flD)8K%k6x_%W^OCJ1tw*=<1$I
z)mx&?lETVl+~ii@xz0Mfto&-hc9(4%P8X<dxxBVbV2ZfFWj(Vcjo*Tz80H8rNG=eO
ztJ^0WzpadY@rQ0>eX}2zV>&+btlhEnX2ET#peakw&XcQD4mzn&v(`B@$0AVn#vRTw
zm6_|$q~>ipb5n>(XsK)T3-70?oL)f_PEDW6V6r6ZgtBQtx9HsMA+K};f*#$~UzudZ
z7~JX+8ENs;)py&Xs-l*86STZHUr3HzZePMXySngB%!0>Nm!ddTEB*KuF1OxL?AX5l
z&fVf~iw|DAm-pmKMsOL=QbRdikLZnY+660A7CKsHYFe_|@7I!YTXp_}<&-;%Z!C@X
z?ukk%@bb~qS3GLcaxBBeyH8ssQ#)vm)xm=~CglRz7gT3+r4}TqUb=OAI{UQXe3uLD
zPuzo~^fX<wg8JOfDy&tFc{KOA<tmf=6>^WojdE&2XKoZOov`e7D%X4-9Z`>n+^Q@0
z#8)gmAhKm;CP(0vS-k0N^X95IZEJtmc(9;ISbK_0zEks3hV_~UE|sR2v1whJvLFaA
z>T^Fk_n-5xur&Tz4}NRg^O`Q3_&L3P!oR6Ao1g8lJ9YlBuQ+F{;NMmDM_nt|BgP>^
z)^+^5D*tHFp6lPHKj)M?a{Oq~%GEfgse`6E=I_3@&Ts9p+yY@%p?iHXF<;wDw!NAi
zw1us3UZO(QukBs)PkHFNd9T;Z3YuR##Z+*5iq4xkx+`9KnI;G@T3q64IC(-vPc!6S
z;9;Mg9zhq9jD>8Lc;-ese5lM*)pYPsb(wa|aMGd;4Cjo$r|vVX2|aL3epjc8JC{n+
z;!U~fnhGKsqEn{KeX!&?djWS;Xo#QSt#rQ-jZ0tmOpi(V_cqZwL`dY`B9qrrUR%<`
zCa#t$zkbLfI6Ycu{$p=%!x=GCEw;&c#bhdL6>bV{4`Q=CamDiFZ)e3quT|}byiI<3
z^ol(=y<XocVDjbN${$rk)!!}=Ro7&>GC_aa>)Ef;v`+_ZdF>dj?G)?gaP8I<hC=Jh
z=Ny$mqZku5F4c5cTEiAqS0gqrm(OhZ)G4|O&A+$)Wm{JX8{G3+xilKfc%sSbJj@})
zWm9u8M-4+Rt;I4@I4g8JY+P{;Y|vCR*lQbXED<q0x+*j54on5iAuB?CwQf&>4xl22
zL02v<_ig0URxEsEaO%{CklTss@?ozYE}A-XC;P02E|!^7E87l9&A9dC)&of|u7I|n
zR^G`An1mM3;h%i@i>ztU@)pB4e0z2`l?BK|zm8cmH6uDl@vIbs%F``2YyL{x<ZCf?
zuHru8rgkr8%HLTr-Ob;-b7rS3y)7FxvqMy5O|D7Z16DOhjX+PyK;^mnJ{`{6?l<=^
zcg<|Og#D%b(^79=X^TIt)2fs0;q{-P>ee~8@`v$XnR1m2=Be%2sK-$xd+>;fijlzf
zsGd)kI8yVMS{v+HslenIwj`l=^1O13>Vw-n_0Jc!H8FQi_!2%FIsoRu5oKz1-%_PV
zL)+qhpu}(ASvT`H7nJFqZ_d-Y&nG<bU7+jS<C9i*_!P+MF5SGvD&PZu!;<&P@z%A+
z87eHkl%ASj*YxPUubz=hr^}8dD;#>-LvD2{t2$-|UH-J?!Q>^$nQYnN9J!}b`4?_|
z&iGC2)G<!!3mZhN>?ZDCzG#;Q@}#oi=Qo#S9y%@D)^l6W=*F%S)$GA}ZoIvW5tmFg
zceF513R20J@J&3=K3(C)On3I>hL(oPn=9ws2{qdOq;rGFOMP|js0QcNx0;*J1%(wX
zvJHGE5PfqOcln>_O{Pn^9(|Zs$-6Q_LHCHlLUvYlE@eiCIZV94AIjUqe$QuH=s$0}
zvUibikX&w|T!zI`mL>^qzgVejQ+lO7g*EP3X~|dpcHTv<+=VmE)b2gFE%;=~q5fQ>
zD3?~<rDkiJGs5^L{AaNDV_VA8wD)V~26yl8(p&c(-!MhL>>}rvgSs|%d<7<LS**$B
zoG2Z#(z-$FAali9g@@1CyAH>sMWu+Y<?LEr)3R@=qV7sZU6E`R)n`{5>^!wzcy&yA
zd&p1m&}!D+Y2W%{WQ%+B{hW1|P7j+ip>kE!>}O8|oMe6lJ3f2fe0oBT&*J9GGv>^g
zcyrIWJgu40pImNml}w-9y4FGQ>RZQy&o#9z0_8dnaeEv5P(J$B?Axs*o{rDKeA0?m
zlg_l*Z82-<5nZ9^z<V=LQrU8?s)o(IFM4@(7j{@yW+{tHXK%Woc&canT%O}0<w9Fm
zJ8OBF>OLsVW=!1H$e`*iTEo|?-rUh%y8H07v}m38PO~P;W<GCqbE!BZ&g8t*aq2s#
zDU)7zDLg##{JN%N_`%iL*Ydb-=@yCHn%~Mf<DKRvFRuv=liVCEPW)<(0uNz81~Rac
zf+v1%-hZOr>&(H=G4iSD50`DZWS8^)ll-O41~u2&Z$|#eT=Y<Tk^NTpA1l_I;%}Lo
z<{q@SiK<`tpP@K(_ZoG?vd^vsn+l>>w_Z=%o7b><*3(lpKF*qYFAJ}(RF0I|yf9Jy
z&#{l8K^5xOg7b40KA%xnc~j}ZAA>+8w=1%%9abx-DlC>zb$LF^c*{~Y&l=$gm%Z|g
z9<yu~x^<aD>e8eg{knJ6t-6BNELC`#lCK_Se(Oepf7{z@u15pAFE8z6G(6Q6Ft^+H
z<*7DL)=kE{Z7uvty1N3>lOt4(PtKZ?@-ceP&eI32Z<qJHWG+7?os$0IPWjxMi|ZS|
z@6<he+vfBn`E94RPrtjv=0U}tiND{@n!I#gapvia6Nk?IOLE$NWx=^mEbHPP-*zjD
zS$}-v<kjg%D)w2~h3);%5N0>$-8w(6523$>--sU)Q9SY}*CySg)^EASspf1&9_Gy~
z3$1oJa537v%>`vz`^e8r`2U>xk-b(lUHEM2cK6dcuRMSCas1_6HxE3N)QL8zMCqu}
ztEt}L;iX{kNED$VEBD;X&rbd;{3W$=W$dKSCpil%8J;f)33XZ+yY=<jO)h03x5B!&
zc(SaSV6x>g--<l;x+wzoeO6XkSu3a4hqI+<JyiA6y8fR*WctihP3_<nJ?$43&dKB5
z@Z+WQwYm4b+;+u0Xqx-5W_I)2!Wl+Ox0=ignQ-ptvDvvAGO@~O??g_Cu5^+8aqyCH
zSRZTr6dl96b+?ovlQ#-3n!0A~ldWpXyIqS5CM|IbxL~~G@w^3VmR*wP)SD2MW_rq4
zXh-)(-R+hg^<GzXuWUY-yWob`>?^-3RXvpFw!CBX*zS7s{zIuN@l$S9IEoo(R5?xE
zEF>r(s~UO8X<ks18~X(VD<w0LHL>U0^Bo^DZ(Ek@yC-@=@>_9@#ac=VIS&-x>G?X?
zr)mVXEpEAPQ-7;<Tg;E#O-hQL+#UB${#@yDX{AQ4?-X~2)&=YnS4JH(+1XIi>$nG0
z!)rQ#NyqtVqK|IZ&HG|;A?4tX(|O+KY&CN&j!ES%Rn_2Kp<nFiFjZYO;%?6@(+^rt
za&06M^^e@Xxwd!1hOo7Idv0I2>%s2lB$BjJHR8k-zR4G(SnlZsy)RmL`|U-UPA(_q
z({(OKO*SlQvG5X*4hY~VwAJ$Sb9=yOS;t>+>?wOw8B6R!voAZhojBe0Np0n2MXz9<
zr=ONE-PE3NQ6<+r+xi5fV`j>OyN}GdpTy_+IsRwpc+9e0(%Z_c_mEfcIhnUMkqN8I
zDwlf|1<iPGBeZk>Ve8aSw+o8XX0DiMIQ?F(qK30qhU)q|nl1v5+dU%~R#qIEzE;g5
zxvK8l(_S0-j@6UIK7|AqS+lfVlsxMdnW4?%#azV6<#D$uWTw9P%<hNp+1E~(zKlEQ
z+RWE1y?J`tuXEQlH#anGRdrSlRw=oV1L;H&B;7H_9WHyI6?xq)m~Gd+TH!ABS^Xaa
z<FbEye{ShdN`AC6<mz^oKOdoM**DBVOtouGQs;=9tLV|2v{TP2Wv9fct1{+OETV%p
z#9m(_GXGa`<HcCN`?(tv3r}87c1q6M@$jUOw3pYVr7FEq8|NijoO3g8aAexu{6|h8
z<jYC5Bvq}F?anoom#($$d+2$S_09K%4u9rNo;PcG*~!YTC!RfO)mfRpXN7cEEf(*J
zpCX&{??1!L<z7bRuUM9spE@XY^zNdqRw?1rH$5txJ>~N{foYd+oo=>NFEjH}w{AH8
zQ}=qt_E4`!-M5siSLW=R#3gg(k}Q`a%TucuzyA!s|1;d%bkFB}w~Wz|T900~OKq3r
zyt>=8Ul(R@DO!fjRS**54ESmNvG8C=P}1(II^UfFEVtVwbEmA;dNwVJ)$8&Ojg?wg
zFP}Td)h6QgYI8x?)w-0O`7=)M-&?t1%C4yzZ>BHxVh}!iuZjQ47TKGkmV0hZ-f*?3
z&EnYk<ms1xpIuf~RsR0!(x}4AOCB%U_$l%3+6$Ndg#B21;oJ`A?yVXTg+lX!*Y0Xr
z9#*naS2L>ZiQ=Q60_{gH(*kzKzPYwKO2&JRY=3U*-33=gwL@B#t45!$xe(&0^=vt3
z_yxDSr{}P((~X`pS5kPc-?qn^SK7no{ytPZ$#T{GKm1o?L%XLZ?X*6WnKJWLv(`hY
z0-l|+hR06o{AW0$<yjrJthlAv-z3#CP})n=E2#N#%JgT4Q&X!=cR4kQ1$l4;zGRV`
zpmlx1gTK>%d+*a)mws-7{b%im>$Zdnhu&#tf3yEq?8ji3?8c>nu_p@ZPXAqcU(}M1
z|7QJ`-H%pF1%wyL$Zz`3kXe4z&$;<q{9C;rtBy?(#iE<FT=C#<{cqE2LY`RIr~bS2
zzH3dUBV{H=z1^6!cIuYtM$3gJuYI~E`QIs(aL!p%_O)@{;MdiPiq`a7s;a`|aLj|%
z^W;C}*Q;mN|2zIK<(hVj*~?EBTTXlLmhO&P+-|ZoDyp0_@=%{;7w_)AsX1GEvP?tM
zl^$=|zFA3o&D!PD&b3Q>iA-IX?QudOpG9us*XtqK+2#>Ni}x)TYKf7Uz{SBH>^eQj
zym@yJgZ*J!S<|pLX1d=hCM?>%xnH*MR;Hx7m(Uglqw={2O0L?T?=wEkAueHEF1P*o
zT+P6lCyk<IJoU_%)NB>ebmhEb)|qeJxNvPxANR4zB{7@zq9m%EgYLIX>YaRk`{J}m
zot_cODc7E?P<bKAu66a?ceaHF-J71pE}atdY_p2yQ<I5uP9e7<bssXTX!0~neZ{g+
zp?PZ7@ekoGMUM)Y?loI(o7TB4yC!6Xg3#?Ar{Lb@%5%J8D*meQOzhza-Cp}p^w#Oj
z&XQR_eg64RxU*Pxi+(`et-XsZXZhPjuedj9{+$KMim8Qio%s(!xA9&q7nh%I<#cVk
zSemXLtHnC~sgFGla&_IB#Kz=l<-n+D6j`Bmoc*e#+3TKXkG5RS-7Oids^m1`Ql!^4
zFH_bG=Xym?e*>9(%hM<JerPm*USV;hd(AnW*FUFn3S8FBbPg0VecKdyd8RkJm($L*
z{~121J#Lz0;aa-GukNdLx0djlExSv~W?zsAF_S6OioD|GbSKbn636|iIs!t{$Sp>Z
zR~x3p$?S01b*^ptUFS>5Mv}orVpEn%hHbmDaEc<QRmj|vCl0F2`nE$keP;TmMK;Ip
z_A}k<xR7G<N_0xA!Q;H=ep5BHti7bS%>C)fE~*k-u)Cn^Rb^a^$G4MfkNZTt-4yVt
zjAxJ6soO!HyjS^~dfs6(DDu-gTf94BhxS2>oY?r<-Ah-gP5SMdCKuOs{N0uX>70`m
zna%pXQ1ZkT5$SG!mc(26e6fK>B{TEhdUsEH5x3Q1n$YH*%JOE842jBG3@k4>*Y7PT
zZ<;PA6_w&Kl}-2WbeCf{os@H*zGPuqo1v$v$r)xcu_xWq%PaHkcJ8~!TR*MgDOmYk
z$>7Zvy@({Edw(w%_)Tz5Wb`cj9#qu4J3u*r%WqOJ&waf~x)-BzXM9vUKDlthl!omp
z=9@~l9lutxbkfo}y;cEpCV3|=0oV4BIv)?|DAPaN`cM0pHD}~a4}J@)lgh?2XfCu%
z`FBWtSJ&rw_-=qND>27of^jbeo4Zc<cKoztqnYnC>{dL@*zTdrx-^wb+M!p1i$!=2
zkL=g1%PT8cGq@QvJ)bXF@>HdHN8@hg!WYUcDFPXGF9Vd4x#zr5**TMEOM6(4?1{(#
z&+~4dTL0cZ64=?}SrzQFb7f&HuZ@A*)G4YJ_b;D~@_WCo$?3FLE&sF$aZVvEJAzDA
zwG<}sd$26Els`}#!n0-iwI7*`PnT*0H!25Bn&iRqWdhgK#y|eo-RFAqSbREkD%vxU
z!!fFZ*?Q6hPx}K*zO~Q=V!~%8oId>2WYLoT1(PPt{m<~kx9rp6{|u@7cYMEEnd|S>
zb)YntJw`KV0$YK=;xA2B4y)yyWfS$^<sWpZD}pM#JXQX;?%(74_E++hw(Q@zpVbmd
zJ0JcGm725SKf}%ZceY=DpGaP#`uFS)O(?BVLD(36{&OMqZ?=Dz`vtS{`g_H`4b#7y
zKUfZ>7e4%Xs{ik_e~<6`L6!b}Vt7sH-?Kj=Fxtl6GVnjcru%oQUqY3}?`g9-6o2P_
z(;O(>-u_(6{#*3#{#uyQ*WV``kMRCI`$I644*2lrsr$dv^@Z=3LzUKjl6cKoUtGsk
z1f}H!*H!mT$@VH}ZOywoCp7Hb<JW=JMte##m2N3+lM$L<uI@M8B>CU(Np`EAt+I&e
zHvQ1DTg%d+kXw;Qz;7yRveo&kUqgEC<(hTAdfaRG<ayY;!`%*L-i;gD%;tZ(uxQGY
zt#cj-FMqXe)zT+BxARH37U{gaAf07%U}vCoZiLpO2uD4|Ovy`&FK}KcDB$JIO1_n2
z6eyMxUAy%P$6F=iw??fDr$S_M6dh_B7ED#)J<#ClsdO}bI`596+<>^Q%h7B%i>yRi
z%%{v{R7p_Ra6ImAXdkfNen&x-jds6qcJuiYb+*@To}A<o^j)OkV%OBfr|Di!6TStA
zuAZ}W%1f=#z@51kTMxHq7uo(aE7JF~&M7vUGSk4PX>-fR4MB2O1eRuVDG0AgQ@$qi
z;A-pZXtV7()2`mW8MkebmKL{1*x#3K2K<)M2Y&fq598f%TDvmW<d)c{ue+8kVcMF>
zd1~M0rJ9oV4$Lps>lYoBoNbc2Z`u9Cm;BapOgmI{Z}_NtXV`y8m};_N*_9<LUD9*j
zF<$Zb((M&8+eBm?bJ^F9x2;aOo<YfTmA@w}FXVi2;_mKJ_Ee;)IIf>z+BUDd#U-b$
zFj6;Mo~-)fMRe~=tI11UQW7S)S@9O%n!Wkn58J#MN4GYz`R>(BoF3tBWWB;uH&c>P
zg{5iY?pam^TK!$of`={7-PbwiJ>$u>@a$=;lP5Xrvdv=lKIt^+1V4Ld(~<|1)*g(s
zthggpb^G8wp6zTWo}^f(r-m<^(G?JX;g71t^hpz^i*I_Y?8xfHRj45ABJh=C+w2_C
zrG>g5mDh4ym}+z?z^P=Rg@mkBbWZXsC-=X~BA*fqQtwG^IMU7Ip6}-#^29HOWfHSj
zF2h@olMz~e3@Qz5g;So(CqLLD`Nw$TmItRN=C~H!Nz?xD%|}CXb%AGay-KTy#e%6k
zttyiyY>~C@^s!kd8<nEEoSS2tuhSh)tDvRUB1?oXaB>DRzr0kpitlvlP4V2-8yDLt
z_K2yj_B$6~d205dts*@&ix>hFmaJ5f+OXdK0gq(ZIj@G><zctGvu@lCH1(f$S=U;j
z;bi%&AVcMU{>D<pyIreT;gk1x7%W9-11f7x(2Dtt9bPZ`-v<8E(mq?CSywRejZaOu
z_NApI?%!7YXAl*AwjaJA$2S_WsP{D|(s0Y7%{G!-{SxdIU-x{wZO*w`Andl|qNyGw
zOP*}sa*#zwHu{rY@71~UbEieNrMfsRSQdL>$CcgQn=h^{IyEcoD2ukLw3EyWMwj|)
z#xF${9N3++Q_1@5zAGoKa<{cT)xDAx{UZ0fPs<9X1zW{VZB-D>y4qK^aCRTNn@@4I
z&Vk8X%G()sob_;Yy!o-rL6f~Ic!Go9TZPO+UM0Pz8aBV4=1tu2Fx&9$r`RIbeF^%S
ztxK=!I=s29#j?ypVeY(%(<V)5Zd#;u!EL+8-$i=P*QRb&GYXQJGP~&5%|kb@ZM73z
zvcxQ?rD@~2>r*BPxNVyvA;)xE?Z}+dlO}GSa7XCM-?<wLw{7Bdx4b@Olgb*AovjN5
z&qbcNVw%4aG*8Wct>z{3e+Hv{Qm<Vjj})uA*Dp`nw5GPwYx3W#si*co_<jFvplPz#
zx~K6UYTtibuJxax`F;IXA)U<7JFEZk@BMcLBC$}+WYxRS{|xN+{xf71t^Z;7{dYjO
zRA@O=y=C|x`RczbTzj>4Ppv=regCaF5Y0-*rp7`n@q=j=#ITHG<I-@5k--qnEuJMm
zH`ULnYg?7QF65rk1-J8le8sCxPlgt(do6!*?pyhni*{u1I{qoW+Wl9?!qria+cUS_
ze&RKe>%Nfjr|avydp1qce3~+6P2*IV6?5jV`CEF^s{{X(4}MuXObCS*$0%&tUugC$
z?}N-7ktGr*CN;eXDqfMvZYg0Y@5UQ(eLnXbP8*@Uk;;BOPv4#_7dhJ29u&_%Q*Y%`
zmgXrF)@onfp~CCZU}X2)Z%1X`mqOiXu|6+ecD3vAEj)TmGh^o>rGTJUesR*SHIr97
zRovi^duz7nPyeG?-g+MW%kwVDu;yk-`YpU<WZv`T%GYNZhHJyjW`s<im3n&Wk?Cr2
z^V-e@t9ml}_j+G*`_R*{{+?!Jz**ITNx?D_J5J6os9d@JL+0ELPtC{~6BX<ia=wTX
zT^u*TBtbNR_ehn#Z1=VsAE%Y=j_vDRaCOVY^?r8O`pT>d_b*z$-fqU7e4VH&@7EdX
zEiausCM>%YvO3A6iIHK_f(eZ0ih?gJ;_GfHdKMMmS<-Xs$+jswMFW|4o2)(VWu~R_
z?%YMroV>f+v{YE;Os$XS-E(<$Detb<l}j@UH3L++4utVvDOfV6)}^-e`5ukB+*v#s
zy8e~Fmqcf|q%VmHm+m>i=pZ)RBV4j%rKVPHN?&pEzpd$O&CO=)@!YYjNP3&}C$T>h
zUhqttn&UQUX}aH}P4_tOgam(i)LiQI*;2ey-*Nk{KWpdid}(g9T|H*rwuUXI4r}Nw
zwK~+qbs*z$k>9(7W53R<^x7DG)$;6`!;+hR&o;WZ+@#mt)61)<ct?Z#6)O#^6Qw5w
zZ)9dT&5iV1x?}}|(9)8W+W6SABAfGZ$(!Y6i#I>_kpDUL!}Tbw&Q)>lGhd%6OMbju
z`OMd6)`lOiUe%cDed4oiW#5^ak|&k(_8d>Mv)Z+kYblHkGbJ{tHRu!6L`%8!^@cb5
z`_`>=T3HEY&*?Y5KI6^t<KZC-L-s(~eo)I+uL{6sai~7j5tk=EtNJWE<HxI4Q?xp7
z2q`Vmy{T(4sj$T;p!h#St=q!Y*~`yP{`2^YX)vyw8#GmbxSj#lP6K_q3rKAYR!uMF
znv)yj>{XXe)u>ew(X`%wrfb_%H@nmG3*N7q6)1LR#qpcP?_|Hgg#x<sLXzL?{Lc5Q
zXt8|i`5om~eKlOSYZ-ov`Q2V?8Q8z+`5o(5%cdyZo+|NMulDf1IS>QB273wSp6aQc
zZujuMAJl-AOF3XxEr%Kqa;YU6YVKvI0jn~dbaz6`eF-%n)MTOTWi@lf2`#D)t?3o(
zq=LG_OZ%Uk`_}*EVvOnC<e$cS7ymU0G|l!3T7*1(Mk-qweVROT33M$~!q0X5n>K&A
z?0N`uOfhb%HpcAAs;t{cYiJ|<IN^J}MNpHAqe}gpt$!YWg>EycS?J2`b==EC+4Sg<
z`>!?QTi3I)UlEU~Y+ZYGW!CLorW#KkSS(<_!>}e;@N|t$QS`cx%g=u9GJDb%6?8Lw
z@|ACG*B5ANURl>r*T2?V>yBHWvf(D~sGp|-gFa3Q@w8>&n;bvKOYe5>(V4g2mfiZ6
z9Cq2QH}ZFs<<6JK-gWVt7k#eW`N8bTmoJ{);(UCkX1Gjs<K(`%q)}FPb>`;7UFR+c
z*_Th^wA}iT<))G9KA9a0rzyv;{V=;@i8_C3;k*;}+L=>Vztp_YeD=IWw)EzxS&wI1
z=a>|}`M6g{rLgC@weOubufqMR{I3UD=QRA;sQbcj&Lp8J?9(oJ9SYj8rPn2$(LsZM
zK|@tWpY)ebjk2p;CR2|ZKb<D_JJT~dlV{hv;58yorX9G)_o!};U~J(`Q=NmYLNAR{
zmgb(Cnww@&dEn9^&Y*eLic40gCNOxN(Bx$FTq|-SFi$XCEGI4Hc%12$&xsjfd~S|+
z${XrWEts6P)u-u<WY~@T!|8sftk<aeZf|T{s*;c(#Aer}EwN89?&+<R*xPeDUUnb6
zu{~LGn^4f>Q{JyMRU;KQZ)RvbcgJAK`>V-n&&#r27EjWX|FBW-qoS#BQm>Zt$sX~w
z5mySgY58##6i-^%(rd2fa8Xgl&1|NoMy<8V!z+`P3aq{J!0TE;-PF~uO~0)O4Bc{7
za`Ki^eSO`&;?B!U-CqY>=#iVaq}Hif=j@^9N+IFBC!Z)iESi~jW9han?%qxg-o2BW
z*4FRvwCb9CF5G;v%v!T${}~chwM+9RAH1p^bl?P=r9vJ<0(0Y+2RxIC{0{C;VOytn
zC%PFlaN4f2bV+;I+}m9nCt0q%`-lCi+u8{d+og*QlFeC`dKgZ)<m{?-Zs8K1geOmG
zElngfr{A6<@p*Pyy{4#Xer5ZO+y(WI<_CN6{Aakhgr%uBHTt}zmuTg|nc<v*&$brw
zvmT$kDZgiB(@)1-?!OOGrm&`F9gukTQYHW7M%PWuIbMkZ$*ME6qMmG%^6)+taH#8;
z!6J80Ths4+BGEM=uC0<YE?%6=Yjnd&c=F^1bKWQOKQA~PomZZ0CHyH*IxQ{s*#W_C
z8eY+vn-!KuG6zQ7XnAf`GJo>wIhpUuUmE|Ay3BvZx!?Oi&B{x+85O-Eb0<ulz!t<A
zyyF<-{jYgnL=JV$oj2o5@9b5T5;?^&VQanQgZj2U`7+o2wJF2qsL9(e=eAiKyPVr5
z{QK-Ovsv5ouP(LPe0fRwqK-!!D<8MqzcTSZ!;gut-tCi4T{i92?M#l~Ro5O(n!t6n
zVb1(D4>cu!HT+urt}AHDf}vVE9bWr3GP>$oZ>Hvz=2o7+3V%z&?`rX>iodbFb^qh#
zPS@Z3W!wLh2wz(8D6sDE-L?N2WG$w|Z}^^Ff85b_#HzdUh3nnMKQr%L{5MOxZTFgb
zwel_X%evIoW_pD<AuSHa)4#+jMW0URvgn+JS&oI3o(d0{_w6g$_)_K%^S()TMeje)
zzqV?<@ZFZfysloNX3;PEWwlwBXf!R=crVH66t*WN>*5jtj|E#V9bZ!Xf$vvl@+He3
z?6m==hg`JIaz!oNvvX2xNFwW0Rc|4|^;tK9x`Ik_?mQP_ytvzv;giF|tQ3dT=SrTH
z&+kuPy5fz%7K77IH$9rLNpu2tr3Y)u>LR`m%%MyBJ)S?1{Q|Y%OrMb5`8RLZ3GL?Z
zu|K(D)|0Xj0Z!f4)vWGCZl1sV*dF*jmXQ<mOw&GlM=ECZq|{|v%5HtrLY7Vw`q#Mf
z>2giSKrL<NSq|skI<A762z7E==%Ho8O4h6Yp5aqA^I7zWvvBJ1!X>&kmmDvJJg_+D
z<u=LP=iBVZ-?iWT&^uTq(Jf`Y+meIvz;=-jHcwW11Qp!k&{VHfnA5}%d!o!F<J`Wj
zyMk_Uo#5?x!1H(2L=CqSy4e9I6&U7xN&fMlLF&P-pY!rJ@BGhj<$Be=oc`zGFJ`e#
zvsIqoP=484ZsPd^)~}l08ofTfL3i5mhsSRpo2YnP<yi3jPghPkFzP8w-kST<mT7T*
zi&x_E<dZ!+#nn<j%1&`$nDFd`?Ud{QPHE#6t=ffL9$I%oq-=Gn-0d0OFM}9<Ej30f
z(MWmM{yPUA8K<1mQ<yFpQ!eFn`K*epsvmRDlO>rdB?pTi=FFIIb>pTpKHr`kah@or
zGnH*#b($Dg?B)Glmn?5`9Sq>S@3<B<@B%j;(s+L-P{eK0wAk7cXHEyWoxDE#>RJZY
zY?hom_m;HGWoLP6x$a>&$MajNY9=1H1ZEhi?=?IY^hxNpLY6~*)~&9-CGXFfFG+an
z%7||C{zDpXV!}m^O<ERJyW_mKhug{Jb1pAr5zSV4D}8Uul-^{O#E7T8hx&h%ynVFi
zPwUAU4OiU0iflOiDr1MErG>Oj%Tt%tvnF3)_Jt&*uS{{7$K#w+(^D3-imLGba@wA6
z@6=lGp{{y+9Ph1n`b#;hV%+8zYOttidT=SEOzxS#Zdv>1)$LpOTe`SKx1ADOA}&5<
z5}$ze>*tWDda3+e?>~d(-z<Vr*7TnNss-wlIYh)^=!bQp1~Uck#=lD_l-!gmF5um>
z&bn7I^VuZ6Ny{0J6$P10vT}y{4VFnx#{7s@Q!&lS*(_|k(@@}vd$+3N@_9E~o2Hk%
zzqF;V%xOaiQ~A|y8Ku6zM+IFnHB+zO={d8NC1-Bs-lz)<VH@1eo_*!vd7;2Bc)}jk
zhz`4x$LDx+X?MxVb2}$*?h!C)?3uK5rKYTMSyA}|0Zx%g79m^h!kLram`iQlb-2r^
zF-X-jI7=m^{sN<P8^2$bhUu<|FMV~4_XAX)%_)6i7FOoP5g6ofe~EV4=Pw%JcZ-~V
zUOjw^{g5krY<a{#pZ6L68GJ<#$6m9aY<<iAva4{|mZe&XUO|oIq9#juv+|$(FC%Bz
zWjDWB^T*`cEVMPUCNZj5M(bV%Vb0YoTe|~(TvKTa(!RNiK^{L(?>|=`wQT2&MfcQQ
ziyquITDakIr@<2=nOr}O#ojZlx2mWn<eihTKKAF^KJ}f7#|4#)f|d#iMFc7cU!0q4
zUs{v%&TgytX6@sSfls!J`Tv`(IAb>Fog!|VcpdlC(xS>~Q`I%C=ER#UpR?!v{Z$rs
zL??5uSZ4Y#DOzjV)RRS4Axq5_AH4c7v8A2St6+`DJ4;6v#`4WOeqD(>vtHJ$Tt2G%
z=G4av)_<!0&v4<MZ{hm?49h<98E*d1z@5I{ul~H`e+H{3y9yjv&z!bhrsvh%9ctCN
zr@Q1*G~B(V!g`$}4g|G*dFX0uaUavnB{sZ$Pt+Ff_#~YW{q$hrj*S;i6)JiJbqSd(
zs5>$UEZ&nciPQGlZkH3&GpB2Q7xAtO=Ghc<r*@Jw@5)0ay<Qg9{!1p$d4G`8Kkpo5
z!lLBno!Tt@wD7*h($6;c(~JKztX%iC=BE6)^%qSem2`d@&P^<O%(A1Y$t5+NCHd|3
zlxD?TvyOKr_a-e`^f<NhoRz`CzAmoSOV`!R-eTRmt0d#Rd*U;$6xZOBQ8B?;=S`0Y
zIA+wUFWZs+!Etr#UX2M)GKGEi*}Qt{%D3V5Zlmj#bDd`iICyZK(DYPwR}HVW?qBQr
z=G4c_>4jfc?422B#pQh9#yh7h>3+p+tovfbrMqQ$mJ5lrYAjSPVk!|}<gz~IsW6#2
zh9_9;q>g*hRX*?a$11g2vv@Xf>$MB7WUQLz$s)5};uwRa)<sy9`_4UnZPB;XiWi!?
zfB5_JA2Pl3UB<@!-oxt%OW~sJUR_P|Rh}xWjo|e1V{!~+c=dXJLG^UA{U4)cmu`#U
z|5>$h`_0e4+)v*8Qfv8AVl^++u$QpdXI1{g-}jw!dO2r<_xkOMNB1)Fo$$IaWeMBe
zz-Q{b%gZK}uV`g*^yz$X`s0<;8{Sn*a+IaT>aZrR)PFlgi1R>{hlf|+l6RJl=UDfl
z$58X5vw2UtMfcs@dh4Ub+2gk|FRyoUD(;z+E-SfyN4?dKYKI>l%b=P{zYAISh+lcV
zqA+jgnkmX2GFO&MocwJc%bwCdXZN4yUsqWZim^5F!gnS-?wBa48Pv(CqcMT=#kr01
zckP3x?j`dNvaJ*QvdDSj5?`YqpI1*6u{yl&&FPqDrF<EVj0)NcOI4=IOyy@z-pRQl
z&!+8$*w2EPJe?AwIUYeGi&}b5a9(g=(ReSZ(&T#&>SlOSY__`2EOK;{x8R+v&XZn$
zoaePLs#&M$^ui;r9O9Nva%9&&X4t^zwS4;rJKOy&+&j%?Na*iX)D{pt)^%4)i>qex
zl%}l-s+ty@tS-!}-osK7EczYe56SU=dM*~WBKyWGY0i%pS4y*vTWnux^Km(6SUIas
z^4#5R_RJM~%5DgMYKv+(T$x^xr~Il^@_ByHBqz^1MqCZ|m&C&igQq2{*OTPWt&_W8
zC!`5W3AIQ19<zS6dL<LRE?br361%D9F{8Tk*Bvjyi`#<hu+bHlt7|m}{m^sByOmpP
zwy+7dtZ1CH?$?i7i!YdeUkz)-E?zJ>tKZ@Ny>-8G17Ar0zIs36ok+~Gs2`r0)6TRm
z<H?w`#4n*{x}?_)uPOE2iCF~+qOz>YPs2st37+Xa<aym?ZC=#ETg#^<v1WRobBnfi
z=RD?kW$88}KC@J3#S*vQsAflMil1J))?97bDw);;Svtp;m>inrl&pJo>Al3L&LDxy
zT`byl4wrY&l|9@lbR#o6k%M=CX$;5uWy+g4ymK}EG&VJ_O|iPX;_mVSu6yhjYx}Os
zHSXUV`vvNwm1~95?&>Hx-FmcHbgPs1#cK^-AxoAXy3`TiwLyHroQ5^&FW00_`)hSO
zDdwf#x|p42zjK!ETJ(E?rRH-1kMyWEA(OehEw2<Bmx#1Xd^tO$itXRm^2<;U96h$@
zj=JY&PR3^&%VSC{kH&V)^!;cabMEB10*}CBoC?!E*)@oHZ@u=sc9YkXZNYrC3xD>S
zoD3>?6_O;d!ILY9se@bM+|uIUFKsXrp}`$F`|Q8a-KTWBb5>8z<(PABgWqz#`$Zed
zmw)$saqwRG-vImiU7Jhhl@<K7l09W2YY}$!?xqOIa|Ls?s%^Qhm?v6X@w)aF5_7(*
zY?<q;cE7R;a6RTd`EG()iz=^T!g5PhSBK~7{~0>g9S^xB7sbqRD8%7pcx~AB=bd)v
zuK#C9*WTxTF7{vXuM1`?zVQBi^?n&7Sikl?bUl^2zGd3XoD)$A$2zrKp0S@SoU*oM
zrTdR<V$0bW11|*Gg%<iflsR!nWp0VrwWq6OS5>AdgiYD=Bz5zaf;lO&UeU=4kJCbo
z#9i{Yp_)BuV$H5wmy5Ep7M_S<TXd$%*++AUn$g{;*k__ErYiDUEO6TXgx7lK#XA;(
zx^2_82{hdP9(thbSCX|t%eG5X9(8M2U2|S*)qAU)VeNzBt{Z3}FzcdO?xjO2y6dzJ
zqeE2o%4V=E_410*)o5i|%~-{Gg6mk_tYeY+m)CAnJvZsq)6<jlx1EY!rN4`L(!4^J
zw$c@e%AOZ)_$}g)a`f<&o4M6}LH_&jT4>;`iOD{DsARUm1i5VS(&NE%LT_|Vxi4IL
z=FObvEUhvLlQ{F0UofWZj?F8-t+LWP)!_Lp`5BjermFibbyMVKnXptrqhVvut8i0$
zk6fsUu;A`~IQ7=6JJNr$lWwMW+~Qd-wrI(YwF@d0wr!c0G;x#Gi?Brw&uUh^nqE8a
z>anQXf;)PwTe7QrR&EuK4ZbaZkKHs;A@}mx3u|6jA6u6hwHA^VUP2w8bosEK&S^b=
zo_~*cj;pKApSrzouc~g-`bm4|Oq#IviJ9M9t;OcQf9u<&o9Etio-4%tGQo1?bvb87
zSCx5LLEAeexwND=OfnTRgJz5C#zEZgPkK5DNEIkr74OOL+WutzQn#h+JfPLtqFt|H
z(|7BnV7-5hSzDKC1|qMxB9%>-rTmj1x#3FbnKxqdO7qs9w3@bPai<>R<UdRsw4YCo
z_%dmC@IEb0ao*N*Sy{8sv_(aG#Q8nZS+XK|aix>p`$ySRck`~@rfi_N(C1jk3SF~J
zVG|BDF->q((Ga+0Ra9OtJaeaMzo+(A>qpDgHojCXTV4|)FZSBSI_|<Te$Bkc(VJ8(
zez)*Ew7L^CbxFzu<AxAF^I1P)yYB4viB3q(=oQrPshxe==@zHo#HB|jY$$nZ$*v;A
z=V)pUGwjJVTa|TJ-gh;56x?VO6<ln-a7jADq(z>VS}N~@I#nilg3xvD8ksFy#k-Z%
zrtR2l=)kA1nLBCGHNGN|NsF8suki5|u~}ibQsDT;=tUjB&BB%%{G8A(Q<<l;BOv<9
z(iKy6UIhAE%;90YU??NU7nQrY<;Fy_BB4t&y-s(BwM_{s%Ve1_g=ykaW=_Aq3MtQ5
z!-B9VTW(T#R{2rK(`65yF8jH9N>XmqEnSPbi!MzU+|QV(!kVcv<++uos)hCIY36Lo
z+;304)Lmlnq%)&-t)2$c6r)Q)GJa3iEX@d-JYlWMlZ44(b7mc1GWFKnkHIh-_;!V>
zqX$dF{dp?Ct>gdBS@%=kvi#@y*D*aVX-3z!eQWh*(DW|!wvasVT=?t!efwgYE}vU_
zb*FmJm5@T!14i`?VXW+z9&Xrq);G9v!fEeJ?vr;~r%dH3$=7hd`^UFvd*aq@N77hK
zG-q5CWnFg7>yku(LlB2bE0eUlpWpjO#TfC^{OE2*d-g4fgHLtuWS6<L%NI1xQIGBl
z+R`(Lt$?fZ*yniejnUIHyK{Kf3NBLR?B86O5$&jX$z;bQF}^v=6`nLXo={r`i)@(J
z13dYp1(X(<q<t~zc_0+xsjliW_f;S$#wU5I%zBvLJZ;*dk0~yfu8XB<FdluXyD22<
z;5nyBAszu%jR(&;91lkit|p0Z+9iSVX{W9%lQ$B0+^>6dIv01<l&wNb=W=O27jA5@
zVpDEDc-nVc!E7P5b52pgnvsQB7cO=AomH45)DUE{AW`%F5}r9<VUg|Un|#UZt>2Fo
zmU(w%w%j)@>hawW?YdleOH|M!^9MRA4Qo{<&3W#rvYfrv<89ZSzeoHFr%vChn&nZM
zxOA<>rLAUsts03IL5<2@1(l11F-*0S*?ge9Cp+0D$vf!o^VM@+SD9!pFEjIfC*3#q
zaplR=HtZG0wizE&*{XZ5YUjD_i=B3rC#T$dxZ~wL^ErP%K@%k0jYzG-lWVFxV^`i6
z^_DXZoV4LWylvE!u&p|i8>~Fl7jSW|9<rs~i`wrk?GB|0taBI^f4x!zJ+f`$=jrux
z{%w`Td1|Ax(W|@rw4VCTn{n}CZ{D77E$ZsbDsy<B@PA&vYQdg8SL6hu-WlI@HajLU
zVd|bw4VlZYMDeb4dFOda&Li-^bCKuT46SdhSC@0Fn95a^ay+iY>h!G(Yh+{u3d)=8
zPc4HSEw`rhl#li1YjvLUwz$nM4N^JTu$Re0P*x?E{j`Kr@Je-s<qS(bo?VYpkCA`a
zclKt^(vMa_DF%6bJ6`rodXa5dl96h`GvS%r!rmu4o811sJZ8*i_h-{(-6d;}i#?mN
zP$6ZK-vfqU+3z7o%k8OpSY)hgzT#QbkKNxg`)pe8PW$}GDQN1p_SuJA%1zokQ)Mm*
zJy2LGTCnm{=%Fbag&v)2IoUCT_4Mjfg)drpMW?uP2E}`A`fyug65pZ_vr5Jn=lpba
zmssj7^jqzm89YNfjBA74=9U$YU$MVhe7Pr0ruJv*vS`ofKHamLP7Wtk<{n`DaxJ-4
z_t?{UT(+uTw+NSNcnXQ!@|r69R-wT`WrYeu@ti4NG@5&+S43YsecLH4Vq)@~xZKy1
zme{DUFtu1+^zbP!dE1$}_s-RKhm#p!`<>HK(0!S@WvVKpcQM0C7ggo@OP&n;OD4uc
z<Jk1Mzo+-fNq0Oyr5*Iy?bW?WEM&<^W4EhX=ghJgOuQXbl$AOC%KzRXCUoUmQBNG~
zn-T&&^AY2?&qBx2<1?b}MonA0dvQ>oA9EK&?E$Wr>%8;NhQH;n2@Qzc_xq6Z0;>&7
z=NJNiy|RNI=L#J->T90$_>hKK?|jXB%7<<}Pd}EjbZ^D6!WBJ_mEVirhPWXz>|KFQ
z`R&uwS6*DOD){Xx<w<wF6ORd<Vw<Ar&Z2sDr6#+k_DSXlwaKm5g?Za%Z+YGIx$MK!
zo$YFRTwWj6a-_B_*5APuz^yGInUjzmD)<8R6vH*#ljfG?o_j0xQuW&HJqMDs0u`n)
z`>QELa!OATnI3w10>7n|r^>gRs%}+ZUQ8~Td^#pCNTx+a)4^c6n3Ps>RkYt36X!-v
zEmfPxYg*ZM5=xYvo!2?%i0oYzvMuE0gFjPaBzzCv)Kl|od7N=;g0QIb_r+<Gj64|x
z?!Av(06lAS$KyS(H!XWB6ZK_}&|EKd=CtO<e<|}nuj_gO8?Dt|2cLv_2w!g1xjKqw
zOEqM3nsaBSwkzHcyjx+?VzHc2y~u6y<%^B~89urmkHNArNmAhL#OKaDx04i~+VrZZ
zJXH{!TC@H)&-;T)d!B!TZM|QCd?eTPc^}G3JjAt~H>(;-ZcgRot~}7-7kzi~mv^S?
zKTSG%J?!0;zF&MV%Qbk<)N;?3)bj3PRlU;0S7ntY7rMRbPy9Lm+Tx#{Nv~IzXSvtf
zEZJCkb@x`~eO)h}MwhQY`sc~_%Tsgj?HB(%`F_m5pom?s?%tYs-(OQFwlwdp$NL4N
zsxU(0`q{OaMS@WxB2(=?a<MD)F4}&@4m051O)qM=bNs^2jgyw_SP&HJq40e1vW2i9
zzivNen%=JMWlPF0pYj%ujouw({ldyJ?C$H2^_I3@=&tJP$Gp<*_vSqIQ#>Nc%;k8(
zez*JOz)FlH({v7=xz1zCcH9oyh#3wm+-^<ngr`!tE)J}U7fNS^slx)~<x|z}b!+dg
zl>MTd>vaS(0k`C?jF=Bgr^{jCd7*c!wlG{L++x9POOt9~Nq-(Jww%natnr8GM8w3X
zlM%&4OAd4yRMHQ-A6X`8*VdT4)^OUla7V(IzwG}R9-DrJ1@_l3_qlS`noYaC?|_p4
zQ_z&t4h(z^Y*{UqOtGh|U#e_dF1Y!eySc5!`OBBT$Ryi}KL5`EUl{!&E-cFaJB!|}
zzF(j7Z}GgC{Pa|r%rcd2N(Pg*#c(sc4d1Q&@}7p_yMneSTZ|e$1++zZdw2zyt12@u
zsh|JzO3lu~ul<F#SC+b17Cn9~_o#a1>FM$j--Yjb1&j)ehQ~l9hgIh9Hm7V_7FQjd
Q^-?OxzW;)z7ytj80J-PiKL7v#

diff --git a/src/bin/pgaccess/doc/html/tutorial/newtable.tga b/src/bin/pgaccess/doc/html/tutorial/newtable.tga
deleted file mode 100644
index f59ec20aabf..00000000000
--- a/src/bin/pgaccess/doc/html/tutorial/newtable.tga
+++ /dev/null
@@ -1 +0,0 @@
-*
\ No newline at end of file
diff --git a/src/bin/pgaccess/doc/html/tutorial/problems.html b/src/bin/pgaccess/doc/html/tutorial/problems.html
deleted file mode 100644
index f1f535f189e..00000000000
--- a/src/bin/pgaccess/doc/html/tutorial/problems.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<html><head><title>PgAccess - Common Problems</title></head>
-<body bgcolor="#C0C0C0">
-<h1>Common Problems with PgAccess</h1>
-<a name="connfail"><h2>Connection failure</h2>
-One of the most common initial problems is the message:<p>
-<samp>Error connecting database<br>
-Connection to database failed<br>
-connectDB() failed: Is the<br>
-postmaster running and<br>
-accepting TCP/IP (with -i)<br>
-connections at 'localhost' on<br>
-port '5432'?</samp><p>
-This usually occurs because the "postmaster" (the postgreSQL backend) was not
-started with the <samp>-i</samp> option.  Usually just adding <samp>-i</samp> to
-the command line that starts the postmaster and restarting will fix this.
-<a name="libpg"><h2>libpgtcl not found</h2>
-PgAccess requires a library of functions named <samp>libpgtcl</samp>.  This
-should be available with the postgreSQL distribution, and is usually placed in
-the correct location when installing postgreSQL.  First check that there is a
-file named <samp>libpgtcl.so</samp> (perhaps with a number appended - or
-<samp>libpgtcl.dll</samp> on Windows systems) on your
-system.  If not, you will have to download and perhaps compile this library.<p>
-<samp>ftp://ftp.flex.ro/pub/pgaccess</samp><p>
-is one place that you can download precompiled libpgtcl libraries for
-PgAccess.<p>
-<a name="spchar">
-<h2>Locale specific characters</h2>
-This problem occurs with some special characters used in different
-countries because PgAccess did not use fonts with `-ISO8859-1' encoding.<p>
-One solution was proposed by H.P.Heidinger ( hph@hphbbs.ruhr.de) and
-is very simple.<p>
-If you look in the file pgaccess.tcl, you will find the fonts declared in 
-this manner:<p>
-<TT>$ grep -e '-font' -i pgaccess.tcl<BR>
--font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \<br>
-...</TT></P>
-The font declarations should be altered to:<p>
-<tt>-font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-iso8859-1<br>
-...</tt><p>
-That is, inserting an asterisk between the first pair of hyphens, and changing
-the final two asterisks to <samp>iso8859</samp> and <samp>1</samp>
-respectively.<p>
-You can alter the source code by running the following script :
-<P><TT>#!/bin/sh<BR>
-cp pgaccess.tcl pgaccess.tcl-org<BR>
-cat pgaccess.tcl |\<BR>
-sed -e's/\-\*\-\*\ /\-iso8859\-1\ /g' |\<BR>
-sed -e's/\-\*\-\*\}/\-iso8859\-1}/g' |\<BR>
-sed -e's/\-\*\-\*\]/\-iso8859\-1]/g' |\<BR>
-sed -e's/\-\*\-\*$/\-iso8859\-1/g' |\<BR>
-sed -e's/\-Clean\-/\-Fixed\-/g' |\<BR>
-sed -e's/clean/fixed/g' &gt;pgaccess.iso<BR>
-mv pgaccess.iso pgaccess.tcl<BR>
-chmod +x pgaccess.tcl</TT><P>
-The final version of PgAccess (1.0) will let the user decide what fonts
-will be used through a &quot;preferences&quot; dialog window.</p>
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-a name="pg63">
-<h2>Problem with PostgreSQL 6.3.x</h2>
-PgAccess 0.93 and later may have problems working with PostgreSQL 6.3.x.
-Changes in libpgtcl have been made to remove these, but if you are
-using PostgreSQL 6.3.x, this patch will allow you to get around the problems.<p>
-In the procedure <tt>wpg_exec</tt> change the following line:<p>
-<tt>set pgsql(errmsg) [pg_result $pgsql(res) -error]</tt><p>
-to this:<p>
-<tt>set pgsql(errmsg) "NO ERROR INFORMATION SUPPLIED"</tt><p>
-and the program will work. The only disadvantage is that with some error 
-conditions, you will not get the appropriate error message from libpgtcl.<p>
-<a href="index.html#problems">Back to index</a>
-</body></html>
diff --git a/src/bin/pgaccess/doc/html/tutorial/screen1.jpg b/src/bin/pgaccess/doc/html/tutorial/screen1.jpg
deleted file mode 100644
index 572b5077d10fa76432858acdf6ca127977f52fa9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 15331
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
K3>P~7-vj{srF!B3

diff --git a/src/bin/pgaccess/doc/html/tutorial/sel_tbl.jpg b/src/bin/pgaccess/doc/html/tutorial/sel_tbl.jpg
deleted file mode 100644
index 548dbeead372a0dceb54dc67086fd4d0056fbfbc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 15983
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

diff --git a/src/bin/pgaccess/doc/html/tutorial/start.html b/src/bin/pgaccess/doc/html/tutorial/start.html
deleted file mode 100644
index 8ad8c2ae18f..00000000000
--- a/src/bin/pgaccess/doc/html/tutorial/start.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<html><head><title>PgAccess - Getting Started</title></head>
-<body bgcolor="#C0C0C0">
-<h1>PgAccess - Getting Started</h1>
-<a name="getpga"><h2>How to get PgAccess</h2>
-If you have this HTML help system, you have probably already downloaded 
-PgAccess.  If not, or you wish to download the latest version, it is available
-from the URL:<p>
-<samp>http://www.flex.ro</samp><p>
-The home page will contain instructions on which files to download for your
-operating system.  Download the file to a directory where the program will
-eventually reside (see below).<p>
-<a name="uncpga"><h2>How to uncompress PgAccess</h2>
-PgAccess, like most applications available for download, is usually downloaded 
-in compressed format to save download time.  You must uncompress these files in
-order to use the application.<p>
-<h3>UNIX (Linux, BSD, IRIX, Solaris, etc.)</h3>
-The files will be compressed using "gzip" and packaged using "tar", and have
-filenames like this:<p>
-<samp>pgaccess-n.nn.tar.gz</samp><p>
-Note that "n.nn" will be the version number in an actual file.<p>
-First decide where you want to have the program.  A typical location on UNIX
-systems is <samp>/usr/local/src/&lt;name&gt;</samp>, where &lt;name&gt; is the name of
-the program.  To use this location, download or move the "tar.gz" file to the
-directory <samp>/usr/local/src</samp>.  Change to that directory, and 
-uncompress the file with the command:<p>
-<samp>tar -zxvf pgaccess-n.nn.tar.gz</samp><p>
-You should see the files listed as they are uncompressed and placed in the new
-directory, and now have a directory named:<p>
-<samp>/usr/local/src/pgaccess</samp><p>
-In that directory will be all of the files that were packaged in the downloaded
-file.  When you have PgAccess working, you can delete the file with the ".tar"
-or ".tar.gz" extension.
-<h3>Windows</h3>
-The files will be compressed so that "WinZip" will uncompress the package.  Just
-open the file with "WinZip" and the program files will be extracted.<p>
-<a name="putpga"><h2>Putting PgAccess where it will be found</h2>
-<h3>UNIX</h3>
-In order to run PgAccess easily, the program file "pgaccess.tcl" should be in a
-location on the "PATH" of the system.  You can find out what the PATH is by
-entering:<p>
-<samp>echo $PATH<br>
-/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:./:/usr/local/pgsql/bin
-</samp><p>
-Usually the directory <samp>/usr/local/bin</samp> will be in your PATH, and that
-is a fairly common place to put programs like PgAccess.  Other common
-directories in the PATH are <samp>/usr/bin</samp> and <samp>/usr/sbin</samp>. 
-Simply move the file "pgaccess.tcl" to the directory where you want it.<p>
-<h3>Windows</h3>
-You will usually link PgAccess to an icon, so just specify the full path to the
-program when you create the icon.
-<a name=startpga"><h2>Starting PgAccess</h2>
-The easiest way to start PgAccess is to simply invoke the program by name:<p>
-<samp>pgaccess.tcl</samp><p>
-If the program has been placed in a directory listed in the PATH, the PgAccess 
-window should appear.<p>
-<h3>Starting from a menu</h3>
-Most users will want to link the program to a menu or icon so that it can be 
-started using the mouse or other pointing device.  Here is a method that will
-work on most Linux X-Windows systems.  Create a file named "pgaccess" in the directory
-<samp>/etc/X11/wmconfig</samp> with the following contents:<p>
-<samp>pgaccess name "PgAccess"<br>
-pgaccess description "postgreSQL frontend"<br>
-pgaccess mini-icon "mini-pgaccess.xpm"<br>
-pgaccess group "Applications"<br>
-pgaccess exec "pgaccess.tcl &"</samp><p>
-This assumes that you have an "Applications" sub-menu.  You may prefer
-"Programs" or some other place.  Also, you will have to create the
-"mini-pgaccess.xpm" icon if you want it to appear.  You can edit an existing
-icon from the <samp>/usr/share/icons/mini</samp> directory in XPaint and rename
-it.  When you next start an X-Windows session, there should be a "PgAccess" item
-on the menu that you have chosen.  Clicking on this item should start
-PgAccess.<p>
-<a href="index.html#start">Back to index</a>
-</body></html>
diff --git a/src/bin/pgaccess/doc/html/tutorial/tut.html b/src/bin/pgaccess/doc/html/tutorial/tut.html
deleted file mode 100644
index e5387e618df..00000000000
--- a/src/bin/pgaccess/doc/html/tutorial/tut.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html><head><title>PgAccess - Tutorial</title></head>
-<body bgcolor="#C0C0C0">
-<h1>PgAccess - Tutorial</h1>
-<a name="admin"><h2>User Administration</h2>
-The procedure for setting up <b>postgreSQL</b> usually results in a single user
-named <samp>postgres</samp>.  In order for anyone else to use <b>postgreSQL</b>,
-users must be added.  The program <samp>createuser</samp> accomplishes this. 
-First become the PostgreSQL administrator (usually <samp>postgres</samp>):<p>
-<samp>su postgres</samp><p>
-Then create a new user:<p>
-<samp>createuser jim<br>
-Enter user's postgres ID or RETURN to use unix user ID: 500 -&gt;<br>
-Is user "jim" allowed to create databases (y/n) y<br>
-Is user "jim" a superuser? (y/n) n<br>
-createuser: jim was successfully added</samp><p>
-You can use either the UNIX user ID or the postgres ID to identify users.  See
-the <b>postgreSQL</b> documentation in the "admin" section for a fuller
-account of users and groups.<p>
-To remove users, use the <samp>destroyuser</samp> command in the same way.<p> 
-<img src="screen1.jpg" border=1 align=right>
-<a name="basic"><h2>Basic use of PgAccess</h2>
-<h3>Creating a database</h3>
-At the right is the window you should see when PgAccess starts up. The first
-task for most users will be to create a database.<p> 
-Press the <em>New</em> button to bring up the window shown below.  This will
-allow you to specify the structure of the new table.  It is important to note
-that if you haven't specified a database when starting up PgAccess, this table
-will be created in the database named <samp>&lt;username&gt;</samp>, your
-username.<p>
-Assume that you want to create a table with entries describing bibliographic 
-references in the field of chemistry.  Choose a table name, such as
-<samp>chemref</samp> that will be easy to recall and find in a list.  Enter the
-table name in the first input field.<p>
-When you already have tables in a database, you can use the <em>Inherits</em>
-button to toggle a list of existing tables to inherit characteristics of another
-table.  In this example, there should be no previous tables to use.<p>
-Enter each field, giving it a name, field type and size, if the field type does
-not imply the size.  That is, if your first field was to be a sequence number,
-and you selected <em>int2</em> as the field type, you would not have to specify
-a field size.  However, if your second field was to contain the author of the
-reference, and was a <em>varchar</em> type, you would have to specify how many
-characters would be allowed in the field.<p>
-As you enter each field, click the <em>Add field</em> button to add it to the
-list at the right side of the window.  You can change the position of fields
-using the <em>Move field up</em> and <em>Move field down</em> buttons, or delete
-a field if you decide it isn't what you wanted.  When you are finished
-specifying fields, press the <em>Create table</em> button.<p>
-<img src="newtable.jpg" border=1 align=right>
-<a href="index.html#tut">Back to index</a>
-</body></html>
diff --git a/src/bin/pgaccess/doc/html/tutorial/tut_edit.html b/src/bin/pgaccess/doc/html/tutorial/tut_edit.html
deleted file mode 100644
index 8282fb9a422..00000000000
--- a/src/bin/pgaccess/doc/html/tutorial/tut_edit.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<html><head><title>PgAccess Tutorial</title></head>
-<body bgcolor="#C0C0C0">
-<h1>PgAccess Tutorial - Editing a table</h1>
-<img src="sel_tbl.jpg" border=1 align=right>
-<h2>Adding records</h2>
-Once you have a table, you can begin to add entries to it.  In the main
-PgAccess window, when you click the <em>Tables</em> button, you should see the
-new table appear in the list of tables.  Highlighting the table name by clicking
-on it and clicking on the <em>Open</em> button will open that table in another
-window, as shown below.<p>
-The most straighforward way to add records to a table is to type the information
-directly into the fields.  Two records have been entered in the table shown.  As
-is common with this user interface, clicking the mouse while the pointer is in a 
-field will allow keyboard entry to that field.  This type of entry is adequate
-when the information arrives infrequently in small parcels, for instance in
-keeping a table of contact information about other researchers.  However, what
-do you do when someone emails you the entire reference list for their doctoral
-dissertation?<p>
-This is best handled using the SQL <em>COPY</em> command. 
-First, the information will have to be massaged into shape in what is called a
-'flat' ASCII file.  This is simply a text file in which each line is a record,
-and each field in each record is separated by a <em>delimiter</em> such as a
-tilde (~).  The fields will have to be in the same order as those in your table,
-and there will have to be the same number of fields in each record as are in the
-table, otherwise you may get unexpected data or no data at all.  Say you produce
-a text file named <samp>newref.txt</samp> that starts like this:<p>
-<samp>Cassileth, BR~Unorthodox Cancer Medicine~Cancer Investigation~~1986~4~6~591-598
-<br>...</samp><p>
-Notice that there are two consecutive tildes to allow for the fact that this
-particular entry doesn't have anything in the <b>Editor</b> field.
-You can then perform a <em>Query</em> as follows:<p>
-<samp>COPY psyref FROM '/home/jim/newref.txt' USING DELIMITERS
-'~';</samp><p>
-This will read the records from <samp>newref.txt</samp> and insert them into the
-table <samp>psyref</samp>. See the PostgreSQL documentation under the headings 
-<br><b>Tutorial|The Query Language|Populating a Class with Instances</b><p>
-<img src="addref.jpg" border=1 align=right>
-<a href="index.html#tut">Back to index</a>
-</body></html>
diff --git a/src/bin/pgaccess/doc/html/tutorial/tut_new.html b/src/bin/pgaccess/doc/html/tutorial/tut_new.html
deleted file mode 100644
index 8fca641e6c0..00000000000
--- a/src/bin/pgaccess/doc/html/tutorial/tut_new.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<html><head><title>PgAccess Tutorial</title></head>
-<body bgcolor="#C0C0C0">
-<h1>PgAccess Tutorial - Creating a table</h1>
-<img src="screen1.jpg" border=1 align=right>
-<h2>Creating a table</h2>
-At the right is the window you should see when PgAccess starts up. The first
-task for most users will be to create a database.  Notice the 'buttons' at the 
-left of the main window.  Clicking on these allows you to see the names of 
-different <em>objects</em> that are stored in your database, which should be 
-empty at the moment.<p> 
-Click the <em>Tables</em> and <em>New</em> buttons to bring up the window shown 
-below.  This will allow you to specify the structure of the new table.  It is 
-important to note that if you haven't specified a database when starting up 
-PgAccess, this table will be created in the database named 
-<samp>&lt;username&gt;</samp>, your username.<p>
-Assume that you want to create a table with entries describing bibliographic 
-references in the field of psychology.  Choose a table name, such as
-<samp>psyref</samp> that will be easy to recall and find in a list.  Enter the
-table name in the first input field.<p>
-When you already have tables in a database, you can use the <em>Inherits</em>
-button to toggle a list of existing tables to inherit characteristics of another
-table.  In this example, there should be no previous tables to use.<p>
-Enter each field, giving it a name, field type and size, if the field type does
-not imply the size.  That is, if your first field was to be a sequence number,
-and you selected <em>int2</em> as the field type, you would not have to specify
-a field size.  However, if your second field was to contain the author of the
-reference, and was a <em>varchar</em> type, you would have to specify how many
-characters would be allowed in the field.<p>
-As you enter each field, click the <em>Add field</em> button to add it to the
-list at the right side of the window.  You can change the position of fields
-using the <em>Move field up</em> and <em>Move field down</em> buttons, or delete
-a field if you decide it isn't what you wanted.  When you are finished
-specifying fields, press the <em>Create table</em> button.<p>
-<img src="newtable.jpg" border=1 align=right>
-<a href="index.html#tut">Back to index</a>
-</body></html>
diff --git a/src/bin/pgaccess/doc/html/tutorial/tut_sel1.html b/src/bin/pgaccess/doc/html/tutorial/tut_sel1.html
deleted file mode 100644
index fdadbe8e6d3..00000000000
--- a/src/bin/pgaccess/doc/html/tutorial/tut_sel1.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<html><head><title>PgAccess Tutorial</title></head>
-<body bgcolor="#C0C0C0">
-<h1>PgAccess Tutorial - SELECT</h1>
-<img src="altern_q.jpg" border=1 align=right>
-<h2>What is a query?</h2>
-<em>Query</em> is the term for an SQL command which will perform an operation
-on a table.  It is sometimes confusing to newcomers, as some of the operations
-seem to have nothing to do with querying in the common sense of <em>asking</em>.
-As we saw in the previous section, a <em>query</em> can simply copy
-records from an ASCII file to a table.<p>
-The PostgreSQL documentation has a complete list of <em>queries</em> that can be
-used.  We'll start with the common task of selecting records with certain
-characteristics.<p>
-<h2>Selecting records</h2>
-<img src="altern_v.jpg" border=1 align=right>
-Suppose that I want to know all of the references in the sample table
-<em>psyref</em> for which the word "alternative" appeared in the title.<p>
-By clicking <em>Query</em>, then <em>New</em>, a <b>Query builder</b> window will
-appear.  Clicking in the area below the buttons will allow the user to enter an
-SQL <em>query</em>.  The specification of the <em>query</em> must be exact or
-PostgreSQL will return an error message.<p>
-The <em>query</em> shown will <b>SELECT</b> those records from <em>psyref</em>
-that contain the word "alternative" anywhere in the <em>title</em> field.  The
-'*' indicates that all of the fields are to be returned.  You might only want to
-return, for instance, the <em>author</em> field if you were only interested in
-which authors had used that word in the title of their work.<p>
-At the right is the record that fulfils these conditions, displayed in the 
-<b>Table viewer</b>.  If you wanted to save this query for use again,
-clicking the <em>Save query definition</em> button will do so.  You will then
-see <em>altern</em> listed under <em>Queries</em> when you return to the main
-window.  By clicking the <em>Save this query as a view</em> tickbox in the 
-<b>Query builder</b>, the result of your query will be saved as a 
-<em>View</em> which you can access from <em>Views</em> in the main window.  
-Click the <em>Close</em> button to leave the <b>Query builder</b>.<p>
-<a href="index.html#tut">Back to index</a>
-</body></html>
diff --git a/src/bin/pgaccess/doc/html/tutorial/tut_user.html b/src/bin/pgaccess/doc/html/tutorial/tut_user.html
deleted file mode 100644
index c4a6f09fbb3..00000000000
--- a/src/bin/pgaccess/doc/html/tutorial/tut_user.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<html><head><title>PgAccess Tutorial</title></head>
-<body bgcolor="#C0C0C0">
-<h1>PgAccess Tutorial - User Administration</h1>
-While user administration is really not a part of the PgAccess program, it is 
-such a basic operation that a brief description is given here.
-<h2>Creating users</h2>
-The procedure for setting up <b>postgreSQL</b> usually results in a single user
-named <samp>postgres</samp>.  In order for anyone else to use <b>postgreSQL</b>,
-users must be added.  The program <samp>createuser</samp> accomplishes this. 
-First become the PostgreSQL administrator (usually <samp>postgres</samp>):<p>
-<samp>su postgres</samp><p>
-Then create a new user:<p>
-<samp>createuser jim<br>
-Enter user's postgres ID or RETURN to use unix user ID: 500 -&gt;<br>
-Is user "jim" allowed to create databases (y/n) y<br>
-Is user "jim" a superuser? (y/n) y<br>
-createuser: jim was successfully added</samp><p>
-You can use either the UNIX user ID or the postgres ID to identify users.  See
-the <b>postgreSQL</b> documentation in the "admin" section for a fuller
-account of users and groups.<p>
-The reason for using the command line to create the first user (other than
-<em>postgres</em>) is that <em>postgres</em> may not have X-Window permission.
-You can also create users using <b>PgAccess</b> if you are created as a 
-<em>superuser</em> as shown in the example above.<p>
-<h2>Removing users</h2>
-To remove users, use the <samp>destroyuser</samp> command in the same way.<p> 
-<a href="index.html#tut">Back to index</a>
-</body></html>
diff --git a/src/bin/pgaccess/doc/html/vdesigner.gif b/src/bin/pgaccess/doc/html/vdesigner.gif
deleted file mode 100644
index 71349e6daf4c52b8d64a14c05ccdecfa24c735ef..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 15903
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

diff --git a/src/bin/pgaccess/doc/html/whatsnew.html b/src/bin/pgaccess/doc/html/whatsnew.html
deleted file mode 100644
index 1da66e68ed0..00000000000
--- a/src/bin/pgaccess/doc/html/whatsnew.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; I; Linux 2.2.14 i586) [Netscape]">
-</head>
-<body bgcolor="#FEFEDF">
-<b>27 January 2001 - PgAccess 0.98.7</b>
-<ul>
-<li>
-Fixed table creation when all columns are inherited and no new columns are added
-</li>
-<li>
-Geometry improvements in diagram definition
-</li>
-<li>
-added DLL's for Win32, Tcl/Tk 8.3.x and PostgreSQL 7.x
-</li>
-</ul>
-
-<b>1 May 2000 - PgAccess 0.98.6</b>
-<ul>
-<li>
-fixed a ugly bug in forms, query opening procedure</li>
-</ul>
-<b>30 March 2000 - PgAccess 0.98.5</b>
-<ul>
-<li>
-added the "new database" feature</li>
-
-<li>
-added the czech and spanish message file</li>
-</ul>
-<b>29 January 2000 - PgAccess 0.98.4</b>
-<ul>
-<li>
-fixed a problem granting or revoking rights from PUBLIC</li>
-
-<li>
-added the portuguese message file translation</li>
-
-<li>
-fixed the preferences window problems for big screens 1280x1024</li>
-</ul>
-<b>17 January 2000 - PgAccess 0.98.3</b>
-<ul>
-<li>
-prevent saving of big forms that source size has more than 8000 bytes so
-pga_forms table does not crash anymore, read <a href="faq.html">FAQ</a>
-how to make your form sources smaller</li>
-
-<li>
-other very small bug fixes (less important)</li>
-
-<li>
-some windows can resize now up to 1280x1024 on big screens</li>
-
-<li>
-deutsh, russian and magyar message file available</li>
-
-<li>
-FAQ updates</li>
-</ul>
-<b>29 August 1999</b> - PgAccess 0.98 has been released!
-<ul>
-<li>
-international version (romanian, french, italian translations available)
-in separate files (japanese translation now possible)</li>
-
-<li>
-context sensitive help, complete help for SQL commands</li>
-
-<li>
-geometry changes for many forms</li>
-
-<li>
-form designer enhancements (widget icons , new attribute window style,
-form startup script)</li>
-
-<li>
-ability to inspect PostgreSQL system tables (preferences)</li>
-
-<li>
-enhanced table design window, table permissions</li>
-
-<li>
-distribution archive changes</li>
-
-<li>
-unified internal global variables</li>
-
-<li>
-unified internal window naming conventions</li>
-
-<li>
-usage of Tcl namespaces for all modules</li>
-
-<li>
-PgAccess developer <a href="api.html">API</a></li>
-
-<li>
-web site enhancements</li>
-</ul>
-
-</body>
-</html>
diff --git a/src/bin/pgaccess/doc/html/win32.html b/src/bin/pgaccess/doc/html/win32.html
deleted file mode 100644
index 368eb9990eb..00000000000
--- a/src/bin/pgaccess/doc/html/win32.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]">
-</head>
-<body bgcolor="#FEFEDF">
-
-<h2>
-PgAccess on Win32</h2>
-
-<hr>In order to run PgAccess on a Win32 workstation you should follow the
-following steps:
-<ol>
-<li>
-download and install a Tcl/Tk package from <a href="http://www.scriptics.com">Scriptics</a>
-(8.0.x or 8.1.x)</li>
-
-<li>
-install PgAccess package</li>
-
-<li>
-check the Tcl/Tk version that you have</li>
-
-<li>
-check the PostgreSQL version installed on your database server machine</li>
-
-<li>
-get from win32/dll directory the appropriate libraries suitable for your
-Tcl/Tk version and PostgreSQL version and copy them into your Windows/System
-directory renaming them as libpq.dll and libpgtcl.dll</li>
-
-<li>
-check if your win32 workstation is able to see your database server (ping
-yourdatabaseserver)</li>
-
-<li>
-ask your database administrator to verify if your win32 workstation has
-access rights to the database (pg_hba.conf)</li>
-</ol>
-
-<p><br>You should be able to run PgAccess.
-<br>&nbsp;
-</body>
-</html>
diff --git a/src/bin/pgaccess/images/icon_button.gif b/src/bin/pgaccess/images/icon_button.gif
deleted file mode 100644
index df7059192115b13aa31a7116392d0a7c4e6b6db0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 896
zcmZ?wbh9u|6k!ly_|5<V4Gj%9Zru3s=SThtnXL=HGm89o;MjlSO!<OOi6Z}tIQEwa
zm<Fuh^hJd6KZnEqBNG^xuVfGrVc_6kIN>8>^yxdt|NjpA_w%vH9ANm)$nf8RVSm60
z8AhY;3>^O%9QIqBU|F$%LEyxR^$Qk=h=_1-a8#(Ud|uD+UxZ;l2ZN#XiND(xFfoWY
zFmRZ$d|AQpQH0??2gCl16Q)}hY~m4N<lt~P_~%O3r{%o=MI82X^stmfF??h=!NRbB
zfkA|Ug@eI><HWVkMgspic=kIOn4Y+{X@LNv2!{j53zicn85RgKhy<KaS+QWf1&j0w
zhHWAY3>*v$Cr+>!EnwgfVQ}DJn4)mv^XCQs|BLM3&oRYRW$UI-ER6ph9QLzZU}0De
zQq8g8#PUxIME;9#?C0=dF<@f&#K7>MfnooN6Q)K+n>aWa9UL4soM8C8V8wqCk^LMT
zM^0?mzu+T_$o~cvmSyW1IHXT3-)003Ee9W#6HE|yGjN<Zal&Z90uB)o2M&%u0V<zA
zuitCRP`QbLgOP#5fgy*5;m`^O9uWqH3k)y|846ffzCi3|V0dt%N7yJzoI`}e!QsRS
z5u*j4IYj>FoVf92!L9!y0tG53zN|L_JK5m@!wX@CkKzpfbxutAvS90f5tao4ENj*?
zu!}G-v~V!2Tn>p##uGmnjMy0*7)1C^FdQ&qVB}zMa1aS%VPO2kz`?_?>Jx*=e+G{I
z3<CL#>$ft9fLvLkBJ$<)r~m)|@87?_z%c*I->v_d8239k==?kJW#xi9Qv}w0UeEqt
z<N?<SVTR@63?dv193pQ{FfbS~FgS?h@i8zQU^u|Y!0f;<KZxNoqYRhNcZL=J8ASFo
za4=Y~FnnfU$UnibbpZn-IG#Z1lqOgQWGW~xFmR+YuyV+FY*=uxnS+-v;>3o9hZ$KE
z)l?)D9=UXh>2s~I2w23xpy14O;6~wt6HV%@1tKpDm!53YX5AvfIZ5U8bdAKcKN$w8
oXQtVfP80FiyzIhksnB<Oei*O3)W^8UYp&PTl~<QAGBQ{L01qx9{r~^~

diff --git a/src/bin/pgaccess/images/icon_checkbutton.gif b/src/bin/pgaccess/images/icon_checkbutton.gif
deleted file mode 100644
index ddfe64ca8b41d205e3a714fef8f9a54c1fb490d9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 873
zcmZ?wbh9u|6k!ly_|Cx4(9m$>#*H6;e(YyR%|D^PbwM$sNQnbS>WMSu3qB=^{4e6z
zUm{?tzkXAJ2xAe4L;jJ3tmP|HMMRQ0I7&|V=o@`1<M?0VuwS2#rR)Gh2_u891A}3}
z2|Y$50|pKY1_ynM6D%thFo=jSaBwgPoH((5!2%Hx5e^QH3Kf>m>lyxwFzn}GFqA&=
zciRFc1`!7a4l|Z7D;PeCF#P9W*q?F2bjyNGJR*!791aKn{OS6%g7?3O!+wq)mXauj
zj}8p`8BVY;EMQ;|VPN54FyJ_G?X!`<e-57g4hE(tu5DT%z$n7u!103R#7Tw)f(#-7
zCsbA}SZ~21y@Fwz2m=EL1H*|EEJh0$I7Ap6I2fiVocR2C!T<jv`}cE9F;&^R=@Sd%
ze+P&CEEiZ9mV;DtEI6_J(*lwIA{_fUd{_*a7(OvD{AXa;f8vCxk<lg&4n_wDhYcq*
zJ}+4LUqoa-2gi{U8}={w$RhIJfn$Gz3d^$f3>?xYmTxlxhlGO<%Lyik(-}BUoH${$
zU;&4Shyw@5p8%E5pV#j-WvJZ5z`@AC;lPl?!f<E>1CIy;!vzMIoeTvmJYN_-|7ZBW
zpJD%m6AuiGZi#aUoH)UlbAs{90)_&WCtudz`Y$3df#HM!gONA`ht7#NUlx4)FY<ps
z$NmKZQ`W5C$}Ymf5W>Q+l7aCA2ZPaaNGOQ#F)$q9U|?ima9|J#I>Eqb1Y+IbVOaTz
zLF7LJ$9@KZe8%-#8AL!XD^U^o^7+&M|Nr;z-(O&u|K;!2|4fYg9UOGdo%phH!JR1r
zYd)`M|1UCu>w^Kq3ULMz4h9a9Hzybvj70K4)-W7kWMFn+m><OOnNfzT<U7O4{|qAg
z88{d$SQtJtFyx<L*t&p$QG|iUKnG+#C@(N@_%SeZ$arj6aIl#}SS#klg#``m0?KwS
z8XJ`ux|jr*c2pERI@l{=T2wOQ<Kq)ea=cA%B7&ZJHfeINQ_&Q9d~CKwJfFyf&FP2d
NJ2Z3oN(eAm0|1ci5tje}

diff --git a/src/bin/pgaccess/images/icon_entry.gif b/src/bin/pgaccess/images/icon_entry.gif
deleted file mode 100644
index 750d1ff5e43cdde5702b08bbc89ec5c8123a8e6c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 907
zcmZ?wbh9u|6k!ly_|5<V4Gj%9Zru3s=STjDtgQ=D8AXyEI7&|J&|mPWOyqwF$9{bQ
z)3WuON<<iSIUEd+Owe1t(m+JSf`dc<ghi&&r(BNzi4ObI`B-cYFo-cS2skh}1f1w$
zG>T&25Mgj|usFf8VgZAQ2m=QPgTRRs>lZ8#5fS0w;7Czn`MjRtzX-#A4hBQ%6MwfY
zU}6w)VBj!gd9Z@vqX@%)4u<_1Crr02*u*2k$id-o@Wqv`Ps@4#i#Y7(=wV5SV)*F5
zu%F=s3&R2i1`!4p4hDlSC$4=m68O)-v){qM^u)DI3j`QNI2<@$u$(x_ut1POB;bU~
ziUsQ}Sfp1lY!hK%;9y`lae~EY0oa)w3=KRdK7U^D|G&uo{Tx$F1-5Sb#KQRB!C^nk
z1r~<oAk`c_CzgL&Ao5>?V?T!viwqOPCkBT93=I2EoG>*q+Qh-Z=-}Wm=LEy&1uOoG
zi0tR!IC5gn{skXdME*N)>~BzES+<^mL;A$>ZARdbaPVO{!31$S1ILLICyW*>;1CgU
z;NW;+qw@Ll`n{$Mm75qi7#TPm7;;z`4y|C|5n*81!vM3BA%^9^7lu#&8UF7F1p)_;
z5rZfP!-*3;Mhl`GI2<BQ9Qd-}(|?iw`#JW<sGRt+-U#e!2L^^KJPaR28U9P0nDS-8
z*8d_b3j|o!tY=^sVPI(CU|6{v5>JdLelQrZGdM7a@SR{dV8p=4Arka~f$<{)#}9^8
z9~ngcGjQx@5Xfg-zm-7*<irF4hA*E#{r~@e|Ni|khWTIqZvD^1xZlA+;@^ocD;L~p
z5LokhJ^OzV2Cfr449i6sL^v2YMBbcWU@&4}a1hDkV_-PIaDb74*@2-uh~YCM2ba%x
zh86!AMD{aqFsQIFd}d(CKf$nd0Ry85g98UBy;2qHfJ_7B1qO}+238Ikj|~eBGH?iM
z#mop$INZ*~Zo!kVVNnC45UawL41vckeM}5IUsg<1a-YcLnJ2@sK=t%Q$?&!sOXF0Z
z$)?$h_Ebzx^`34S`sj}5<mc{<)`9OtygsA{E>lmGW6dnq3SB6%IqUAKNvp%xhB&gZ
HFjxZszs(+m

diff --git a/src/bin/pgaccess/images/icon_frame.gif b/src/bin/pgaccess/images/icon_frame.gif
deleted file mode 100644
index 8541cbeab8d92371701f78a4aa12cd8ff227417f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 908
zcmZ?wbh9u|6k!ly_|5<V4Gj%9Zru3s=STht{jCd%8AVDQI8slXDPQm@QRIIS$Nmxl
zQ~mXu3Pc!-I2`hiBxEgLnJOZZ%)wD|!bjieQyItq5{Lczd@N-L7)lr!bR8HB15W5M
z8W}KfSTH!~Tby87v4BBDgn@&DLEyxR^$Qk=h=_1-a8#(Ud|uD+UxZ;l2ZN#XiND(x
zFfoWYFmRZ$d|AQpQH0??2gCl16Q)}hY~m4N<lt~P_~%d8rxm>aMI82X^stmfF?@7j
z*w1i+g<$~$g9rl)2ZI5}iEE#Y1pagI>~}CQJ#lT*0s%%54hN1GEGJGfED&T62{@s$
zV!?U~7U>lX+e8=`I2agCoM16pz`!BG;K0E!Md8Hf&kO$l7umm`V~VND)=i&S82>vs
z>}R>a!mu2qnq$F<<)0Ra{1@Ta&*8&jz{K#0f#E*`!~PQ|OpS~-ad0p?I5=!Lq49aa
z%KsuF`#Cs{oY=5`!ABO6{|+4c8&p`9t!LnnKCyh85jZ3qd{|B}L7dLOapJ@YqXi2%
zL_{1oIQ|5veEz(CuPH<2CI${h1`Y>?92SN{D;Ri07#J=v!0cowV0rR|;nsf!f&B~|
z8YdVfjTpo^7*3pE%sKJm%Ys|~MFa{|mVH?-wx7d6gW-fEgONA`ht7#NUlx4)FY<ps
z$NmKZQ`W5C$}Ymf5W>Q+l7aCA2ZPaaNI;12F)$q9U|?ima9|J#I>Eqb1Y+IbVOaTz
zLF7LJ$9@KZe8%-#8AL#iD^U^o^7+&M|Nr;z-(O&u|K;!2|4fYg9UOGdo%phH!JR1r
zYd)`M|1YA!^+A$hg*bx<2Lp%5n-dHSMk0A2YZwkNGB7(Z%nxGt%qYWE@||Jje+Cf-
z3l@gY3=H`v7`858U=#r*P+DRgkl~=bz`#++z{(-xv0=f%W)5Da2#pB~8QQrS1y}?W
z4jk$d*A0?UC{%D|6lHB=k#t}<-Xt$P&m}S_)xBR=cvj6%gJs^+jKcl4WCo-=&ttD$
ucE)qFT41XK=PwhhgoXpl{O5A<9uRc6+#0@?tM$gj?7*1`hlO}J7_0%otrisk

diff --git a/src/bin/pgaccess/images/icon_label.gif b/src/bin/pgaccess/images/icon_label.gif
deleted file mode 100644
index d60681690ce84ae61c296e84474f1288ae014b98..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 80
zcmZ?wbh9u|6k!ly_`m=HH*Va}0ns241}6QU{*|Y>_!qNuZ0mZzu`Qe5?4ep(tmm@R
e6-GG^RNv<u3X)yCmhHN@1*cubkw*&|7_0%vryHRF

diff --git a/src/bin/pgaccess/images/icon_listbox.gif b/src/bin/pgaccess/images/icon_listbox.gif
deleted file mode 100644
index c485e9be40607bd4aa2c0d5fb14e772dd10e9ba9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 896
zcmZ?wbh9u|6k!ly_|Cx4(9m$>#*H6;e(YyR%|D^PbwM$sNQnbS>WMSu3qB=^{4e6z
zUm{?tzkXAJ2xAe4L;jJ3tmP|HMMRQ0I7&|V=o@`1<M?0VuwS2#rR)Gh2_u891A}3}
z2|Y$50|pKY1_ynM6D%thFo=jSaBwgPoH((5!2%Hx5e^QH3Kf>m>lyxwFzn}GFqA&=
zciRFc1`!7a4l|Z7D;PeCF#P9W*q?F2bjyNGJR*!791aKn{OS6%g7?3O!+wq)mXauj
zj}8p`8BVY;EMQ;|VPN54FyJ_G?X!`<e-57g4hE(tu5DT%z$n7u!103R#7Tw)f(#-7
zCsbA}SZ~21y@Fwz2m=EL1H*|EEJh0$I7Ap6I2fiVocR2C!T<jv`}cE9F;&^R=@Sd%
ze+P&CEEiZ9mV;DtEI6_J(*lwIA{_fUd{_*a7(OvD{AXa;f8vCxk<lg&4n_wDhYcq*
zJ}+4LUqoa-2gi{U8}={w$RhIJfn$Gz3d^$f3>?xYmTxlxhlGO<%Lyik(-}BUoH${$
zU;&4Shyw@5p8%E5pV#j-WvJZ5z`@AC;lPl?!f<E>1CIy;!vzMIoeTvmj9(zuGcW|4
z_@HTYOPoXC#EE4_3&c1?1ROXVa!$PYvf$Q#5rF~~hA-<s{}=hcpJRUj!wF3WBXI@}
z9gytD1p-sntl!Em!om>3!myHo@dO8h(Q-&|i10Bm9N=JJWMFV$5D7ZLz-R<w-QZzZ
z`H4Z~KLf{p27!FW^;;Q4Ku#=C5&81@)Bpef_wV0dV3_~q@7DiJjQbrNbk3dlvU0(l
zDFSOguV?=+62SFAlVOE8g9rx$hsc`~3=Bphc_3>T4lpt>J21=-V))D`!&UN~VdZ}Y
zk^KxD3>GX5pBWhPPcUp<z`!WNKpUU~G8U8<7&uZHm^oxTHY{*t;1Je|nGv9HxSfmD
zf+b-?5(A?Uv%;1PfyXX=thQN8Jc1UVoW$UwH08vnMW?4}X&$QiY4q&OY;of}m&#8m
nJ`-5#nM5^8Uii=R=w=G#x}<h&dBEaVQ@li91@tj8GFSru%U&5%

diff --git a/src/bin/pgaccess/images/icon_query.gif b/src/bin/pgaccess/images/icon_query.gif
deleted file mode 100644
index ced0ef26a54d7150fe6f0589e561f8854eb2960a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 897
zcmZ?wbhEHb6krfw_|CxapW#0P14BSSKtn^rfddErGcYtTI503QU~p(?U}$h)aQOe9
z;s5^zhK2@*hKB$DL5dkh!Dt8!mk?0=$-)Toiw=kY<p~CkI0i-z8Hoi84mNV|T1A}r
zpuoT+pe&T&VR*o~Q-ImT#zVourJv1IZ_AC3$?jds@>ORlgj79ybhYDjW(qECo^FzC
kHb*mXi4TLK=q`~Lm!J79aBCOR&A6=Sw7^l2jfKG)0F<veHvj+t

diff --git a/src/bin/pgaccess/images/icon_radiobutton.gif b/src/bin/pgaccess/images/icon_radiobutton.gif
deleted file mode 100644
index 9803df6729ca731f7cd9483a915d28af4fbd3912..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 870
zcmZ?wbh9u|6k!ly_|Cx4(9m$>#*H6;e(Yz+&p(m1bwMhlNU{S*$%!5M3qF;J{4e3y
zuP<O)wtiEI2%|2CgW-`0ddpWDh=^ElaOj_~urc~1#_?akVZQ?(OV0s@C`JYm2L^|L
z6MGnqJ~43oXK>hWae`&V0tOKg1`ZAeffFazFIXTVBErGJk)p!#c|F5_5r+L742IGt
z{%%{q1k%f4#`0hV!$%Q@{~QeaGftRpS+I#mgpq^8;oyraU7wco{ugoB&(Xt@5XJD(
zfnh(x2^NM03=AR+EF265Urt>6WF+vPgJ-{kf$52Bn-&N#if}k^ykI$Tl3{@$gGj&$
zl@$xtTd+v4VAv+Yz`()4aN-1u(E<hz5e5eih6bJ!pFc17|6gSPevT=o0$VqIVqyI6
z;IN<N0t>@(kZO*e6U#p>5cw~{v7f_-MTUvt69dD428R77PM8`QZQ|fybZ~H(bAsXX
zf))QoMD}xV962#(|ALP!BL5vY_BW`oEL+dOA$?-`HY0FIIQX!fV1hWEf#bx96GjUb
zaEORFaB#e^QThCN{a#as%1sO$j0_wO3^^<ehgLA~h%hkhVSw4m5W~Xr1!6q|1ILLT
z9-}Bx4iOFqhZ86E7%lk3A@V=sgvgf#xBrU>#HgJ3vfc>nY6lL6D?AJzMH&7}oS5=u
z!PfsGEDHo!)~sh>7hzy%;b2&~91>5ACw?#(u`@U@i13|YIAFxU$id*?AQJR}f$<{)
z#}9^89~ngcGjQx@5Xfg-zm-7*<jMpAhA*E#{r~@e|Ni|khWTIqZvD^1xZlA+;@^oc
zD;L~p5LokhJ^OzV4z3eC49i6sL^v2YMBbcWU@&4}a1hDkV_-PIaDb74*@2-uh~YCM
z2ba%xh86!AMD{aqFsQIFd}d(CKf$nd0RtmAsu-vVbU=oI@&W^gHv=<=jK_ur2b(#B
zwPH>bEM#Eh<+Q7jFg$Rilh-h6$%=r*4*hJ7bx$G$8a!Ln7-f7iC#as9%p9v$q8Xfc
UY8H2Xm<UJl^7HepnVA@@0rfl$(*OVf

diff --git a/src/bin/pgaccess/images/icon_text.gif b/src/bin/pgaccess/images/icon_text.gif
deleted file mode 100644
index 49d193c279655c0af9f547e312d0e1605f15f7c4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 911
zcmZ?wbh9u|6k!ly_|5<V4Gj%9Zru3s=STht{jCd%8AVDQI8slXDPQm@QRIIS$Nmxl
zQ~mXu3Pc!-I2`hiBxEgLnJOZZ%)wD|!bjieQyItq5{Lczd@N-L7)lr!bR8HB15W5M
z8W}KfSTH!~Tby87v4BBDgn@&DLEyxR^$Qk=h=_1-a8#(Ud|uD+UxZ;l2ZN#XiND(x
zFfoWYFmRZ$d|AQpQH0??2gCl16Q)}hY~m4N<lt~P_~%d8rxm>aMI82X^stmfF?@7j
z*w1i+g<$~$g9rl)2ZI5}iEE#Y1pagI>~}CQJ#lT*0s%%54hN1GEGJGfED&T62{@s$
zV!?U~7U>lX+e8=`I2agCoM16pz`!BG;K0E!Md8Hf&kO$l7umm`V~VND)=i&S82>vs
z>}R>a!mu2qnq$F<<)0Ra{1@Ta&*8&jz{K#0f#E*`!~PQ|OpS~-ad0p?I5=!Lq49aa
z%KsuF`#Cs{oY=5`!ABO6{|+4c8&p`9t!LnnKCyh85jZ3qd{|B}L7dLOapJ@YqXi2%
zL_{1oIQ|5veEz(CuPH<2CI${h1`Y>?92SN{D;Ri07#J=v!0cowU}5+Iv7UiJ;Y60E
zk+?XA0EdHv(Sq9?A_6%l9(-Bw>A%ST{T%xXR5-q@XHZ}`p~+w*&cLB_;?0)@9~THr
zS+jmCy9f(I2n)kX2F4Q{3`WZ#0U^T2z;J+rfsuj1fk7nb1OuZHh;@U9VdW<Vk^c-F
z`xylC8P{)R5CJ)^L`CGw=THCt|KGoVe}Q5Cm%m&8GcoRWaL_q-;>*efccuue`MjR}
zzlZ|Y2Tg_*;tV1j3>+eFPB1VSiR6K-VK~6Z!0f;<KZxNoqYPKccZQY!8ASFoa4=Y~
zFnnfU$UnibbpZpT2q=xx4C{bQ2IU0?juHk|4jGRP3l1`H2y4a62v9iO&c$xQldxe?
z1EUbD!j=qy$1aTwPE9hJ7Z$s9sW5T`tlX4xtXI=@+nygnPftzMiJsMRvhac5Y}?Gb
y7|YF1&&;>T-}EKY_~oU=zMXs~r%Eyc7OJn`HK$|a>g(&R4|aWBbv4O>!5RQA;2<Ud

diff --git a/src/bin/pgaccess/lib/database.tcl b/src/bin/pgaccess/lib/database.tcl
deleted file mode 100644
index 0cb115e5734..00000000000
--- a/src/bin/pgaccess/lib/database.tcl
+++ /dev/null
@@ -1,63 +0,0 @@
-namespace eval Database {
-
-# i have no idea why views were being discriminated against here
-# when i first touched the code you could only make reports from tables
-# i just commented out two lines below
-# -cmaj
-
-proc {getTablesList} {} {
-global CurrentDB PgAcVar
-	set tlist {}
-	if {[catch {
-		# As of Postgres 7.1, testing for view-ness is not needed
-		# because relkind = 'r' eliminates views.  But we should
-		# leave the code in for awhile yet, so as not to fail when
-		# running against older releases.
-		wpg_select $CurrentDB "select viewname from pg_views" rec {
-			set itsaview($rec(viewname)) 1
-		}
-		if {! $PgAcVar(pref,systemtables)} {
-			set sysconstraint "and (relname !~ '^pg_') and (relname !~ '^pga_')"
-		} else {
-			set sysconstraint ""
-		}
-		wpg_select $CurrentDB "select relname from pg_class where (relkind='r') or (relkind='v') $sysconstraint order by relname" rec {
-		#	if {![info exists itsaview($rec(relname))]} {
-				lappend tlist $rec(relname)
-		#	}
-		}
-	} gterrmsg]} {
-		showError $gterrmsg
-	}
-	return $tlist
-}
-
-
-proc {vacuum} {} {
-global PgAcVar CurrentDB
-	if {$CurrentDB==""} return;
-	set PgAcVar(statusline,dbname) [format [intlmsg "vacuuming database %s ..."] $PgAcVar(currentdb,dbname)]
-	setCursor CLOCK
-	set pgres [wpg_exec $CurrentDB "vacuum;"]
-	catch {pg_result $pgres -clear}
-	setCursor DEFAULT
-	set PgAcVar(statusline,dbname) $PgAcVar(currentdb,dbname)
-}
-
-
-proc {getPgType} {oid} {
-global CurrentDB
-	set temp "unknown"
-	wpg_select $CurrentDB "select typname from pg_type where oid=$oid" rec {
-		set temp $rec(typname)
-	}
-	return $temp
-}
-
-
-proc {executeUpdate} {sqlcmd} {
-global CurrentDB
-	return [sql_exec noquiet $sqlcmd]
-}
-
-}
diff --git a/src/bin/pgaccess/lib/forms.tcl b/src/bin/pgaccess/lib/forms.tcl
deleted file mode 100644
index c0f5938e53e..00000000000
--- a/src/bin/pgaccess/lib/forms.tcl
+++ /dev/null
@@ -1,1268 +0,0 @@
-namespace eval Forms {
-
-proc {new} {} {
-global PgAcVar
-	Window show .pgaw:FormDesign:menu
-	tkwait visibility .pgaw:FormDesign:menu
-	Window show .pgaw:FormDesign:toolbar
-	tkwait visibility .pgaw:FormDesign:toolbar
-	Window show .pgaw:FormDesign:attributes
-	tkwait visibility .pgaw:FormDesign:attributes
-	Window show .pgaw:FormDesign:draft
-	design:init
-}
-
-
-proc {open} {formname} {
-	 forms:load $formname run
-	 design:run
-}
-
-proc {design} {formname} {
-	forms:load $formname design
-}
-
-
-proc {design:change_coords} {} {
-global PgAcVar
-	set PgAcVar(fdvar,dirty) 1
-	set i $PgAcVar(fdvar,attributeFrame)
-	if {$i == 0} {
-		# it's the form
-		set errmsg ""
-		if {[catch {wm geometry .pgaw:FormDesign:draft $PgAcVar(fdvar,c_width)x$PgAcVar(fdvar,c_height)+$PgAcVar(fdvar,c_left)+$PgAcVar(fdvar,c_top)} errmsg] != 0} {
-			showError $errmsg
-		}
-		return
-	}		
-	set c [list $PgAcVar(fdvar,c_left) $PgAcVar(fdvar,c_top) [expr $PgAcVar(fdvar,c_left)+$PgAcVar(fdvar,c_width)] [expr $PgAcVar(fdvar,c_top)+$PgAcVar(fdvar,c_height)]]
-	set PgAcVar(fdobj,$i,coord) $c
-	.pgaw:FormDesign:draft.c delete o$i
-	design:draw_object $i
-	design:draw_hookers $i
-}
-
-
-proc {design:delete_object} {} {
-global PgAcVar
-	set i $PgAcVar(fdvar,moveitemobj)
-	.pgaw:FormDesign:draft.c delete o$i
-	.pgaw:FormDesign:draft.c delete hook
-	set j [lsearch $PgAcVar(fdvar,objlist) $i]
-	set PgAcVar(fdvar,objlist) [lreplace $PgAcVar(fdvar,objlist) $j $j]
-	set PgAcVar(fdvar,dirty) 1
-}
-
-
-proc {design:draw_hook} {x y} {
-	.pgaw:FormDesign:draft.c create rectangle [expr $x-2] [expr $y-2] [expr $x+2] [expr $y+2] -fill black -tags hook
-}
-
-
-proc {design:draw_hookers} {i} {
-global PgAcVar
-	foreach {x1 y1 x2 y2} $PgAcVar(fdobj,$i,coord) {}
-	.pgaw:FormDesign:draft.c delete hook
-	design:draw_hook $x1 $y1
-	design:draw_hook $x1 $y2
-	design:draw_hook $x2 $y1
-	design:draw_hook $x2 $y2
-}
-
-
-proc {design:draw_grid} {} {
-	for {set i 0} {$i<100} {incr i} {
-		.pgaw:FormDesign:draft.c create line 0 [expr {$i*6}] 1000 [expr {$i*6}] -fill #afafaf -tags grid
-		.pgaw:FormDesign:draft.c create line [expr {$i*6}] 0 [expr {$i*6}] 1000 -fill #afafaf -tags grid
-	}
-}
-
-
-proc {design:draw_object} {i} {
-global PgAcVar
-set c $PgAcVar(fdobj,$i,coord)
-foreach {x1 y1 x2 y2} $c {}
-.pgaw:FormDesign:draft.c delete o$i
-set wfont $PgAcVar(fdobj,$i,font)
-switch $wfont {
-	{} {set wfont $PgAcVar(pref,font_normal) ; set PgAcVar(fdobj,$i,font) normal}
-	normal  {set wfont $PgAcVar(pref,font_normal)}
-	bold  {set wfont $PgAcVar(pref,font_bold)}
-	italic  {set wfont $PgAcVar(pref,font_italic)}
-	fixed  {set wfont $PgAcVar(pref,font_fix)}
-}
-switch $PgAcVar(fdobj,$i,class) {
-	button {
-		design:draw_rectangle $x1 $y1 $x2 $y2 $PgAcVar(fdobj,$i,relief) $PgAcVar(fdobj,$i,bcolor) o$i
-		.pgaw:FormDesign:draft.c create text [expr ($x1+$x2)/2] [expr ($y1+$y2)/2] -fill $PgAcVar(fdobj,$i,fcolor) -text $PgAcVar(fdobj,$i,label) -font $wfont -tags o$i
-	}
-	text {
-		design:draw_rectangle $x1 $y1 $x2 $y2 $PgAcVar(fdobj,$i,relief) $PgAcVar(fdobj,$i,bcolor) o$i
-	}
-	entry {
-		design:draw_rectangle $x1 $y1 $x2 $y2 $PgAcVar(fdobj,$i,relief) $PgAcVar(fdobj,$i,bcolor) o$i
-	}
-	label {
-		set temp $PgAcVar(fdobj,$i,label)
-		if {$temp==""} {set temp "____"}
-		design:draw_rectangle $x1 $y1 $x2 $y2 $PgAcVar(fdobj,$i,relief) $PgAcVar(fdobj,$i,bcolor) o$i
-		.pgaw:FormDesign:draft.c create text [expr {$x1+1}] [expr {$y1+1}] -text $temp -fill $PgAcVar(fdobj,$i,fcolor) -font $wfont -anchor nw -tags o$i
-	}
-	checkbox {
-		design:draw_rectangle [expr $x1+2] [expr $y1+5] [expr $x1+12] [expr $y1+15] raised #a0a0a0 o$i
-		.pgaw:FormDesign:draft.c create text [expr $x1+20] [expr $y1+3] -text $PgAcVar(fdobj,$i,label) -anchor nw \
-		 -fill $PgAcVar(fdobj,$i,fcolor) -font $wfont -tags o$i
-	}
-	radio {
-		.pgaw:FormDesign:draft.c create oval [expr $x1+4] [expr $y1+5] [expr $x1+14] [expr $y1+15] -fill white -tags o$i
-		.pgaw:FormDesign:draft.c create text [expr $x1+24] [expr $y1+3] -text $PgAcVar(fdobj,$i,label) -anchor nw \
-		 -fill $PgAcVar(fdobj,$i,fcolor) -font $wfont -tags o$i
-	}
-	query {
-		.pgaw:FormDesign:draft.c create oval $x1 $y1 [expr $x1+20] [expr $y1+20] -fill white -tags o$i
-		.pgaw:FormDesign:draft.c create text [expr $x1+5] [expr $y1+4] -text Q  -anchor nw -font $PgAcVar(pref,font_normal) -tags o$i
-	}
-	listbox {
-		design:draw_rectangle $x1 $y1 [expr $x2-12] $y2 sunken $PgAcVar(fdobj,$i,bcolor) o$i
-		design:draw_rectangle [expr $x2-11] $y1 $x2 $y2 sunken gray o$i
-		.pgaw:FormDesign:draft.c create line [expr $x2-5] $y1 $x2 [expr $y1+10] -fill #808080 -tags o$i
-		.pgaw:FormDesign:draft.c create line [expr $x2-10] [expr $y1+9] $x2 [expr $y1+9] -fill #808080 -tags o$i
-		.pgaw:FormDesign:draft.c create line [expr $x2-10] [expr $y1+9] [expr $x2-5] $y1 -fill white -tags o$i
-		.pgaw:FormDesign:draft.c create line [expr $x2-5] $y2 $x2 [expr $y2-10] -fill #808080 -tags o$i
-		.pgaw:FormDesign:draft.c create line [expr $x2-10] [expr $y2-9] $x2 [expr $y2-9] -fill white -tags o$i
-		.pgaw:FormDesign:draft.c create line [expr $x2-10] [expr $y2-9] [expr $x2-5] $y2 -fill white -tags o$i
-	}
-}
-.pgaw:FormDesign:draft.c raise hook
-}
-
-proc {design:draw_rectangle} {x1 y1 x2 y2 relief color tag} {
-	if {$relief=="raised"} {
-		set c1 white
-		set c2 #606060
-	}
-	if {$relief=="sunken"} {
-		set c1 #606060
-		set c2 white
-	}
-	if {$relief=="ridge"} {
-		design:draw_rectangle $x1 $y1 $x2 $y2 raised none $tag
-		design:draw_rectangle [expr {$x1+1}] [expr {$y1+1}] [expr {$x2+1}] [expr {$y2+1}] sunken none $tag
-		design:draw_rectangle [expr {$x1+2}] [expr {$y1+2}] $x2 $y2 flat $color $tag
-		return
-	}
-	if {$relief=="groove"} {
-		design:draw_rectangle $x1 $y1 $x2 $y2 sunken none $tag
-		design:draw_rectangle [expr {$x1+1}] [expr {$y1+1}] [expr {$x2+1}] [expr {$y2+1}] raised none $tag
-		design:draw_rectangle [expr {$x1+2}] [expr {$y1+2}] $x2 $y2 flat $color $tag
-		return
-	}
-	if {$color != "none"} {
-		.pgaw:FormDesign:draft.c create rectangle $x1 $y1 $x2 $y2 -outline "" -fill $color -tags $tag
-	}
-	if {$relief=="flat"} {
-		return
-	}
-	.pgaw:FormDesign:draft.c create line $x1 $y1 $x2 $y1 -fill $c1 -tags $tag
-	.pgaw:FormDesign:draft.c create line $x1 $y1 $x1 $y2 -fill $c1 -tags $tag
-	.pgaw:FormDesign:draft.c create line $x1 $y2 $x2 $y2 -fill $c2 -tags $tag
-	.pgaw:FormDesign:draft.c create line $x2 $y1 $x2 [expr 1+$y2] -fill $c2 -tags $tag
-}
-
-
-proc {design:init} {} {
-global PgAcVar
-	PgAcVar:clean fdvar,*
-	PgAcVar:clean fdobj,*
-	catch {.pgaw:FormDesign:draft.c delete all}
-	# design:draw_grid
-	set PgAcVar(fdobj,0,name) {f1}
-	set PgAcVar(fdobj,0,class) form
-	set PgAcVar(fdobj,0,command) {}
-	set PgAcVar(fdvar,formtitle) "New form"
-	set PgAcVar(fdvar,objnum) 0
-	set PgAcVar(fdvar,objlist) {}
-	set PgAcVar(fdvar,oper) none
-	set PgAcVar(fdvar,tool) point
-	set PgAcVar(fdvar,resizable) 1
-	set PgAcVar(fdvar,dirty) 0
-}
-
-
-proc {design:item_click} {x y} {
-global PgAcVar
-	set PgAcVar(fdvar,oper) none
-	set PgAcVar(fdvar,moveitemobj) {}
-	set il [.pgaw:FormDesign:draft.c find overlapping $x $y $x $y]
-	.pgaw:FormDesign:draft.c delete hook
-	if {[llength $il] == 0} {
-		design:show_attributes 0
-		return
-	}
-	set tl [.pgaw:FormDesign:draft.c gettags [lindex $il 0]]
-	set i [lsearch -glob $tl o*]
-	if {$i == -1} return
-	set objnum [string range [lindex $tl $i] 1 end]
-	set PgAcVar(fdvar,moveitemobj) $objnum
-	set PgAcVar(fdvar,moveitemx) $x
-	set PgAcVar(fdvar,moveitemy) $y
-	set PgAcVar(fdvar,oper) move
-	design:show_attributes $objnum
-	design:draw_hookers $objnum
-}
-
-
-proc {forms:load} {name mode} {
-global PgAcVar CurrentDB
-	design:init
-	set PgAcVar(fdvar,formtitle) $name
-	if {$mode=="design"} {
-		Window show .pgaw:FormDesign:draft
-		Window show .pgaw:FormDesign:menu
-		Window show .pgaw:FormDesign:attributes
-		Window show .pgaw:FormDesign:toolbar
-	}
-	set res [wpg_exec $CurrentDB "select * from pga_forms where formname='$PgAcVar(fdvar,formtitle)'"]
-	set info [lindex [pg_result $res -getTuple 0] 1]
-	pg_result $res -clear
-	set PgAcVar(fdobj,0,name) [lindex $info 0]
-	set PgAcVar(fdvar,objnum) [lindex $info 1]
-	# check for old format , prior to 0.97 that
-	# save here the objlist (deprecated)
-	set temp [lindex $info 2]
-	if {[lindex $temp 0] == "FS"} {
-		set PgAcVar(fdobj,0,command) [lindex $temp 1]
-	} else {
-		set PgAcVar(fdobj,0,command) {}
-	}
-	set PgAcVar(fdvar,objlist) {}
-	set PgAcVar(fdvar,geometry) [lindex $info 3]
-	set i 1
-	foreach objinfo [lrange $info 4 end] {
-		lappend PgAcVar(fdvar,objlist) $i
-		set PgAcVar(fdobj,$i,class)    [lindex $objinfo 0]
-		set PgAcVar(fdobj,$i,name)     [lindex $objinfo 1]
-		set PgAcVar(fdobj,$i,coord)    [lindex $objinfo 2]
-		set PgAcVar(fdobj,$i,command)  [lindex $objinfo 3]
-		set PgAcVar(fdobj,$i,label)    [lindex $objinfo 4]
-		set PgAcVar(fdobj,$i,variable) [lindex $objinfo 5]
-		design:setDefaultReliefAndColor $i
-		set PgAcVar(fdobj,$i,value) $PgAcVar(fdobj,$i,name)
-		if {[llength $objinfo] >  6 } {
-			set PgAcVar(fdobj,$i,value)       [lindex $objinfo 6]
-			set PgAcVar(fdobj,$i,relief)      [lindex $objinfo 7]
-			set PgAcVar(fdobj,$i,fcolor)      [lindex $objinfo 8]
-			set PgAcVar(fdobj,$i,bcolor)      [lindex $objinfo 9]
-			set PgAcVar(fdobj,$i,borderwidth) [lindex $objinfo 10]
-			set PgAcVar(fdobj,$i,font)        [lindex $objinfo 11]
-			# for space saving purposes we have saved onbly the first letter
-			switch $PgAcVar(fdobj,$i,font) {
-				n {set PgAcVar(fdobj,$i,font) normal}
-				i {set PgAcVar(fdobj,$i,font) italic}
-				b {set PgAcVar(fdobj,$i,font) bold}
-				f {set PgAcVar(fdobj,$i,font) fixed}
-			}
-		}
-		if {$mode=="design"} {design:draw_object $i}
-		incr i
-	}
-	if {$mode=="design"} {wm geometry .pgaw:FormDesign:draft $PgAcVar(fdvar,geometry)}
-}
-
-
-proc {design:mouse_down} {x y} {
-global PgAcVar
-	set x [expr 3*int($x/3)]
-	set y [expr 3*int($y/3)]
-	set PgAcVar(fdvar,xstart) $x
-	set PgAcVar(fdvar,ystart) $y
-	if {$PgAcVar(fdvar,tool)=="point"} {
-		design:item_click $x $y
-		return
-	}
-	set PgAcVar(fdvar,oper) draw
-}
-
-
-proc {design:mouse_move} {x y} {
-global PgAcVar
-	#set PgAcVar(fdvar,msg) "x=$x y=$y"
-	set x [expr 3*int($x/3)]
-	set y [expr 3*int($y/3)]
-	set oper ""
-	catch {set oper $PgAcVar(fdvar,oper)}
-	if {$oper=="draw"} {
-		catch {.pgaw:FormDesign:draft.c delete curdraw}
-		.pgaw:FormDesign:draft.c create rectangle $PgAcVar(fdvar,xstart) $PgAcVar(fdvar,ystart) $x $y -tags curdraw
-		return
-	}
-	if {$oper=="move"} {
-		set dx [expr $x-$PgAcVar(fdvar,moveitemx)]
-		set dy [expr $y-$PgAcVar(fdvar,moveitemy)]
-		.pgaw:FormDesign:draft.c move o$PgAcVar(fdvar,moveitemobj) $dx $dy
-		.pgaw:FormDesign:draft.c move hook $dx $dy
-		set PgAcVar(fdvar,moveitemx) $x
-		set PgAcVar(fdvar,moveitemy) $y
-		set PgAcVar(fdvar,dirty) 1
-	}
-}
-
-proc {design:setDefaultReliefAndColor} {i} {
-global PgAcVar
-	set PgAcVar(fdobj,$i,borderwidth) 1
-	set PgAcVar(fdobj,$i,relief) flat
-	set PgAcVar(fdobj,$i,fcolor) {}
-	set PgAcVar(fdobj,$i,bcolor) {}
-	set PgAcVar(fdobj,$i,font) normal
-	switch $PgAcVar(fdobj,$i,class) {
-		button {
-			set PgAcVar(fdobj,$i,fcolor) #000000
-			set PgAcVar(fdobj,$i,bcolor) #d9d9d9
-			set PgAcVar(fdobj,$i,relief) raised
-		}
-		text {
-			set PgAcVar(fdobj,$i,fcolor) #000000
-			set PgAcVar(fdobj,$i,bcolor) #fefefe
-			set PgAcVar(fdobj,$i,relief) sunken
-		}
-		entry {
-			set PgAcVar(fdobj,$i,fcolor) #000000
-			set PgAcVar(fdobj,$i,bcolor) #fefefe
-			set PgAcVar(fdobj,$i,relief) sunken
-		}
-		label {
-			set PgAcVar(fdobj,$i,fcolor) #000000
-			set PgAcVar(fdobj,$i,bcolor) #d9d9d9
-			set PgAcVar(fdobj,$i,relief) flat
-		}
-		checkbox {
-			set PgAcVar(fdobj,$i,fcolor) #000000
-			set PgAcVar(fdobj,$i,bcolor) #d9d9d9
-			set PgAcVar(fdobj,$i,relief) flat
-		}
-		radio {
-			set PgAcVar(fdobj,$i,fcolor) #000000
-			set PgAcVar(fdobj,$i,bcolor) #d9d9d9
-			set PgAcVar(fdobj,$i,relief) flat
-		}
-		listbox {
-			set PgAcVar(fdobj,$i,fcolor) #000000
-			set PgAcVar(fdobj,$i,bcolor) #fefefe
-			set PgAcVar(fdobj,$i,relief) sunken
-		}
-	}
-}
-
-proc {design:mouse_up} {x y} {
-global PgAcVar
-	set x [expr 3*int($x/3)]
-	set y [expr 3*int($y/3)]
-	if {$PgAcVar(fdvar,oper)=="move"} {
-		set PgAcVar(fdvar,moveitem) {}
-		set PgAcVar(fdvar,oper) none
-		set oc $PgAcVar(fdobj,$PgAcVar(fdvar,moveitemobj),coord)
-		set dx [expr $x - $PgAcVar(fdvar,xstart)]
-		set dy [expr $y - $PgAcVar(fdvar,ystart)]
-		set newcoord [list [expr $dx+[lindex $oc 0]] [expr $dy+[lindex $oc 1]] [expr $dx+[lindex $oc 2]] [expr $dy+[lindex $oc 3]]]
-		set PgAcVar(fdobj,$PgAcVar(fdvar,moveitemobj),coord) $newcoord
-		design:show_attributes $PgAcVar(fdvar,moveitemobj)
-		design:draw_hookers $PgAcVar(fdvar,moveitemobj)
-		return
-	}
-	if {$PgAcVar(fdvar,oper)!="draw"} return
-	set PgAcVar(fdvar,oper) none
-	.pgaw:FormDesign:draft.c delete curdraw
-	# Check for x2<x1 or y2<y1
-	if {$x<$PgAcVar(fdvar,xstart)} {set temp $x ; set x $PgAcVar(fdvar,xstart) ; set PgAcVar(fdvar,xstart) $temp}
-	if {$y<$PgAcVar(fdvar,ystart)} {set temp $y ; set y $PgAcVar(fdvar,ystart) ; set PgAcVar(fdvar,ystart) $temp}
-	# Check for too small sizes
-	if {[expr $x-$PgAcVar(fdvar,xstart)]<20} {set x [expr $PgAcVar(fdvar,xstart)+20]}
-	if {[expr $y-$PgAcVar(fdvar,ystart)]<10} {set y [expr $PgAcVar(fdvar,ystart)+10]}
-	incr PgAcVar(fdvar,objnum)
-	set i $PgAcVar(fdvar,objnum)
-	lappend PgAcVar(fdvar,objlist) $i
-
-	set PgAcVar(fdobj,$i,class) $PgAcVar(fdvar,tool)
-	set PgAcVar(fdobj,$i,coord) [list $PgAcVar(fdvar,xstart) $PgAcVar(fdvar,ystart) $x $y]
-	set PgAcVar(fdobj,$i,name) $PgAcVar(fdvar,tool)$i
-	set PgAcVar(fdobj,$i,label) $PgAcVar(fdvar,tool)$i
-	set PgAcVar(fdobj,$i,command) {}
-	set PgAcVar(fdobj,$i,variable) {}
-	set PgAcVar(fdobj,$i,value) {}
-
-	design:setDefaultReliefAndColor $i
-	
-	design:draw_object $i
-	design:show_attributes $i
-	set PgAcVar(fdvar,moveitemobj) $i
-	design:draw_hookers $i
-	set PgAcVar(fdvar,tool) point
-	set PgAcVar(fdvar,dirty) 1
-}
-
-
-proc {design:save} {name} {
-global PgAcVar CurrentDB
-	if {[string length $PgAcVar(fdobj,0,name)]==0} {
-		tk_messageBox -title [intlmsg Warning] -message [intlmsg "Forms need an internal name, only literals, low case"]
-		return 0
-	}
-	if {[string length $PgAcVar(fdvar,formtitle)]==0} {
-		tk_messageBox -title [intlmsg Warning] -message [intlmsg "Form must have a name"]
-		return 0
-	}
-	set info [list $PgAcVar(fdobj,0,name) $PgAcVar(fdvar,objnum) [list FS $PgAcVar(fdobj,0,command)] [wm geometry .pgaw:FormDesign:draft]]
-	foreach i $PgAcVar(fdvar,objlist) {
-		set wfont $PgAcVar(fdobj,$i,font)
-		if {[lsearch {normal bold italic fixed} $wfont] != -1} {
-			set wfont [string range $wfont 0 0]
-		}
-		lappend info [list $PgAcVar(fdobj,$i,class) $PgAcVar(fdobj,$i,name) $PgAcVar(fdobj,$i,coord) $PgAcVar(fdobj,$i,command) $PgAcVar(fdobj,$i,label) $PgAcVar(fdobj,$i,variable) $PgAcVar(fdobj,$i,value) $PgAcVar(fdobj,$i,relief) $PgAcVar(fdobj,$i,fcolor) $PgAcVar(fdobj,$i,bcolor) $PgAcVar(fdobj,$i,borderwidth) $wfont]
-	}
-	if {[string length $info]>8000} {
-		tk_messageBox -title [intlmsg Error] -message [intlmsg "Form too big!\nSource size [string length $info] bytes\nCannot save !"]
-		return 0
-	}
-	sql_exec noquiet "delete from pga_forms where formname='$PgAcVar(fdvar,formtitle)'"
-	regsub -all "'" $info "''" info
-	sql_exec noquiet "insert into pga_forms values ('$PgAcVar(fdvar,formtitle)','$info')"
-	Mainlib::cmd_Forms
-	set PgAcVar(fdvar,dirty) 0
-	return 1
-}
-
-
-proc {design:set_name} {} {
-global PgAcVar
-	set i $PgAcVar(fdvar,moveitemobj)
-	foreach k $PgAcVar(fdvar,objlist) {
-		if {($PgAcVar(fdobj,$k,name)==$PgAcVar(fdvar,c_name)) && ($i!=$k)} {
-			tk_messageBox -title [intlmsg Warning] -message [format [intlmsg "There is another object (a %s) with the same name.\nPlease change it!"] $PgAcVar(fdobj,$k,class)]
-			return
-		}
-	}
-	set PgAcVar(fdobj,$i,name) $PgAcVar(fdvar,c_name)
-	design:show_attributes $i
-	set PgAcVar(fdvar,dirty) 1
-}
-
-
-proc {design:set_text} {} {
-global PgAcVar
-	design:draw_object $PgAcVar(fdvar,moveitemobj)
-	set PgAcVar(fdvar,dirty) 1
-}
-
-
-proc {design:createAttributesFrame} {i} {
-global PgAcVar
-	# Check if attributes frame is already created for that item
-	
-	if {[info exists PgAcVar(fdvar,attributeFrame)]} {
-		if {$PgAcVar(fdvar,attributeFrame) == $i} return
-	}
-	set PgAcVar(fdvar,attributeFrame) $i
-	
-	# Delete old widgets from the frame
-	foreach wid [winfo children .pgaw:FormDesign:attributes.f] {
-		destroy $wid
-	}
-
-	set row 0
-	set base .pgaw:FormDesign:attributes.f
-	grid columnconf $base 1 -weight 1
-
-	set objclass $PgAcVar(fdobj,$i,class)
-
-	# if i is zero, then the object is the form
-	
-	if {$i == 0} {
-		label $base.l$row \
-	        -borderwidth 0 -text [intlmsg {Startup script}]
-		entry $base.e$row -textvariable PgAcVar(fdobj,$i,command) \
-	        -background #fefefe -borderwidth 1 -width 200 
-		button $base.b$row \
-	        -borderwidth 1 -padx 1 -pady 0 -text ... -command "
-				Window show .pgaw:FormDesign:commands
-				set PgAcVar(fdvar,commandFor) $i
-				.pgaw:FormDesign:commands.f.txt delete 1.0 end
-				.pgaw:FormDesign:commands.f.txt insert end \$PgAcVar(fdobj,$i,command)"
-		grid $base.l$row \
-	        -in $base -column 0 -row $row -columnspan 1 -rowspan 1 -sticky w 
-		grid $base.e$row \
-	        -in $base -column 1 -row $row -columnspan 1 -rowspan 1 -padx 2 \
-	        -sticky w 				
-		grid $base.b$row \
-	        -in $base -column 2 -row $row -columnspan 1 -rowspan 1 
-		incr row
-	}
-
-	# does it have a text attribute ?
-	if {[lsearch {button label radio checkbox} $objclass] > -1} {
-		label $base.l$row \
-	        -borderwidth 0 -text [intlmsg Text]
-		entry $base.e$row -textvariable PgAcVar(fdobj,$i,label) \
-	        -background #fefefe -borderwidth 1 -width 200 
-		bind $base.e$row <Key-Return> "Forms::design:set_text"
-		grid $base.l$row \
-			-in $base -column 0 -row $row -columnspan 1 -rowspan 1 -sticky w 
-		grid $base.e$row \
-	        -in $base -column 1 -row $row -columnspan 1 -rowspan 1 -padx 2 -sticky w 				
-		incr row
-	}
-
-	# does it have a variable attribute ?
-	if {[lsearch {button label radio checkbox entry} $objclass] > -1} {
-		label $base.l$row \
-	        -borderwidth 0 -text [intlmsg Variable]
-		entry $base.e$row -textvariable PgAcVar(fdobj,$i,variable) \
-	        -background #fefefe -borderwidth 1 -width 200 
-		grid $base.l$row \
-	        -in $base -column 0 -row $row -columnspan 1 -rowspan 1 -sticky w 
-		grid $base.e$row \
-	        -in $base -column 1 -row $row -columnspan 1 -rowspan 1 -padx 2 \
-	        -sticky w 				
-		incr row
-	}
-
-	# does it have a Command attribute ?
-	if {[lsearch {button checkbox} $objclass] > -1} {
-		label $base.l$row \
-	        -borderwidth 0 -text [intlmsg Command]
-		entry $base.e$row -textvariable PgAcVar(fdobj,$i,command) \
-	        -background #fefefe -borderwidth 1 -width 200 
-		button $base.b$row \
-	        -borderwidth 1 -padx 1 -pady 0 -text ... -command "
-				Window show .pgaw:FormDesign:commands
-				set PgAcVar(fdvar,commandFor) $i
-				.pgaw:FormDesign:commands.f.txt delete 1.0 end
-				.pgaw:FormDesign:commands.f.txt insert end \$PgAcVar(fdobj,$i,command)"
-		grid $base.l$row \
-	        -in $base -column 0 -row $row -columnspan 1 -rowspan 1 -sticky w 
-		grid $base.e$row \
-	        -in $base -column 1 -row $row -columnspan 1 -rowspan 1 -padx 2 \
-	        -sticky w 				
-		grid $base.b$row \
-	        -in $base -column 2 -row $row -columnspan 1 -rowspan 1 
-		incr row
-	}
-
-	# does it have a value attribute ?
-	if {[lsearch {radio checkbox} $objclass] > -1} {
-		label $base.l$row \
-	        -borderwidth 0 -text [intlmsg Value]
-		entry $base.e$row -textvariable PgAcVar(fdobj,$i,value) \
-	        -background #fefefe -borderwidth 1 -width 200 
-		grid $base.l$row \
-	        -in $base -column 0 -row $row -columnspan 1 -rowspan 1 -sticky w 
-		grid $base.e$row \
-	        -in $base -column 1 -row $row -columnspan 1 -rowspan 1 -padx 2 \
-	        -sticky w 				
-		incr row
-	}
-
-	# does it have fonts ?
-	if {[lsearch {label button entry listbox text checkbox radio} $objclass] > -1} {
-		label $base.lfont \
-			-borderwidth 0 -text [intlmsg Font]
-		grid $base.lfont \
-			-in $base -column 0 -row $row -columnspan 1 -rowspan 1 -pady 2 -sticky w 
-		entry $base.efont -textvariable PgAcVar(fdobj,$i,font) \
-	        -background #fefefe -borderwidth 1 -width 200 
-		bind $base.efont <Key-Return> "Forms::design:draw_object $i ; set PgAcVar(fdvar,dirty) 1"
-		grid $base.efont \
-	        -in $base -column 1 -row $row -columnspan 1 -rowspan 1 -padx 2 -sticky w 				
-		menubutton $base.mbf \
-    	    -borderwidth 1 -menu $base.mbf.m -padx 2 -pady 0 \
-        	-text {...}  -font $PgAcVar(pref,font_normal) -relief raised
-		menu $base.mbf.m \
-			-borderwidth 1 -cursor {} -tearoff 0 -font $PgAcVar(pref,font_normal)
-		foreach font {normal bold italic fixed} {
-			$base.mbf.m add command \
-    	    	-command "
-    	    		set PgAcVar(fdobj,$i,font) $font
-    	    		Forms::design:draw_object $i
-    	    		set PgAcVar(fdvar,dirty) 1
-    	    	" -label $font
-		}
-		grid $base.mbf \
-			-in $base -column 2 -row $row -columnspan 1 -rowspan 1 -pady 2 -padx 2 -sticky w 
-		incr row
-	}
-
-	# does it have colors ?
-	if {[lsearch {label button radio checkbox entry listbox text} $objclass] > -1} {
-		label $base.lcf \
-	        -borderwidth 0 -text [intlmsg Foreground]
-		label $base.scf \
-	        -background $PgAcVar(fdobj,$i,fcolor) -borderwidth 1 -relief sunken -width 200 
-		button $base.bcf \
-			-command "set tempcolor \[tk_chooseColor -initialcolor $PgAcVar(fdobj,$i,fcolor) -title {Choose color}\] 
-				if {\$tempcolor != {}} {
-					set PgAcVar(fdobj,$i,fcolor) \$tempcolor
-					$base.scf configure -background \$PgAcVar(fdobj,$i,fcolor)
-					set PgAcVar(fdvar,dirty) 1
-					Forms::design:draw_object $i
-				}" \
-	        -borderwidth 1 -padx 1 -pady 0 -text ... 
-		grid $base.lcf \
-	        -in $base -column 0 -row $row -columnspan 1 -rowspan 1 -sticky w 
-		grid $base.scf \
-	        -in $base -column 1 -row $row -columnspan 1 -rowspan 1 -padx 2 \
-	        -sticky w 
-		grid $base.bcf \
-	        -in $base -column 2 -row $row -columnspan 1 -rowspan 1 
-		incr row
-		label $base.lcb \
-			-borderwidth 0 -text Background 
-		label $base.scb \
-			-background $PgAcVar(fdobj,$i,bcolor) -borderwidth 1 -relief sunken -width 200 
-		button $base.bcb \
-			-command "set tempcolor \[tk_chooseColor -initialcolor $PgAcVar(fdobj,$i,bcolor) -title {Choose color}\]
-				if {\$tempcolor != {}} {
-					set PgAcVar(fdobj,$i,bcolor) \$tempcolor
-					$base.scb configure -background \$PgAcVar(fdobj,$i,bcolor)
-					set PgAcVar(fdvar,dirty) 1
-					Forms::design:draw_object $i
-				}" \
-			-borderwidth 1 -padx 1 -pady 0 -text ... 
-		grid $base.lcb \
-			-in $base -column 0 -row $row -columnspan 1 -rowspan 1 -sticky w 
-		grid $base.scb \
-			-in $base -column 1 -row $row -columnspan 1 -rowspan 1 -padx 2 -sticky w 
-		grid $base.bcb \
-			-in $base -column 2 -row $row -columnspan 1 -rowspan 1
-		incr row
-	}
-
-	# does it have border types ?
-	if {[lsearch {label button entry listbox text} $objclass] > -1} {
-		label $base.lrelief \
-			-borderwidth 0 -text [intlmsg Relief]
-		grid $base.lrelief \
-			-in $base -column 0 -row $row -columnspan 1 -rowspan 1 -pady 2 -sticky w 
-		menubutton $base.mb \
-    	    -borderwidth 2 -menu $base.mb.m -padx 4 -pady 3 -width 100 -relief $PgAcVar(fdobj,$i,relief) \
-        	-text groove -textvariable PgAcVar(fdobj,$i,relief) \
-        	-font $PgAcVar(pref,font_normal)
-		menu $base.mb.m \
-			-borderwidth 1 -cursor {} -tearoff 0 -font $PgAcVar(pref,font_normal)
-		foreach brdtype {raised sunken ridge groove flat} {
-			$base.mb.m add command \
-    	    	-command "
-    	    		set PgAcVar(fdobj,$i,relief) $brdtype
-    	    		$base.mb configure -relief \$PgAcVar(fdobj,$i,relief)
-    	    		Forms::design:draw_object $i
-    	    	" -label $brdtype
-		}
-		grid $base.mb \
-			-in $base -column 1 -row $row -columnspan 1 -rowspan 1 -pady 2 -padx 2 -sticky w 
-		incr row
-
-	}
-
-	# is it a DataControl ?
-	if {$objclass == "query"} {
-		label $base.l$row \
-	        -borderwidth 0 -text [intlmsg SQL]
-		entry $base.e$row -textvariable PgAcVar(fdobj,$i,command) \
-	        -background #fefefe -borderwidth 1 -width 200 
-		grid $base.l$row \
-	        -in $base -column 0 -row $row -columnspan 1 -rowspan 1 -sticky w 
-		grid $base.e$row \
-	        -in $base -column 1 -row $row -columnspan 1 -rowspan 1 -padx 2 \
-	        -sticky w 				
-		incr row
-	}
-
-	# does it have a borderwidth attribute ?
-	if {[lsearch {button label radio checkbox entry listbox text} $objclass] > -1} {
-		label $base.l$row \
-	        -borderwidth 0 -text [intlmsg {Border width}]
-		entry $base.e$row -textvariable PgAcVar(fdobj,$i,borderwidth) \
-	        -background #fefefe -borderwidth 1 -width 200 
-		grid $base.l$row \
-	        -in $base -column 0 -row $row -columnspan 1 -rowspan 1 -sticky w 
-		grid $base.e$row \
-	        -in $base -column 1 -row $row -columnspan 1 -rowspan 1 -padx 2 \
-	        -sticky w 				
-		incr row
-	}
-
-
-	# The last dummy label
-	
-	label $base.ldummy -text {} -borderwidth 0
-	grid $base.ldummy -in $base -column 0 -row 100
-	grid rowconf $base 100 -weight 1
-
-}
-
-
-proc {design:show_attributes} {i} {
-global PgAcVar
-	set objclass $PgAcVar(fdobj,$i,class)
-	set PgAcVar(fdvar,c_class) $objclass
-	design:createAttributesFrame $i
-	set PgAcVar(fdvar,c_name) $PgAcVar(fdobj,$i,name)
-	if {$i == 0} {
-		# Object 0 is the form
-		set c [split [winfo geometry .pgaw:FormDesign:draft] x+]
-		set PgAcVar(fdvar,c_top) [lindex $c 3]
-		set PgAcVar(fdvar,c_left) [lindex $c 2]
-		set PgAcVar(fdvar,c_width) [lindex $c 0]
-		set PgAcVar(fdvar,c_height) [lindex $c 1]
-		return
-	}
-	set c $PgAcVar(fdobj,$i,coord)
-	set PgAcVar(fdvar,c_top) [lindex $c 1]
-	set PgAcVar(fdvar,c_left) [lindex $c 0]
-	set PgAcVar(fdvar,c_width) [expr [lindex $c 2]-[lindex $c 0]]
-	set PgAcVar(fdvar,c_height) [expr [lindex $c 3]-[lindex $c 1]]
-}
-
-
-proc {design:run} {} {
-global PgAcVar CurrentDB DataControlVar
-set base .$PgAcVar(fdobj,0,name)
-if {[winfo exists $base]} {
-   wm deiconify $base; return
-}
-toplevel $base -class Toplevel
-wm focusmodel $base passive
-wm geometry $base $PgAcVar(fdvar,geometry)
-wm maxsize $base 785 570
-wm minsize $base 1 1
-wm overrideredirect $base 0
-wm resizable $base 1 1
-wm deiconify $base
-wm title $base $PgAcVar(fdvar,formtitle)
-foreach item $PgAcVar(fdvar,objlist) {
-set coord $PgAcVar(fdobj,$item,coord)
-set name $PgAcVar(fdobj,$item,name)
-set wh "-width [expr 3+[lindex $coord 2]-[lindex $coord 0]]  -height [expr 3+[lindex $coord 3]-[lindex $coord 1]]"
-set visual 1
-
-set wfont $PgAcVar(fdobj,$item,font)
-switch $wfont {
-	{} {set wfont $PgAcVar(pref,font_normal)}
-	normal  {set wfont $PgAcVar(pref,font_normal)}
-	bold  {set wfont $PgAcVar(pref,font_bold)}
-	italic  {set wfont $PgAcVar(pref,font_italic)}
-	fixed  {set wfont $PgAcVar(pref,font_fix)}
-}
-
-namespace forget ::DataControl($base.$name)
-
-# Checking if relief ridge or groove has borderwidth 2
-if {[lsearch {ridge groove} $PgAcVar(fdobj,$item,relief)] != -1} {
-	if {$PgAcVar(fdobj,$item,borderwidth) < 2} {
-		set PgAcVar(fdobj,$item,borderwidth) 2
-	}
-}
-
-# Checking if borderwidth is okay
-if {[lsearch {0 1 2 3 4 5} $PgAcVar(fdobj,$item,borderwidth)] == -1} {
-	set PgAcVar(fdobj,$item,borderwidth) 1
-}
-
-set cmd {}
-catch {set cmd $PgAcVar(fdobj,$item,command)}
-
-switch $PgAcVar(fdobj,$item,class) {
-	button {
-		button $base.$name  -borderwidth 1 -padx 0 -pady 0 -text "$PgAcVar(fdobj,$item,label)" \
-		-fg $PgAcVar(fdobj,$item,fcolor) -bg $PgAcVar(fdobj,$item,bcolor) \
-		-borderwidth $PgAcVar(fdobj,$item,borderwidth) \
-		-relief $PgAcVar(fdobj,$item,relief) -font $wfont -command [subst {$cmd}]
-		if {$PgAcVar(fdobj,$item,variable) != ""} {
-			$base.$name configure -textvariable $PgAcVar(fdobj,$item,variable)
-		}
-	}
-	checkbox {
-		checkbutton  $base.$name -onvalue t -offvalue f -font $wfont \
-		-fg $PgAcVar(fdobj,$item,fcolor) \
-		-borderwidth $PgAcVar(fdobj,$item,borderwidth) \
-		-command [subst {$cmd}] \
-		-text "$PgAcVar(fdobj,$item,label)" -variable "$PgAcVar(fdobj,$item,variable)" -borderwidth 1
-		set wh {}
-	}
-	query {
-		set visual 0
-		set DataControlVar($base.$name,sql) $PgAcVar(fdobj,$item,command)
-		namespace eval ::DataControl($base.$name) "proc open {} {
-			global CurrentDB DataControlVar
-			variable tuples
-			catch {unset tuples}
-			set wn \[focus\] ; setCursor CLOCK
-			set res \[wpg_exec \$CurrentDB \"\$DataControlVar($base.$name,sql)\"\]
-			pg_result \$res -assign tuples
-			set fl {}
-			foreach fd \[pg_result \$res -lAttributes\] {lappend fl \[lindex \$fd 0\]}
-			set DataControlVar($base.$name,fields) \$fl
-			set DataControlVar($base.$name,recno) 0
-			set DataControlVar($base.$name,nrecs) \[pg_result \$res -numTuples\]
-			setCursor NORMAL
-			pg_result \$res -clear
-		}"
-		namespace eval ::DataControl($base.$name) "proc setSQL {sqlcmd} {
-			global DataControlVar
-			set DataControlVar($base.$name,sql) \$sqlcmd
-		}"
-		namespace eval ::DataControl($base.$name) "proc getRowCount {} {
-			global DataControlVar
-			return \$DataControlVar($base.$name,nrecs)
-		}"
-		namespace eval ::DataControl($base.$name)  "proc getRowIndex {} {
-			global DataControlVar
-			return \$DataControlVar($base.$name,recno)
-		}"
-		namespace eval ::DataControl($base.$name)  "proc moveTo {newrecno} {
-			global DataControlVar
-			set DataControlVar($base.$name,recno) \$newrecno
-		}"
-		namespace eval ::DataControl($base.$name) "proc close {} {
-			variable tuples
-			catch {unset tuples}
-		}"
-		namespace eval ::DataControl($base.$name)  "proc getFieldList {} {
-			global DataControlVar
-			return \$DataControlVar($base.$name,fields)
-		}"
-		namespace eval ::DataControl($base.$name)  "proc fill {lb fld} {
-			global DataControlVar
-			variable tuples
-			\$lb delete 0 end
-			for {set i 0} {\$i<\$DataControlVar($base.$name,nrecs)} {incr i} {
-				\$lb insert end \$tuples\(\$i,\$fld\)
-			}
-		}"
-		namespace eval ::DataControl($base.$name)  "proc moveFirst {} {global DataControlVar ; set DataControlVar($base.$name,recno) 0}"
-		namespace eval ::DataControl($base.$name)  "proc moveNext {} {global DataControlVar ; incr DataControlVar($base.$name,recno) ; if {\$DataControlVar($base.$name,recno)==\[getRowCount\]} {moveLast}}"
-		namespace eval ::DataControl($base.$name)  "proc movePrevious {} {global DataControlVar ; incr DataControlVar($base.$name,recno) -1 ; if {\$DataControlVar($base.$name,recno)==-1} {moveFirst}}"
-		namespace eval ::DataControl($base.$name)  "proc moveLast {} {global DataControlVar ; set DataControlVar($base.$name,recno) \[expr \[getRowCount\] -1\]}"
-		namespace eval ::DataControl($base.$name)  "proc updateDataSet {} {\
-			global DataControlVar
-			global DataSet
-			variable tuples
-			set i \$DataControlVar($base.$name,recno)
-			foreach fld \$DataControlVar($base.$name,fields) {
-				catch {
-					upvar DataSet\($base.$name,\$fld\) dbvar
-					set dbvar \$tuples\(\$i,\$fld\)
-				}
-			}
-		}"
-		namespace eval ::DataControl($base.$name)  "proc clearDataSet {} {
-			global DataControlVar
-			global DataSet
-			catch { foreach fld \$DataControlVar($base.$name,fields) {
-				catch {
-					upvar DataSet\($base.$name,\$fld\) dbvar
-					set dbvar {}
-				}
-			}}
-		}"
-	}
-	radio {
-		radiobutton  $base.$name -font $wfont -text "$PgAcVar(fdobj,$item,label)" \
-		-fg $PgAcVar(fdobj,$item,fcolor) -bg $PgAcVar(fdobj,$item,bcolor) -variable $PgAcVar(fdobj,$item,variable) \
-		-value $PgAcVar(fdobj,$item,value) -borderwidth 1
-		set wh {}
-	}
-	entry {
-		set var {} ; catch {set var $PgAcVar(fdobj,$item,variable)}
-		entry $base.$name -bg $PgAcVar(fdobj,$item,bcolor) -fg $PgAcVar(fdobj,$item,fcolor) \
-		-borderwidth $PgAcVar(fdobj,$item,borderwidth) -font $wfont \
-		-relief $PgAcVar(fdobj,$item,relief) -selectborderwidth 0  -highlightthickness 0 
-		if {$var!=""} {$base.$name configure -textvar $var}
-	}
-	text {
-		text $base.$name -fg $PgAcVar(fdobj,$item,fcolor) -bg $PgAcVar(fdobj,$item,bcolor) \
-		-relief $PgAcVar(fdobj,$item,relief) -borderwidth $PgAcVar(fdobj,$item,borderwidth) \
-		-font $wfont
-	}
-	label {
-		# set wh {}
-		label $base.$name -font $wfont -anchor nw -padx 0 -pady 0 -text $PgAcVar(fdobj,$item,label) \
-		-borderwidth $PgAcVar(fdobj,$item,borderwidth) \
-		-relief $PgAcVar(fdobj,$item,relief)  -fg $PgAcVar(fdobj,$item,fcolor) -bg $PgAcVar(fdobj,$item,bcolor) 
-		set var {} ; catch {set var $PgAcVar(fdobj,$item,variable)}
-		if {$var!=""} {$base.$name configure -textvar $var}
-	}
-	listbox {
-		listbox $base.$name -bg $PgAcVar(fdobj,$item,bcolor)  -highlightthickness 0 -selectborderwidth 0 \
-		-borderwidth $PgAcVar(fdobj,$item,borderwidth) -relief $PgAcVar(fdobj,$item,relief) \
-		-fg $PgAcVar(fdobj,$item,fcolor) -bg $PgAcVar(fdobj,$item,bcolor) -font $wfont -yscrollcommand [subst {$base.sb$name set}]
-		scrollbar $base.sb$name -borderwidth 1 -command [subst {$base.$name yview}] -orient vert  -highlightthickness 0
-		eval [subst "place $base.sb$name -x [expr [lindex $coord 2]-14] -y [expr [lindex $coord 1]-1] -width 16 -height [expr 3+[lindex $coord 3]-[lindex $coord 1]] -anchor nw -bordermode ignore"]
-	}
-}
-if $visual {eval [subst "place $base.$name  -x [expr [lindex $coord 0]-1] -y [expr [lindex $coord 1]-1] -anchor nw $wh -bordermode ignore"]}
-}
-if {$PgAcVar(fdobj,0,command) != ""} {
-	uplevel #0 $PgAcVar(fdobj,0,command)
-}
-}
-
-proc {design:close} {} {
-global PgAcVar
-	if {$PgAcVar(fdvar,dirty)} {
-		if {[tk_messageBox -title [intlmsg Warning] -message [intlmsg "Do you want to save the form into the database?"] -type yesno -default yes]=="yes"} {
-			if {[design:save $PgAcVar(fdvar,formtitle)]==0} {return}
-		}
-	}
-	catch {Window destroy .pgaw:FormDesign:draft}
-	catch {Window destroy .pgaw:FormDesign:toolbar}
-	catch {Window destroy .pgaw:FormDesign:menu}
-	catch {Window destroy .pgaw:FormDesign:attributes}
-	catch {Window destroy .pgaw:FormDesign:commands}
-	catch {Window destroy .$PgAcVar(fdobj,0,name)}
-}
-
-}
-
-proc vTclWindow.pgaw:FormDesign:draft {base} {
-	if {$base == ""} {
-		set base .pgaw:FormDesign:draft
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 377x315+50+130
-	wm maxsize $base 785 570
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 1 1
-	wm deiconify $base
-	wm title $base [intlmsg "Form design"]
-	bind $base <Key-Delete> {
-		Forms::design:delete_object
-	}
-	bind $base <Key-F1> "Help::load form_design"
-	canvas $base.c \
-		-background #a0a0a0 -height 207 -highlightthickness 0 -relief ridge \
-		-selectborderwidth 0 -width 295 
-	bind $base.c <Button-1> {
-		Forms::design:mouse_down %x %y
-	}
-	bind $base.c <ButtonRelease-1> {
-		Forms::design:mouse_up %x %y
-	}
-	bind $base.c <Motion> {
-		Forms::design:mouse_move %x %y
-	}
-	pack $base.c \
-		-in .pgaw:FormDesign:draft -anchor center -expand 1 -fill both -side top
-}
-
-proc vTclWindow.pgaw:FormDesign:attributes {base} {
-	if {$base == ""} {
-		set base .pgaw:FormDesign:attributes
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 237x300+461+221
-	wm maxsize $base 785 570
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Attributes"]
-
-	# The identification frame
-
-	frame $base.fi \
-        -borderwidth 2 -height 75 -relief groove -width 125 
-	label $base.fi.lclass \
-        -borderwidth 0 -text [intlmsg Class]
-	entry $base.fi.eclass -textvariable PgAcVar(fdvar,c_class) \
-        -borderwidth 1 -width 200 
-	label $base.fi.lname \
-        -borderwidth 0 -text [intlmsg Name]
-	entry $base.fi.ename -textvariable PgAcVar(fdvar,c_name) \
-        -background #fefefe -borderwidth 1 -width 200 
-	bind $base.fi.ename <Key-Return> {
-		Forms::design:set_name
-	}
-
-
-	# The geometry frame
-
-	frame $base.fg \
-        -borderwidth 2 -height 75 -relief groove -width 125 
-	entry $base.fg.e1 -textvariable PgAcVar(fdvar,c_width) \
-        -background #fefefe -borderwidth 1 -width 5 
-	entry $base.fg.e2 -textvariable PgAcVar(fdvar,c_height) \
-        -background #fefefe -borderwidth 1 -width 5 
-	entry $base.fg.e3 -textvariable PgAcVar(fdvar,c_left) \
-        -background #fefefe -borderwidth 1 -width 5 
-	entry $base.fg.e4 -textvariable PgAcVar(fdvar,c_top) \
-        -background #fefefe -borderwidth 1 -width 5 
-	bind $base.fg.e1 <Key-Return> {
-		Forms::design:change_coords
-	}
-	bind $base.fg.e2 <Key-Return> {
-		Forms::design:change_coords
-	}
-	bind $base.fg.e3 <Key-Return> {
-		Forms::design:change_coords
-	}
-	bind $base.fg.e4 <Key-Return> {
-		Forms::design:change_coords
-	}
-	label $base.fg.l1 \
-        -borderwidth 0 -text Width 
-	label $base.fg.l2 \
-        -borderwidth 0 -text Height 
-	label $base.fg.l3 \
-        -borderwidth 0 -text Left 
-	label $base.fg.l4 \
-        -borderwidth 0 -text Top 
-	label $base.fg.lx1 \
-        -borderwidth 0 -text x 
-	label $base.fg.lp1 \
-        -borderwidth 0 -text + 
-	label $base.fg.lp2 \
-        -borderwidth 0 -text + 
-
-	# The frame for the rest of the attributes (dynamically generated)
-
-	
-	frame $base.f \
-        -borderwidth 2 -height 75 -relief groove -width 125 
-
-
-	# Geometry for "identification frame"
-
-
-	place $base.fi \
-        -x 5 -y 5 -width 230 -height 55 -anchor nw -bordermode ignore 
-	grid columnconf $base.fi 1 -weight 1
-	grid $base.fi.lclass \
-        -in $base.fi -column 0 -row 0 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.fi.eclass \
-        -in $base.fi -column 1 -row 0 -columnspan 1 -rowspan 1 -padx 2 \
-        -sticky w 
-	grid $base.fi.lname \
-        -in $base.fi -column 0 -row 1 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.fi.ename \
-        -in $base.fi -column 1 -row 1 -columnspan 1 -rowspan 1 -padx 2 \
-        -sticky w 
-
-
-
-	# Geometry for "geometry frame"
-
-	place $base.fg \
-        -x 5 -y 60 -width 230 -height 45 -anchor nw -bordermode ignore 
-	grid $base.fg.e1 \
-        -in $base.fg -column 0 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.fg.e2 \
-        -in $base.fg -column 2 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.fg.e3 \
-        -in $base.fg -column 4 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.fg.e4 \
-        -in $base.fg -column 6 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.fg.l1 \
-        -in $base.fg -column 0 -row 1 -columnspan 1 -rowspan 1 
-	grid $base.fg.l2 \
-        -in $base.fg -column 2 -row 1 -columnspan 1 -rowspan 1 
-	grid $base.fg.l3 \
-        -in $base.fg -column 4 -row 1 -columnspan 1 -rowspan 1 
-	grid $base.fg.l4 \
-        -in $base.fg -column 6 -row 1 -columnspan 1 -rowspan 1 
-	grid $base.fg.lx1 \
-        -in $base.fg -column 1 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.fg.lp1 \
-        -in $base.fg -column 5 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.fg.lp2 \
-        -in $base.fg -column 3 -row 0 -columnspan 1 -rowspan 1 
-
-	place $base.f -x 5 -y 105 -width 230 -height 190 -anchor nw
-
-}
-
-
-proc vTclWindow.pgaw:FormDesign:commands {base} {
-global PgAcVar
-	if {$base == ""} {
-		set base .pgaw:FormDesign:commands
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 640x480+120+100
-	wm maxsize $base 785 570
-	wm minsize $base 1 19
-	wm overrideredirect $base 0
-	wm resizable $base 1 1
-	wm title $base [intlmsg "Command"]
-	frame $base.f \
-		-borderwidth 2 -height 75 -relief groove -width 125 
-	scrollbar $base.f.sb \
-		-borderwidth 1 -command {.pgaw:FormDesign:commands.f.txt yview} -orient vert -width 12 
-	text $base.f.txt \
-		-font $PgAcVar(pref,font_fix) -height 1 -tabs {20 40 60 80 100 120 140 160 180 200} \
-		-width 200 -yscrollcommand {.pgaw:FormDesign:commands.f.sb set} 
-	frame $base.fb \
-		-height 75 -width 125 
-	button $base.fb.b1 \
-		-borderwidth 1 \
-		-command {
-			set PgAcVar(fdobj,$PgAcVar(fdvar,commandFor),command) [.pgaw:FormDesign:commands.f.txt get 1.0 "end - 1 chars"]
-			Window hide .pgaw:FormDesign:commands
-			set PgAcVar(fdvar,dirty) 1
-		} -text [intlmsg Save] -width 5 
-	button $base.fb.b2 \
-		-borderwidth 1 -command {Window hide .pgaw:FormDesign:commands} \
-		-text [intlmsg Cancel]
-	pack $base.f \
-		-in .pgaw:FormDesign:commands -anchor center -expand 1 -fill both -side top 
-	pack $base.f.sb \
-		-in .pgaw:FormDesign:commands.f -anchor e -expand 1 -fill y -side right 
-	pack $base.f.txt \
-		-in .pgaw:FormDesign:commands.f -anchor center -expand 1 -fill both -side top 
-	pack $base.fb \
-		-in .pgaw:FormDesign:commands -anchor center -expand 0 -fill none -side top 
-	pack $base.fb.b1 \
-		-in .pgaw:FormDesign:commands.fb -anchor center -expand 0 -fill none -side left 
-	pack $base.fb.b2 \
-		-in .pgaw:FormDesign:commands.fb -anchor center -expand 0 -fill none -side top 
-}
-
-proc vTclWindow.pgaw:FormDesign:menu {base} {
-	if {$base == ""} {
-		set base .pgaw:FormDesign:menu
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 432x74+0+0
-	wm maxsize $base 1009 738
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Form designer"]
-	frame $base.f1 \
-		-height 75 -relief groove -width 125 
-	label $base.f1.l1 \
-		-borderwidth 0 -text "[intlmsg {Form name}] "
-	entry $base.f1.e1 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(fdvar,formtitle) 
-	frame $base.f2 \
-		-height 75 -relief groove -width 125 
-	label $base.f2.l \
-		-borderwidth 0 -text "[intlmsg {Form's window internal name}] "
-	entry $base.f2.e \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(fdobj,0,name) 
-	frame $base.f3 \
-		-height 1 -width 125 
-	button $base.f3.b1 \
-		-command {set PgAcVar(fdvar,geometry) [wm geometry .pgaw:FormDesign:draft] ; Forms::design:run} -padx 1 \
-		-text [intlmsg {Test form}]
-	button $base.f3.b2 \
-		-command {destroy .$PgAcVar(fdobj,0,name)} -padx 1 \
-		-text [intlmsg {Close test form}]
-	button $base.f3.b3 \
-		-command {Forms::design:save nimic} -padx 1 -text [intlmsg Save]
-	button $base.f3.b4 \
-		-command {Forms::design:close} \
-		-padx 1 -text [intlmsg Close]
-	pack $base.f1 \
-		-in .pgaw:FormDesign:menu -anchor center -expand 0 -fill x -pady 2 -side top 
-	pack $base.f1.l1 \
-		-in .pgaw:FormDesign:menu.f1 -anchor center -expand 0 -fill none -side left 
-	pack $base.f1.e1 \
-		-in .pgaw:FormDesign:menu.f1 -anchor center -expand 1 -fill x -side left 
-	pack $base.f2 \
-		-in .pgaw:FormDesign:menu -anchor center -expand 0 -fill x -pady 1 -side top 
-	pack $base.f2.l \
-		-in .pgaw:FormDesign:menu.f2 -anchor center -expand 0 -fill none -side left 
-	pack $base.f2.e \
-		-in .pgaw:FormDesign:menu.f2 -anchor center -expand 1 -fill x -side left 
-	pack $base.f3 \
-		-in .pgaw:FormDesign:menu -anchor center -expand 0 -fill x -pady 2 -side bottom 
-	pack $base.f3.b1 \
-		-in .pgaw:FormDesign:menu.f3 -anchor center -expand 0 -fill none -side left 
-	pack $base.f3.b2 \
-		-in .pgaw:FormDesign:menu.f3 -anchor center -expand 0 -fill none -side left 
-	pack $base.f3.b3 \
-		-in .pgaw:FormDesign:menu.f3 -anchor center -expand 0 -fill none -side left 
-	pack $base.f3.b4 \
-		-in .pgaw:FormDesign:menu.f3 -anchor center -expand 0 -fill none -side right 
-}
-
-
-proc vTclWindow.pgaw:FormDesign:toolbar {base} {
-global PgAcVar
-	foreach wid {button frame radiobutton checkbutton label text entry listbox query} {
-		image create photo "icon_$wid"  -file [file join $PgAcVar(PGACCESS_HOME) images icon_$wid.gif] 
-	}
-	if {$base == ""} {
-		set base .pgaw:FormDesign:toolbar
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel -menu .pgaw:FormDesign:toolbar.m17 
-	wm focusmodel $base passive
-	wm geometry $base 29x235+1+130
-	wm maxsize $base 1009 738
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Toolbar"]
-	button $base.b1 \
-		-borderwidth 1 -command {set PgAcVar(fdvar,tool) button} -image icon_button \
-		-padx 9 -pady 3 
-	button $base.b3 \
-		-borderwidth 1 -command {set PgAcVar(fdvar,tool) radio} \
-		-image icon_radiobutton -padx 9 -pady 3 
-	button $base.b4 \
-		-borderwidth 1 -command {set PgAcVar(fdvar,tool) checkbox} \
-		-image icon_checkbutton -padx 9 -pady 3 
-	button $base.b5 \
-		-borderwidth 1 -command {set PgAcVar(fdvar,tool) label} -image icon_label \
-		-padx 9 -pady 3 
-	button $base.b6 \
-		-borderwidth 1 -command {set PgAcVar(fdvar,tool) text} -image icon_text \
-		-padx 9 -pady 3 
-	button $base.b7 \
-		-borderwidth 1 -command {set PgAcVar(fdvar,tool) entry} -image icon_entry \
-		-padx 9 -pady 3 
-	button $base.b8 \
-		-borderwidth 1 -command {set PgAcVar(fdvar,tool) listbox} -image icon_listbox \
-		-padx 9 -pady 3 
-	button $base.b9 \
-		-borderwidth 1 -command {set PgAcVar(fdvar,tool) query} -height 21 \
-		-image icon_query -padx 9 -pady 3 -width 20 
-	grid $base.b1 \
-		-in .pgaw:FormDesign:toolbar -column 0 -row 2 -columnspan 1 -rowspan 1 
-	grid $base.b3 \
-		-in .pgaw:FormDesign:toolbar -column 0 -row 4 -columnspan 1 -rowspan 1 
-	grid $base.b4 \
-		-in .pgaw:FormDesign:toolbar -column 0 -row 5 -columnspan 1 -rowspan 1 
-	grid $base.b5 \
-		-in .pgaw:FormDesign:toolbar -column 0 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.b6 \
-		-in .pgaw:FormDesign:toolbar -column 0 -row 6 -columnspan 1 -rowspan 1 
-	grid $base.b7 \
-		-in .pgaw:FormDesign:toolbar -column 0 -row 1 -columnspan 1 -rowspan 1 
-	grid $base.b8 \
-		-in .pgaw:FormDesign:toolbar -column 0 -row 7 -columnspan 1 -rowspan 1 
-	grid $base.b9 \
-		-in .pgaw:FormDesign:toolbar -column 0 -row 8 -columnspan 2 -rowspan 3 
-}
-
diff --git a/src/bin/pgaccess/lib/functions.tcl b/src/bin/pgaccess/lib/functions.tcl
deleted file mode 100644
index 84e7988ee81..00000000000
--- a/src/bin/pgaccess/lib/functions.tcl
+++ /dev/null
@@ -1,182 +0,0 @@
-namespace eval Functions {
-
-proc {new} {} {
-global PgAcVar
-	Window show .pgaw:Function
-	set PgAcVar(function,name) {}
-	set PgAcVar(function,nametodrop) {}
-	set PgAcVar(function,parameters) {}
-	set PgAcVar(function,returns) {}
-	set PgAcVar(function,language) {}
-	.pgaw:Function.fs.text1 delete 1.0 end
-	focus .pgaw:Function.fp.e1
-	wm transient .pgaw:Function .pgaw:Main
-}
-
-
-proc {design} {functionname} {
-global PgAcVar CurrentDB
-	Window show .pgaw:Function
-	.pgaw:Function.fs.text1 delete 1.0 end
-	wpg_select $CurrentDB "select * from pg_proc where proname='$functionname'" rec {
-		set PgAcVar(function,name) $functionname
-		set temppar $rec(proargtypes)
-		set PgAcVar(function,returns) [Database::getPgType $rec(prorettype)]
-		set funcnrp $rec(pronargs)
-		set prolanguage $rec(prolang)
-		.pgaw:Function.fs.text1 insert end $rec(prosrc)
-	}
-	wpg_select $CurrentDB "select lanname from pg_language where oid=$prolanguage" rec {
-		set PgAcVar(function,language) $rec(lanname)
-	}
-	if { $PgAcVar(function,language)=="C" || $PgAcVar(function,language)=="c" } {
-	    wpg_select $CurrentDB "select probin from pg_proc where proname='$functionname'" rec {
-		.pgaw:Function.fs.text1 delete 1.0 end
-		.pgaw:Function.fs.text1 insert end $rec(probin)
-	    }
-	}
-	set PgAcVar(function,parameters) {}
-	for {set i 0} {$i<$funcnrp} {incr i} {
-		lappend PgAcVar(function,parameters) [Database::getPgType [lindex $temppar $i]]
-	}
-	set PgAcVar(function,parameters) [join $PgAcVar(function,parameters) ,]
-	set PgAcVar(function,nametodrop) "$PgAcVar(function,name) ($PgAcVar(function,parameters))"
-}
-
-
-proc {save} {} {
-global PgAcVar
-	if {$PgAcVar(function,name)==""} {
-		focus .pgaw:Function.fp.e1
-		showError [intlmsg "You must supply a name for this function!"]
-	} elseif {$PgAcVar(function,returns)==""} {
-		focus .pgaw:Function.fp.e3
-		showError [intlmsg "You must supply a return type!"]
-	} elseif {$PgAcVar(function,language)==""} {
-		focus .pgaw:Function.fp.e4
-		showError [intlmsg "You must supply the function language!"]
-	} else {
-		set funcbody [.pgaw:Function.fs.text1 get 1.0 end]
-		# regsub -all "\n" $funcbody " " funcbody
-		regsub -all {'} $funcbody {''} funcbody
-		if {$PgAcVar(function,nametodrop) != ""} {
-			if {! [sql_exec noquiet "drop function $PgAcVar(function,nametodrop)"]} {
-				return
-			}
-		}
-		if {[sql_exec noquiet "create function $PgAcVar(function,name) ($PgAcVar(function,parameters)) returns $PgAcVar(function,returns) as '$funcbody' language '$PgAcVar(function,language)'"]} {
-			Window destroy .pgaw:Function
-			tk_messageBox -title PostgreSQL -parent .pgaw:Main -message [intlmsg "Function saved!"]
-			Mainlib::tab_click Functions
-		}						
-	}
-}
-
-}
-
-proc vTclWindow.pgaw:Function {base} {
-global PgAcVar
-	if {$base == ""} {
-		set base .pgaw:Function
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 480x330+98+212
-	wm maxsize $base 1009 738
-	wm minsize $base 480 330
-	wm overrideredirect $base 0
-	wm resizable $base 1 1
-	wm deiconify $base
-	wm title $base [intlmsg "Function"]
-	bind $base <Key-F1> "Help::load functions"
-	frame $base.fp \
-		-height 88 -relief groove -width 125 
-	label $base.fp.l1 \
-		-borderwidth 0 -relief raised -text [intlmsg Name]
-	entry $base.fp.e1 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(function,name) 
-	bind $base.fp.e1 <Key-Return> {
-		focus .pgaw:Function.fp.e2
-	}
-	label $base.fp.l2 \
-		-borderwidth 0 -relief raised -text [intlmsg Parameters]
-	entry $base.fp.e2 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(function,parameters) -width 15 
-	bind $base.fp.e2 <Key-Return> {
-		focus .pgaw:Function.fp.e3
-	}
-	label $base.fp.l3 \
-		-borderwidth 0 -relief raised -text [intlmsg Returns]
-	entry $base.fp.e3 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(function,returns) 
-	bind $base.fp.e3 <Key-Return> {
-		focus .pgaw:Function.fp.e4
-	}
-	label $base.fp.l4 \
-		-borderwidth 0 -relief raised -text [intlmsg Language]
-	entry $base.fp.e4 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(function,language) -width 15 
-	bind $base.fp.e4 <Key-Return> {
-		focus .pgaw:Function.fs.text1
-	}
-	label $base.fp.lspace \
-		-borderwidth 0 -relief raised -text {    } 
-	frame $base.fs \
-		-borderwidth 2 -height 75 -relief groove -width 125 
-	text $base.fs.text1 \
-		-background #fefefe -foreground #000000 -borderwidth 1 -font $PgAcVar(pref,font_fix) -height 16 \
-		-tabs {20 40 60 80 100 120} -width 43 -yscrollcommand {.pgaw:Function.fs.vsb set} 
-	scrollbar $base.fs.vsb \
-		-borderwidth 1 -command {.pgaw:Function.fs.text1 yview} -orient vert 
-	frame $base.fb \
-		-borderwidth 2 -height 75 -width 125 
-	frame $base.fb.fbc \
-		-borderwidth 2 -height 75 -width 125 
-	button $base.fb.fbc.btnsave -command {Functions::save} \
-		-borderwidth 1 -padx 9 -pady 3 -text [intlmsg Save]
-	button $base.fb.fbc.btnhelp -command {Help::load functions} \
-		-borderwidth 1 -padx 9 -pady 3 -text [intlmsg Help]
-	button $base.fb.fbc.btncancel \
-		-borderwidth 1 -command {Window destroy .pgaw:Function} -padx 9 -pady 3 \
-		-text [intlmsg Cancel]
-	pack $base.fp \
-		-in .pgaw:Function -anchor center -expand 0 -fill x -side top 
-	grid $base.fp.l1 \
-		-in .pgaw:Function.fp -column 0 -row 0 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.fp.e1 \
-		-in .pgaw:Function.fp -column 1 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.fp.l2 \
-		-in .pgaw:Function.fp -column 3 -row 0 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.fp.e2 \
-		-in .pgaw:Function.fp -column 4 -row 0 -columnspan 1 -rowspan 1 -pady 2 
-	grid $base.fp.l3 \
-		-in .pgaw:Function.fp -column 0 -row 4 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.fp.e3 \
-		-in .pgaw:Function.fp -column 1 -row 4 -columnspan 1 -rowspan 1 
-	grid $base.fp.l4 \
-		-in .pgaw:Function.fp -column 3 -row 4 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.fp.e4 \
-		-in .pgaw:Function.fp -column 4 -row 4 -columnspan 1 -rowspan 1 -pady 3 
-	grid $base.fp.lspace \
-		-in .pgaw:Function.fp -column 2 -row 4 -columnspan 1 -rowspan 1 
-	pack $base.fs \
-		-in .pgaw:Function -anchor center -expand 1 -fill both -side top 
-	pack $base.fs.text1 \
-		-in .pgaw:Function.fs -anchor center -expand 1 -fill both -side left 
-	pack $base.fs.vsb \
-		-in .pgaw:Function.fs -anchor center -expand 0 -fill y -side right 
-	pack $base.fb \
-		-in .pgaw:Function -anchor center -expand 0 -fill x -side bottom 
-	pack $base.fb.fbc \
-		-in .pgaw:Function.fb -anchor center -expand 0 -fill none -side top 
-	pack $base.fb.fbc.btnsave \
-		-in .pgaw:Function.fb.fbc -anchor center -expand 0 -fill none -side left 
-	pack $base.fb.fbc.btnhelp \
-		-in .pgaw:Function.fb.fbc -anchor center -expand 0 -fill none -side left 
-	pack $base.fb.fbc.btncancel \
-		-in .pgaw:Function.fb.fbc -anchor center -expand 0 -fill none -side right 
-}
-
diff --git a/src/bin/pgaccess/lib/help.tcl b/src/bin/pgaccess/lib/help.tcl
deleted file mode 100644
index f5ed12e5104..00000000000
--- a/src/bin/pgaccess/lib/help.tcl
+++ /dev/null
@@ -1,127 +0,0 @@
-namespace eval Help {
-
-proc {findLink} {} {
-	foreach tagname [.pgaw:Help.f.t tag names current] {
-		if {$tagname!="link"} {
-			load $tagname
-			return
-		}
-	}
-}
-
-
-proc {load} {topic args} {
-global PgAcVar
-	if {![winfo exists .pgaw:Help]} {
-		Window show .pgaw:Help
-		tkwait visibility .pgaw:Help
-	}
-	wm deiconify .pgaw:Help
-	if {![info exists PgAcVar(help,history)]} {
-		set PgAcVar(help,history) {}
-	}
-	if {[llength $args]==1} {
-		set PgAcVar(help,current_topic) [lindex $args 0]
-		set PgAcVar(help,history) [lrange $PgAcVar(help,history) 0 [lindex $args 0]]
-	} else {
-		lappend PgAcVar(help,history) $topic
-		set PgAcVar(help,current_topic) [expr {[llength $PgAcVar(help,history)]-1}]
-	}
-	# Limit the history length to 100 topics
-	if {[llength $PgAcVar(help,history)]>100} {
-		set PgAcVar(help,history) [lrange $PgAcVar(help,history) 1 end]
-	}
-
-	.pgaw:Help.f.t configure -state normal
-	.pgaw:Help.f.t delete 1.0 end
-	.pgaw:Help.f.t tag configure bold -font $PgAcVar(pref,font_bold)
-	.pgaw:Help.f.t tag configure italic -font $PgAcVar(pref,font_italic)
-	.pgaw:Help.f.t tag configure large -font {Helvetica -14 bold}
-	.pgaw:Help.f.t tag configure title -font $PgAcVar(pref,font_bold) -justify center
-	.pgaw:Help.f.t tag configure link -font {Helvetica -12 underline} -foreground #000080
-	.pgaw:Help.f.t tag configure code -font $PgAcVar(pref,font_fix)
-	.pgaw:Help.f.t tag configure warning -font $PgAcVar(pref,font_bold) -foreground #800000
-	.pgaw:Help.f.t tag bind link <Button-1> {Help::findLink}
-	set errmsg {}
-	.pgaw:Help.f.t configure -tabs {30 60 90 120 150 180 210 240 270 300 330 360 390}
-	catch { source [file join $PgAcVar(PGACCESS_HOME) lib help $topic.hlp] } errmsg
-	if {$errmsg!=""} {
-		.pgaw:Help.f.t insert end "Error loading help file [file join $PgAcVar(PGACCESS_HOME) $topic.hlp]\n\n$errmsg" bold
-	}
-	.pgaw:Help.f.t configure -state disabled
-	focus .pgaw:Help.f.sb
-}
-
-proc {back} {} {
-global PgAcVar
-	if {![info exists PgAcVar(help,history)]} {return}
-	if {[llength $PgAcVar(help,history)]==0} {return}
-	set i $PgAcVar(help,current_topic)
-	if {$i<1} {return}
-	incr i -1
-	load [lindex $PgAcVar(help,history) $i] $i
-}
-
-
-}
-
-proc vTclWindow.pgaw:Help {base} {
-global PgAcVar
-	if {$base == ""} {
-		set base .pgaw:Help
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	set sw [winfo screenwidth .]
-	set sh [winfo screenheight .]
-	set x [expr {($sw - 640)/2}]
-	set y [expr {($sh - 480)/2}] 
-	wm geometry $base 640x480+$x+$y
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 1 1
-	wm deiconify $base
-	wm title $base [intlmsg "Help"]
-	bind $base <Key-Escape> "Window destroy .pgaw:Help"
-	frame $base.fb \
-		-borderwidth 2 -height 75 -relief groove -width 125 
-	button $base.fb.bback \
-		-command Help::back -padx 9 -pady 3 -text [intlmsg Back]
-	button $base.fb.bi \
-		-command {Help::load index} -padx 9 -pady 3 -text [intlmsg Index]
-	button $base.fb.bp \
-		-command {Help::load postgresql} -padx 9 -pady 3 -text PostgreSQL 
-	button $base.fb.btnclose \
-		-command {Window destroy .pgaw:Help} -padx 9 -pady 3 -text [intlmsg Close]
-	frame $base.f \
-		-borderwidth 2 -height 75 -relief groove -width 125 
-	text $base.f.t \
-		-borderwidth 1 -cursor {} -font $PgAcVar(pref,font_normal) -height 2 \
-		-highlightthickness 0 -state disabled \
-		-tabs {30 60 90 120 150 180 210 240 270 300 330 360 390} -width 8 \
-		-wrap word -yscrollcommand {.pgaw:Help.f.sb set} 
-	scrollbar $base.f.sb \
-		-borderwidth 1 -command {.pgaw:Help.f.t yview} -highlightthickness 0 \
-		-orient vert 
-	pack $base.fb \
-		-in .pgaw:Help -anchor center -expand 0 -fill x -side top 
-	pack $base.fb.bback \
-		-in .pgaw:Help.fb -anchor center -expand 0 -fill none -side left 
-	pack $base.fb.bi \
-		-in .pgaw:Help.fb -anchor center -expand 0 -fill none -side left 
-	pack $base.fb.bp \
-		-in .pgaw:Help.fb -anchor center -expand 0 -fill none -side left 
-	pack $base.fb.btnclose \
-		-in .pgaw:Help.fb -anchor center -expand 0 -fill none -side right 
-	pack $base.f \
-		-in .pgaw:Help -anchor center -expand 1 -fill both -side top 
-	pack $base.f.t \
-		-in .pgaw:Help.f -anchor center -expand 1 -fill both -side left 
-	pack $base.f.sb \
-		-in .pgaw:Help.f -anchor center -expand 0 -fill y -side right 
-}
-
diff --git a/src/bin/pgaccess/lib/help/abort.hlp b/src/bin/pgaccess/lib/help/abort.hlp
deleted file mode 100644
index f7cb4ce1144..00000000000
--- a/src/bin/pgaccess/lib/help/abort.hlp
+++ /dev/null
@@ -1,10 +0,0 @@
-.pgaw:Help.f.t insert end \
-"ABORT" {bold} " rolls back the current transaction and causes all the updates made by the transaction to be discarded. This command is identical in behavior to the SQL92 command ROLLBACK, and is present only for historical reasons.
-
-" {} "Synopsis" {bold} "
-
-" {} "ABORT" {code} "
-
-" {} "Compatibility SQL92" {bold} "
-
-This command is a Postgres extension present for historical reasons. " {} "ROLLBACK" {bold} " is the SQL92 equivalent command."
diff --git a/src/bin/pgaccess/lib/help/add_records.hlp b/src/bin/pgaccess/lib/help/add_records.hlp
deleted file mode 100644
index 4ece31e186f..00000000000
--- a/src/bin/pgaccess/lib/help/add_records.hlp
+++ /dev/null
@@ -1,7 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Adding new records to an existing table" {bold} "
-
-  " {} "Open a table for viewing and editing" {link open_table} " and move to the end of the displayed records using the vertical scrollbar. You will find there a single row containing only * characters. Click with the mouse on a field and start edit the new record. Move through the fields using Tab and Shift-Tab.
-  The new record will be saved into the database when you will select another record (or press on the mouse right-button).
-"  
-
diff --git a/src/bin/pgaccess/lib/help/alter_table.hlp b/src/bin/pgaccess/lib/help/alter_table.hlp
deleted file mode 100644
index 84b83b3022d..00000000000
--- a/src/bin/pgaccess/lib/help/alter_table.hlp
+++ /dev/null
@@ -1,30 +0,0 @@
-.pgaw:Help.f.t insert end "ALTER TABLE" {bold} " changes the definition of an existing table. The new columns and their types are specified in the same style and with the the same restrictions as in CREATE TABLE. The RENAME clause causes the name of a table or column to change without changing any of the data contained in the affected table. Thus, the table or column will remain of the same type and size after this command is executed.
-
-" {} "Synopsis" {bold} "
-
-ALTER TABLE table \[ * \] ADD \[ COLUMN \] column type
-ALTER TABLE table \[ * \] RENAME \[ COLUMN \] column TO newcolumn
-ALTER TABLE table RENAME TO newtable
-
-" {code} "table" {italic} "
-	The name of an existing table to alter.
-
-" {} "column" {italic} "
-	Name of a new or existing column.
-
-" {} "type " {italic} "
-	Type of the new column.
-
-" {} "newcolumn " {italic} "
-	New name for an existing column.
-
-" {} "newtable " {italic} "
-	New name for an existing column.
-	
-You must own the table in order to change its schema.
-
-" {} "Notes:" {italic} " The keyword COLUMN is noise and can be omitted.
-
-\"\[*\]\" following a name of a table indicates that statement should be run over that table and all tables below it in the inheritance hierarchy. The PostgreSQL User's Guide has further information on inheritance.
-
-Refer to " {} "CREATE TABLE" {link create_table} " for a further description of valid arguments."
diff --git a/src/bin/pgaccess/lib/help/alter_user.hlp b/src/bin/pgaccess/lib/help/alter_user.hlp
deleted file mode 100644
index 89da51f3708..00000000000
--- a/src/bin/pgaccess/lib/help/alter_user.hlp
+++ /dev/null
@@ -1,49 +0,0 @@
-.pgaw:Help.f.t insert end "ALTER USER" {bold} " is used to change the attributes of a user's Postgres account. Please note that \
-it is not possible to alter a user's " {} "usesysid" {bold} " via the alter user statement. Also, it is only possible for \
-the Postgres user or any user with read and modify permissions on " {} "pg_shadow" {bold} " to alter user passwords. \
-If any of the clauses of the alter user statement are omitted, the corresponding value in the " {} "pg_shadow" {bold} " table is left unchanged. \
-
-" {} "Synopsis" {bold} "
-
-ALTER USER username
-    \[ WITH PASSWORD password \]
-    \[ CREATEDB | NOCREATEDB \]
-    \[ CREATEUSER | NOCREATEUSER \]
-    \[ IN GROUP groupname \[, ...\] \]
-    \[ VALID UNTIL 'abstime' \]
-    
-
-" {code} "Inputs" {bold} "
-Refer to CREATE USER for a detailed description of each clause. 
-
-" {} "username" {italic} "
-       The Postgres account name of the user whose details are to be altered. 
-
-" {} "password" {italic} "
-       The new password to be used for this account. 
-
-" {} "groupname" {italic} "
-       The name of an access group into which this account is to be put. 
-
-" {} "abstime" {italic} "
-       The date (and, optionally, the time) at which this user's access is to be terminated. 
-
-" {} "Outputs" {bold} "
-
-" {} "ALTER USER" {italic} "
-       Message returned if the alteration was successful.
-
-" {} "ERROR: alterUser: user 'username' does not exist" {italic} "
-       Error message returned if the user specified doesn't exist.
-
-" {} "Notes" {italic} "
-
-" {} "ALTER USER" {bold} " statement is a Postgres language extension. 
-Refer to CREATE/DROP USER to create or remove a user account. 
-In the current release (v6.5), the IN GROUP clause is parsed but has no affect. When it is fully implemented, it is intended to modify the pg_group relation.
-
-" {} "Compatibility" {bold} "
-
-SQL92 
-There is no ALTER USER statement in SQL92. The standard leaves the definition of users to the \
-implementation." 
diff --git a/src/bin/pgaccess/lib/help/author.hlp b/src/bin/pgaccess/lib/help/author.hlp
deleted file mode 100644
index bea532a097b..00000000000
--- a/src/bin/pgaccess/lib/help/author.hlp
+++ /dev/null
@@ -1,12 +0,0 @@
-.pgaw:Help.f.t insert end \
-"The author of PgAccess\n" {title} \
-"
-   My name is Constantin Teodorescu, I'm 36 years old, I have graduated the Faculty of Computers and Automation Bucharest, ROMANIA, I have a 16 year experience in developing applications in various languages, Pascal, C, C++, Visual Basic, Delphi, Perl , Tcl/Tk and Java for different platforms. Currently working as a manager of a team that works in Unix with Java , SQL databases (Oracle, SYBASE) currently using PostgreSQL database for developing professional client/server multi-platform applications (standalone Java or Tcl/Tk ,Java applets) for different customers and various projects (accounting, invoicing, stock inventory).
-
-   In present I am the technical manager of FLEX Consulting Braila, a computer shop, software company, networking designer and consultant, ISP provider for Braila city. I'm also a columnist in the romanian technical magazine \"PC-Magazine\" and \"BYTE\".
-
-   I have discovered PostgreSQL in 1995 and from the first moment I decided to help it's development writting PgAccess, a graphical interface.
-
-   The work has been done using Visual Tcl, in my opinion the best tool for developing Tcl/Tk projects. Visual Tcl is free, more information at http://www.neuron.com/stewart/vtcl/index.html
-
-   I'm waiting for any suggestions at e-mail address teo@flex.ro"
diff --git a/src/bin/pgaccess/lib/help/begin.hlp b/src/bin/pgaccess/lib/help/begin.hlp
deleted file mode 100644
index 21f65fa3d51..00000000000
--- a/src/bin/pgaccess/lib/help/begin.hlp
+++ /dev/null
@@ -1,35 +0,0 @@
-.pgaw:Help.f.t insert end "BEGIN" {bold} "
-By default, Postgres executes transactions in unchained mode (also known as " {} "autocommit" {bold} " in other database systems). In other words, each user statement is executed in its own transaction \
-and a commit is implicitly performed at the end of the statement (if execution was successful, otherwise a rollback is done). BEGIN initiates a user transaction in chained mode, i.e. all user \
-statements after BEGIN command will be executed in a single transaction until an explicit COMMIT, ROLLBACK or execution abort. Statements in chained mode are executed much faster, \
-because transaction start/commit requires significant CPU and disk activity. Execution of multiple statements inside a transaction is also required for consistency when changing several related \
-tables. \
-The default transaction isolation level in Postgres is READ COMMITTED, where queries inside the transaction see only changes committed before query execution. So, you have to use SET \
-TRANSACTION ISOLATION LEVEL SERIALIZABLE just after BEGIN if you need more rigorous transaction isolation. In SERIALIZABLE mode queries will see only changes committed \
-before the entire transaction began (actually, before execution of the first DML statement in a serializable transaction).  \
-If the transaction is committed, Postgres will ensure either that all updates are done or else that none of them are done. Transactions have the standard ACID (atomic, consistent, isolatable, and durable) property.
-
-" {} "Synopsis" {bold} "
-" {} "  
-BEGIN \[ WORK | TRANSACTION \]
-
-" {code} "Notes" {bold} "
-The keyword TRANSACTION is just a cosmetic alternative to WORK. Neither keyword need be specified. 
-Refer to the LOCK statement for further information about locking tables inside a transaction. 
-Use " {} "COMMIT" {link commit} " or " {} "ROLLBACK" {link rollback} " to terminate a transaction.
-
-" {} "Usage" {bold} "
-To begin a user transaction: 
-
-" {} "BEGIN WORK;" {italic} "
-
-" {} "Compatibility" {bold} "
-BEGIN is a Postgres language extension.
-
-" {} "SQL92" {bold} "
-
-There is no explicit BEGIN WORK command in SQL92; transaction initiation is always implicit and it terminates either with a COMMIT or with a ROLLBACK statement. 
-
-       Note: Many relational database systems offer an autocommit feature as a convenience. 
-
-SQL92 also requires SERIALIZABLE to be the default transaction isolation level. "
diff --git a/src/bin/pgaccess/lib/help/close.hlp b/src/bin/pgaccess/lib/help/close.hlp
deleted file mode 100644
index 96eac3584be..00000000000
--- a/src/bin/pgaccess/lib/help/close.hlp
+++ /dev/null
@@ -1,22 +0,0 @@
-.pgaw:Help.f.t insert end "CLOSE" {bold} " frees the resources associated with an open cursor. After the cursor is closed, no subsequent operations are allowed on it. A cursor should be closed when it is no longer needed. \
-An implicit close is executed for every open cursor when a transaction is terminated by  \
-" {} "COMMIT" {link commit} " or " {} "ROLLBACK" {link rollback} ".
-
-" {} "Synopsis" {bold} "
-
-CLOSE cursor
-
-" {} "Usage" {bold} "
-
-Close the cursor liahona:
-
-CLOSE liahona;
-
-" {} "Compatibility" {bold} "
-
-SQL92 
-CLOSE is fully compatible with SQL92
-
-" {} "Notes" {bold} "
-
-Postgres does not have an explicit OPEN cursor statement; a cursor is considered open when it is declared. Use the DECLARE statement to declare a cursor."
diff --git a/src/bin/pgaccess/lib/help/cluster.hlp b/src/bin/pgaccess/lib/help/cluster.hlp
deleted file mode 100644
index 30f1c2c426c..00000000000
--- a/src/bin/pgaccess/lib/help/cluster.hlp
+++ /dev/null
@@ -1,48 +0,0 @@
-.pgaw:Help.f.t insert end "CLUSTER" {bold} " instructs Postgres to cluster the class specified by classname approximately based on the index specified by indexname. The index must already have been defined on classname. \
-When a class is clustered, it is physically reordered based on the index information. The clustering is static. In other words, as the class is updated, the changes are not clustered. No attempt is \
-made to keep new instances or updated tuples clustered. If one wishes, one can recluster manually by issuing the command \
-again.
-
-" {} "Synopsis" {bold} "
-   CLUSTER indexname ON table
-
-" {} "Inputs" {bold} "
-
-" {} "indexname" {italic} "
-       The name of an index. 
-
-" {} "table" {italic} "
-       The name of a table. 
-
-" {} "Outputs" {bold} "
-
-CLUSTER
-       The clustering was done successfully. 
-ERROR: relation <tablerelation_number> inherits \"invoice\"
-ERROR: Relation x does not exist!
-
-" {} "Usage" {bold} "
-Cluster the employees relation on the basis of its salary attribute 
-
-   CLUSTER emp_ind ON emp
-   
-" {} "Notes" {bold} "
-
-The table is actually copied to a temporary table in index order, then renamed back to the original name. For this reason, all grant permissions and other indexes are lost when clustering is \
-performed. 
-In cases where you are accessing single rows randomly within a table, the actual order of the data in the heap table is unimportant. However, if you tend to access some data more than others, \
-and there is an index that groups them together, you will benefit from using CLUSTER. 
-Another place CLUSTER is helpful is in cases where you use an index to pull out several rows from a table. If you are requesting a range of indexed values from a table, or a single indexed \
-value that has multiple rows that match, CLUSTER will help because once the index identifies the heap page for the first row that matches, all other rows that match are probably already on the \
-same heap page, saving disk accesses and speeding up the query. 
-There are two ways to cluster data. The first is with the CLUSTER command, which reorders the original table with the ordering of the index you specify. This can be slow on large tables \
-because the rows are fetched from the heap in index order, and if the heap table is unordered, the entries are on random pages, so there is one disk page retrieved for every row moved. Postgres \
-has a cache, but the majority of a big table will not fit in the cache. 
-
-Another way to cluster data is to use 
-
-SELECT ... INTO TABLE temp FROM ... ORDER BY ...
-
-This uses the Postgres sorting code in ORDER BY to match the index, and is much faster for unordered data. You then drop the old table, use ALTER TABLE/RENAME to rename temp to \
-the old name, and recreate any indexes. The only problem is that OIDs will not be preserved. From then on, CLUSTER should be fast because most of the heap data has already been ordered, \
-and the existing index is used. "
diff --git a/src/bin/pgaccess/lib/help/commit.hlp b/src/bin/pgaccess/lib/help/commit.hlp
deleted file mode 100644
index 2bd40c9fd25..00000000000
--- a/src/bin/pgaccess/lib/help/commit.hlp
+++ /dev/null
@@ -1,17 +0,0 @@
-.pgaw:Help.f.t insert end "COMMIT" {bold} " commits the current transaction. All changes made by the transaction become visible to others and are guaranteed to be durable if a crash occurs.
-
-" {} "Synopsis" {bold} "
-" {} "
-COMMIT \[ WORK | TRANSACTION \]
-
-" {code} "Usage" {bold} "
-
-To make all changes permanent: 
-
-COMMIT WORK;
-
-" {} "Notes" {bold} "
-
-The keywords WORK and TRANSACTION are noise and can be omitted. 
-
-Use " {} "ROLLBACK" {link rollback} " to abort a transaction."
diff --git a/src/bin/pgaccess/lib/help/copy.hlp b/src/bin/pgaccess/lib/help/copy.hlp
deleted file mode 100644
index eaf77a3ccab..00000000000
--- a/src/bin/pgaccess/lib/help/copy.hlp
+++ /dev/null
@@ -1,105 +0,0 @@
-.pgaw:Help.f.t insert end "COPY" {bold} " moves data between Postgres tables and standard Unix files. COPY instructs the Postgres backend to directly read from or write to a file. The file must be directly visible to the backend \
-and the name must be specified from the viewpoint of the backend. If stdin or stdout are specified, data flows through the client frontend to the backend.
-
-" {} "Synopsis" {bold} "
-" {} "
-COPY \[ BINARY \] table \[ WITH OIDS \]
-    FROM { 'filename' | stdin }
-    \[ USING DELIMITERS 'delimiter' \]
-COPY \[ BINARY \] table \[ WITH OIDS \]
-    TO { 'filename' | stdout }
-    \[ USING DELIMITERS 'delimiter' \]    
-
-" {code} "Inputs" {bold} "
-
-" {} "BINARY" {italic} "
-       Changes the behavior of field formatting, forcing all data to be stored or read as binary objects rather than as text. 
-
-" {} "table" {italic} "
-       The name of an existing table. 
-
-" {} "WITH OIDS" {italic} "
-       Copies the internal unique object id (OID) for each row. 
-
-" {} "filename" {italic} "
-       The absolute Unix pathname of the input or output file. 
-
-" {} "stdin" {italic} "
-       Specifies that input comes from a pipe or terminal. 
-
-" {} "stdout" {italic} "
-       Specifies that output goes to a pipe or terminal. 
-
-" {} "delimiter" {italic} "
-       A character that delimits the input or output fields. 
-       
-" {} "Outputs" {bold} "
-
-" {} "COPY" {italic} "
-       The copy completed successfully. 
-
-" {} "ERROR: error message" {italic} "
-       The copy failed for the reason stated in the error message. 
-
-" {} "Usage" {bold} "
-
-The following example copies a table to standard output, using a vertical bar \(\"|\"\) as the field delimiter:
-COPY country TO stdout USING DELIMITERS '|';
-
-To copy data from a Unix file into a table \"country\": 
-COPY country FROM '/usr1/proj/bray/sql/country_data';
-  
-Here is a sample of data suitable for copying into a table from stdin \(so it has the termination sequence on the last \
-line\):
-
-   AF      AFGHANISTAN
-   AL      ALBANIA
-   DZ      ALGERIA
-   ...
-   ZM      ZAMBIA
-   ZW      ZIMBABWE
-   \.
-
-" {} "File Formats" {bold} "
-
-" {} "Text Format" {italic} "
-When COPY TO is used without the BINARY option, the file generated will have each row \(instance\) on a single line, with each column \
-\(attribute\) separated by the delimiter character. Embedded delimiter characters will be preceded by a backslash character \
-\(\"\\\"\). The attribute values themselves are strings generated by the output function associated with each attribute type. \
-The output function for a type should not try to generate the backslash character; this will be handled by COPY itself.
-
-The actual format for each instance is 
-
-<attr1><separator><attr2><separator>...<separator><attrn><newline>
-The oid is placed on the beginning of the line if WITH OIDS is specified.
-
-If " {} "COPY" {bold} " is sending its output to standard output instead of a file, it will send a backslash\(\"\\\"\) and a period \
-\(\".\"\) followed immediately by a newline, on a separate line, when it is done. Similarly, \
-if " {} "COPY" {bold} " is reading from standard input, it will expect a backslash \(\"\\\"\) and a period \
-\(\".\"\) followed by a newline, as the first three characters on a line to denote end-of-file. However, COPY will \
-terminate \(followed by the backend itself\) if a true EOF is encountered before this special end-of-file pattern is found.
-
-The backslash character has other special meanings. NULL attributes are represented as \"\\N\". A literal backslash character is represented as two consecutive backslashes \
-\(\"\\\\\"\). A literal tab character is represented as a backslash and a tab. A literal newline character is represented as a backslash and a newline. When loading text data not generated by Postgres, you will need to \
-convert backslash characters \(\"\\\"\) to double-backslashes \(\"\\\\\"\) to ensure that they are loaded properly. 
-
-" {} "Binary Format" {italic} "
-
-In the case of " {} "COPY BINARY" {bold} ", the first four bytes in the file will be the number of instances in the file. If this number is zero, the \
-" {} "COPY BINARY" {bold} " command will read until end of file is encountered. Otherwise, it will stop reading when this number of instances has been read. Remaining data in the file will be ignored.  \
-The format for each instance in the file is as follows. Note that this format must be followed exactly. Unsigned four-byte integer quantities are called uint32 in the table below.
-
-" {} "Notes" {bold} "
-
-The " {} "BINARY" {bold} " keyword will force all data to be stored/read as binary objects rather than as text. It is somewhat faster than the normal copy command, but is not generally portable, and the files \
-generated are somewhat larger, although this factor is highly dependent on the data itself. By default, a text copy uses a tab \
-\(\"\\t\"\) character as a delimiter. The delimiter may also be changed to any other single character with the keyword phrase USING DELIMITERS. Characters in data fields which happen to match the delimiter character will be quoted.
-
-You must have select access on any table whose values are read by " {} "COPY" {bold} ", and either insert or update access to a table into which values are being inserted by \
-" {} "COPY" {bold} ". The backend also needs appropriate Unix permissions for any file read or written by \
-" {} "COPY" {bold} ". 
-
-The keyword phrase " {} "USING DELIMITERS" {bold} " specifies a single character to be used for all delimiters between columns. If multiple characters are specified in the delimiter string, only the first \
-character is used. 
-
-       Tip: Do not confuse " {} "COPY" {bold} " with the psql instruction \\copy. "
diff --git a/src/bin/pgaccess/lib/help/copyrights.hlp b/src/bin/pgaccess/lib/help/copyrights.hlp
deleted file mode 100644
index ffa49c7b2c2..00000000000
--- a/src/bin/pgaccess/lib/help/copyrights.hlp
+++ /dev/null
@@ -1,13 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Copyrights\n\n" {title} \
-"
-PostgreSQL is Copyright � 1996-2001,  PostgreSQL Global Development Group.
-
-Postgres95 is Copyright � 1994, Regents of the University of California.
-
-Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies. 
-
-In no event shall the University of California be liable to any party for direct, indirect, special, incidental, or consequential damages, including lost profits, arising out of the use of this software and its documentation, even if the University of California has been advised of the possibility of such damage. 
-
-The University of California specifically disclaims any warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The software provided hereunder is on an \"as-is\" basis, and the University of California has no obligations to provide maintainance, support, updates, enhancements, or modifications. 
-"
diff --git a/src/bin/pgaccess/lib/help/create_aggregate.hlp b/src/bin/pgaccess/lib/help/create_aggregate.hlp
deleted file mode 100644
index 8734acecdde..00000000000
--- a/src/bin/pgaccess/lib/help/create_aggregate.hlp
+++ /dev/null
@@ -1,90 +0,0 @@
-.pgaw:Help.f.t insert end "CREATE AGGREGATE" {bold} " allows a user or programmer to extend Postgres functionality by defining new aggregate functions. Some aggregate functions for base types such as \
-min\(int4\) and avg(float8) are already provided in the base distribution. If one defines new types or needs an aggregate function not already provided then CREATE AGGREGATE can be used to provide \
-the desired features. 
-
-An aggregate function can require up to three functions, two state transition functions, sfunc1 and sfunc2: 
-    sfunc1( internal-state1, next-data_item ) ---> next-internal-state1
-    sfunc2( internal-state2 ) ---> next-internal-state2   
-
-and a final calculation function, ffunc: 
-
-    ffunc(internal-state1, internal-state2) ---> aggregate-value   
-
-Postgres creates up to two temporary variables (referred to here as temp1 and temp2) to hold intermediate results used as arguments to the transition functions. 
-
-These transition functions are required to have the following properties: 
-
-       The arguments to sfunc1 must be temp1 of type sfunc1_return_type and column_value of type data_type. The return value must be of type sfunc1_return_type and will be used as
-       the first argument in the next call to sfunc1. 
-
-       The argument and return value of sfunc2 must be temp2 of type sfunc2_return_type. 
-
-       The arguments to the final-calculation-function must be temp1 and temp2 and its return value must be a Postgres base type (not necessarily data_type which had been specified for
-       BASETYPE). 
-
-       FINALFUNC should be specified if and only if both state-transition functions are specified. 
-
-An aggregate function may also require one or two initial conditions, one for each transition function. These are specified and stored in the database as fields of type text. 
-
-" {} "Synopsis" {bold} "
-" {} "
-CREATE AGGREGATE name \[ AS \]
-    ( BASETYPE    = data_type
-    \[ , SFUNC1    = sfunc1
-      , STYPE1    = sfunc1_return_type \]
-    \[ , SFUNC2    = sfunc2
-      , STYPE2    = sfunc2_return_type \]
-    \[ , FINALFUNC = ffunc \]
-    \[ , INITCOND1 = initial_condition1 \]
-    \[ , INITCOND2 = initial_condition2 \]
-    )
-
-" {code} "Inputs" {bold} "
-
-" {} "name" {italic} "
-       The name of an aggregate function to create. 
-
-" {} "data_type" {italic} "
-       The fundamental data type on which this aggregate function operates. 
-
-" {} "sfunc1" {italic} "
-       The state transition function to be called for every non-NULL field from the source column. It takes a variable of type sfunc1_return_type as the first argument and that field as the
-       second argument. 
-
-" {} "sfunc1_return_type" {italic} "
-       The return type of the first transition function. 
-
-" {} "sfunc2" {italic} "
-       The state transition function to be called for every non-NULL field from the source column. It takes a variable of type sfunc2_return_type as the only argument and returns a variable
-       of the same type. 
-
-" {} "sfunc2_return_type" {italic} "
-       The return type of the second transition function. 
-
-" {} "ffunc" {italic} "
-       The final function called after traversing all input fields. This function must take two arguments of types sfunc1_return_type and sfunc2_return_type. 
-
-" {} "initial_condition1" {italic} "
-       The initial value for the first transition function argument. 
-
-" {} "initial_condition2" {italic} "
-       The initial value for the second transition function argument. 
-
-" {} "Outputs" {bold} "
-
-" {} "CREATE" {italic} "
-
-       Message returned if the command completes successfully.
-
-" {} "Usage" {bold} "
-
-Refer to the chapter on aggregate functions in the PostgreSQL Programmer's Guide on aggregate functions for complete examples of usage. 
-
-" {} "Notes" {bold} "
-
-Use " {} "DROP AGGREGATE" {bold} " to drop aggregate functions. 
-
-It is possible to specify aggregate functions that have varying combinations of state and final functions. For example, the count aggregate requires SFUNC2 (an incrementing function) but not \
-SFUNC1 or FINALFUNC, whereas the sum aggregate requires SFUNC1 (an addition function) but not SFUNC2 or FINALFUNC and the avg aggregate requires both of the above state \
-functions as well as a FINALFUNC (a division function) to produce its answer. In any case, at least one state function must be defined, and any SFUNC2 must have a corresponding \
-INITCOND2."
diff --git a/src/bin/pgaccess/lib/help/create_database.hlp b/src/bin/pgaccess/lib/help/create_database.hlp
deleted file mode 100644
index a14e1e5a633..00000000000
--- a/src/bin/pgaccess/lib/help/create_database.hlp
+++ /dev/null
@@ -1,59 +0,0 @@
-.pgaw:Help.f.t insert end "CREATE DATABASE" {bold} " creates a new Postgres database. The creator becomes the administrator of the new database. 
-
-" {} "Synopsis" {bold} "
-" {} "
-CREATE DATABASE name \[ WITH LOCATION = 'dbpath' \]
-
-" {code} "Inputs" {bold} "
-
-" {} "name" {italic} "
-       The name of a database to create. 
-
-" {} "dbpath" {italic} "
-       An alternate location can be specified as either an environment variable known to the backend server (e.g. 'PGDATA2') or as an absolute path name (e.g. '/usr/local/pgsql/data'). In \
-       either case, the location must be pre-configured by initlocation. 
-
-" {} "Outputs" {bold} "
-
-" {} "CREATEDB" {italic} "
-       Message returned if the command completes successfully. 
-
-" {} "WARN: createdb: database \"name\" already exists." {italic} "
-       This occurs if database specified already exists. 
-
-" {} "ERROR: Unable to create database directory directory" {italic} "
-       There was a problem with creating the required directory; this operation will need permissions for the postgres user on the specified location. 
-
-" {} "Usage" {bold} "
-
-To create a new database: 
-
-   olly=> create database lusiadas;  
-
-To create a new database in an alternate area ~/private_db: 
-
-   $ mkdir private_db
-   $ initlocation ~/private_db
-   Creating Postgres database system directory /home/olly/private_db/base
-   
-   $ psql olly
-   Welcome to the POSTGRESQL interactive sql monitor:
-    Please read the file COPYRIGHT for copyright terms of POSTGRESQL
-    
-    type \\? for help on slash commands
-    type \\q to quit
-    type \\g or terminate with semicolon to execute query
-    You are currently connected to the database: template1
-    
-    olly=> create database elsewhere with location = '/home/olly/private_db';
-
-" {} "Bugs" {bold} "
-
-There are security and data integrity issues involved with using alternate database locations specified with absolute path names, and by default only an environment variable known to the \
-backend may be specified for an alternate location. See the Administrator's Guide for more information. 
-
-" {} "Notes" {bold} "
-
-" {} "CREATE DATABASE" {italic} " is a Postgres language extension. 
-
-Use " {} "DROP DATABASE" {italic} " to remove a database. "
diff --git a/src/bin/pgaccess/lib/help/create_function.hlp b/src/bin/pgaccess/lib/help/create_function.hlp
deleted file mode 100644
index 828f157c618..00000000000
--- a/src/bin/pgaccess/lib/help/create_function.hlp
+++ /dev/null
@@ -1,69 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Synopsis" {bold} "
-
-CREATE FUNCTION name ( \[ ftype \[, ...\] \] )
-RETURNS rtype
-AS definition
-LANGUAGE 'langname'
-" {code} "
-
-name" {italic} "
-	The name of a function to create. 
-
-" {} "ftype" {italic} "
-	The data type of function arguments. 
-
-" {} "rtype" {italic} "
-	The return data type. 
-
-" {} "definition" {italic} "
-	A string defining the function; the meaning depends on the language. It may be an internal function name, the path to an object file, an SQL query, or text in a procedural language. 
-
-" {} "langname" {italic} "
-	may be 'C', 'sql', 'internal' or 'plname', where 'plname' is the name of a created procedural language. See CREATE LANGUAGE for details. 
-
-" {} "Outputs" {bold} "
-
-CREATE
-	This is returned if the command completes successfully. 
-
-CREATE FUNCTION allows a Postgres user to register a function with a database. Subsequently, this user is treated as the owner of the function. 
-
-" {} "Notes:" {italic} "Refer to the chapter on functions in the PostgreSQL Programmer's Guide for further information. 
-
-Use " {} "DROP FUNCTION" {link drop_function} " to drop user-defined functions. 
-
-Postgres allows function \"overloading\"; that is, the same name can be used for several different functions so long as they have distinct argument types. This facility must be used with caution for INTERNAL and C-language functions, however. 
-
-Two INTERNAL functions cannot have the same C name without causing errors at link time. To get around that, give them different C names (for example, use the argument types as part of the C names), then specify those names in the AS clause of CREATE FUNCTION. If the AS clause is left empty then CREATE FUNCTION assumes the C name of the function is the same as the SQL name. 
-
-For dynamically-loaded C functions, the SQL name of the function must be the same as the C function name, because the AS clause is used to give the path name of the object file containing the C code. In this situation it is best not to try to overload SQL function names. It might work to load a C function that has the same C name as an internal function or another dynamically-loaded function --- or it might not. On some platforms the dynamic loader may botch the load in interesting ways if there is a conflict of C function names. So, even if it works for you today, you might regret overloading names later when you try to run the code somewhere else. 
-
-" {} "Usage" {bold} "
-
-To create a simple SQL function: 
-" {} "
-CREATE FUNCTION product_price(int4) RETURNS float8 AS
-	'SELECT price FROM products where id = \$1'
-LANGUAGE 'sql';
-
-SELECT product_price(314) AS answer;
-
-answer 
-------
-15.25
-" {code} "
-
-To create a C function, calling a routine from a user-created shared library. This particular routine calculates a check digit and returns TRUE if the check digit in the function parameters is correct. It is intended for use in a CHECK contraint. 
-" {} "
-CREATE FUNCTION ean_checkdigit(bpchar, bpchar) RETURNS bool
-AS '/usr1/proj/bray/sql/funcs.so' LANGUAGE 'c';
-
-CREATE TABLE product (
-	id        char(8) PRIMARY KEY,
-	eanprefix char(8) CHECK (eanprefix ~ '\[0-9\]{2}-\[0-9\]{5}')
-	REFERENCES brandname(ean_prefix),
-	eancode   char(6) CHECK (eancode ~ '\[0-9\]{6}'),
-	CONSTRAINT ean    CHECK (ean_checkdigit(eanprefix, eancode))
-);
-" {code}
diff --git a/src/bin/pgaccess/lib/help/create_index.hlp b/src/bin/pgaccess/lib/help/create_index.hlp
deleted file mode 100644
index 65548a5466e..00000000000
--- a/src/bin/pgaccess/lib/help/create_index.hlp
+++ /dev/null
@@ -1,87 +0,0 @@
-.pgaw:Help.f.t insert end "CREATE INDEX" {bold} " constructs an index index_name. on the specified table. 
-
-       Tip: Indexes are primarily used to enhance database performance. But inappropriate use will result in slower performance. 
-
-	In the first syntax shown above, the key fields for the index are specified as column names; a column may also have an associated operator class. An operator class is used to specify the \
-operators to be used for a particular index. For example, a btree index on four-byte integers would use the int4_ops class; this operator class includes comparison functions for four-byte \
-integers. The default operator class is the appropriate operator class for that field type. 
-
-	In the second syntax, an index is defined on the result of a user-defined function func_name applied to one or more attributes of a single class. These functional indexes can be used to obtain \
-fast access to data based on operators that would normally require some transformation to apply them to the base data. 
-
-" {} "Synopsis" {bold} "
-
-CREATE \[ UNIQUE \] INDEX index_name
-    ON table \[ USING acc_name \]
-    ( column \[ ops_name\] \[, ...\] )
-CREATE \[ UNIQUE \] INDEX index_name
-    ON table \[ USING acc_name \]
-    ( func_name( column \[, ... \]) ops_name )
-
-" {code} "Inputs" {bold} "
-
-" {} "UNIQUE" {italic} "
-       Causes the system to check for duplicate values in the table when the index is created \
-       \(if data already exist\) and each time data is added. Attempts to insert or update non-duplicate \
-       data will generate an error. 
-
-" {} "index_name" {italic} "
-       The name of the index to be created. 
-
-" {} "table" {italic} "
-       The name of the table to be indexed. 
-
-" {} "acc_name" {italic} "
-       the name of the access method which is to be used for the index. The default access method is BTREE. Postgres provides three access methods for secondary indexes: 
-
-       BTREE
-
-              an implementation of the Lehman-Yao high-concurrency btrees. 
-
-       RTREE
-
-              implements standard rtrees using Guttman's quadratic split algorithm. 
-
-       HASH
-
-              an implementation of Litwin's linear hashing. 
-
-" {} "column" {italic} "
-       The name of a column of the table. 
-
-" {} "ops_name" {italic} "
-       An associated operator class. The following select list returns all ops_names: 
-" {} "
-       SELECT am.amname AS acc_name,
-              opc.opcname AS ops_name,
-              opr.oprname AS ops_comp
-           FROM pg_am am, pg_amop amop,
-                pg_opclass opc, pg_operator opr
-           WHERE amop.amopid = am.oid AND
-                 amop.amopclaid = opc.oid AND
-                 amop.amopopr = opr.oid
-           ORDER BY acc_name, ops_name, ops_comp
-
-" {code} "func_name" {italic} "
-       A user-defined function, which returns a value that can be indexed. 
-
-" {} "Outputs" {bold} "
-
-" {} "CREATE" {italic} "
-       The message returned if the index is successfully created. 
-
-" {} "ERROR: Cannot create index: 'index_name' already exists." {italic} "
-       This error occurs if it is impossible to create the index. 
-       
-" {} "Usage" {bold} "
-
-To create a btree index on the field title in the table films: 
-" {} "
-CREATE UNIQUE INDEX title_idx
-    ON films (title);
-    
-" {code} "Notes" {bold} "
-
-Currently, only the BTREE access method supports multi-column indexes. Up to 7 keys may be specified. 
-
-Use DROP INDEX to remove an index. "
diff --git a/src/bin/pgaccess/lib/help/create_language.hlp b/src/bin/pgaccess/lib/help/create_language.hlp
deleted file mode 100644
index e68fe6f190e..00000000000
--- a/src/bin/pgaccess/lib/help/create_language.hlp
+++ /dev/null
@@ -1,130 +0,0 @@
-.pgaw:Help.f.t insert end "CREATE LANGUAGE" {bold} ". Using CREATE LANGUAGE, a Postgres user can register a new language with Postgres. Subsequently, functions and trigger procedures can be defined in this new language. The user must \
-have the Postgres superuser privilege to register a new language. 
-
-Writing PL handlers 
-
-	The call handler for a procedural language must be written in a compiler language such as 'C' and registered with Postgres as a function taking no arguments and returning the opaque type, a \
-placeholder for unspecified or undefined types.. This prevents the call handler from being called directly as a function from queries. 
-However, arguments must be supplied on the actual call when a PL function or trigger procedure in the language offered by the handler is to be executed.  \
-       When called from the trigger manager, the only argument is the object ID from the procedure's pg_proc entry. All other information from the trigger manager is found in the global \
-       CurrentTriggerData pointer. 
-       When called from the function manager, the arguments are the object ID of the procedure's pg_proc entry, the number of arguments given to the PL function, the arguments in a \
-       FmgrValues structure and a pointer to a boolean where the function tells the caller if the return value is the SQL NULL value. 
-
-	It's up to the call handler to fetch the pg_proc entry and to analyze the argument and return types of the called procedure. The AS clause from the CREATE FUNCTION of the procedure will \
-be found in the prosrc attribute of the pg_proc table entry. This may be the source text in the procedural language itself (like for PL/Tcl), a pathname to a file or anything else that tells the call \
-handler what to do in detail. 
-
-" {} "Synopsis" {bold} "
-
-CREATE \[ TRUSTED \] PROCEDURAL LANGUAGE 'langname'
-    HANDLER call_handler
-    LANCOMPILER 'comment'
-
-" {code} "Inputs" {bold} "
-
-" {} "TRUSTED" {italic} "
-       TRUSTED specifies that the call handler for the language is safe; that is, it offers an unprivileged user no functionality to bypass access restrictions. If this keyword is omitted when
-       registering the language, only users with the Postgres superuser privilege can use this language to create new functions (like the 'C' language). 
-
-" {} "langname" {italic} "
-       The name of the new procedural language. The language name is case insensitive. A procedural language cannot override one of the built-in languages of Postgres. 
-
-" {} "HANDLER call_handler" {italic} "
-       call_handler is the name of a previously registered function that will be called to execute the PL procedures. 
-
-" {} "comment" {italic} "
-       The LANCOMPILER argument is the string that will be inserted in the LANCOMPILER attribute of the new pg_language entry. At present, Postgres does not use this attribute in any way. 
-
-" {} "Outputs" {bold} "
-
-" {} "CREATE" {italic} "
-       This message is returned if the language is successfully created. 
-
-" {} "ERROR: PL handler function funcname\(\) doesn't exist" {italic} "
-       This error is returned if the function funcname() is not found. 
-
-" {} "Usage" {bold} "
-
-This is a template for a PL handler written in 'C': 
-" {} "
-   #include \"executor/spi.h\"
-   #include \"commands/trigger.h\"
-   #include \"utils/elog.h\"
-   #include \"fmgr.h\"        /* for FmgrValues struct */
-   #include \"access/heapam.h\"
-   #include \"utils/syscache.h\"
-   #include \"catalog/pg_proc.h\"
-   #include \"catalog/pg_type.h\"
-        
-   Datum
-   plsample_call_handler\(
-        Oid       prooid,
-        int       pronargs,
-        FmgrValues     *proargs,
-        bool      *isNull\)
-   \{
-        Datum          retval;
-        TriggerData    *trigdata;
-
-        if \(CurrentTriggerData == NULL\) \{
-             /*
-              * Called as a function
-              */
-
-             retval = ...
-        \} else \{
-             /*
-              * Called as a trigger procedure
-              */
-             trigdata = CurrentTriggerData;
-             CurrentTriggerData = NULL;
-
-             retval = ...
-        \}
-
-        *isNull = false;
-        return retval;
-   \}
-" {code} "  
-Only a few thousand lines of code have to be added instead of the dots to complete the PL call handler. See CREATE FUNCTION for information on how to compile it into a loadable module .
-
-The following commands then register the sample procedural language: 
-" {} "
-    CREATE FUNCTION plsample_call_handler () RETURNS opaque
-    AS '/usr/local/pgsql/lib/plsample.so'
-    LANGUAGE 'C';
-    
-    CREATE PROCEDURAL LANGUAGE 'plsample'
-    HANDLER plsample_call_handler
-    LANCOMPILER 'PL/Sample';
-
-" {code} "Notes" {bold} "
-
-Use " {} "CREATE FUNCTION" {bold} " to create a function. 
-
-Use DROP LANGUAGE to drop procedural languages. 
-
-Refer to the table pg_language for further information: 
-
-Table    = pg_language
-" {} "
-+-----------------+----------+-------+
-| Field           |   Type   | Length|
-+-----------------+----------+-------+
-| lanname         | name     |   32  |
-| lancompiler     | text     |   var |
-+-----------------+----------+-------+
-
-lanname |lancompiler   
---------+--------------
-internal|n/a           
-lisp    |/usr/ucb/liszt
-C       |/bin/cc       
-sql     |postgres
-" {code} "
-
-" {} "Restrictions" {bold} "
-
-Since the call handler for a procedural language must be registered with Postgres in the 'C' language, it inherits all the capabilities and restrictions of 'C' functions.
-"
diff --git a/src/bin/pgaccess/lib/help/create_operator.hlp b/src/bin/pgaccess/lib/help/create_operator.hlp
deleted file mode 100644
index 160cabba9f5..00000000000
--- a/src/bin/pgaccess/lib/help/create_operator.hlp
+++ /dev/null
@@ -1,145 +0,0 @@
-.pgaw:Help.f.t insert end "CREATE OPERATOR" {bold} " defines a new operator, name. The user who defines an operator becomes its owner. 
-
-The operator name is a sequence of up to thirty two (32) characters in any combination from the following: 
-
-    + - * / < > = ~ ! @ # % ^ & | ` ? $ : 
-	" {} "Note:" {bold} " No alphabetic characters are allowed in an operator name. This enables Postgres to parse SQL input into tokens without requiring spaces between each token. 
-
-The operator \"!=\" is mapped to \"<>\" on input, so they are therefore equivalent. 
-
-At least one of LEFTARG and RIGHTARG must be defined. For binary operators, both should be defined. For right unary operators, only LEFTARG should be defined, while for left unary \
-operators only RIGHTARG should be defined. 
-Also, the func_name procedure must have been previously defined using CREATE FUNCTION and must be defined to accept the correct number of arguments (either one or two).  \
-The commutator operator should be identified if one exists, so that Postgres can reverse the order of the operands if it wishes. For example, the operator area-less-than, <<<, would probably \
-have a commutator operator, area-greater-than, >>>. Hence, the query optimizer could freely convert: 
-
-    \"0,0,1,1\"::box  >>> MYBOXES.description
-to 
-    MYBOXES.description <<< \"0,0,1,1\"::box
-
-This allows the execution code to always use the latter representation and simplifies the query optimizer somewhat. 
-
-Similarly, if there is a negator operator then it should be identified. Suppose that an operator, area-equal, ===, exists, as well as an area not equal, !==. The negator link allows the query \
-optimizer to simplify 
-
-    NOT MYBOXES.description === \"0,0,1,1\"::box   
-to 
-    MYBOXES.description !== \"0,0,1,1\"::box
-    
-If a commutator operator name is supplied, Postgres searches for it in the catalog. If it is found and it does not yet have a commutator itself, then the commutator's entry is updated to have the \
-newly created operator as its commutator. This applies to the negator, as well. 
-
-This is to allow the definition of two operators that are the commutators or the negators of each other. The first operator should be defined without a commutator or negator (as appropriate). \
-When the second operator is defined, name the first as the commutator or negator. The first will be updated as a side effect.(As of Postgres 6.5, it also works to just have both operators refer to \
-each other.) 
-
-The next three specifications are present to support the query optimizer in performing joins. Postgres can always evaluate a join (i.e., processing a clause with two tuple variables separated by \
-an operator that returns a boolean) by iterative substitution \[WONG76\]. In addition, Postgres can use a hash-join algorithm along the lines of \
-\[SHAP86\]; however, it must know whether this \
-strategy is applicable. The current hash-join algorithm is only correct for operators that represent equality tests; furthermore, equality of the datatype must mean bitwise equality of the \
-representation of the type. (For example, a datatype that contains unused bits that don't matter for equality tests could not be hashjoined.) The HASHES flag indicates to the query optimizer \
-that a hash join may safely be used with this operator.
-
-Similarly, the two sort operators indicate to the query optimizer whether merge-sort is a usable join strategy and which operators should be used to sort the two operand classes. Sort operators \
-should only be provided for an equality operator, and they should refer to less-than operators for the left and right side data types respectively. 
-
-If other join strategies are found to be practical, Postgres will change the optimizer and run-time system to use them and will require additional specification when an operator is defined. \
-Fortunately, the research community invents new join strategies infrequently, and the added generality of user-defined join strategies was not felt to be worth the complexity involved. 
-
-The last two pieces of the specification are present so the query optimizer can estimate result sizes. If a clause of the form: 
-
-    MYBOXES.description <<< \"0,0,1,1\"::box
-
-is present in the qualification, then Postgres may have to estimate the fraction of the instances in MYBOXES that satisfy the clause. The function res_proc must be a registered function \
-(meaning it is already defined using CREATE FUNCTION) which accepts arguments of the correct data types and returns a floating point number. The query optimizer simply calls this function, \
-passing the parameter \"0,0,1,1\" and multiplies the result by the relation size to get the desired expected number of instances. 
-
-Similarly, when the operands of the operator both contain instance variables, the query optimizer must estimate the size of the resulting join. The function join_proc will return another floating \
-point number which will be multiplied by the cardinalities of the two classes involved to compute the desired expected result size. 
-
-The difference between the function 
-
-    my_procedure_1 (MYBOXES.description, \"0,0,1,1\"::box)
-   
-and the operator 
-
-    MYBOXES.description === \"0,0,1,1\"::box
-   
-is that Postgres attempts to optimize operators and can decide to use an index to restrict the search space when operators are involved. However, there is no attempt to optimize functions, and \
-they are performed by brute force. Moreover, functions can have any number of arguments while operators are restricted to one or two. 
-
-" {} "Synopsis" {bold} "
-
-CREATE OPERATOR name (
-        PROCEDURE  = func_name
-     \[, LEFTARG    = type1 \]
-     \[, RIGHTARG   = type2 \]
-     \[, COMMUTATOR = com_op \]
-     \[, NEGATOR    = neg_op \]
-     \[, RESTRICT   = res_proc \]
-     \[, JOIN       = join_proc \]
-     \[, HASHES \]
-     \[, SORT1      = left_sort_op \]
-     \[, SORT2      = right_sort_op \]
-    )
-
-" {code} "Inputs" {bold} "
-
-" {} "name" {italic} "
-       The operator to be defined. See below for allowable characters. 
-
-" {} "func_name" {italic} "
-       The function used to implement this operator. 
-
-" {} "type1" {italic} "
-       The type for the left-hand side of the operator, if any. This option would be omitted for a right-unary operator. 
-
-" {} "type2" {italic} "
-       The type for the right-hand side of the operator, if any. This option would be omitted for a left-unary operator. 
-
-" {} "com_op" {italic} "
-       The commutator for this operator. 
-
-" {} "neg_op" {italic} "
-       The negator of this operator. 
-
-" {} "res_proc" {italic} "
-       The restriction selectivity estimator function for this operator. 
-
-" {} "join_proc" {italic} "
-       The join selectivity estimator function for this operator. 
-
-" {} "HASHES" {italic} "
-       Indicates this operator can support a hash-join algorithm. 
-
-" {} "left_sort_op" {italic} "
-       Operator that sorts the left-hand data type of this operator. 
-
-" {} "right_sort_op" {italic} "
-       Operator that sorts the right-hand data type of this operator. 
-       
-" {} "Outputs" {bold} "
-
-" {} "CREATE" {italic} "
-       Message returned if the operator is successfully created. 
-
-" {} "Usage" {bold} "
-
-The following command defines a new operator, area-equality, for the BOX data type. 
-" {} "
-   CREATE OPERATOR === (
-   LEFTARG = box,
-   RIGHTARG = box,
-   PROCEDURE = area_equal_procedure,
-   COMMUTATOR = ===,
-   NEGATOR = !==,
-   RESTRICT = area_restriction_procedure,
-   JOIN = area_join_procedure,
-   HASHES,
-   SORT1 = <<<,
-   SORT2 = <<<)
-
-" {code} "Notes" {bold} "
-
-Refer to the chapter on operators in the PostgreSQL User's Guide for further information. Refer to DROP OPERATOR to delete user-defined operators from a database.
-"
diff --git a/src/bin/pgaccess/lib/help/create_rule.hlp b/src/bin/pgaccess/lib/help/create_rule.hlp
deleted file mode 100644
index d03390dffdf..00000000000
--- a/src/bin/pgaccess/lib/help/create_rule.hlp
+++ /dev/null
@@ -1,132 +0,0 @@
-.pgaw:Help.f.t insert end "CREATE RULE" {bold} " The semantics of a rule is that at the time an individual instance is accessed, updated, inserted or deleted, there is a current instance (for retrieves, updates and deletes) and a new instance (for \
-updates and appends). If the event specified in the ON clause and the condition specified in the WHERE clause are true for the current instance, the action part of the rule is executed. First, \
-however, values from fields in the current instance and/or the new instance are substituted for current.attribute-name and new.attribute-name. 
-
-The action part of the rule executes with the same command and transaction identifier as the user command that caused activation. 
-
-" {} "Synopsis" {bold} "
-
-CREATE RULE name
-    AS ON event
-    TO object \[ WHERE condition \]
-    DO \[ INSTEAD \] \[ action | NOTHING \]
-    
-" {code} "Inputs" {bold} "
-
-" {} "name" {italic} "
-       The name of a rule to create. 
-
-" {} "event" {italic} "
-       Event is one of select, update, delete or insert. 
-
-" {} "object" {italic} "
-       Object is either table or table.column. 
-
-" {} "condition" {italic} "
-       Any SQL WHERE clause. new or current can appear instead of an instance variable whenever an instance variable is permissible in SQL. 
-
-" {} "action" {italic} "
-       Any SQL statement. new or current can appear instead of an instance variable whenever an instance variable is permissible in SQL. 
-      
-" {} "Outputs" {bold} "
-
-" {} "CREATE" {italic} "
-       Message returned if the rule is successfully created.
-       
-" {} "Usage" {bold} "
-
-Make Sam get the same salary adjustment as Joe: 
-" {} "
-create rule example_1 as
-    on update EMP.salary where current.name = \"Joe\"
-    do update EMP (salary = new.salary)
-    where EMP.name = \"Sam\"
-   
-" {code} "
-At the time Joe receives a salary adjustment, the event will become true and Joe's current instance and proposed new instance are available to the execution routines. Hence, his new salary is \
-substituted into the action part of the rule which is subsequently executed. This propagates Joe's salary on to Sam. 
-
-Make Bill get Joe's salary when it is accessed: 
-" {} "
-create rule example_2 as
-    on select to EMP.salary
-    where current.name = \"Bill\"
-    do instead
-    select (EMP.salary) from EMP
-        where EMP.name = \"Joe\"
-   
-" {code} "
-Deny Joe access to the salary of employees in the shoe department (current_user returns the name of the current user): 
-
-" {} "  
-create rule example_3 as
-    on select to EMP.salary
-    where current.dept = \"shoe\" and current_user = \"Joe\"
-    do instead nothing
-   
-" {code} "
-Create a view of the employees working in the toy department. 
-" {} "
-create TOYEMP(name = char16, salary = int4)
-
-create rule example_4 as
-    on select to TOYEMP
-    do instead
-    select (EMP.name, EMP.salary) from EMP
-        where EMP.dept = \"toy\"
-   
-" {code} "
-All new employees must make 5,000 or less 
-" {} "
-create rule example_5 as
-    on insert to EMP where new.salary > 5000
-    do update newset salary = 5000
-
-" {code} "Notes" {bold} "
-
-A caution about SQL rules is in order. If the same class name or instance variable appears in the event, the condition and the action parts of a rule, they are all considered different tuple \
-variables. More accurately, new and current are the only tuple variables that are shared between these clauses. For example, the following two rules have the same semantics: 
-" {} "
-on update to EMP.salary where EMP.name = \"Joe\"
-    do update EMP ( ... ) where ...
-
-on update to EMP-1.salary where EMP-2.name = \"Joe\"
-    do update EMP-3 ( ... ) where ...
-    
-" {code} "
-Each rule can have the optional tag INSTEAD. Without this tag, action will be performed in addition to the user command when the event in the condition part of the rule occurs. Alternately, \
-the action part will be done instead of the user command. In this later case, the action can be the keyword NOTHING. 
-
-When choosing between the rewrite and instance rule systems for a particular rule application, remember that in the rewrite system, current refers to a relation and some qualifiers whereas in \
-the instance system it refers to an instance (tuple). 
-
-It is very important to note that the rewrite rule system will neither detect nor process circular rules. For example, though each of the following two rule definitions are accepted by Postgres, the \
-retrieve command will cause Postgres to crash: 
-
-Example 14-1. Example of a circular rewrite rule combination.
-" {} "
-create rule bad_rule_combination_1 as
-    on select to EMP
-    do instead select to TOYEMP
-
-create rule bad_rule_combination_2 as
-    on select to TOYEMP
-    do instead select to EMP
-     
-" {code} "
-This attempt to retrieve from EMP will cause Postgres to crash. 
-" {} "
-select * from EMP
-      
-" {code} "
-You must have rule definition access to a class in order to define a rule on it. Use GRANT and REVOKE to change permissions. 
-
-" {} "Bugs" {bold} "
-
-The object in a SQL rule cannot be an array reference and cannot have parameters. 
-
-Aside from the \"oid\" field, system attributes cannot be referenced anywhere in a rule. Among other things, this means that functions of instances (e.g., \"foo(emp)\" where \
-\"emp\" is a class) cannot be called anywhere in a rule. 
-
-The rule system stores the rule text and query plans as text attributes. This implies that creation of rules may fail if the rule plus its various internal representations exceed some value that is on \
-the order of one page (8KB). "
diff --git a/src/bin/pgaccess/lib/help/create_sequence.hlp b/src/bin/pgaccess/lib/help/create_sequence.hlp
deleted file mode 100644
index e75a6bc7855..00000000000
--- a/src/bin/pgaccess/lib/help/create_sequence.hlp
+++ /dev/null
@@ -1,42 +0,0 @@
-.pgaw:Help.f.t insert end \
-"CREATE SEQUENCE" {bold} " will enter a new sequence number generator into the current data base. This involves creating and initialising a new single-row table with the name seqname. The generator will be \"owned\" by the user issuing the command. 
-
-After a sequence is created, you may use the function nextval(seqname) to get a new number from the sequence. The function currval('seqname') may be used to determine the number returned by the last call to nextval(seqname) for the specified sequence in the current session. The function setval('seqname', newvalue) may be used to set the current value of the specified sequence. The next call to nextval(seqname) will return the given value plus the sequence increment. 
-
-" {} "Synopsis" {bold} "
-
-CREATE SEQUENCE seqname
-\[ INCREMENT increment \]
-\[ MINVALUE  minvalue \]
-\[ MAXVALUE  maxvalue \]
-\[ START     start \]
-\[ CACHE     cache \]
-\[ CYCLE \]
-" {code} "
-" {} "Inputs" {bold} "
-
-" {} "seqname" {italic} "
-	The name of a sequence to be created. 
-
-" {} "increment" {italic} "
-	The INCREMENT increment clause is optional. A positive value will make an ascending sequence, a negative one a descending sequence. The default value is one (1). 
-
-" {} "minvalue" {italic} "
-	The optional clause MINVALUE minvalue determines the minimum value a sequence can generate. The defaults are 1 and -2147483647 for ascending and descending sequences, respectively. 
-
-" {} "maxvalue" {italic} "
-	Use the optional clause MAXVALUE maxvalue to determine the maximum value for the sequence. The defaults are 2147483647 and -1 for ascending and descending sequences, respectively. 
-
-" {} "start" {italic} "
-	The optional START start clause enables the sequence to begin anywhere. The default starting value is minvalue for ascending sequences and maxvalue for descending ones. 
-
-" {} "cache" {italic} "
-	The CACHE cache option enables sequence numbers to be preallocated and stored in memory for faster access. The minimum value is 1 (only one value can be generated at a time, i.e. no cache) and this is also the default. 
-
-" {} "CYCLE" {italic} "
-	The optional CYCLE keyword may be used to enable the sequence to continue when the maxvalue or minvalue has been reached by an ascending or descending sequence respectively. If the limit is reached, the next number generated will be whatever the minvalue or maxvalue is, as appropriate. 
-
-" {} "CAUTION" {title} "
-Unexpected results may be obtained if a cache setting greater than one is used for a sequence object that will be used concurrently by multiple backends. Each backend will allocate \"cache\" successive sequence values during one access to the sequence object and increase the sequence object's last_value accordingly. Then, the next cache-1 uses of nextval within that backend simply return the preallocated values without touching the shared object. So, numbers allocated but not used in the current session will be lost. Furthermore, although multiple backends are guaranteed to allocate distinct sequence values, the values may be generated out of sequence when all the backends are considered. (For example, with a cache setting of 10, backend A might reserve values 1..10 and return nextval=1, then backend B might reserve values 11..20 and return nextval=11 before backend A has generated nextval=2.) Thus, with a cache setting of one it is safe to assume that nextval values are generated sequentially; with a cache setting greater than one you should only assume that the nextval values are all distinct, not that they are generated purely sequentially. Also, last_value will reflect the latest value reserved by any backend, whether or not it has yet been returned by nextval. 
-
-CREATE SEQUENCE is a Postgres language extension. There is no CREATE SEQUENCE statement in SQL92."
diff --git a/src/bin/pgaccess/lib/help/create_table.hlp b/src/bin/pgaccess/lib/help/create_table.hlp
deleted file mode 100644
index c55548bfb01..00000000000
--- a/src/bin/pgaccess/lib/help/create_table.hlp
+++ /dev/null
@@ -1,39 +0,0 @@
-.pgaw:Help.f.t insert end \
-"CREATE TABLE" {bold} "
-
-CREATE \[ TEMPORARY | TEMP \] TABLE table (
-	column type
-	\[ NULL | NOT NULL \] \[ UNIQUE \] \[ DEFAULT value \]
-	\[column_constraint_clause | PRIMARY KEY } \[ ... \] \]
-	\[, ... ]
-	\[, PRIMARY KEY ( column \[, ...\] ) \]
-	\[, CHECK ( condition ) \]
-	\[, table_constraint_clause \]
-	) \[ INHERITS ( inherited_table \[, ...\] ) \]
-" {code} "
-TEMPORARY
-	The table is created only for this session, and is automatically dropped on session exit. Existing permanent tables with the same name are not visible while the temporary table exists. 
-" {} "
-table" {italic} "
-   The name of a new table to be created. 
-" {} " 
-column" {italic} "
-   The name of a column. 
-" {} "
-type" {italic} "
-   The type of the column. This may include array specifiers. Refer to the PostgreSQL User's Guide for further information about data types and arrays. 
-" {} "
-DEFAULT value" {italic} "
-   A default value for a column. See the DEFAULT clause for more information. 
-" {} "
-column_constraint_clause" {italic} "
-   The optional column constraint clauses specify a list of integrity constraints or tests which new or updated entries must satisfy for an insert or update operation to succeed. Each constraint must evaluate to a boolean expression. Although SQL92 requires the column_constraint_clause to refer to that column only, Postgres allows multiple columns to be referenced within a single column constraint. See the column constraint clause for more information. 
-" {} "
-table_constraint_clause" {italic} "
-   The optional table CONSTRAINT clause specifies a list of integrity constraints which new or updated entries must satisfy for an insert or update operation to succeed. Each constraint must evaluate to a boolean expression. Multiple columns may be referenced within a single constraint. Only one PRIMARY KEY clause may be specified for a table; PRIMARY KEY column (a table constraint) and PRIMARY KEY (a column constraint) are mutually exclusive.. See the table constraint clause for more information. 
-" {} "
-INHERITS inherited_table" {italic} "
-   The optional INHERITS clause specifies a collection of table names from which this table automatically inherits all fields. If any inherited field name appears more than once, Postgres reports an error. Postgres automatically allows the created table to inherit functions on tables above it in the inheritance hierarchy. 
-
-Aside:  Inheritance of functions is done according to the conventions of the Common Lisp Object System (CLOS). 
-"
diff --git a/src/bin/pgaccess/lib/help/create_table_as.hlp b/src/bin/pgaccess/lib/help/create_table_as.hlp
deleted file mode 100644
index b7de4e19d72..00000000000
--- a/src/bin/pgaccess/lib/help/create_table_as.hlp
+++ /dev/null
@@ -1,20 +0,0 @@
-.pgaw:Help.f.t insert end "CREATE TABLE AS" {bold} " CREATE TABLE AS enables a table to be created from the contents of an existing table. It has functionality equivalent to SELECT TABLE INTO, but with perhaps a more obvious syntax. 
-
-" {} "Synopsis" {bold} "
-" {} "
-CREATE TABLE table \[ (column \[, ...\] ) \]
-     AS select_clause
-
-" {code} "Inputs" {bold} "
-
-" {} "table" {italic} "
-       The name of a new table to be created. 
-
-" {} "column" {italic} "
-       The name of a column. Multiple column names can be specified using a comma-delimited list of column names. 
-
-" {} "select_clause" {italic} "
-       A valid query statement. Refer to SELECT for a description of the allowed syntax. 
-
-" {} "Outputs" {bold} "
-Refer to CREATE TABLE and SELECT for a summary of possible output messages. "
diff --git a/src/bin/pgaccess/lib/help/create_trigger.hlp b/src/bin/pgaccess/lib/help/create_trigger.hlp
deleted file mode 100644
index d3f777adfc9..00000000000
--- a/src/bin/pgaccess/lib/help/create_trigger.hlp
+++ /dev/null
@@ -1,80 +0,0 @@
-.pgaw:Help.f.t insert end "CREATE TRIGGER" {bold} " will enter a new trigger into the current data base. The trigger will be associated with the relation relname and will execute the specified function funcname. 
-
-The trigger can be specified to fire either before the operation is attempted on a tuple (before constraints are checked and the INSERT, UPDATE or DELETE is attempted) or after the operation \
-has been attempted (e.g. after constraints are checked and the INSERT, UPDATE or DELETE has completed). If the trigger fires before the event, the trigger may skip the operation for the \
-current tuple, or change the tuple being inserted (for INSERT and UPDATE operations only). If the trigger fires after the event, all changes, including the last insertion, update, or deletion, are \
-\"visible\" to the trigger. 
-
-Refer to the chapters on SPI and Triggers in the PostgreSQL Programmer's Guide for more information. 
-
-" {} "Synopsis" {bold} "
-
-CREATE TRIGGER name \{ BEFORE | AFTER \}
-    \{ event \[OR ...\] \}
-    ON table FOR EACH \{ ROW | STATEMENT \}
-    EXECUTE PROCEDURE funcname ( arguments )
-
-" {code} "Inputs" {bold} "
-
-" {} "name" {italic} "
-       The name of an existing trigger. 
-
-" {} "table" {italic} "
-       The name of a table. 
-
-" {} "event" {italic} "
-       One of INSERT, DELETE or UPDATE. 
-
-" {} "funcname" {italic} "
-       A user-supplied function. 
-
-" {} "Outputs" {bold} "
-
-" {} "CREATE" {italic} "
-       This message is returned if the trigger is successfully created. 
-
-" {} "Usage" {bold} "
-
-Check if the specified distributor code exists in the distributors table before appending or updating a row in the table films: 
-" {} "
-   CREATE TRIGGER if_dist_exists
-   BEFORE INSERT OR UPDATE ON films FOR EACH ROW
-   EXECUTE PROCEDURE check_primary_key ('did', 'distributors', 'did');
-  
-" {code} "
-Before cancelling a distributor or updating its code, remove every reference to the table films: 
-" {} "
-   CREATE TRIGGER if_film_exists 
-   BEFORE DELETE OR UPDATE ON distributors FOR EACH ROW
-   EXECUTE PROCEDURE check_foreign_key (1, 'CASCADE', 'did', 'films', 'did');
-
-
-
-" {code} "Compatibility" {bold} "
-
-" {} "SQL92" {italic} "
-
-There is no CREATE TRIGGER in SQL92. 
-
-The second example above may also be done by using a FOREIGN KEY constraint as in: 
-" {} "
-    CREATE TABLE distributors (
-    did      DECIMAL(3),
-    name     VARCHAR(40),
-    CONSTRAINT if_film_exists
-    FOREIGN KEY(did) REFERENCES films
-    ON UPDATE CASCADE ON DELETE CASCADE  
-    );
-   
-" {code} "
-However, foreign keys are not yet implemented (as of version 6.4) in Postgres. 
-
-" {} "Notes" {bold} "
-
-" {} "CREATE TRIGGER" {italic} " is a Postgres language extension. 
-
-Only the relation owner may create a trigger on this relation. 
-
-As of the current release (v6.4), STATEMENT triggers are not implemented. 
-
-Refer to DROP TRIGGER for information on how to remove triggers. "
diff --git a/src/bin/pgaccess/lib/help/create_type.hlp b/src/bin/pgaccess/lib/help/create_type.hlp
deleted file mode 100644
index 9834c1cac54..00000000000
--- a/src/bin/pgaccess/lib/help/create_type.hlp
+++ /dev/null
@@ -1,24 +0,0 @@
-.pgaw:Help.f.t insert end "CREATE TYPE" {bold} " allows the user to register a new user data type with Postgres for use in the current data base. The user who defines a type becomes its owner. Typename is the name of the new \
-type and must be unique within the types defined for this database. 
-
-" {} "Synopsis" {bold} "
-
-CREATE TYPE typename (
-        INPUT          = input_function
-      , OUTPUT         = output_function
-      , INTERNALLENGTH = (internallength | VARIABLE)
-    \[ , EXTERNALLENGTH = (externallength | VARIABLE) \]
-    \[ , ELEMENT        = element \]
-    \[ , DELIMITER      = delimiter \]
-    \[ , DEFAULT        = \"default\" \]
-    \[ , SEND           = send_function \]
-    \[ , RECEIVE        = receive_function \]
-    \[ , PASSEDBYVALUE \]
-)
-
-" {code} "Notes" {bold} "
-
-Refer to DROP TYPE to remove an existing type. 
-
-See also CREATE FUNCTION, CREATE OPERATOR and the chapter on Large Objects in the PostgreSQL Programmer's Guide.
-"
diff --git a/src/bin/pgaccess/lib/help/create_user.hlp b/src/bin/pgaccess/lib/help/create_user.hlp
deleted file mode 100644
index 4adf87f5093..00000000000
--- a/src/bin/pgaccess/lib/help/create_user.hlp
+++ /dev/null
@@ -1,50 +0,0 @@
-.pgaw:Help.f.t insert end "CREATE USER" {bold} " will add a new user to an instance of Postgres. 
-
-The new user will be given a usesysid of: 'SELECT MAX(usesysid) + 1 FROM pg_shadow'. This means that Postgres users' usesysids will not correspond to their operating system(OS) \
-user ids. The exception to this rule is the 'postgres' user, whose OS user id is used as the usesysid during the initdb process. If you still want the OS user id and the usesysid to match for any \
-given user, use the \"createuser\" script provided with the Postgres distribution. 
-
-" {} "Synopsis" {bold} "
-
-CREATE USER username
-    \[ WITH PASSWORD password \]
-    \[ CREATEDB   | NOCREATEDB \]
-    \[ CREATEUSER | NOCREATEUSER \]
-    \[ IN GROUP     groupname \[, ...\] \]
-    \[ VALID UNTIL  'abstime' \]
-    
-
-" {code} "Usage" {bold} "
-
-Create a user with no password: 
-" {} "   CREATE USER jonathan
-" {code} "  
-Create a user with a password: 
-" {} "   CREATE USER davide WITH PASSWORD jw8s0F4
-" {code} "
-Create a user with a password, whose account is valid until the end of 2001. Note that after one second has ticked in 2002, the account is not valid: 
-" {} "   CREATE USER miriam WITH PASSWORD jw8s0F4 VALID UNTIL 'Jan 1 2002'  
-" {code} "
-Create an account where the user can create databases: 
-" {} "   CREATE USER manuel WITH PASSWORD jw8s0F4 CREATEDB
-
-" {code} "Notes" {bold} "
-
-CREATE USER statement is a Postgres language extension. 
-Use DROP USER or ALTER USER statements to remove or modify a user account.
-Refer to the pg_shadow table for further information. 
-" {} "
-   Table    = pg_shadow
-   +--------------------------+--------------------------+-------+
-   |          Field           |          Type            | Length|
-   +--------------------------+--------------------------+-------+
-   | usename                  | name                     |    32 |
-   | usesysid                 | int4                     |     4 |
-   | usecreatedb              | bool                     |     1 |
-   | usetrace                 | bool                     |     1 |
-   | usesuper                 | bool                     |     1 |
-   | usecatupd                | bool                     |     1 |
-   | passwd                   | text                     |   var |
-   | valuntil                 | abstime                  |     4 |
-   +--------------------------+--------------------------+-------+
-" {code}
diff --git a/src/bin/pgaccess/lib/help/create_view.hlp b/src/bin/pgaccess/lib/help/create_view.hlp
deleted file mode 100644
index 416807e62bf..00000000000
--- a/src/bin/pgaccess/lib/help/create_view.hlp
+++ /dev/null
@@ -1,27 +0,0 @@
-.pgaw:Help.f.t insert end "CREATE VIEW" {bold} " will define a view of a table. This view is not physically materialized. Specifically, a query rewrite retrieve rule is automatically generated to support retrieve operations on \
-views. 
-
-" {} "Synopsis" {bold} "
-
-CREATE VIEW view
-    AS SELECT query
-
-" {} "Usage" {bold} "
-
-Create a view consisting of all Comedy films: 
-" {} "
-CREATE VIEW kinds AS
-    SELECT *
-    FROM films
-    WHERE kind = 'Comedy';
-
-SELECT * FROM kinds;
-
-code |title                    |did| date_prod|kind      |len
------+-------------------------+---+----------+----------+------
-UA502|Bananas                  |105|1971-07-13|Comedy    | 01:22
-C_701|There's a Girl in my Soup|107|1970-06-11|Comedy    | 01:36
-
-" {code} "Notes" {bold} "
-
-Use the DROP VIEW statement to drop views. "
diff --git a/src/bin/pgaccess/lib/help/data_types.hlp b/src/bin/pgaccess/lib/help/data_types.hlp
deleted file mode 100644
index c2ba891fe3d..00000000000
--- a/src/bin/pgaccess/lib/help/data_types.hlp
+++ /dev/null
@@ -1,48 +0,0 @@
-.pgaw:Help.f.t configure -tabs {130 300 450}
-.pgaw:Help.f.t insert end \
-"Data types\n\n" {title} \
-"Postgres has a rich set of native data types available to users. Users may add new types to Postgres using the DEFINE TYPE command described elsewhere. 
-
-In the context of data types, the following sections will discuss SQL standards compliance, porting issues, and usage. Some Postgres types correspond directly to SQL92-compatible types. In other cases, data types defined by SQL92 syntax are mapped directly into native Postgres types. Many of the built-in types have obvious external formats. However, several types are either unique to Postgres, such as open and closed paths, or have several possibilities for formats, such as the date and time types. 
-
-" {} \
-"Postgres Type\tSQL92 or SQL3 Type\tDescription\n" {bold} \
-"bool\tboolean\tlogical boolean (true/false)
-box\t\trectangular box in 2D plane\tchar(n)
-character(n)\t\tfixed-length character string
-cidr\t\tIP version 4 network or host address
-circle\t\tcircle in 2D plane
-date\tdate\tcalendar date without time of day
-float4/8\tfloat(p)\tfloating-point number with precision p
-float8\treal, double precision\tdouble-precision floating-point number
-inet\t\tIP version 4 network or host address
-int2\tsmallint\tsigned two-byte integer
-int4\tint, integer\tsigned 4-byte integer
-int4\tdecimal(p,s)\texact numeric for p <= 9, s = 0
-int4\tnumeric(p,s)\texact numeric for p == 9, s = 0
-int8\t\tsigned 8-byte integer
-line\t\tinfinite line in 2D plane
-lseg\t\tline segment in 2D plane
-money\tdecimal(9,2)\tUS-style currency
-path\t\topen and closed geometric path in 2D plane
-point\t\tgeometric point in 2D plane
-polygon\t\tclosed geometric path in 2D plane
-serial\t\tunique id for indexing and cross-reference
-time\ttime\ttime of day
-timespan\tinterval\tgeneral-use time span
-timestamp\ttimestamp with time zone\tdate/time
-varchar(n)\tcharacter varying(n)\tvariable-length character string
-
-Note:  The cidr and inet types are designed to handle any IP type but only ipv4 is handled in the current implementation. Everything here that talks about ipv4 will apply to ipv6 in a future release.
-
-" {} \
-"Postgres Function Constants
-
-Postgres Function\tSQL92 Constant\tDescription" {bold} \
-"
-getpgusername()\tcurrent_user\tuser name in current session
-date('now')\tcurrent_date\tdate of current transaction
-time('now')\tcurrent_time\ttime of current transaction
-timestamp('now')\tcurrent_timestamp\tdate and time of current transaction
-" {}
-
diff --git a/src/bin/pgaccess/lib/help/datefunc.hlp b/src/bin/pgaccess/lib/help/datefunc.hlp
deleted file mode 100644
index 70c7e5eac23..00000000000
--- a/src/bin/pgaccess/lib/help/datefunc.hlp
+++ /dev/null
@@ -1,58 +0,0 @@
-.pgaw:Help.f.t insert end \
-"DateTime functions\n\n" {title} \
-"abstime(datetime) " {bold} "
-	Returns: abstime 
-	convert to abstime 
-
-" {} "age(datetime,datetime) " {bold} "
-	Returns: timespan 
-	preserve months and years 
-
-" {} "datetime(abstime) " {bold} "
-	Returns: datetime 
-	convert to datetime 
-
-" {} "datetime(date) " {bold} "
-	Returns: datetime 
-	convert to datetime 
-
-" {} "datetime(date,time) " {bold} "
-	Returns: datetime 
-	convert to datetime 
-
-" {} "date_part(text,datetime) " {bold} "
-	Returns: float8 
-	portion of date 
-
-" {} "date_part(text,timespan) " {bold} "
-	Returns: float8 
-	portion of time 
-
-" {} "date_trunc(text,datetime) " {bold} "
-	Returns: datetime 
-	truncate date 
-
-" {} "isfinite(abstime) " {bold} "
-	Returns: bool 
-	a finite time? 
-
-" {} "isfinite(datetime) " {bold} "
-	Returns: bool 
-	a finite time? 
-
-" {} "isfinite(timespan) " {bold} "
-	Returns: bool 
-	a finite time? 
-
-" {} "reltime(timespan) " {bold} "
-	Returns: reltime 
-	convert to reltime 
-
-" {} "timespan(reltime) " {bold} "
-	Returns: timespan 
-	convert to timespan 
-
-
-" {} \
-"PostgreSQL functions\n" {link pgfunctions} \
-"Next - geometric functions" {link geomfunc}
diff --git a/src/bin/pgaccess/lib/help/declare.hlp b/src/bin/pgaccess/lib/help/declare.hlp
deleted file mode 100644
index fcc4f7fadd2..00000000000
--- a/src/bin/pgaccess/lib/help/declare.hlp
+++ /dev/null
@@ -1,29 +0,0 @@
-.pgaw:Help.f.t insert end "DECLARE" {bold} " allows a user to create cursors, which can be used to retrieve a small number of rows at a time out of a larger query. Cursors can return data either in text or in binary foramt. 
-
-	Normal cursors return data in text format, either ASCII or another encoding scheme depending on how the Postgres backend was built. Since data is stored natively in binary format, the system \
-must do a conversion to produce the text format. In addition, text formats are often larger in size than the corresponding binary format. Once the information comes back in text form, the client \
-application may have to convert it to a binary format to manipulate it anyway. 
-
-BINARY cursors give you back the data in the native binary representation. So binary cursors will tend to be a little faster since they suffer less conversion overhead. 
-
-" {} "Synopsis" {bold} "
-
-DECLARE cursor \[ BINARY \] \[ INSENSITIVE \] \[ SCROLL \]
-    CURSOR FOR query
-    \[ FOR \[ READ ONLY | UPDATE \[ OF column \[, ...\] \] \]
-
-" {code} "Usage" {bold} "
-
-To declare a cursor: 
-" {} "
-DECLARE liahona CURSOR
-    FOR SELECT * FROM films;
-    
-" {code} "Notes" {bold} "
-
-Cursors are only available in transactions. 
-
-Postgres does not have an explicit OPEN cursor statement; a cursor is considered to be open when it is declared. 
-
-       Note: In SQL92 cursors are only available in embedded applications. ecpg, the embedded SQL preprocessor for Postgres, supports the SQL92 conventions, including those \
-       involving DECLARE and OPEN statements. "
diff --git a/src/bin/pgaccess/lib/help/delete.hlp b/src/bin/pgaccess/lib/help/delete.hlp
deleted file mode 100644
index 6bc94b0dbbf..00000000000
--- a/src/bin/pgaccess/lib/help/delete.hlp
+++ /dev/null
@@ -1,43 +0,0 @@
-.pgaw:Help.f.t insert end "DELETE" {bold} " emoves rows which satisfy the WHERE condition, from the specified table.  \
-If the condition is absent, the effect is to delete all rows in the table. The result is a valid, but empty table.  \
-You must have write access to the table in order to modify it, as well as read access to any table whose values are read in the condition. 
-
-" {} "Synopsis" {bold} "
-" {} "
-   DELETE FROM table \[ WHERE condition \]
-   
-" {code} "Usage" {bold} "
-
-Remove all films but musicals: 
-" {} "
-DETETE FROM films WHERE kind <> 'Musical';
-
-SELECT * FROM films;
-
-code |title                    |did| date_prod|kind      |len
------+-------------------------+---+----------+----------+------
-UA501|West Side Story          |105|1961-01-03|Musical   | 02:32
-TC901|The King and I           |109|1956-08-11|Musical   | 02:13
-WD101|Bed Knobs and Broomsticks|111|          |Musical   | 01:57
-(3 rows)
-  
-
-Clear the table films: 
-
-DELETE FROM films;
-   
-SELECT * FROM films;
-code|title|did|date_prod|kind|len
-----+-----+---+---------+----+---
-(0 rows)
-
-" {code} "Compatibility" {bold} "
-
-SQL92 
-
-SQL92 allows a positioned DELETE statement: 
-
-DELETE FROM table WHERE CURRENT OF cursor
-   
-
-where cursor identifies an open cursor. Interactive cursors in Postgres are read-only. "
diff --git a/src/bin/pgaccess/lib/help/drop_aggregate.hlp b/src/bin/pgaccess/lib/help/drop_aggregate.hlp
deleted file mode 100644
index 79b00a40189..00000000000
--- a/src/bin/pgaccess/lib/help/drop_aggregate.hlp
+++ /dev/null
@@ -1,17 +0,0 @@
-.pgaw:Help.f.t insert end "DROP AGGREGATE" {bold} " will remove all references to an existing aggregate definition. To execute this command the current user must be the owner of the aggregate. 
-
-" {} "Synopsis" {bold} "
-
-DROP AGGREGATE name type
-
-" {} "Usage" {bold} "
-
-To remove the myavg aggregate for type int4: 
-
-DROP AGGREGATE myavg int4;
-
-" {} "Notes" {bold} "
-
-The DROP AGGREGATE statement is a Postgres language extension. 
-
-Refer to the CREATE AGGREGATE statement to create aggregate functions. "
diff --git a/src/bin/pgaccess/lib/help/drop_database.hlp b/src/bin/pgaccess/lib/help/drop_database.hlp
deleted file mode 100644
index e804731d49b..00000000000
--- a/src/bin/pgaccess/lib/help/drop_database.hlp
+++ /dev/null
@@ -1,14 +0,0 @@
-.pgaw:Help.f.t insert end "DROP DATABASE" {bold} " removes the catalog entries for an existing database and deletes the directory containing the data. It can only be executed by the database administrator (See the \
-CREATE DATABASE command for details). 
-
-" {} "Synopsis" {bold} "
-
-DROP DATABASE name
-
-" {} "Notes" {bold} "
-
-DROP DATABASE statement is a Postgres language extension. 
-
-       Tip: This query cannot be executed while connected to the target database. It is usually preferable to use the destroydb script instead. 
-
-Refer to the CREATE DATABASE statement for information on how to create a database. "
diff --git a/src/bin/pgaccess/lib/help/drop_function.hlp b/src/bin/pgaccess/lib/help/drop_function.hlp
deleted file mode 100644
index f755889cd4e..00000000000
--- a/src/bin/pgaccess/lib/help/drop_function.hlp
+++ /dev/null
@@ -1,22 +0,0 @@
-.pgaw:Help.f.t insert end \
-"DROP FUNCTION" {bold} " will remove references to an existing C function. To execute this command the user must be the owner of the function. The input argument types to the function must be specified, as only the function with the given name and argument types will be removed. 
-
-" {} "Synopsis" {bold} "
-
-DROP FUNCTION name ( \[ type \[, ...\] \] )
-" {code} "
-Inputs 
-" {} "name" {italic} "
-	The name of an existing function. 
-
-" {} "type" {italic} "
-	The type of function parameters. 
-
-Outputs 
-" {} "DROP" {code} "
-
-Message returned if the command completes successfully. 
-
-WARN RemoveFunction: Function \"name\" (\"types\") does not exist
-
-This message is given if the function specified does not exist in the current database."
diff --git a/src/bin/pgaccess/lib/help/drop_index.hlp b/src/bin/pgaccess/lib/help/drop_index.hlp
deleted file mode 100644
index 1b53db3137a..00000000000
--- a/src/bin/pgaccess/lib/help/drop_index.hlp
+++ /dev/null
@@ -1,17 +0,0 @@
-.pgaw:Help.f.t insert end "DROP INDEX" {bold} " drops an existing index from the database system. To execute this command you must be the owner of the index. 
-
-" {} "Synopsis" {bold} "
-
-DROP INDEX index_name
-
-" {code} "Usage" {bold} "
-
-This command will remove the title_idx index: 
-" {} "
-DROP INDEX title_idx;
-  
-" {code} "Notes" {bold} "
-
-DROP INDEX is a Postgres language extension. 
-
-Refer to the CREATE INDEX statement for information on how to create indexes. "
diff --git a/src/bin/pgaccess/lib/help/drop_language.hlp b/src/bin/pgaccess/lib/help/drop_language.hlp
deleted file mode 100644
index 77baf909894..00000000000
--- a/src/bin/pgaccess/lib/help/drop_language.hlp
+++ /dev/null
@@ -1,17 +0,0 @@
-.pgaw:Help.f.t insert end "DROP LANGUAGE" {bold} " will remove the definition of the previously registered procedural language having the name 'langname'. 
-
-" {} "Synopsis" {bold} "
-
-DROP PROCEDURAL LANGUAGE 'langname'
-
-" {code} "Usage" {bold} "
-
-This command removes the PL/Sample language: 
-" {} "
-DROP PROCEDURAL LANGUAGE 'plsample'
-
-" {code} "Notes" {bold} "
-
-The DROP PROCEDURAL LANGUAGE statement is a Postgres language extension. 
-
-Refer to CREATE PROCEDURAL LANGUAGE for information on how to create procedural languages. "
diff --git a/src/bin/pgaccess/lib/help/drop_operator.hlp b/src/bin/pgaccess/lib/help/drop_operator.hlp
deleted file mode 100644
index e664316c85b..00000000000
--- a/src/bin/pgaccess/lib/help/drop_operator.hlp
+++ /dev/null
@@ -1,32 +0,0 @@
-.pgaw:Help.f.t insert end "DROP OPERATOR" {bold} " The DROP OPERATOR statement drops an existing operator from the database. To execute this command you must be the owner of the operator.  \
-The left or right type of a left or right unary operator, respectively, may be specified as NONE. 
-
-" {} "Synopsis" {bold} "
-" {} "
-DROP OPERATOR id ( type | NONE \[,...\] )
-
-" {code} "Usage" {bold} "
-
-Remove power operator a^n for int4: 
-" {} "
-DROP OPERATOR ^ (int4, int4);
-  
-" {code} "
-Remove left unary operator !a for booleans: 
-" {} "
-DROP OPERATOR ! (none, bool);
-  
-" {code} "
-Remove right unary factorial operator a! for int4: 
-" {} "
-DROP OPERATOR ! (int4, none);
-
-
-" {code} "Notes" {bold} "
-
-The DROP OPERATOR statement is a Postgres language extension. 
-
-Refer to CREATE OPERATOR for information on how to create operators. 
-
-It is the user's responsibility to remove any access methods and operator classes that rely on the deleted operator. 
-"
diff --git a/src/bin/pgaccess/lib/help/drop_rule.hlp b/src/bin/pgaccess/lib/help/drop_rule.hlp
deleted file mode 100644
index 1c395f574b4..00000000000
--- a/src/bin/pgaccess/lib/help/drop_rule.hlp
+++ /dev/null
@@ -1,17 +0,0 @@
-.pgaw:Help.f.t insert end "DROP RULE" {bold} " drops a rule from the specified Postgres rule system. Postgres will immediately cease enforcing it and will purge its definition from the system catalogs. 
-
-" {} "Synopsis" {bold} "
-
-DROP RULE name
-
-" {} "Usage" {bold} "
-
-To drop the rewrite rule newrule: 
-
-   DROP RULE newrule
-   
-" {} "Notes" {bold} "
-
-The DROP RULE statement is a Postgres language extension. 
-
-Refer to CREATE RULE for information on how to create rules. "
diff --git a/src/bin/pgaccess/lib/help/drop_sequence.hlp b/src/bin/pgaccess/lib/help/drop_sequence.hlp
deleted file mode 100644
index 7b2a16c14e7..00000000000
--- a/src/bin/pgaccess/lib/help/drop_sequence.hlp
+++ /dev/null
@@ -1,17 +0,0 @@
-.pgaw:Help.f.t insert end "DROP SEQUENCE" {bold} " removes sequence number generators from the data base. With the current implementation of sequences as special tables it works just like the DROP TABLE statement.
-
-" {} "Synopsis" {bold} "
-" {} "
-DROP SEQUENCE seqname \[, ...\]
-
-" {code} "Usage" {bold} "
-
-To remove sequence serial from database: 
-
-DROP SEQUENCE serial
-  
-" {} "Notes" {bold} "
-
-The DROP SEQUENCE statement is a Postgres language extension. 
-
-Refer to the CREATE SEQUENCE statement for information on how to create a sequence. "
diff --git a/src/bin/pgaccess/lib/help/drop_table.hlp b/src/bin/pgaccess/lib/help/drop_table.hlp
deleted file mode 100644
index 1f85e538741..00000000000
--- a/src/bin/pgaccess/lib/help/drop_table.hlp
+++ /dev/null
@@ -1,17 +0,0 @@
-.pgaw:Help.f.t insert end "DROP TABLE" {bold} " removes tables and views from the database. Only its owner may destroy a table or view. A table may be emptied of rows, but not destroyed, by using DELETE. 
-
-If a table being destroyed has secondary indexes on it, they will be removed first. The removal of just a secondary index will not affect the contents of the underlying table. 
-
-" {} "Synopsis" {bold} "
-" {} "
-DROP TABLE table \[, ...\]
-
-" {code} "Usage" {bold} "
-
-To destroy the films and distributors tables: 
-
-DROP TABLE films, distributors
-
-" {} "Notes" {bold} "
-
-Refer to CREATE TABLE and ALTER TABLE for information on how to create or modify tables. "
diff --git a/src/bin/pgaccess/lib/help/drop_trigger.hlp b/src/bin/pgaccess/lib/help/drop_trigger.hlp
deleted file mode 100644
index 8a3d69e6dbd..00000000000
--- a/src/bin/pgaccess/lib/help/drop_trigger.hlp
+++ /dev/null
@@ -1,17 +0,0 @@
-.pgaw:Help.f.t insert end "DROP TRIGGER" {bold} " will remove all references to an existing trigger definition. To execute this command the current user must be the owner of the trigger. 
-
-" {} "Synopsis" {bold} "
-
-DROP TRIGGER name ON table
-
-" {} "Usage" {bold} "
-
-Destroy the if_dist_exists trigger on table films: 
-
-DROP TRIGGER if_dist_exists ON films;
-
-" {} "Notes" {bold} "
-
-DROP TRIGGER is a Postgres language extension. 
-
-Refer to CREATE TRIGGER for information on how to create triggers. "
diff --git a/src/bin/pgaccess/lib/help/drop_type.hlp b/src/bin/pgaccess/lib/help/drop_type.hlp
deleted file mode 100644
index dd02b64aa98..00000000000
--- a/src/bin/pgaccess/lib/help/drop_type.hlp
+++ /dev/null
@@ -1,20 +0,0 @@
-.pgaw:Help.f.t insert end "DROP TYPE" {bold} " will remove a user type from the system catalogs. 
-
-" {} "Synopsis" {bold} "
-
-DROP TYPE typename
-
-" {} "Usage" {bold} "
-
-To remove the box type: 
-
-DROP TYPE box
-
-" {} "Notes" {bold} "
-
-DROP TYPE statement is a Postgres language extension. 
-
-Refer to CREATE TYPE for inforamation on how to create types. 
-
-It is the user's responsibility to remove any operators, functions, aggregates, access methods, subtypes, and classes that use a deleted type. 
-"
diff --git a/src/bin/pgaccess/lib/help/drop_user.hlp b/src/bin/pgaccess/lib/help/drop_user.hlp
deleted file mode 100644
index 578c65f226e..00000000000
--- a/src/bin/pgaccess/lib/help/drop_user.hlp
+++ /dev/null
@@ -1,19 +0,0 @@
-.pgaw:Help.f.t insert end "DROP USER" {bold} " removes the specified user from the database, along with any databases owned by the user. It does not remove tables, views, or triggers owned by the named user in databases \
-not owned by the user. This statement can be used in place of the destroyuser script, regardless of how the user was created. 
-
-" {} "Synopsis" {bold} "
-
-DROP USER username
-
-" {} "Usage" {bold} "
-
-To drop a user account: 
-
-DROP USER Jonathan;
-
-" {} "Notes" {bold} "
-
-DROP USER is a Postgres language extension. 
-
-Refer to CREATE USER and ALTER USER for information on how to create or modify user accounts. 
-"
diff --git a/src/bin/pgaccess/lib/help/drop_view.hlp b/src/bin/pgaccess/lib/help/drop_view.hlp
deleted file mode 100644
index 0ad481167a9..00000000000
--- a/src/bin/pgaccess/lib/help/drop_view.hlp
+++ /dev/null
@@ -1,17 +0,0 @@
-.pgaw:Help.f.t insert end "DROP VIEW" {bold} " drops an existing view from the database. To execute this command you must be the owner of the view. 
-
-" {} "Synopsis" {bold} "
-
-DROP VIEW view
-
-" {} "Usage" {bold} "
-
-This command will remove the view called kinds: 
-
-DROP VIEW kinds;
-
-" {} "Notes" {bold} "
-
-The Postgres DROP TABLE statement also drops views. 
-
-Refer to CREATE VIEW for information on how to create views. "
diff --git a/src/bin/pgaccess/lib/help/explain.hlp b/src/bin/pgaccess/lib/help/explain.hlp
deleted file mode 100644
index fccab573123..00000000000
--- a/src/bin/pgaccess/lib/help/explain.hlp
+++ /dev/null
@@ -1,23 +0,0 @@
-.pgaw:Help.f.t insert end "EXPLAIN" {bold} " This command outputs details about the supplied query. The default output is the computed query cost. The cost value is only meaningful to the optimizer in comparing various query plans. \
-VERBOSE displays the full query plan and cost to your screen, and pretty-prints the plan to the postmaster log file. 
-
-" {} "Synopsis" {bold} "
-" {} "
-EXPLAIN \[ VERBOSE \] query 
-
-" {code} "Usage" {bold} "
-
-To show a query plan for a simple query: 
-" {} "
-postgres=> explain select * from foo;
-NOTICE:  QUERY PLAN:
-
-Seq Scan on foo  (cost=0.00 rows=0 width=4)
-
-EXPLAIN
-
-" {code} "Notes" {bold} "
-
-There is only sparse documentation on the optimizer's use of cost information in Postgres. General information on cost estimation for query optimization can be found in database textbooks.
-Refer to the Programmer's Guide in the chapters on indexes and the genetic query optimizer for more \
-information."
diff --git a/src/bin/pgaccess/lib/help/fetch.hlp b/src/bin/pgaccess/lib/help/fetch.hlp
deleted file mode 100644
index b15be459574..00000000000
--- a/src/bin/pgaccess/lib/help/fetch.hlp
+++ /dev/null
@@ -1,62 +0,0 @@
-.pgaw:Help.f.t insert end "FETCH" {bold} " FETCH allows a user to retrieve rows using a cursor. The number of rows retrieved is specified by #. If the number of rows remaining in the cursor is less than #, then only those available are \
-fetched. Substituting the keyword ALL in place of a number will cause all remaining rows in the cursor to be retrieved. Instances may be fetched in both FORWARD and BACKWARD \
-directions. The default direction is FORWARD. 
-
-       Tip: Negative numbers are now allowed to be specified for the row count. A negative number is equivalent to reversing the sense of the FORWARD and BACKWARD \
-       keywords. For example, FORWARD -1 is the same as BACKWARD 1.
-
-Note that the FORWARD and BACKWARD keywords are Postgres extensions. The SQL92 syntax is also supported, specified in the second form of the command. See below for details on \
-compatibility issues.
-
-Once all rows are fetched, every other fetch access returns no rows.
-
-Updating data in a cursor is not supported by Postgres, because mapping cursor updates back to base tables is not generally possible, as is also the case with VIEW updates. Consequently, \
-users must issue explicit UPDATE commands to replace data.
-
-Cursors may only be used inside of transactions because the data that they store spans multiple user queries.
-
-" {} "Synopsis" {bold} "
-" {} "
-FETCH \[ selector \] \[ count \] 
-    \{ IN | FROM \} cursor
-FETCH \[ RELATIVE \] \[ \{ \[ # | ALL | NEXT | PRIOR \] \} \]
-    FROM \] cursor
-    
-" {code} "Usage" {bold} "
-" {} "
-   --set up and use a cursor:
-   --
-   BEGIN WORK;
-     DECLARE liahona CURSOR
-        FOR SELECT * FROM films;
-
-   --Fetch first 5 rows in the cursor liahona:
-   --
-     FETCH FORWARD 5 IN liahona;
-
-     code |title                  |did| date_prod|kind      |len
-     -----+-----------------------+---+----------+----------+------
-     BL101|The Third Man          |101|1949-12-23|Drama     | 01:44
-     BL102|The African Queen      |101|1951-08-11|Romantic  | 01:43
-     JL201|Une Femme est une Femme|102|1961-03-12|Romantic  | 01:25
-     P_301|Vertigo                |103|1958-11-14|Action    | 02:08
-     P_302|Becket                 |103|1964-02-03|Drama     | 02:28
- 
-
-   --Fetch previous row:
-   --
-     FETCH BACKWARD 1 IN liahona;
-
-     code |title                  |did| date_prod|kind      |len
-     -----+-----------------------+---+----------+----------+------
-     P_301|Vertigo                |103|1958-11-14|Action    | 02:08
-
-   -- close the cursor and commit work:
-   --
-     CLOSE liahona;
-   COMMIT WORK;
-   
-" {code} "Notes" {bold} "
-
-Refer to MOVE statements to change cursor position. Refer to DECLARE statements to declare a cursor. Refer to BEGIN WORK, COMMIT WORK, ROLLBACK WORK statements for \
-further information about transactions."
diff --git a/src/bin/pgaccess/lib/help/form_design.hlp b/src/bin/pgaccess/lib/help/form_design.hlp
deleted file mode 100644
index 0912862a5a4..00000000000
--- a/src/bin/pgaccess/lib/help/form_design.hlp
+++ /dev/null
@@ -1,27 +0,0 @@
-.pgaw:Help.f.t insert end "Form designing" {title} "
-
-For the moment, it has only some basic widgets : labels, entries, buttons , listboxes\
-, checkboxes and radiobuttons. Also there is a pseudo query widget that allows you\
-to have access to a query results. 
-
-How do you generate widgets : 
- -select a widget from the toolbox by clicking the appropriate icon 
- -move to the canvas , point with the mouse at the desired location and click the mouse button to begin 
- -keeping the mouse-button pressed move the mouse in order to draw a rectangle that will hold the widget 
- -release the mouse-button 
-
-  In the rectangle that you have designed it will appear the selected object. Move now to the attribute window to change some of its properties. 
-
-  Renaming, resizing items are possible (for the moment) only by modifying appropriate parameters in attribute window. You must press Enter in the edit field after changing a dimension in order to be accepted.  You can also move items by dragging them or delete them by pressing Del key after selecting them. 
-
-  In attribute window, there are some fields named Command and Variable. The field Command have meaning only for Button or checkboxes widgets and holds the command that will be invoked when the button is pressed. Also, there is a \"autoload\" style script for the form that will be executed when form will bne opened.
-
-  The field Variable have meaning only for Buttons, EditField , Label widgets , checkboxes and radiobuttons and it is the name of the global variable that will hold the value for that widget. For checkboxes the values are t and f (from true and false) in order to simplify binding to logical data fields. 
-
-  For radiobuttons, it is usual to assign the same variable to the same radiobuttons within the same group. That variable will contain the value field from the radiobutton that has been pressed. Let's presume that you have entered 3 radiobuttons with values red, green and blue, all of them having the same variable named color. If you will press them, they will assign their names to global variable. 
-
-  In order to make a simple test, put an entry field and set it's variable to v1 and a button who's command is \"set v1 whisky\". Press the button \"Test form\" and click on the button. In that entry should appear whisky. 
-
-  Another test is defining in Script module a script called \"My first script\" having the following commands: 
-" {} "tk_messageBox -title Warning -message \"This is my first message!\" " {code} "
-and then define a button with the command is Scripts::execute \"My first script\". "
diff --git a/src/bin/pgaccess/lib/help/forms.hlp b/src/bin/pgaccess/lib/help/forms.hlp
deleted file mode 100644
index 65f8058d421..00000000000
--- a/src/bin/pgaccess/lib/help/forms.hlp
+++ /dev/null
@@ -1,19 +0,0 @@
-.pgaw:Help.f.t insert end "Forms" {title} "
-
-  Forms" {bold} " tab is used to inspect, create and design\
-database stored forms that can be later executed.
-
-  Forms are actually Tcl/Tk code stored in the opened database in a special table called \"pga_forms\" \
-and they can be executed by selecting it and pressing the \"Open\" button.
-
-  The design module will allow you do define the graphical layout of the form and\
-to bind Tcl/Tk code to different widgets. You will really need to know Tcl/Tk in\
-order to be able to write PgAccess forms.
-
-  Due to internal limits of PostgreSQL that cannot store more than 8Kb per record\
-and taking into account that pga_forms store one form per record it's possible that\
-too complicated forms cannot be stored into the table. Too complicated code in\
-forms could be stored in scripts instead thought scripts also are limited to the\
-8 Kb size.
-
-  See also " {} "form designing" {link form_design}
diff --git a/src/bin/pgaccess/lib/help/functions.hlp b/src/bin/pgaccess/lib/help/functions.hlp
deleted file mode 100644
index 2bb4318f7c7..00000000000
--- a/src/bin/pgaccess/lib/help/functions.hlp
+++ /dev/null
@@ -1,32 +0,0 @@
-.pgaw:Help.f.t insert end "Functions" {title} "
-
-  The Functions tab is used to inspect the user defined functions in the\
-database, to define new functions and to alter the existing ones.
-
-  Press the \"New\" button to define a new function. You should enter the\
-function name, the function parameters (if any) separated by comma. \
-If function returns a value, you should specify the " {} \
-"PostgreSQL data type" {link data_types} " that function will return.
-
-  You must also specify the language that will be used to parse the defined\
-function. You could specify SQL, plpgsql, pgtcl or C. Then you should enter the\
-function body. Press \"Save\" button in order to save it
-
-" {} "Example:" {italic} "
-  We have a table called \"products\" that is indexed on \"id\" (int4) field and\
-contains the float8 field \"price\". We will define a new function \"get_product_price\"\
-that will return the product price for a given id.
-
-  You should enter " {} "get_product_price" {code} " as the function name, " {} \
-"int4" {code} " in parameters entry, " {} "float8" {code} " for returns, " {} \
-"SQL" {code} " for the language. Then go to the function body definition and type:" {} "
-
-SELECT price FROM products where id = \$1" {code} "
-
-  To delete a function, select it from the list box and use the menu command\
-Object/Delete.
-
-  For more information see SQL commands " {} "CREATE FUNCTION" {link create_function} " and " {} \
-"DROP FUNCTION" {link drop_function}
-
-
diff --git a/src/bin/pgaccess/lib/help/geomfunc.hlp b/src/bin/pgaccess/lib/help/geomfunc.hlp
deleted file mode 100644
index c7a4029a66e..00000000000
--- a/src/bin/pgaccess/lib/help/geomfunc.hlp
+++ /dev/null
@@ -1,73 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Geometric functions\n\n" {title} \
-"area(box) " {bold} "
-	Returns: float8 
-	area of box 
-
-" {} "area(circle) " {bold} "
-	Returns: float8 
-	area of circle 
-
-" {} "box(box,box) " {bold} "
-	Returns: box 
-	boxes to intersection box 
-
-" {} "center(box) " {bold} "
-	Returns: point 
-	center of object 
-
-" {} "center(circle) " {bold} "
-	Returns: point 
-	center of object 
-
-" {} "diameter(circle) " {bold} "
-	Returns: float8 
-	diameter of circle 
-
-" {} "height(box) " {bold} "
-	Returns: float8 
-	vertical size of box 
-
-" {} "isclosed(path) " {bold} "
-	Returns: bool 
-	a closed path? 
-
-" {} "isopen(path) " {bold} "
-	Returns: bool 
-	an open path? 
-
-" {} "length(lseg) " {bold} "
-	Returns: float8 
-	length of line segment 
-
-" {} "length(path) " {bold} "
-	Returns: float8 
-	length of path 
-
-" {} "pclose(path) " {bold} "
-	Returns: path 
-	convert path to closed 
-
-" {} "point(lseg,lseg) " {bold} "
-	Returns: point 
-	intersection 
-
-" {} "points(path) " {bold} "
-	Returns: int4 
-	number of points 
-
-" {} "popen(path) " {bold} "
-	Returns: path 
-	convert path to open 
-
-" {} "radius(circle) " {bold} "
-	Returns: float8 
-	radius of circle 
-
-" {} "width(box) " {bold} "
-	Returns: float8 
-	horizontal size 
-
-" {} \
-"PostgreSQL functions\n" {link pgfunctions} \
-"Next - IP V4 functions" {link ipv4func}
diff --git a/src/bin/pgaccess/lib/help/grant.hlp b/src/bin/pgaccess/lib/help/grant.hlp
deleted file mode 100644
index e4034417552..00000000000
--- a/src/bin/pgaccess/lib/help/grant.hlp
+++ /dev/null
@@ -1,52 +0,0 @@
-.pgaw:Help.f.t insert end "GRANT" {bold} " GRANT allows the creator of an object to give specific permissions to all users (PUBLIC) or to a certain user or group. Users other than the creator don't have any access permission unless \
-the creator GRANTs permissions, after the object is created. 
-
-Once a user has a privilege on an object, he is enabled to exercise that privilege. There is no need to GRANT privileges to the creator of an object, the creator automatically holds ALL \
-privileges, and can also drop the object. 
-
-" {} "Synopsis" {bold} "
-" {} "
-      GRANT privilege \[, ...\]
-      ON object \[, ...\]
-      TO \{ PUBLIC | GROUP group | username \}
-
-" {code} "Usage" {bold} "
-" {} "
-        -- grant insert privilege to all users on table films:
-        --
-        GRANT INSERT ON films TO PUBLIC;
-      
-
-        -- grant all privileges to user manuel on view kinds:
-        --
-        GRANT ALL ON kinds TO manuel;
-
-" {code} "Notes" {bold} " 
-
-Use the psql \\z command for further information about permissions on existing objects: 
-" {} "
-          Database    = lusitania
-   +------------------+------------------------------------------------+
-   |  Relation        |            Grant/Revoke Permissions            |
-   +------------------+------------------------------------------------+
-   | mytable          | \{\"=rw\",\"miriam=arwR\",\"group todos=rw\"\} |
-   +------------------+------------------------------------------------+
-   Legend:
-         uname=arwR -- privileges granted to a user
-   group gname=arwR -- privileges granted to a GROUP
-              =arwR -- privileges granted to PUBLIC
-
-                  r -- SELECT
-                  w -- UPDATE/DELETE
-                  a -- INSERT
-                  R -- RULE
-               arwR -- ALL
-" {code} "Tip" {bold} "       
-
-       Tip: Currently, to create a GROUP you have to insert data manually into table pg_group as: 
-
-                     INSERT INTO pg_group VALUES ('todos');
-                     CREATE USER miriam IN GROUP todos;
-                   
-
-       Refer to REVOKE statements to revoke access privileges. "
diff --git a/src/bin/pgaccess/lib/help/history.hlp b/src/bin/pgaccess/lib/help/history.hlp
deleted file mode 100644
index 60ef5515623..00000000000
--- a/src/bin/pgaccess/lib/help/history.hlp
+++ /dev/null
@@ -1,43 +0,0 @@
-.pgaw:Help.f.t insert end \
-"PostgreSQL history\n\n" {title} \
-"The Berkeley Postgres project\n" {bold} \
-"Implementation of the Postgres DBMS began in 1986. The initial concepts for the system were presented in The Design of Postgres and the definition of the initial data model appeared in The Postgres Data Model. The design of the rule system at that time was described in The Design of the Postgres Rules System. The rationale and architecture of the storage manager were detailed in The Postgres Storage System.
-
-Postgres has undergone several major releases since then. The first 'demoware' system became operational in 1987 and was shown at the 1988 ACM-SIGMOD Conference. We released Version 1, described in The Implementation of Postgres, to a few external users in June 1989. In response to a critique of the first rule system (A Commentary on the Postgres Rules System), the rule system was redesigned (On Rules, Procedures, Caching and Views in Database Systems) and Version 2 was released in June 1990 with the new rule system. Version 3 appeared in 1991 and added support for multiple storage managers, an improved query executor, and a rewritten rewrite rule system. For the most part, releases since then have focused on portability and reliability.
-
-Postgres has been used to implement many different research and production applications. These include: a financial data analysis system, a jet engine performance monitoring package, an asteroid tracking database, a medical information database, and several geographic information systems. Postgres has also been used as an educational tool at several universities. Finally, Illustra Information Technologies (since merged into Informix) picked up the code and commercialized it. Postgres became the primary data manager for the Sequoia 2000 scientific computing project in late 1992. Furthermore, the size of the external user community nearly doubled during 1993. It became increasingly obvious that maintenance of the prototype code and support was taking up large amounts of time that should have been devoted to database research. In an effort to reduce this support burden, the project officially ended with Version 4.2.
-
-" {} \
-"Postgres95\n" {bold} \
-"In 1994, Andrew Yu and Jolly Chen added a SQL language interpreter to Postgres, and the code was subsequently released to the Web to find its own way in the world. Postgres95 was a public-domain, open source descendant of this original Berkeley code.
-
-Postgres95 is a derivative of the last official release of Postgres (version 4.2). The code is now completely ANSI C and the code size has been trimmed by 25%. There are a lot of internal changes that improve performance and code maintainability. Postgres95 v1.0.x runs about 30-50% faster on the Wisconsin Benchmark compared to v4.2. Apart from bug fixes, these are the major enhancements: 
-
-The query language Postquel has been replaced with SQL (implemented in the server). We do not yet support subqueries (which can be imitated with user defined SQL functions). Aggregates have been re-implemented. We also added support for ``GROUP BY''. The libpq interface is still available for C programs.
-
-In addition to the monitor program, we provide a new program (psql) which supports GNU readline.
-
-We added a new front-end library, libpgtcl, that supports Tcl-based clients. A sample shell, pgtclsh, provides new Tcl commands to interface tcl programs with the Postgres95 backend.
-
-The large object interface has been overhauled. We kept Inversion large objects as the only mechanism for storing large objects. (This is not to be confused with the Inversion file system which has been removed.)
-
-The instance-level rule system has been removed. Rules are still available as rewrite rules.
-
-A short tutorial introducing regular SQL features as well as those of ours is distributed with the source code.
-
-GNU make (instead of BSD make) is used for the build. Also, Postgres95 can be compiled with an unpatched gcc (data alignment of doubles has been fixed).
-
-
-" {} \
-"PostgreSQL\n" {bold} \
-"By 1996, it became clear that the name \"Postgres95\" would not stand the test of time. A new name, PostgreSQL, was chosen to reflect the relationship between original Postgres and the more recent versions with SQL capability. At the same time, the version numbering was reset to start at 6.0, putting the numbers back into the sequence originally begun by the Postgres Project.
-
-The emphasis on development for the v1.0.x releases of Postgres95 was on stabilizing the backend code. With the v6.x series of PostgreSQL, the emphasis has shifted from identifying and understanding existing problems in the backend to augmenting features and capabilities, although work continues in all areas.
-
-Major enhancements include:
-
-- Important backend features, including subselects, defaults, constraints, and triggers, have been implemented.
-- Additional SQL92-compliant language features have been added, including primary keys, quoted identifiers, literal string type coersion, type casting, and binary and hexadecimal integer input.
-- Built-in types have been improved, including new wide-range date/time types and additional geometric type support.
-- Overall backend code speed has been increased by approximately 20-40%, and backend startup time has decreased 80% since v6.0 was released."
-
diff --git a/src/bin/pgaccess/lib/help/index.hlp b/src/bin/pgaccess/lib/help/index.hlp
deleted file mode 100644
index c2928a49a20..00000000000
--- a/src/bin/pgaccess/lib/help/index.hlp
+++ /dev/null
@@ -1,19 +0,0 @@
-.pgaw:Help.f.t insert end \
-"PgAccess help index" {title} \
-"
-
-Topics available:
-" {} \
-"	Tables\n" {link tables} \
-"	Queries\n" {link queries} \
-"	Views\n" {link views} \
-"	Sequences\n" {link sequences} \
-"	Functions\n" {link functions} \
-"	Reports\n" {link reports} \
-"	Forms\n" {link forms} \
-"	Scripts\n" {link scripts} \
-"	Users\n" {link users} \
-"	Schema\n\n" {link schema} \
-"	PostgreSQL\n" {link postgresql} \
-"	The author of PgAccess\n" {link author}
-
diff --git a/src/bin/pgaccess/lib/help/inheritance.hlp b/src/bin/pgaccess/lib/help/inheritance.hlp
deleted file mode 100644
index b402c30fdf5..00000000000
--- a/src/bin/pgaccess/lib/help/inheritance.hlp
+++ /dev/null
@@ -1,49 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Inheritance" {title} "
-
-Let's create two classes. The capitals class contains state capitals which are also cities. Naturally, the capitals class should inherit from cities. 
-
-" {} "CREATE TABLE cities (
-	name            text,
-	population      float,
-	altitude        int            -- (in ft)
-	);
-
-CREATE TABLE capitals (
-	state           char2
-	) INHERITS (cities);
-" {code} "
-In this case, an instance of capitals inherits all attributes (name, population, and altitude) from its parent, cities. The type of the attribute name is text, a native Postgres type for variable length ASCII strings. The type of the attribute population is float, a native Postgres type for double precision floating point numbers. State capitals have an extra attribute, state, that shows their state. In Postgres, a class can inherit from zero or more other classes, and a query can reference either all instances of a class or all instances of a class plus all of its descendants. 
-
-" {} "Note" {italic} ": The inheritance hierarchy is a actually a directed acyclic graph.
-
-For example, the following query finds all the cities that are situated at an attitude of 500ft or higher: 
-
-" {} "SELECT name, altitude FROM cities WHERE altitude > 500;
-
-+----------+----------+
-|name      | altitude |
-+----------+----------+
-|Las Vegas | 2174     |
-+----------+----------+
-|Mariposa  | 1953     |
-+----------+----------+
-" {code} "
-On the other hand, to find the names of all cities, including state capitals, that are located at an altitude over 500ft, the query is: 
-
-" {} "SELECT c.name, c.altitude	FROM cities* c WHERE c.altitude > 500;
-
-" {code} "which returns:" {} " 
-
-+----------+----------+
-|name      | altitude |
-+----------+----------+
-|Las Vegas | 2174     |
-+----------+----------+
-|Mariposa  | 1953     |
-+----------+----------+
-|Madison   | 845      |
-+----------+----------+
-" {code} "
-Here the \"*\" after cities indicates that the query should be run over cities and all classes below cities in the inheritance hierarchy. Many of the commands that we have already discussed -- select, update and delete -- support this \"*\" notation, as do others, like alter.
-" {}
diff --git a/src/bin/pgaccess/lib/help/insert.hlp b/src/bin/pgaccess/lib/help/insert.hlp
deleted file mode 100644
index 961fe2560b8..00000000000
--- a/src/bin/pgaccess/lib/help/insert.hlp
+++ /dev/null
@@ -1,54 +0,0 @@
-.pgaw:Help.f.t insert end "INSERT" {bold} "  allows one to insert new rows into a table. One can insert a single row at time or several rows as a result of a query. The columns in the target list may be listed in any order. In every \
-column not present in the target list will be inserted the default value, if column has not a declared default value it will be assumed as NULL. If the expression for each column is not of the \
-correct data type, automatic type coercion will be attempted. 
-
-" {} "Synopsis" {bold} "
-" {} "
-   INSERT INTO table \[ ( column \[, ...\] ) \]
-   \{ VALUES ( expression \[, ...\] ) | SELECT query \}
-
-" {code} "Usage" {bold} "
-" {} "
-                --Insert a single row into table films;
-                --(in the second example the column date_prod is omitted 
-                --therefore will be stored in it a default value of NULL):
-                --
-                INSERT INTO films VALUES
-                ('UA502','Bananas',105,'1971-07-13','Comedy',INTERVAL '82 minute');
-                
-                INSERT INTO films (code, title, did, date_prod, kind)
-                VALUES ('T_601', 'Yojimbo', 106, DATE '1961-06-16', 'Drama');
-          
-
-                --Insert a single row into table distributors, note that
-                --only column \"name\" is specified, to the non specified
-                --column \"did\" will be assigned its default value:
-                --
-                INSERT INTO distributors (name) VALUES ('British Lion');
-          
-
-                --Insert several rows into table films from table tmp:
-                --
-                INSERT INTO films
-                SELECT * FROM tmp;
-          
-
-                --Insert into arrays:
-                --Create an empty 3x3 gameboard for noughts-and-crosses
-                --(all of these queries create the same board attribute)
-                --(Refer to the PostgreSQL User's Guide for further
-                --information about arrays).
-                
-                INSERT INTO tictactoe (game, board\[1:3\]\[1:3\])
-                    VALUES (1,'\{\{\"\",\"\",\"\"\},\{\},\{\"\",\"\"\}\}');
-                INSERT INTO tictactoe (game, board\[3\]\[3\])
-                    VALUES (2,'\{\}');
-                INSERT INTO tictactoe (game, board)
-                    VALUES (3,'\{\{,,\},\{,,\},\{,,\}\}');
-
-" {code} "Compatibility" {bold} "
-
-SQL92 
-
-The INSERT statement is fully compatible with SQL92. Possible limitations in features of the query clause are documented for the SELECT statement. 
-"
diff --git a/src/bin/pgaccess/lib/help/ipv4func.hlp b/src/bin/pgaccess/lib/help/ipv4func.hlp
deleted file mode 100644
index a9206589d40..00000000000
--- a/src/bin/pgaccess/lib/help/ipv4func.hlp
+++ /dev/null
@@ -1,28 +0,0 @@
-.pgaw:Help.f.t insert end \
-"IP V4 functions\n\n" {title} \
-"broadcast(cidr)" {bold} " 
-	Returns: text 
-	construct broadcast address as text 
-
-" {} "broadcast(inet) " {bold} "
-	Returns: text 
-	construct broadcast address as text 
-
-" {} "host(inet) " {bold} "
-	Returns: text 
-	extract host address as text 
-
-" {} "masklen(cidr) " {bold} "
-	Returns: int4 
-	calculate netmask length 
-
-" {} "masklen(inet) " {bold} "
-	Returns: int4 
-	calculate netmask length 
-
-" {} "netmask(inet) " {bold} "
-	Returns: text 
-	construct netmask as text 
-
-" {} \
-"PostgreSQL functions\n" {link pgfunctions}
diff --git a/src/bin/pgaccess/lib/help/isolation.hlp b/src/bin/pgaccess/lib/help/isolation.hlp
deleted file mode 100644
index 3e51be43ebb..00000000000
--- a/src/bin/pgaccess/lib/help/isolation.hlp
+++ /dev/null
@@ -1,24 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Isolation levels" {title} "
-
-" {} "Read Committed Isolation Level" {bold} "
-
-Read Committed is the default isolation level in Postgres. When a transaction runs on this isolation level, a query sees only data committed before the query began and never sees either dirty data or concurrent transaction changes committed during query execution. 
-
-If a row returned by a query while executing an UPDATE statement (or DELETE or SELECT FOR UPDATE) is being updated by a concurrent uncommitted transaction then the second transaction that tries to update this row will wait for the other transaction to commit or rollback. In the case of rollback, the waiting transaction can proceed to change the row. In the case of commit (and if the row still exists; i.e. was not deleted by the other transaction), the query will be re-executed for this row to check that new row version satisfies query search condition. If the new row version satisfies the query search condition then row will be updated (or deleted or marked for update). 
-
-Note that the results of execution of SELECT or INSERT (with a query) statements will not be affected by concurrent transactions. 
-
-
-" {} "Serializable Isolation Level" {bold} "
-
-Serializable provides the highest transaction isolation. When a transaction is on the serializable level, a query sees only data committed before the transaction began and never see either dirty data or concurrent transaction changes committed during transaction execution. So, this level emulates serial transaction execution, as if transactions would be executed one after another, serially, rather than concurrently. 
-
-If a row returned by query while executing a UPDATE (or DELETE or SELECT FOR UPDATE) statement is being updated by a concurrent uncommitted transaction then the second transaction that tries to update this row will wait for the other transaction to commit or rollback. In the case of rollback, the waiting transaction can proceed to change the row. In the case of a concurrent transaction commit, a serializable transaction will be rolled back with the message 
-
-" {} "ERROR:  Can't serialize access due to concurrent update" {code} "
-
-because a serializable transaction cannot modify rows changed by other transactions after the serializable transaction began. 
-
-" {} "Note" {italic} ":  Note that results of execution of SELECT or INSERT (with a query) will not be affected by concurrent transactions. 
-"
diff --git a/src/bin/pgaccess/lib/help/keywords.hlp b/src/bin/pgaccess/lib/help/keywords.hlp
deleted file mode 100644
index 873f4487d88..00000000000
--- a/src/bin/pgaccess/lib/help/keywords.hlp
+++ /dev/null
@@ -1,85 +0,0 @@
-.pgaw:Help.f.t insert end \
-"PostgreSQL reserved key words\n\n" {title} \
-"The following are Postgres reserved words which are also SQL92 or SQL3 reserved words: " {} \
-"
-ADD ALL ALTER AND ANY AS ASC
-BEGIN BETWEEN BOTH BY
-CASCADE CAST CHAR CHARACTER CHECK CLOSE 
-COLLATE COLUMN COMMIT CONSTRAINT 
-CREATE CURRENT_DATE CURRENT_TIME 
-CURRENT_TIMESTAMP CURRENT_USER CURSOR
-DECIMAL DECLARE DEFAULT DELETE DESC DISTINCT DROP
-EXECUTE EXISTS EXTRACT
-FETCH FLOAT FOR FROM FULL
-GRANT 
-HAVING
-IN INNER INSERT INTERVAL INTO IS
-JOIN 
-LEADING LEFT LIKE LOCAL
-NAMES NATIONAL NATURAL NCHAR NO NOT NULL NUMERIC
-ON OR OUTER
-PARTIAL PRIMARY PRIVILEGES PROCEDURE PUBLIC
-REFERENCES REVOKE RIGHT ROLLBACK
-SELECT SET SUBSTRING
-TO TRAILING TRIM 
-UNION UNIQUE UPDATE USER USING
-VALUES VARCHAR VARYING VIEW
-WHERE WITH WORK 
-
-" {code} \
-"The following are Postgres reserved words which are neither SQL92 nor SQL3 reserved words. These are allowed to be present as column labels, but not as identifiers: " {} \
-"
-ABORT ANALYZE 
-BINARY 
-CLUSTER CONSTRAINT COPY
-DO 
-EXPLAIN EXTEND
-LISTEN LOAD LOCK 
-MOVE 
-NEW NONE NOTIFY 
-RESET 
-SETOF SHOW
-UNLISTEN UNTIL 
-VACUUM VERBOSE
-
-" {code} \
-"The following are Postgres reserved words which are also SQL92 or SQL3 reserved words, and which are allowed to be present as column labels, but not as identifiers: " {} \
-"
-CASE COALESCE CROSS CURRENT 
-ELSE END
-FALSE FOREIGN 
-GLOBAL GROUP 
-LOCAL
-NULLIF
-ORDER 
-POSITION PRECISION 
-TABLE THEN TRANSACTION TRUE
-WHEN
-
-" {code} \
-"The following are either SQL92 or SQL3 reserved key words which are not key words in Postgres. These have no proscribed usage in Postgres at the time of writing (v6.5) but may become reserved key words in the future: " {} \
-"
-
-Note:  Some of these key words represent functions in SQL92. These functions are defined in Postgres, but the parser does not consider the names to be key words and they are allowed in other contexts. 
-
-ALLOCATE ARE ASSERTION AT AUTHORIZATION AVG 
-BIT BIT_LENGTH
-CASCADED CATALOG COLLATION CONNECT CONNECTION
-CONSTRAINTS CONTINUE CONVERT CORRESPONDING COUNT
-DATE DEALLOCATE DEC DESCRIBE DESCRIPTOR DIAGNOSTICS DISCONNECT DOMAIN 
-END-EXEC ESCAPE EXCEPT EXCEPTION EXEC EXTERNAL 
-FIRST FOUND
-GET GO GOTO 
-IDENTITY IMMEDIATE INDICATOR INITIALLY INPUT INTERSECT ISOLATION 
-LAST LEVEL LOWER 
-MAX MIN MODULE 
-OCTET_LENGTH OPEN OUTPUT OVERLAPS 
-PREPARE PRESERVE 
-RESTRICT ROWS
-SCHEMA SECTION SESSION SESSION_USER SIZE SOME 
-SQL SQLCODE SQLERROR SQLSTATE SUM SYSTEM_USER
-TEMPORARY TRANSLATE TRANSLATION 
-UNKNOWN UPPER USAGE
-VALUE 
-WHENEVER WRITE
-" {code}
diff --git a/src/bin/pgaccess/lib/help/listen.hlp b/src/bin/pgaccess/lib/help/listen.hlp
deleted file mode 100644
index 977127377d6..00000000000
--- a/src/bin/pgaccess/lib/help/listen.hlp
+++ /dev/null
@@ -1,34 +0,0 @@
-.pgaw:Help.f.t insert end "LISTEN" {bold} " registers the current Postgres backend as a listener on the notify condition notifyname.  \
-
-Whenever the command NOTIFY notifyname is invoked, either by this backend or another one connected to the same database, all the backends currently listening on that notify condition are \
-notified, and each will in turn notify its connected frontend application. See the discussion of NOTIFY for more information.  \
-
-A backend can be deregistered for a given notify condition with the UNLISTEN command. Also, a backend's listen registrations are automatically cleared when the backend process exits.  \
-
-The method a frontend application must use to detect notify events depends on which Postgres application programming interface it uses. With the basic libpq library, the application issues \
-LISTEN as an ordinary SQL command, and then must periodically call the routine PQnotifies to find out whether any notify events have been received. Other interfaces such as libpgtcl provide \
-higher-level methods for handling notify events; indeed, with libpgtcl the application programmer should not even issue LISTEN or UNLISTEN directly. See the documentation for the library \
-you are using for more details. 
-
-The reference page for NOTIFY contains a more extensive discussion of the use of LISTEN and NOTIFY. 
-
-" {} "Synopsis" {bold} "
-
-LISTEN notifyname
-
-" {} "Usage" {bold} "
-" {} "
-                -- Configure and execute a listen/notify sequence from psql
-                postgres=> listen virtual;
-                LISTEN
-                postgres=> notify virtual;
-                NOTIFY
-                ASYNC NOTIFY of 'virtual' from backend pid '11239' received
-                
-" {code} "Notes" {bold} "
-
-notifyname can be any string valid as a name; it need not correspond to the name of any actual table. If notifyname is enclosed in double-quotes, it need not even be a syntactically valid name, \
-but can be any string up to 31 characters long. 
-
-In some previous releases of Postgres, notifyname had to be enclosed in double-quotes when it did not correspond to any existing table name, even if syntactically valid as a name. That is no \
-longer required. "
diff --git a/src/bin/pgaccess/lib/help/load.hlp b/src/bin/pgaccess/lib/help/load.hlp
deleted file mode 100644
index dd6c1b87fb6..00000000000
--- a/src/bin/pgaccess/lib/help/load.hlp
+++ /dev/null
@@ -1,27 +0,0 @@
-.pgaw:Help.f.t insert end "LOAD" {bold} " Loads an object (or \".o\") file into the Postgres backend address space. Once a file is loaded, all functions in that file can be accessed. This function is used in support of user-defined types and \
-functions. 
-
-If a file is not loaded using LOAD, the file will be loaded automatically the first time the function is called by Postgres. LOAD can also be used to reload an object file if it has been edited and \
-recompiled. Only objects created from C language files are supported at this time. 
-
-
-" {} "Synopsis" {bold} "
-                  
-          LOAD 'filename'
-          
-" {} "Usage" {bold} "
-
-                --Load the file /usr/postgres/demo/circle.o
-                --
-                LOAD '/usr/postgres/demo/circle.o'
-                
-" {} "Notes" {bold} "
-
-Functions in loaded object files should not call functions in other object files loaded through the LOAD command. For example, all functions in file A should call each other, functions in the \
-standard or math libraries, or in Postgres itself. They should not call functions defined in a different loaded file B. This is because if B is reloaded, the Postgres loader is not able to relocate the \
-calls from the functions in A into the new address space of B. If B is not reloaded, however, there will not be a problem. 
-
-Object files must be compiled to contain position independent code. For example, on DECstations you must use /bin/cc with the -G 0 option when compiling object files to be loaded.  \
-
-Note that if you are porting Postgres to a new platform, LOAD will have to work in order to support ADTs. 
-"
diff --git a/src/bin/pgaccess/lib/help/lock.hlp b/src/bin/pgaccess/lib/help/lock.hlp
deleted file mode 100644
index b2cba422ac7..00000000000
--- a/src/bin/pgaccess/lib/help/lock.hlp
+++ /dev/null
@@ -1,49 +0,0 @@
-.pgaw:Help.f.t insert end "LOCK" {bold} " Postgres always uses the least restrictive lock mode whenever possible. LOCK TABLE provided for cases when you might need more restrictive locking. 
-
-For example, an application runs a transaction at READ COMMITTED isolation level and needs to ensure the existance of data in a table for the duration of the transaction. To achieve this you \
-could use SHARE lock mode over the table before querying. This will protect data from concurrent changes and provide any further read operations over the table with data in their actual current \
-state, because SHARE lock mode conflicts with any ROW EXCLUSIVE one acquired by writers, and your LOCK TABLE table IN SHARE MODE statement will wait until any concurrent \
-write operations commit or rollback. 
-
-" {} "Synopsis" {bold} "
-" {} "
-LOCK \[ TABLE \] table
-LOCK \[ TABLE \] table IN \[ ROW | ACCESS \] \{ SHARE | EXCLUSIVE \} MODE
-LOCK \[ TABLE \] table IN SHARE ROW EXCLUSIVE MODE
-
-" {code} "Usage" {bold} "
-
-    --
-    -- SHARE lock primary key table when going to perform
-    -- insert into foreign key table.
-    --
-" {} "    BEGIN WORK;
-    LOCK TABLE films IN SHARE MODE;
-    SELECT id FROM films 
-      WHERE name = 'Star Wars: Episode I - The Phantom Menace';
-    --
-    -- Do ROLLBACK if record was not returned
-    --
-    INSERT INTO films_user_comments VALUES 
-      (_id_, 'GREAT! I was waiting for it for so long!');
-    COMMIT WORK;
-  
-
-    --
-    -- SHARE ROW EXCLUSIVE lock primary key table when going to perform
-    -- delete operation.
-    --
-    BEGIN WORK;
-    LOCK TABLE films IN SHARE ROW EXCLUSIVE MODE;
-    DELETE FROM films_user_comments WHERE id IN
-      (SELECT id FROM films WHERE rating < 5);
-    DELETE FROM films WHERE rating < 5;
-    COMMIT WORK;
-
-" {code} "Notes" {bold} "
-
-LOCK is a Postgres language extension. 
-
-Except for ACCESS SHARE/EXCLUSIVE lock modes, all other Postgres lock modes and the LOCK TABLE syntax are compatible with those present in Oracle. 
-
-LOCK works only inside transactions. "
diff --git a/src/bin/pgaccess/lib/help/mathfunc.hlp b/src/bin/pgaccess/lib/help/mathfunc.hlp
deleted file mode 100644
index f7e9d5d94d8..00000000000
--- a/src/bin/pgaccess/lib/help/mathfunc.hlp
+++ /dev/null
@@ -1,34 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Mathematical functions\n\n" {title} \
-"dexp(float8)" {bold} \
-"
-	Returns: float8 
-	raise e to the specified exponent 
-
-" {} \
-"dpow(float8,float8)" {bold} \
-"
-	Returns: float8 
-	raise a number to the specified exponent 
-
-" {} \
-"float(int)" {bold} \
-"
-	Returns: float8 
-	convert integer to floating point 
-
-" {} \
-"float4(int)" {bold} \
-"
-	Returns: float4
-	convert integer to floating point 
-
-" {} \
-"integer(float)" {bold} \
-"
-	Returns: int 
-	convert floating point to integer 
-
-" {} \
-"PostgreSQL functions\n" {link pgfunctions} \
-"Next - string functions" {link stringfunc}
diff --git a/src/bin/pgaccess/lib/help/move.hlp b/src/bin/pgaccess/lib/help/move.hlp
deleted file mode 100644
index ab28eff177f..00000000000
--- a/src/bin/pgaccess/lib/help/move.hlp
+++ /dev/null
@@ -1,43 +0,0 @@
-.pgaw:Help.f.t insert end "MOVE" {bold} "allows a user to move cursor position a specified number of rows. MOVE works like the FETCH command, but only positions the cursor and does not return rows. 
-
-Refer to the FETCH command for details on syntax and usage. 
-
-" {} "Synopsis" {bold} "
-" {} "
-MOVE \[ selector \] \[ count \] 
-    \{ IN | FROM \} cursor
-FETCH \[ RELATIVE \] \[ \{ \[ # | ALL | NEXT | PRIOR \] \} \] FROM \] cursor
-
-
-" {code} "Usage" {bold} "
-
-                --set up and use a cursor:
-                --
-" {} "          BEGIN WORK;
-                DECLARE liahona CURSOR  FOR SELECT * FROM films;
-                
-                --Skip first 5 rows:
-                --
-                MOVE FORWARD 5 IN liahona;
-                                  MOVE
-                
-                --Fetch 6th row in the cursor liahona:
-                --
-                FETCH 1 IN liahona;
-                                  FETCH
-                  code |title |did| date_prod|kind      |len
-                  -----+------+---+----------+----------+------
-                  P_303|48 Hrs|103|1982-10-22|Action    | 01:37
-                  (1 row)
-                
-                -- close the cursor liahona and commit work:
-                --
-                CLOSE liahona;
-                COMMIT WORK;
-
-" {code} "Notes" {bold} "
-
-MOVE is a Postgres language extension. 
-
-Refer to FETCH for a description of valid arguments. Refer to DECLARE to declare a cursor. Refer to BEGIN WORK, COMMIT WORK, ROLLBACK WORK statements for further \
-information about transactions. "
diff --git a/src/bin/pgaccess/lib/help/mvcc.hlp b/src/bin/pgaccess/lib/help/mvcc.hlp
deleted file mode 100644
index 89d25bc56ff..00000000000
--- a/src/bin/pgaccess/lib/help/mvcc.hlp
+++ /dev/null
@@ -1,13 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Multi-Version Concurrency Control" {title} "
-
-Multi-Version Concurrency Control (MVCC) is an advanced technique for\
-improving database performance in a multi-user environment. " {} "Vadim Mikheev" {bold} " provided the implementation for Postgres. 
-
-" {} "Introduction" {bold} "
-
-Unlike most other database systems which use locks for concurrency control, Postgres maintains data consistency by using a multiversion model. This means that while querying a database each transaction sees a snapshot of data (a database version) as it was some time ago, regardless of the current state of the underlying data. This protects the transaction from viewing inconsistent data that could be caused by (other) concurrent transaction updates on the same data rows, providing transaction isolation for each database session. 
-
-The main difference between multiversion and lock models is that in MVCC locks acquired for querying (reading) data don't conflict with locks acquired for writing data and so reading never blocks writing and writing never blocks reading. 
-
-" {} "Isolation levels" {link isolation}
diff --git a/src/bin/pgaccess/lib/help/new_query.hlp b/src/bin/pgaccess/lib/help/new_query.hlp
deleted file mode 100644
index d3cd2539dce..00000000000
--- a/src/bin/pgaccess/lib/help/new_query.hlp
+++ /dev/null
@@ -1,22 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Creating a new query" {bold} "
-
-Select the \"Queries\" tab from the main window and press\
-the \"New\" button.
-
-You will need to enter the query name and the SQL command for the query. If\
-you desire, you could use the " {} "visual query designer" {link visual_designer} "
-
-You can design dynamic queries that can include a parameter that will be\
-provided later at query execution time by using the \[parameter \"message\"\] function\
-as in the following examples :" {} "
-
-select * from people where age <= \[parameter \"Maximum age?\"\]
-select * from invoices where received_date = '\[parameter \"Invoice date?\"\]' " {code} "
-
-Before query execution a popup dialog will be displayed in order to get that\
-parameter and to substitute it in the query command.
-
-Checking the \"save this query as a view\" checkbox will create a new view from\
-the current query.
-"
diff --git a/src/bin/pgaccess/lib/help/new_table.hlp b/src/bin/pgaccess/lib/help/new_table.hlp
deleted file mode 100644
index a43bb17649b..00000000000
--- a/src/bin/pgaccess/lib/help/new_table.hlp
+++ /dev/null
@@ -1,31 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Creating a new table" {bold} "
-
-  Select the \"Tables\" tab from the main window and then press then \"New\" button.\
-A form will be displayed allowing you to define a new table.
-  
-  You should enter the table name and then to define the fields.\
-At this point you can define also a primary key for that table by checking the \"primary key\" checkbox for the fields that will be included in the primary key. Fields selected for the primary key will be displayed with a * in the K column.\
-The \"size\" entry is used in order to specify the dimension for those field types\
-that have variable dimensions (varchar, char). Otherwise, it will be disabled.\
-The \"default value\" entry can be used in order to specify the field's default\
-value that will be assigned if a value is not specified in the insert command.
-
-  The \"check\" entry can be used in order to specify a boolean expression using\
-tables fields or defined functions that will\
-be checked on every insert or update command. The \"constraint\" entry is optional\
-and it's just for naming purposes.
-" {} "Example:" {italic} "
-	(price > 0) and (quantity > 0) and valid_product(product_id)
-" {code} "
-  In the above example, price and quantity are fields from the new table and\
-valid_product(product_id) is a SQL function that will return the boolean value true\
-if the product_id was found in another table \"products\".
-
-  In the \"Inherits\" field you can select one or more tables. They will be separated\
-with commas. The new table will inherit all the fields from the parent tables.\
-Read more " {} "about inheritance here." {link inheritance} "
-
-  Select a field from the listbox and use the \"Move up\" and \"Move down\" buttons in order to rearrange the field order. At the end, press the \"Create\" button to define the table.
-
-  Read also about " {} "CREATE TABLE" {link create_table} " SQL command."
diff --git a/src/bin/pgaccess/lib/help/notify.hlp b/src/bin/pgaccess/lib/help/notify.hlp
deleted file mode 100644
index 9185f23ef6b..00000000000
--- a/src/bin/pgaccess/lib/help/notify.hlp
+++ /dev/null
@@ -1,57 +0,0 @@
-.pgaw:Help.f.t insert end "NOTIFY" {bold} " The NOTIFY command sends a notify event to each frontend application that has previously executed LISTEN notifyname for the specified notify condition in the current database. 
-
-The information passed to the frontend for a notify event includes the notify condition name and the notifying backend process's PID. It is up to the database designer to define the condition \
-names that will be used in a given database and what each one means. 
-
-Commonly, the notify condition name is the same as the name of some table in the database, and the notify event essentially means
-\"I changed this table, take a look at it to see what's new\". \
-But no such association is enforced by the NOTIFY and LISTEN commands. For example, a database designer could use several different condition names to signal different sorts of changes \
-to a single table. 
-
-NOTIFY provides a simple form of signal or IPC (interprocess communication) mechanism for a collection of processes accessing the same Postgres database. Higher-level mechanisms can \
-be built by using tables in the database to pass additional data (beyond a mere condition name) from notifier to listener(s). 
-
-When NOTIFY is used to signal the occurrence of changes to a particular table, a useful programming technique is to put the NOTIFY in a rule that is triggered by table updates. In this way, \
-notification happens automatically when the table is changed, and the application programmer can't accidentally forget to do it. 
-
-NOTIFY interacts with SQL transactions in some important ways. Firstly, if a NOTIFY is executed inside a transaction, the notify events are not delivered until and unless the transaction is \
-committed. This is appropriate, since if the transaction is aborted we would like all the commands within it to have had no effect --- including NOTIFY. But it can be disconcerting if one is \
-expecting the notify events to be delivered immediately. Secondly, if a listening backend receives a notify signal while it is within a transaction, the notify event will not be delivered to its \
-connected frontend until just after the transaction is completed (either committed or aborted). Again, the reasoning is that if a notify were delivered within a transaction that was later aborted, \
-one would want the notification to be undone somehow --- but the backend cannot \"take \
-back\" a notify once it has sent it to the frontend. So notify events are only delivered between \
-transactions. The upshot of this is that applications using NOTIFY for real-time signaling should try to keep their transactions short. 
-
-NOTIFY behaves like Unix signals in one important respect: if the same condition name is signaled multiple times in quick succession, recipients may get only one notify event for several \
-executions of NOTIFY. So it is a bad idea to depend on the number of notifies received. Instead, use NOTIFY to wake up applications that need to pay attention to something, and use a \
-database object (such as a sequence) to keep track of what happened or how many times it happened. 
-
-It is common for a frontend that sends NOTIFY to be listening on the same notify name itself. In that case it will get back a notify event, just like all the other listening frontends. Depending on \
-the application logic, this could result in useless work --- for example, re-reading a database table to find the same updates that that frontend just wrote out. In Postgres 6.4 and later, it is \
-possible to avoid such extra work by noticing whether the notifying backend process's PID (supplied in the notify event message) is the same as one's own backend's PID (available from \
-libpq). When they are the same, the notify event is one's own work bouncing back, and can be ignored. (Despite what was said in the preceding paragraph, this is a safe technique. Postgres \
-keeps self-notifies separate from notifies arriving from other backends, so you cannot miss an outside notify by ignoring your own notifies.) 
-
-" {} "Synopsis" {bold} "
-
-NOTIFY notifyname 
-
-" {} "Usage" {bold} "
-
-                -- Configure and execute a listen/notify sequence from psql
-" {} "          postgres=> listen virtual;
-                LISTEN
-                postgres=> notify virtual;
-                NOTIFY
-                ASYNC NOTIFY of 'virtual' from backend pid '11239' received
-                
-" {code} "Notes" {bold} "
-
-notifyname can be any string valid as a name; it need not correspond to the name of any actual table. If notifyname is enclosed in double-quotes, it need not even be a syntactically valid name, \
-but can be any string up to 31 characters long. 
-
-In some previous releases of Postgres, notifyname had to be enclosed in double-quotes when it did not correspond to any existing table name, even if syntactically valid as a name. That is no \
-longer required. 
-
-In Postgres releases prior to 6.4, the backend PID delivered in a notify message was always the PID of the frontend's own backend. So it was not possible to distinguish one's own notifies from \
-other clients' notifies in those earlier releases. "
diff --git a/src/bin/pgaccess/lib/help/open_query.hlp b/src/bin/pgaccess/lib/help/open_query.hlp
deleted file mode 100644
index e48b8e32d5a..00000000000
--- a/src/bin/pgaccess/lib/help/open_query.hlp
+++ /dev/null
@@ -1,17 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Open a query for vieweing" {bold} "
-
-Select the \"Queries\" tab from the main window and select a query from the list. Press on \
-the \"Open\" button.
-
-If the query will return some records (i.e. is not an action query) a query \
-viewer will be displayed and the selected rows from the result will be displayed.
-
-You will not be able to specify a sort field or a filter as you can do it in \
-table viewer. If you want to specify sort fields, go and edit the query command \
-and add there the desired sort order or filter conditions.
-Also, you will not be able to change or to add new records.
-
-If the selected query is an \"action query\" (INSERT INTO, DELETE FROM, UPDATE) \
-a confirmation for the query execution will be requested.
-"
diff --git a/src/bin/pgaccess/lib/help/open_table.hlp b/src/bin/pgaccess/lib/help/open_table.hlp
deleted file mode 100644
index 020d861becf..00000000000
--- a/src/bin/pgaccess/lib/help/open_table.hlp
+++ /dev/null
@@ -1,19 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Opening tables for viewing and editing" {bold} "
-
-  Select the \"Tables\" tab from the main window ,select a table from the listbox and click with the mouse on the \"Open\" button. A new table viewer window will be opened showing you the records from that table
-
-" {} "Note:" {italic} " Due to the fact that the records being displayed are kept in memory, only the first 200 records from that table will be displayed. The maximum number of records being displayed can be changed in the Database/Preference dialog.
-
-You can sort and filter the records being displayed. Go to the \"Sort field\" entry and type the name of the field. Add the desc (descending) keyword if you want records to be sorted in reverse order. If you want to sort the records based on multiple fields just separate them with commas
-
-" {} "Example:" {italic} "
-	Sort field: price
-	Sort field: price desc, customer asc
-" {code} "
-If you want to select for display just some records frm that table go to the \"Filter conditions\" entry and specify a filter criteria.
-
-" {} "Example:" {italic} "
-	Filter conditions: (price > 150) and (not sold)
-	" {code} "
-After specifying a sort field or a filter conditions, pres Enter or the \"Reload\" button."
diff --git a/src/bin/pgaccess/lib/help/pgfunctions.hlp b/src/bin/pgaccess/lib/help/pgfunctions.hlp
deleted file mode 100644
index 5e71ce76712..00000000000
--- a/src/bin/pgaccess/lib/help/pgfunctions.hlp
+++ /dev/null
@@ -1,13 +0,0 @@
-.pgaw:Help.f.t insert end \
-"PostgreSQL functions" {title} \
-"
-
-Many data types have functions available for conversion to other related types. In addition, there are some type-specific functions. Some functions are also available through operators and may be documented as operators only. 
-
-" {} \
-"\tSQL functions\n" {link sqlfunc} \
-"\tMathematical functions\n" {link mathfunc} \
-"\tString functions\n" {link stringfunc} \
-"\tDate/Time functions\n" {link datefunc} \
-"\tGeometric functions\n" {link geomfunc} \
-"\tIP V4 functions" {link ipv4func}
diff --git a/src/bin/pgaccess/lib/help/postgresql.hlp b/src/bin/pgaccess/lib/help/postgresql.hlp
deleted file mode 100644
index fe3d8c4bd9c..00000000000
--- a/src/bin/pgaccess/lib/help/postgresql.hlp
+++ /dev/null
@@ -1,13 +0,0 @@
-.pgaw:Help.f.t insert end \
-"PostgreSQL" {title} \
-"\n\n" {} \
-"What is PostgreSQL?\n" {bold} \
-"  PostgreSQL is a object-relational database management system, originally developed at the University of California at Berkeley. PostgreSQL is based on  Postgres release 4.2. The Postgres project, led by Professor Michael Stonebraker, was sponsored by the Defense Advanced Research Projects Agency (DARPA), the Army Research Office (ARO), the National Science Foundation (NSF), and ESL, Inc.\n\n" {} \
-"	History of PostgreSQL\n" {link history} \
-"	Copyrights\n" {link copyrights} \
-"	Y2K statement\n" {link y2k} \
-"	PostgreSQL reserved key words\n" {link keywords} \
-"	Data types" {link data_types} " , " {} "Functions\n" {link pgfunctions} \
-"	Quick guide of PostgreSQL commands\n" {link sql_guide} \
-"	Inheritance\n" {link inheritance} \
-"	Multi-Version Concurency Control\n" {link mvcc}
diff --git a/src/bin/pgaccess/lib/help/queries.hlp b/src/bin/pgaccess/lib/help/queries.hlp
deleted file mode 100644
index a1f6023a6a4..00000000000
--- a/src/bin/pgaccess/lib/help/queries.hlp
+++ /dev/null
@@ -1,8 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Queries" {title} \
-"\n\n" {} \
-"  The following topics are available:\n" {} \
-"	creating a new query\n" {link new_query} \
-"	opening a query for viewing\n" {link open_query} \
-"	visual query designer\n" {link visual_designer}
-
diff --git a/src/bin/pgaccess/lib/help/reports.hlp b/src/bin/pgaccess/lib/help/reports.hlp
deleted file mode 100644
index c8ea4db9e5a..00000000000
--- a/src/bin/pgaccess/lib/help/reports.hlp
+++ /dev/null
@@ -1,37 +0,0 @@
-.pgaw:Help.f.t insert end "The Reports module is still in alpha stage.
-
-DONE:
-# Allows for reports based on tables or views. 
-# Formulas are just Tcl evals, where column names are available as variables.
-  Try: concat \$colname1 \$colname2
-# Pictures must be gif or bmp files (and not stored in the database). 
-# Page header is the first record on a page, page footer is the last.
-# Detail section is all the records that can fit on a page, row by row.
-# Multiple pages.
-# Printing puts the report into a Postscript file.\
-  The pages printed are the ones in and between the boxes on preview mode.
-  You can also pipe the output by entering it in the dialog when prompted.\
-  Try: |lpr
-# Page resizing can be done by typing in the Page size boxes.
-# Report resizing can be done by typing in the Report size boxes and hitting\
-enter or dragging the window and clicking in it with the mouse.
-
-DOING:
-# Allow for reports based on queries.
-# Report headers and footers.
-# Grouping, sorting, subtotals.
-# Drawing simple shapes like lines or circles.
-# Font choice needs expanding.
-# Putting stuff into columns when the page is wider than the report.
-
-Also, there are a couple Postscript items to be addressed:
-# Since the Tk canvas widget outputs Encapsulated Postscript,\
-each page printed is a separate piece of Encapsulated Postscript.\
-Putting all those pieces together into one Postscript file was\
-a bit of a kluge, so right now you get every other page blank.  Doh.
-# Each time a picture is displayed, the Postscript grows by about 10 times\
-the size of the picture.  It seems in general Postscript gets enormous\
-fast, at least with the Tk canvas widget's method of outputting it.
-
-Please send patches, proposals, problems, pickles, etc., to Chris Maj <cmaj@freedomcorpse.info> or visit pgaccess.org
-"
diff --git a/src/bin/pgaccess/lib/help/reset.hlp b/src/bin/pgaccess/lib/help/reset.hlp
deleted file mode 100644
index 481ee092693..00000000000
--- a/src/bin/pgaccess/lib/help/reset.hlp
+++ /dev/null
@@ -1,21 +0,0 @@
-.pgaw:Help.f.t insert end "RESET" {bold} " restores variables to the default values. Refer to the SET command for details on allowed values and defaults. RESET is an alternate form for SET variable = DEFAULT
-
-" {} "Synopsis" {bold} "
-
-RESET variable
-
-" {} "Usage" {bold} "
-
--- reset DateStyle to its default;
-" {} "
-RESET DateStyle;
-
-" {code} "
--- reset Geqo to its default;
-" {} "RESET GEQO;
-
-" {code} "Notes" {bold} "
-
-The RESET statement is a Postgres language extension. 
-
-Refer to SET/SHOW statements to set/show variable values. "
diff --git a/src/bin/pgaccess/lib/help/revoke.hlp b/src/bin/pgaccess/lib/help/revoke.hlp
deleted file mode 100644
index a2186f1b908..00000000000
--- a/src/bin/pgaccess/lib/help/revoke.hlp
+++ /dev/null
@@ -1,49 +0,0 @@
-.pgaw:Help.f.t insert end "REVOKE" {bold} " allows creator of an object to revoke permissions granted before, from all users (via PUBLIC) or a certain user or group.
-
-" {} "Synopsis" {bold} "
-" {} "
-REVOKE privilege \[, ...\]
-    ON object \[, ...\]
-    FROM \{ PUBLIC | GROUP ER\">gBLE> | username \}
-    
-" {code} "Usage" {bold} "
-
--- revoke insert privilege from all users on table films:
---
-" {} "REVOKE INSERT ON films FROM PUBLIC;
-  
-
-" {code} "  
--- revoke all privileges from user manuel on view kinds:
---
-" {} "REVOKE ALL ON kinds FROM manuel;
-
-" {code} "Notes" {bold} "
-
-Refer to psql \\z command for further information about permissions on existing objects: 
-" {} "
-Database    = lusitania
-+------------------+-------------------------------------------------+
-|  Relation        |            Grant/Revoke Permissions             |
-+------------------+-------------------------------------------------+
-| mytable          | \{\"=rw\",\"miriam=arwR\",\"group todos=rw\"\}  |
-+------------------+-------------------------------------------------+
-Legend:
-     uname=arwR -- privileges granted to a user
-     group gname=arwR -- privileges granted to a GROUP
-     =arwR -- privileges granted to PUBLIC
-                  
-     r -- SELECT
-     w -- UPDATE/DELETE
-     a -- INSERT
-     R -- RULE
-     arwR -- ALL
-    
-
-       Tip: Currently, to create a GROUP you have to insert data manually into table pg_group as: 
-
-                 
-       INSERT INTO pg_group VALUES ('todos');
-       CREATE USER miriam IN GROUP todos;
-       
-" {code} 
diff --git a/src/bin/pgaccess/lib/help/rollback.hlp b/src/bin/pgaccess/lib/help/rollback.hlp
deleted file mode 100644
index 04ed8f76a62..00000000000
--- a/src/bin/pgaccess/lib/help/rollback.hlp
+++ /dev/null
@@ -1,17 +0,0 @@
-.pgaw:Help.f.t insert end "ROLLBACK" {bold} " rolls back the current transaction and causes all the updates made by the transaction to be discarded. 
-
-" {} "Synopsis" {bold} "
-" {} "
-ROLLBACK \[ WORK | TRANSACTION \]
-
-" {code} "Usage" {bold} "
-" {} "
-    --To abort all changes:
-    --
-    ROLLBACK WORK;
-    
-" {code} "Notes" {bold} "
-
-The keywords WORK and TRANSACTION are noise and can be omitted. 
-
-Use " {} "COMMIT" {link commit} " to successfully terminate a transaction. "
diff --git a/src/bin/pgaccess/lib/help/schema.hlp b/src/bin/pgaccess/lib/help/schema.hlp
deleted file mode 100644
index 347d37ccf08..00000000000
--- a/src/bin/pgaccess/lib/help/schema.hlp
+++ /dev/null
@@ -1,2 +0,0 @@
-.pgaw:Help.f.t insert end "
-To be written"
diff --git a/src/bin/pgaccess/lib/help/scripts.hlp b/src/bin/pgaccess/lib/help/scripts.hlp
deleted file mode 100644
index 347d37ccf08..00000000000
--- a/src/bin/pgaccess/lib/help/scripts.hlp
+++ /dev/null
@@ -1,2 +0,0 @@
-.pgaw:Help.f.t insert end "
-To be written"
diff --git a/src/bin/pgaccess/lib/help/select.hlp b/src/bin/pgaccess/lib/help/select.hlp
deleted file mode 100644
index 0c0b4c654e9..00000000000
--- a/src/bin/pgaccess/lib/help/select.hlp
+++ /dev/null
@@ -1,136 +0,0 @@
-.pgaw:Help.f.t insert end "SELECT" {bold} " will return rows from one or more tables. Candidates for selection are rows which satisfy the WHERE condition; if WHERE is omitted, all rows are candidates.
-
-" {} "Synopsis" {bold} "
-" {} "
-SELECT \[ALL|DISTINCT \[ON column\] \]
-    expression \[ AS
-   name \] \[, ...\]
-    \[ INTO \[TEMP\] \[TABLE\] new_table \]
-    \[ FROM table
-   \[alias \] \[, ...\] \]
-    \[ WHERE condition \]
-    \[ GROUP BY column \[, ...\] \]
-    \[ HAVING condition \[, ...\] \]
-    \[ { UNION \[ALL\] | INTERSECT | EXCEPT } select \]
-    \[ ORDER BY column \[ ASC | DESC \] \[, ...\] \]
-    \[ FOR UPDATE \[OF class_name...\]\]
-    \[ LIMIT count \[OFFSET|, count\]\]
-    
-" {code} "Usage" {bold} "
-
-To join the table films with the table distributors: 
-" {} "
-SELECT f.title, f.did, d.name, f.date_prod, f.kind
-    FROM distributors d, films f
-    WHERE f.did = d.did
-
-title                    |did|name            | date_prod|kind
--------------------------+---+----------------+----------+----------
-The Third Man            |101|British Lion    |1949-12-23|Drama
-The African Queen        |101|British Lion    |1951-08-11|Romantic
-Une Femme est une Femme  |102|Jean Luc Godard |1961-03-12|Romantic
-Vertigo                  |103|Paramount       |1958-11-14|Action
-Becket                   |103|Paramount       |1964-02-03|Drama
-48 Hrs                   |103|Paramount       |1982-10-22|Action
-War and Peace            |104|Mosfilm         |1967-02-12|Drama
-West Side Story          |105|United Artists  |1961-01-03|Musical
-Bananas                  |105|United Artists  |1971-07-13|Comedy
-Yojimbo                  |106|Toho            |1961-06-16|Drama
-There's a Girl in my Soup|107|Columbia        |1970-06-11|Comedy
-Taxi Driver              |107|Columbia        |1975-05-15|Action
-Absence of Malice        |107|Columbia        |1981-11-15|Action
-Storia di una donna      |108|Westward        |1970-08-15|Romantic
-The King and I           |109|20th Century Fox|1956-08-11|Musical
-Das Boot                 |110|Bavaria Atelier |1981-11-11|Drama
-Bed Knobs and Broomsticks|111|Walt Disney     |          |Musical
-  
-
-To sum the column len of all films and group the results by kind: 
-
-SELECT kind, SUM(len) AS total FROM films GROUP BY kind;
-
-    kind      |total
-    ----------+------
-    Action    | 07:34
-    Comedy    | 02:58
-    Drama     | 14:28
-    Musical   | 06:42
-    Romantic  | 04:38
-  
-
-To sum the column len of all films, group the results by kind and show those group totals that are less than 5 hours: 
-
-SELECT kind, SUM(len) AS total
-    FROM films
-    GROUP BY kind
-    HAVING SUM(len) < INTERVAL '5 hour';
-
-    kind      |total
-    ----------+------
-    Comedy    | 02:58
-    Romantic  | 04:38
-  
-
-The following two examples are identical ways of sorting the individual results according to the contents of the second column (name): 
-
-SELECT * FROM distributors ORDER BY name;
-SELECT * FROM distributors ORDER BY 2;
-
-    did|name
-    ---+----------------
-    109|20th Century Fox
-    110|Bavaria Atelier
-    101|British Lion
-    107|Columbia
-    102|Jean Luc Godard
-    113|Luso films
-    104|Mosfilm
-    103|Paramount
-    106|Toho
-    105|United Artists
-    111|Walt Disney
-    112|Warner Bros.
-    108|Westward
-  
-
-This example shows how to obtain the union of the tables distributors and actors, restricting the results to those that begin with letter W in each table. Only distinct rows are to be used, so
-the ALL keyword is omitted: 
-
-    --        distributors:                actors:
-    --        did|name                     id|name
-    --        ---+------------             --+--------------
-    --        108|Westward                  1|Woody Allen
-    --        111|Walt Disney               2|Warren Beatty
-    --        112|Warner Bros.              3|Walter Matthau
-    --        ...                           ...
-
-SELECT distributors.name
-    FROM   distributors
-    WHERE  distributors.name LIKE 'W%'
-UNION
-SELECT actors.name
-    FROM   actors
-    WHERE  actors.name LIKE 'W%'
-
-name
---------------
-Walt Disney
-Walter Matthau
-Warner Bros.
-Warren Beatty
-Westward
-Woody Allen
-
-" {code} "Compatibility" {bold} "
-
-Extensions 
-
-Postgres allows one to omit the FROM clause from a query. This feature was retained from the original PostQuel query language: 
-" {} "
-SELECT distributors.* WHERE name = 'Westwood';
-
-    did|name
-    ---+----------------
-    108|Westward
-    
-" {code}    
diff --git a/src/bin/pgaccess/lib/help/select_into.hlp b/src/bin/pgaccess/lib/help/select_into.hlp
deleted file mode 100644
index 74c217b9d3d..00000000000
--- a/src/bin/pgaccess/lib/help/select_into.hlp
+++ /dev/null
@@ -1,17 +0,0 @@
-.pgaw:Help.f.t insert end "SELECT INTO" {bold} " creates a new table from the results of a query. Typically, this query draws data from an existing table, but any SQL query is allowed. 
-
-" {} "Synopsis" {bold} "
-" {} "
-SELECT \[ ALL | DISTINCT \] expression \[ AS name \] \[, ...\]
-    INTO \[TEMP\] \[ TABLE \] new_table \]
-    \[ FROM table \[alias\] \[, ...\] \]
-    \[ WHERE condition \]
-    \[ GROUP BY column \[, ...\] \]
-    \[ HAVING condition \[, ...\] \]
-    \[ { UNION \[ALL\] | INTERSECT | EXCEPT } select\]
-    \[ ORDER BY column \[ ASC | DESC \] \[, ...\] \]
-    \[ FOR UPDATE \[OF class_name...\]\]
-    \[ LIMIT count \[OFFSET|, count\]\]
-    
-" {code} "Note" {bold} "
-CREATE TABLE AS is functionally equivalent to the SELECT INTO command. "
diff --git a/src/bin/pgaccess/lib/help/sequences.hlp b/src/bin/pgaccess/lib/help/sequences.hlp
deleted file mode 100644
index 4d91d45badc..00000000000
--- a/src/bin/pgaccess/lib/help/sequences.hlp
+++ /dev/null
@@ -1,15 +0,0 @@
-.pgaw:Help.f.t insert end "  The " {} "Sequences" {bold} " tab is used to\
-define new sequence number generators or to inspect them.
-
-  Sequences are used sometimes for assigning default values to some unique\
-fields in order to obtain a unique id. Sequences are returning an int4\
-value. For example, a new sequence will be automatically defined if you\
-are adding a 'serial' field type into a table.
-
-  In order to define a new sequence you should supply at least the sequence\
-name. The default increment is 1, the default start value and minvalue is 1.
-
-  Inspecting a sequence will show you the last number generated.
-  
-  For more information see also " {} "CREATE SEQUENCE" {link create_sequence} \
-" SQL command." {}
diff --git a/src/bin/pgaccess/lib/help/set.hlp b/src/bin/pgaccess/lib/help/set.hlp
deleted file mode 100644
index da4bf996e48..00000000000
--- a/src/bin/pgaccess/lib/help/set.hlp
+++ /dev/null
@@ -1,54 +0,0 @@
-.pgaw:Help.f.t insert end "SET" {bold} " will modify configuration parameters for variable during a session. 
-
-" {} "Synopsis" {bold} "
-" {} "
-SET variable \{ TO | = \} \{
-   'value' | DEFAULT \}
-SET TIME ZONE \{ 'timezone' | LOCAL | DEFAULT \};
-SET TRANSACTION ISOLATION LEVEL \{ READ COMMITTED | SERIALIZED \}
-
-" {code} "Usage" {bold} "
-" {} "
-   --Set the style of date to ISO:
-   --
-   SET DATESTYLE TO 'ISO';
-  
-
- 
-   --Enable GEQO for queries with 4 or more tables
-   --
-   SET GEQO ON=4;
-  
-
- 
-   --Set GEQO to default:
-   --
-   SET GEQO = DEFAULT;
-  
-
- 
-   --set the timezone for Berkeley, California:
-   SET TIME ZONE 'PST8PDT';
-   
-   SELECT CURRENT_TIMESTAMP AS today;
-   
-   today
-   ----------------------
-   1998-03-31 07:41:21-08
-  
-
- 
-   --set the timezone for Italy:
-   SET TIME ZONE 'Europe/Rome';
-   
-   SELECT CURRENT_TIMESTAMP AS today;
-   
-   today
-   ----------------------
-   1998-03-31 17:41:31+02
-   
-" {code} "Notes" {bold} "
-
-The SET variable statement is a Postgres language extension. 
-
-Refer to SHOW and RESET to display or reset the current values. "
diff --git a/src/bin/pgaccess/lib/help/show.hlp b/src/bin/pgaccess/lib/help/show.hlp
deleted file mode 100644
index 1e291dbf1e8..00000000000
--- a/src/bin/pgaccess/lib/help/show.hlp
+++ /dev/null
@@ -1,23 +0,0 @@
-.pgaw:Help.f.t insert end "will display the current configuration parameters for variable during a session. 
-
-The session can be configured using SET statement, and values can be restored to the defaults using RESET statement. Parameters and values are case-insensitive. 
-
-" {} "Synopsis" {bold} "
-
-SHOW variable
-
-" {} "Usage" {bold} "
-" {} "
--- show DateStyle;
-SHOW DateStyle;
-NOTICE:DateStyle is Postgres with US (NonEuropean) conventions
-
--- show Geqo;
-SHOW GEQO;
-NOTICE:GEQO is ON
-
-" {code} "Notes" {bold} "
-
-The SHOW is a Postgres language extension. 
-
-Refer to SET/RESET to set/reset variable values. See also SET TIME ZONE. "
diff --git a/src/bin/pgaccess/lib/help/sql_guide.hlp b/src/bin/pgaccess/lib/help/sql_guide.hlp
deleted file mode 100644
index 711840c20f3..00000000000
--- a/src/bin/pgaccess/lib/help/sql_guide.hlp
+++ /dev/null
@@ -1,62 +0,0 @@
-.pgaw:Help.f.t configure -tabs {170 400}
-.pgaw:Help.f.t insert end \
-"SQL guide\n" {title} \
-"
-" {} "ABORT" {link abort} "	Aborts the current transaction
-" {} "ALTER TABLE" {link alter_table} "	Modifies table properties
-" {} "ALTER USER" {link alter_user} "	Modifies user account information 
-" {} "BEGIN" {link begin} "	Begins a transaction in chained mode 
-" {} "CLOSE" {link close} "	Close a cursor 
-" {} "CLUSTER" {link cluster} "	Gives storage clustering advice to the backend 
-" {} "COMMIT" {link commit} "	Commits the current transaction 
-" {} "COPY" {link copy} "	Copies data between files and tables 
-" {} "CREATE AGGREGATE" {link create_aggregate} "	Defines a new aggregate function 
-" {} "CREATE DATABASE" {link create_database} "	Creates a new database 
-" {} "CREATE FUNCTION" {link create_function} "	Defines a new function 
-" {} "CREATE INDEX" {link create_index} "	Constructs a secondary index 
-" {} "CREATE LANGUAGE" {link create_language} "	Defines a new language for functions 
-" {} "CREATE OPERATOR" {link create_operator} "	Defines a new user operator 
-" {} "CREATE RULE" {link create_rule} "	Defines a new rule 
-" {} "CREATE SEQUENCE" {link create_sequence} "	Creates a new sequence number generator 
-" {} \
-"CREATE TABLE" {link create_table} "	Creates a new table 
-" {} "CREATE TABLE AS" {link create_table_as} "	Creates a new table 
-" {} "CREATE TRIGGER" {link create_trigger} "	Creates a new trigger 
-" {} "CREATE TYPE" {link create_type} "	Defines a new base data type 
-" {} "CREATE USER" {link create_user} "	Creates account information for a new user 
-" {} "CREATE VIEW" {link create_view} "	Constructs a virtual table 
-" {} "DECLARE" {link declare} "	Defines a cursor for table access 
-" {} "DELETE" {link delete} "	Deletes rows from a table 
-" {} "DROP AGGREGATE" {link drop_aggregate} "	Removes the definition of an aggregate function 
-" {} "DROP DATABASE" {link drop_database} "	Destroys an existing database 
-" {} "DROP FUNCTION" {link drop_function} "	Removes a user-defined C function 
-" {} "DROP INDEX" {link drop_index} "	Removes an index from a database 
-" {} "DROP LANGUAGE" {link drop_language} "	Removes a user-defined procedural language 
-" {} "DROP OPERATOR" {link drop_operator} "	Removes an operator from the database 
-" {} "DROP RULE" {link drop_rule} "	Removes an existing rule from the database 
-" {} "DROP SEQUENCE" {link drop_sequence} "	Removes an existing sequence 
-" {} "DROP TABLE" {link drop_table} "	Removes existing tables from a database 
-" {} "DROP TRIGGER" {link drop_trigger} "	Removes the definition of a trigger 
-" {} "DROP TYPE" {link drop_type} "	Removes a user-defined type from the system catalogs 
-" {} "DROP USER" {link drop_user} "	Removes an user account information 
-" {} "DROP VIEW" {link drop_view} "	Removes an existing view from a database 
-" {} "EXPLAIN" {link explain} "	Shows statement execution details
-" {} "FETCH" {link fetch} "	Gets rows using a cursor
-" {} "GRANT" {link grant} "	Grants access privilege to a user, a group or all users 
-" {} "INSERT" {link insert} "	Inserts new rows into a table
-" {} "LISTEN" {link listen} "	Listen for notification on a notify condition
-" {} "LOAD" {link load} "	Dynamically loads an object file 
-" {} "LOCK" {link lock} "	Explicit lock of a table inside a transaction 
-" {} "MOVE" {link move} "	Moves cursor position
-" {} "NOTIFY" {link notify} "	Signals all frontends and backends listening on a notify condition
-" {} "RESET" {link reset} "	Restores run-time parameters for session to default values 
-" {} "REVOKE" {link revoke} "	Revokes access privilege from a user, a group or all users. 
-" {} "ROLLBACK" {link rollback} "	Aborts the current transaction 
-" {} "SELECT" {link select} "	Retrieve rows from a table or view. 
-" {} "SELECT INTO" {link select_into} "	Create a new table from an existing table or view 
-" {} "SET" {link set} "	Set run-time parameters for session 
-" {} "SHOW" {link show} "	Shows run-time parameters for session 
-" {} "UNLISTEN" {link unlisten} "	Stop listening for notification
-" {} "UPDATE" {link update} "	Replaces values of columns in a table
-" {} "VACUUM" {link vacuum} "	Clean and analyze a Postgres database
-"
diff --git a/src/bin/pgaccess/lib/help/sqlfunc.hlp b/src/bin/pgaccess/lib/help/sqlfunc.hlp
deleted file mode 100644
index 5440ec153ea..00000000000
--- a/src/bin/pgaccess/lib/help/sqlfunc.hlp
+++ /dev/null
@@ -1,21 +0,0 @@
-.pgaw:Help.f.t insert end \
-"SQL functions\n\n" {title} \
-"COALESCE(list)" {bold} " 
-	return first non-NULL value in list 
-	Example:
-		COALESCE(a2, c2 + 5, 0)
-
-" {} "IFNULL(input,non-NULL substitute)" {bold} " 
-	return second argument if first is NULL 
-	Example:
-		IFNULL(c1, 'N/A')
-
-" {} "CASE WHEN expr THEN expr \[...\] ELSE expr END" {bold} " 
-	return expression for first true clause 
-	Example:
-		CASE WHEN c1 = 1 THEN 'match' ELSE 'no match' END 
-
-
-" {} \
-"PostgreSQL functions\n" {link pgfunctions} \
-"Next - mathematical functions" {link mathfunc}
diff --git a/src/bin/pgaccess/lib/help/stringfunc.hlp b/src/bin/pgaccess/lib/help/stringfunc.hlp
deleted file mode 100644
index 483a23e34c6..00000000000
--- a/src/bin/pgaccess/lib/help/stringfunc.hlp
+++ /dev/null
@@ -1,102 +0,0 @@
-.pgaw:Help.f.t insert end \
-"String functions\n\n" {title} \
-"SQL92 String Functions" {bold} \
-" - SQL92 defines string functions with specific syntax. Some of these are implemented using other Postgres functions. The supported string types for SQL92 are char, varchar, and text. 
-" {} "
-char_length(string)" {bold} " 
-	Returns: int4 
-	length of string" {} "
-
-character_length(string)" {bold} " 
-	Returns: int4 
-	length of string" {} " 
-
-lower(string)" {bold} " 
-	Returns: string 
-	convert string to lower case" {} " 
-
-octet_length(string)" {bold} " 
-	Returns: int4 
-	storage length of string" {} " 
-
-position(string in string)" {bold} " 
-	Returns: int4 
-	location of specified substring" {} " 
-
-substring(string \[from int\] \[for int\])" {bold} " 
-	Returns: string 
-	extract specified substring" {} " 
-
-trim(\[leading|trailing|both\] \[string\] from string)" {bold} " 
-	Returns: string 
-	trim characters from string" {} " 
-
-upper(text)" {bold} " 
-	Returns: text 
-	convert text to upper case 
-
-Many additional string functions are available for text, varchar(), and char() types. Some are used internally to implement the SQL92 string functions listed above. 
-
-" {} "PostgreSQL String Functions
-
-char(text)" {bold} " 
-	Returns: char 
-	convert text to char type 
-
-" {} "char(varchar)" {bold} " 
-	Returns: char 
-	convert varchar to char type 
-
-" {} "initcap(text)" {bold} " 
-	Returns: text 
-	first letter of each word to upper case 
-
-" {} "lpad(text,int,text)" {bold} " 
-	Returns: text 
-	left pad string to specified length 
-
-" {} "ltrim(text,text)" {bold} " 
-	Returns: text 
-	left trim characters from text 
-
-" {} "textpos(text,text)" {bold} " 
-	Returns:text 
-	locate specified substring 
-
-" {} "rpad(text,int,text)" {bold} "
-	Returns: text
-	right pad string to specified length 
-
-" {} "rtrim(text,text)" {bold} " 
-	Returns: text 
-	right trim characters from text 
-
-" {} "substr(text,int\[,int\])" {bold} " 
-	Returns: text 
-	extract specified substring 
-
-" {} "text(char)" {bold} " 
-	Returns: text 
-	convert char to text type 
-
-" {} "text(varchar)" {bold} " 
-	Returns: text 
-	convert varchar to text type 
-
-" {} "translate(text,from,to)" {bold} " 
-	Returns: text 
-	convert character in string 
-
-" {} "varchar(char)" {bold} " 
-	Returns: varchar 
-	convert char to varchar type 
-
-" {} "varchar(text)" {bold} " 
-	Returns: varchar 
-	convert text to varchar type 
-
-Most functions explicitly defined for text will work for char() and varchar() arguments. 
-
-" {} \
-"PostgreSQL functions\n" {link pgfunctions} \
-"Next - Date/Time functions" {link datefunc}
diff --git a/src/bin/pgaccess/lib/help/tables.hlp b/src/bin/pgaccess/lib/help/tables.hlp
deleted file mode 100644
index 8478341413f..00000000000
--- a/src/bin/pgaccess/lib/help/tables.hlp
+++ /dev/null
@@ -1,8 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Tables" {title} \
-"\n\n" {} \
-"  The following topics are available:\n" {} \
-"	creating a new table\n" {link new_table} \
-"	opening a table for viewing and editing\n" {link open_table} \
-"	adding new records to an existing table\n" {link add_records} \
-"	viewing and changing table structure\n" {link view_table_structure}
diff --git a/src/bin/pgaccess/lib/help/unlisten.hlp b/src/bin/pgaccess/lib/help/unlisten.hlp
deleted file mode 100644
index 455d7339b64..00000000000
--- a/src/bin/pgaccess/lib/help/unlisten.hlp
+++ /dev/null
@@ -1,32 +0,0 @@
-.pgaw:Help.f.t insert end "UNLISTEN" {bold} " is used to remove an existing NOTIFY registration. UNLISTEN cancels any existing registration of the current Postgres session as a listener on the notify condition notifyname. \
-The special condition wildcard \"*\" cancels all listener registrations for the current session.
-
-" {} "NOTIFY" {link notify} " contains a more extensive discussion of the use of LISTEN and NOTIFY.
-
-" {} "Synopsis" {bold} "
-" {} "
-UNLISTEN \{ notifyname | * \}
-
-" {code} "Usage" {bold} "
-" {} "
-postgres=> LISTEN virtual;
-LISTEN
-postgres=> NOTIFY virtual;
-NOTIFY
-ASYNC NOTIFY of 'virtual' from backend pid '12317' received
-
-postgres=> UNLISTEN virtual;
-UNLISTEN
-postgres=> NOTIFY virtual;
-NOTIFY
--- notice no NOTIFY event is received
-postgres=>
-
-" {code} "Notes" {bold} "
-
-classname needs not to be a valid class name but can be any string valid as a name up to 32 characters long.
-
-The backend does not complain if you UNLISTEN something you were not listening for. Each backend will automatically execute UNLISTEN * when exiting.
-
-A restriction in some previous releases of Postgres that a classname which does not correspond to an actual table must be enclosed in double-quotes is no longer present.
-"
diff --git a/src/bin/pgaccess/lib/help/update.hlp b/src/bin/pgaccess/lib/help/update.hlp
deleted file mode 100644
index 7db55b516be..00000000000
--- a/src/bin/pgaccess/lib/help/update.hlp
+++ /dev/null
@@ -1,40 +0,0 @@
-.pgaw:Help.f.t insert end "UPDATE" {bold} " changes the values of the columns specified for all rows which satisfy condition. Only the columns to be modified need appear as column. 
-
-Array references use the same syntax found in SELECT. That is, either single array elements, a range of array elements or the entire array may be replaced with a single query. 
-
-You must have write access to the table in order to modify it, as well as read access to any table whose values are mentioned in the WHERE condition. 
-
-" {} "Synopsis" {bold} "
-" {} "
-UPDATE table SET column = expression \[, ...\]
-    \[ FROM fromlist \]
-    \[ WHERE condition \]
-    
-" {code} "Usage" {bold} "
-" {} "
-   --Change word \"Drama\" with \"Dramatic\" on column kind:
-   --
-   UPDATE films 
-      SET kind = 'Dramatic'
-      WHERE kind = 'Drama';
-
-   SELECT * FROM films WHERE kind = 'Dramatic' OR kind = 'Drama';
-
-   code |title        |did| date_prod|kind      |len
-   -----+-------------+---+----------+----------+------
-   BL101|The Third Man|101|1949-12-23|Dramatic  | 01:44
-   P_302|Becket       |103|1964-02-03|Dramatic  | 02:28
-   M_401|War and Peace|104|1967-02-12|Dramatic  | 05:57
-   T_601|Yojimbo      |106|1961-06-16|Dramatic  | 01:50
-   DA101|Das Boot     |110|1981-11-11|Dramatic  | 02:29
-   
-" {code} "Compatibility" {bold} "
-
-SQL92 
-
-SQL92 defines a different syntax for positioned UPDATE statement: 
-" {} "
-   UPDATE table SET column = expression \[, ...\]
-          WHERE CURRENT OF cursor
-        
-" {code} "where cursor identifies an open cursor. "
diff --git a/src/bin/pgaccess/lib/help/users.hlp b/src/bin/pgaccess/lib/help/users.hlp
deleted file mode 100644
index 347d37ccf08..00000000000
--- a/src/bin/pgaccess/lib/help/users.hlp
+++ /dev/null
@@ -1,2 +0,0 @@
-.pgaw:Help.f.t insert end "
-To be written"
diff --git a/src/bin/pgaccess/lib/help/vacuum.hlp b/src/bin/pgaccess/lib/help/vacuum.hlp
deleted file mode 100644
index ec98382580e..00000000000
--- a/src/bin/pgaccess/lib/help/vacuum.hlp
+++ /dev/null
@@ -1,26 +0,0 @@
-.pgaw:Help.f.t insert end \
-"VACUUM" {bold} " serves two purposes in Postgres as both a means to reclaim storage and also a means to collect information for the optimizer. 
-
-VACUUM opens every class in the database, cleans out records from rolled back transactions, and updates statistics in the system catalogs. The statistics maintained include the number of tuples and number of pages stored in all classes. Running VACUUM periodically will increase the speed of the database in processing user queries. 
-
-" {} "Notes:" {italic} " The open database is target for VACUUM. 
-
-We recommend that active production databases be cleaned nightly, in order to keep statistics relatively current. The VACUUM query may be executed at any time, however. In particular, after copying a large class into Postgres or after deleting a large number of records, it may be a good idea to issue a VACUUM query. This will update the system catalogs with the results of all recent changes, and allow the Postgres query optimizer to make better choices in planning user queries. 
-
-If the server crashes during a VACUUM command, chances are it will leave a lock file hanging around. Attempts to re-run the VACUUM command result in an error message about the creation of a lock file. If you are sure VACUUM is not running, remove the pg_vlock file in your database directory (i.e. PGDATA/base/dbname/pg_vlock). 
-
-" {} "Synopsis" {bold} "
-VACUUM \[ VERBOSE \] \[ ANALYZE \] \[ table \]
-VACUUM \[ VERBOSE \] ANALYZE \[ table \[ (column \[, ...\] ) \] \]
-
-" {code} "VERBOSE" {italic} "
-	Prints a detailed vacuum activity report for each table. 
-
-" {} "ANALYZE" {italic} "
-	Updates column statistics used by the optimizer to determine the most efficient way to execute a query. The statistics represent the disbursion of the data in each column. This information is valuable when several execution paths are possible. 
-
-" {} "table" {italic} "
-	The name of a specific table to vacuum. Defaults to all tables. 
-
-" {} "column" {italic} "
-	The name of a specific column to analyze. Defaults to all columns. "
diff --git a/src/bin/pgaccess/lib/help/view_table_structure.hlp b/src/bin/pgaccess/lib/help/view_table_structure.hlp
deleted file mode 100644
index 854cae5b4e3..00000000000
--- a/src/bin/pgaccess/lib/help/view_table_structure.hlp
+++ /dev/null
@@ -1,15 +0,0 @@
-.pgaw:Help.f.t insert end \
-"View and change table structure" {bold} "
-
-   Select the Tables tab from the main window , select the desired table and press the \"Design\" button. You will get a tabbed dialog containing general information for the table, table structure, index information and permissions.
-   
-   You will be able to add new fields, rename the existing ones and add new indexes. In order to add a new index, select the fields that will be included in the index (multiple selections with shift-click) and press the \"Add new index\" button.
-   
-   A confirmation form will be displayed. The index name will be asigned by default by concatenating using underscore the table name with the fields names but you can change it as you will. Checking the \"Is unique?\" check box will force the creation of a unique index.
-   
-   You can inspect the properties of a index by selecting it from the list of defined indexes. You can also delete one of them by selecting the index and then pressing the \"Delete index\" button.\
-You can cluster an index fo the table, more information on " {} "cluster SQL command" {link cluster} "
-
-   Through \"Permissions\" tab you can assign new permissions for the table or alter the existing ones. See also " {} "GRANT" {link grant} " and " {} "REVOKE" {link revoke} " SQL commands."
-
-
diff --git a/src/bin/pgaccess/lib/help/views.hlp b/src/bin/pgaccess/lib/help/views.hlp
deleted file mode 100644
index 347d37ccf08..00000000000
--- a/src/bin/pgaccess/lib/help/views.hlp
+++ /dev/null
@@ -1,2 +0,0 @@
-.pgaw:Help.f.t insert end "
-To be written"
diff --git a/src/bin/pgaccess/lib/help/visual_designer.hlp b/src/bin/pgaccess/lib/help/visual_designer.hlp
deleted file mode 100644
index 9d089e72b90..00000000000
--- a/src/bin/pgaccess/lib/help/visual_designer.hlp
+++ /dev/null
@@ -1,57 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Visual query designer" {bold} "
-
-PgAccess is using an advanced tool for visual designing of queries. \
-For those of you that have used Microsoft Access, it will be very familiar.
-
-When a new query is build, an empty canvas will be presented to you. \
-In the bottom of the screen there is the " {} "result" {italic} " zone.
-
-Add new tables on the canvas by selecting them from the drop-down or by entering \
-their names in the \"Add table\" entry and then pressing Enter.
-
-After adding the source tables on the canvas you can make links between fields from \
-different tables by dragging one field and dropping it on the label of the\
-corresponding field in the linked table. Links can be deleted by selecting them\
-(the link line will change it's colour) and then press \"Delete\" key.
-
-In order to delete a table from the canvas, select it by mouse clicking on the\
-name of the table and then press the \"Delete\" key. The tables can be moved\
-on the canvas by dragging them from their name labels. The entire canvas can\
-be panned by dragging it from an empty area.
-
-In order to select fields that will be included in the result, drag the desired \
-field from the table and drop it in the result zone in the desired column.\
-If there is already another field in that column, it will be shifted to the \
-right together with all the remaining fields to the right and the new field will \
-be inserted in the desired column.
-
-You can also specify a condition for records to be included in the result. Go \
-to the result zone and in the \"Criteria\" row enter the condition for the \
-selected field." {} "
-Example:" {italic} "
-	> 150
-we will presume that we entered the above criteria for a numeric field. Or:
-	= 'CPU'
-for a character field.
-
-If you don't want a field to be included in the result and you dropped it into \
-the result area just for adding a selection criteria on it, mouse click on \
-the Yes or No label in the \"Return\" row.
-
-In order to sort the results on a field, mouse click on the 'unsorted' label in \
-the \"Sort\" row.
-
-If you want to remove a field from the result zone, click on it's name and \
-then hit the \"Delete\" key.
-
-Pressing the \"Show SQL\" button will display the SQL command that will be \
-build from the current tables and result columns. Clicking on the canvas will \
-make it dissapear and the table layout will be displayed again.
-
-Check the query execution by pressing on the \"Execute SQL\" button. If the \
-query has been executed without error, a query viewer will be displayed and \
-you will be able to see the selected rows. When everything is ok, save the \
-query command to the query builder by pressing the \"Save to query builder\" \
-button.
-"
diff --git a/src/bin/pgaccess/lib/help/y2k.hlp b/src/bin/pgaccess/lib/help/y2k.hlp
deleted file mode 100644
index cab9cb9ea60..00000000000
--- a/src/bin/pgaccess/lib/help/y2k.hlp
+++ /dev/null
@@ -1,16 +0,0 @@
-.pgaw:Help.f.t insert end \
-"Year 2000 statement\n\n" {title} \
-"Author : " {bold} "Written by Thomas Lockhart on 1998-10-22\n" {} \
-{
-  The PostgreSQL Global Development Team provides the Postgres software code tree as a public service, without warranty and without liability for it's behavior or performance. However, at the time of writing: 
-
-  The author of this statement, a volunteer on the Postgres support team since November, 1996, is not aware of any problems in the Postgres code base related to time transitions around Jan 1, 2000 (Y2K). 
-
-  The author of this statement is not aware of any reports of Y2K problems uncovered in regression testing or in other field use of recent or current versions of Postgres. We might have expected to hear about problems if they existed, given the installed base and the active participation of users on the support mailing lists. 
-
-  To the best of the author's knowledge, the assumptions Postgres makes about dates specified with a two-digit year are documented in the current User's Guide in the chapter on data types. For two-digit years, the significant transition year is 1970, not 2000; e.g. "70-01-01" is interpreted as "1970-01-01", whereas "69-01-01" is interpreted as "2069-01-01". 
-
-  Any Y2K problems in the underlying OS related to obtaining "the current time" may propagate into apparent Y2K problems in Postgres. 
-
-  Refer to The Gnu Project and The Perl Institute for further discussion of Y2K issues, particularly as it relates to open source, no fee software. 
-}
diff --git a/src/bin/pgaccess/lib/languages/chinese_big5 b/src/bin/pgaccess/lib/languages/chinese_big5
deleted file mode 100644
index 0238a907e9e..00000000000
--- a/src/bin/pgaccess/lib/languages/chinese_big5
+++ /dev/null
@@ -1,587 +0,0 @@
-array set Messages {
-"Label" "����"
- 
-"Save schema" "�x�s���n"
- 
-"Is unique ?" "�O�_�ߤ@?"
- 
-"Report builder" "�����s�@��"
- 
-"Criteria" "�з�"
- 
-"FATAL ERROR upgrading PgAccess table" " PgAccess ����b�ɯŮɵo�ͭP�R���~"
-
-"Page header" "����"
- 
-"Query name" "�d�ߦW�r"
- 
-"Please select an object first!" "�Х���ܤ@�Ӫ���!"
- 
-"Fields :" "��� :"
- 
-"Name" "�W�r"
- 
-"File name" "�ɮצW"
- 
-"Detail record" "�O������"
- 
-"Auto-load the last opened database at startup" "�Ұʮɦ۰ʸ��J�W�����}����Ʈw"
- 
-"Maxvalue" "�̤j��"
-
-"Start value" "��l��"
- 
-"Report fields" "�������"
- 
-"Test form" "���ժ���"
- 
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "�չ��p���D�� %s \n\nPostgreSQL �W����Ʈw '%s' �ɥX��, ���~�T��:%s"
- 
-"No field type ?" "�L��쫬�O?"
- 
-"User without name?" "��S���W�r?"
- 
-"You have to supply a name for this schema!" "�A�������o�Ӻ��n���w�@�ӦW�r!"
- 
-"Last value" "�̫��"
-
-"Preferences" " �ӤH�]�w"
- 
-"View '%s' already exists!\nOverwrite ?" "�\���� '%s' �w�g�s�b!\n �л\?"
- 
-"You have to select an index!" "�A������w�@�ӯ���!"
- 
-"Field type" "��쫬�O"
- 
-"Script name" "�}���W�r"
- 
-"Reload" "���s���J"
- 
-"Remove table %s from query?" "�q�d�ߤ��R������ %s?"
-
-"SQL window" " SQL ����"
- 
-"Allow user to create other users" "���\�Τ�s�W�䥦�Τ�"
- 
-"Delete current record ?" "�R���ثe�O��?"
-
-"List box" "�C����"
- 
-"Save to query builder" "�x�s��d�߻s�@��"
- 
-"fixed width" "�w�e"
- 
-"Scripts" "�}��"
- 
-"Yes" "�O"
- 
-"Add label" "�W�[����"
- 
-"Sequence created!" "�ǦC�w�s�W!"
- 
-"Field information" "����T"
- 
-"Design" "�]�p"
- 
-"Field" "���"
- 
-"You have to supply an external file name!" "�A�������Ѥ@�ӥ~���ɮצW!"
- 
-"Increment" "�W�["
- 
-"No" "�_"
-
-"List box" "�C����"
- 
-"Save to query builder" "�x�s��d�߻s�@��"
- 
-"fixed width" "�w�e"
- 
-"Scripts" "�}��"
- 
-"Yes" "�O"
- 
-"Add label" "�W�[����"
- 
-"Sequence created!" "�ǦC�w�s�W!"
- 
-"Field information" "����T"
- 
-"Design" "�]�p"
- 
-"Field" "���"
- 
-"You have to supply an external file name!" "�A�������Ѥ@�ӥ~���ɮצW!"
- 
-"Increment" "�W�["
- 
-"No" "�_"
-
-"Form design" "����]�p"
- 
-"You must supply a return type!" "�A�������Ѥ@�ضǦ^���O!"
- 
-"Remove field from result ?" "�q���G���R�����?"
- 
-"There is another object (a %s) with the same name.\nPlease change it!" "�s�b�t�~�@�ӦP�W���� (%s).\n �Ч�W!"
- 
-"This query has no commands?" "�o���d�ߨS���R�O?"
- 
-"Execute query" "����d��"
- 
-"field cannot be null" "��줣�ର��"
- 
-"Help" "����"
- 
-"Rename column" "���s�R�W���"
- 
-"Database" "��Ʈw"
- 
-"Information" "��T"
- 
-"Close" "���� "
- 
-"Command" "�R�O"
- 
-"Table" "����"
- 
-"verify password" "���ұK�X"
-
-"Vacuum" "�M�z"
- 
-"Default value" "�w�]��"
- 
-"Import" "�פJ"
- 
-"Delete index" "�R������"
- 
-"Move up" "�V�W��"
- 
-"index properties" "�����ݩ�"
- 
-"check" "�ˬd"
- 
-"Create new table" "�إ߷s����"
-
-"Visual query designer" "��ı�Ƭd�߳]�p��"
- 
-"Delete all" "�����R��"
- 
-"You are going to delete\n\n %s \n\nProceed?" "�A���dzƧR��\n\n %s \n\n�~��?"
- 
-"Schema name" "���n�W"
- 
-"Error executing query" "����d�ߥX��"
- 
-"Report name" "�����W�r"
- 
-"Add field" "�W�[���" 
-
-"Field name" "���W"
- 
-"FATAL ERROR searching for PgAccess system tables" "�j�� PgAccess �t�Ϊ���ɵo�ͭP�R���~"
- 
-"A big number of rows displayed in table view will take a lot of memory!" "�b�\��������ܤj�q���O���C�N�|�ϥΤj�q�O����!"
- 
-"Preview" "�w��"
-
-"Users" "�Τ�"
- 
-"Owner" "�Ҧ���"
- 
-"Form's window internal name" "���檺���������W�r"
- 
-"Sort field" "�Ƨ����"
- 
-"New name is the same as the old one!" "�s�B�¦W�r�ۦP!"
- 
-"Warning" "ĵ�i"
- 
-"Suggestions at" "���ij�o��"
- 
-"Functions" "���"
- 
-"Schema" "���n"
- 
-"Open" "�}�� "
-
-"size" "�ؤo"
- 
-"Delete" "�R��"
- 
-"Returns" "�Ǧ^��"
- 
-"Define new user" "�w�q�s�Τ�"
- 
-"Move down" "�V�U��"
- 
-"Design script" "�]�p�}��"
- 
-"Check box" "�h���"
- 
-"FINAL WARNING" "�̫�ĵ�i"
-
-"Add table" "�W�[����"
- 
-"Table viewer font" "����d�ݾ��r��"
- 
-"The field type is not specified!" "��쫬�O�����w!"
- 
-"Close test form" "�������ժ���"
- 
-"Export table" " �ץX���� "
- 
-"Add new index" "�W�[�s����"
- 
-"Left" "��"
- 
-"Field delimiter" "�����j��"
- 
-"Add formula" "�W�[����"
- 
-"Open database" "�}�Ҹ�Ʈw"
- 
-"Return" "�Ǧ^"
- 
-"Changed fonts may appear in the next working session!" "�r��ק�N�b�U�Ӥu�@�|�����ͮ�!"
- 
-"Error" "���~"
- 
-"Enter a field name" "��J���W"
- 
-"field name" "���W"
- 
-"Forms" "����"
-
-"Cannot add column" "�L�k�l�[���"
-
-"Clean" "�M��"
- 
-"Delete all objects ?" "�R���Ҧ�����?"
- 
-"Preferred language" "���n�y��"
- 
-"Execute SQL" "���� SQL"
- 
-"Sequences" "�ǦC"
- 
-"Button" "���s"
- 
-"Language" "�y��"
- 
-"Query '%s' was not found!" "�S�����d�� '%s'"
- 
-"Object" "����"
- 
-"Font fixed" "�T�w�r��"
- 
-"Table name" "����W"
- 
-"Export" "�ץX"
- 
-"Change user" "����"
- 
-"You must give object a new name!" "�A����������@�ӷs�W�r!"
- 
-"Query" "�d��"
-
-"User name" "�Τ�W"
- 
-"Font normal" "���`�r��"
- 
-"Import table" " �פJ���� "
- 
-"Toolbar" "�u��C"
- 
-"Radio btn" "�����s"
-
-"You must supply a name for this function!" "�A�������o�Ө�ƴ��Ѥ@�ӦW�r!"
- 
-"You have to select index fields!" "�A������ܯ������!"
- 
-"Constraint" "����"
- 
-"The script must have a name" "�}���������@�ӦW�r"
- 
-"Save" "�x�s"
- 
-"Exit" " �h�X "
- 
-"Inherits" "�~��"
- 
-"Delete field" "�R�����"
- 
-"About" " ���� "
- 
-"Empty field name ?" "�����W?"
- 
-"All report information will be deleted.\n\nProceed ?" "�Ҧ�������T���N�R��\n\n�~��?"
- 
-"Host" "�D��"
- 
-"vacuuming database %s ..." "���b�M�z��Ʈw %s ..."
- 
-"Indexes defined" "���ޤw�w�q"
-
-"You must specify field size!" "�A�������w���j�p!"
-
-"Schema '%s' already exists!" "���n '%s' �w�g�s�b!"
- 
-"There is another field with the same name: '%s'!\n\nReplace it ?" "�s�b�t�~�@����� '%s' �P���P�W!\n\n������?"
-
-"Contents" " ���e "
- 
-"Views" "�\����"
- 
-"Variable" "�ܼ�"
- 
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "����d��\n\n %s\n\n �ɥX��\n\nPostgreSQL ���~��T:\n%s \n PostgreSQL ���A :%s"
-
-"Filter conditions" "�L�o����"
- 
-"Error retrieving query definition" "�˯��d�ߩw�q�X��"
- 
-"Error deleting view" "�R���\�����X��"
- 
-"New" "�s��"
- 
-"Tables" "����"
- 
-"Create" "�إ�"
- 
-"Forms need an internal name, only literals, low case" "����ݭn�@�Ӥ����W�r, ���Τp�g��r"
- 
-"Do you want to save the form into the database?" "�A�Q��Ӫ����x�s���Ʈw����?"
- 
-"Schema '%s' was not found!" "�S�������n '%s'!"
- 
-"proportional" "���"
-
-"Function saved!" "��Ƥw�x�s!"
- 
-"with OIDs" "�a OID"
-
-"Table information" "�������"
- 
-"Error inserting new record" "���J�s�O���ɥX��"
-
-"Error inserting new record" "���J�s�O���ɥX��"
- 
-"Column name '%s' already exists in this table!" "��� '%s' �w�s�b�󦹪��椤!"
- 
-"File" "�ɮ�"
- 
-"Your table has no fields!" "�A������S�����!"
- 
-"Height" "����"
- 
-"You will always get the latest version at:" "�A�i�H�b�o�̧��̷s����:"
- 
-"Form must have a name" "���楲�����W�r"
- 
-"Password" "�K�X"
- 
-"Valid until (date)" "���Ħ�"
- 
-"Report source" "������l���"
- 
-"Allow user to create databases" "���\�Τ�s�W��Ʈw"
- 
-"Cancel" "����"
- 
-"Is clustered ?" "���L�ظs?"
- 
-"Add new column" "�W�[�s���"
- 
-"Show SQL" "��� SQL"
- 
-"New name" "�s�W�r" 
-
-"Table '%s' not found!" "�S�������� '%s'!"
- 
-"Form name" "����W"
- 
-"Visual designer" "��ı�Ƴ]�p��"
-
-"You choose to delete index\n\n %s \n\nProceed?" "�A�N�n�R������\n\n %s \n\n�~��?"
- 
-"Error retrieving from" "�˯��X��"
- 
-"Save query definition" "�x�s�d�ߩw�q"
- 
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Constantin Teodorescu �s�@��\nPostgreSQL\n Tcl/TK �ɭ�"
- 
-"Operation completed!" "�ާ@����!"
-
-"Max rows displayed in table/query view" "�b����/�d�߾\��������ܪ��̤j���"
- 
-"Passwords do not match!" "�K�X����!"
- 
-"Rename" "���s�R�W"
-
-"Entry" "�O��"
- 
-"Error retrieving schema definition" "�˯����n�w�q�X��"
- 
-"This is an action query!\n\nExecute it?" "�o�O�@���ʧ@�d��!\n\n����?"
- 
-"Error retrieving view definition for" "���U�������˯��\�����w�q�X��"
- 
-"options" "�ﶵ"
- 
-"Sequence '%s' not found!" "���o�{�ǦC '%s'!"
- 
-"Text" "�奻"
- 
-"Tcl error executing pg_exec %s\n\n%s" "Tcl �b����pg_exec %s\n\n%s�ɵo�Ϳ��~"
- 
-"Width" "�e"
- 
-"You have to supply a name for this query!" "�A�������o�Ӭd�ߴ��ѦW�r!"
- 
-"Accessing data. Please wait ..." "Ū����Ƥ�. �еy��..."
- 
-"Report footer" "�������}"
- 
-"Parameters" "�Ѽ�"
- 
-"Queries" "�d��"
- 
-"Query '%s' already exists!" "�d�� '%s' �w�g�s�b!"
- 
-"Font bold" "�e��"
-
-"Query builder" "�d�߻s�@��"
- 
-"Error defining view" "�w�q�\�����X��"
- 
-"Top" "��"
- 
-"You must supply a name for your table!" "�A�������A�����洣�Ѥ@�ӦW�r!"
- 
-"Page footer" "����"
- 
-"Font italic" "����"
- 
-"Field name not entered!" "����J���W!"
- 
-"Index name cannot be null!" "���ަW���ର��!"
- 
-"Sort" "�Ƨ�"
- 
-"Import-Export table" "�פJ-�ץX����"
- 
-"Point" "�I"
- 
-"type" "���O"
- 
-"You should supply a name for this sequence" "�A���ӵ��o�ӧǦC���Ѥ@�ӦW�r"
- 
-"Remove link ?" "�R���챵?"
- 
-"You have to supply a table name!" "�A�������Ѥ@�Ӫ���W�r!"
-
-"Report header" "�����Y"
- 
-"Attributes" "�ݩ�"
- 
-"Table '%s' already in schema" "���� '%s' �w�g�b���n��"
- 
-"Username" "�Τ�W"
- 
-"Minvalue" "�̤p��"
- 
-"Sequence name" "�ǦC�W"
- 
-"Define sequence" "�w�q�ǦC"
-
-"Function" "���"
-
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "�d�ߤ��|�L�k���ƧǩM�L�o!\n\n�Цb�d�ߩw�q����J����!"
-
-"Reports" "����"
- 
-"Columns" "��"
-
-"Indexes" "����"
-
-"Index" "����"
- 
-"Permissions" "�v��"
- 
-"not null" "�D��"
-
-"Cluster index" "�s����"
-
-"index columns" "�������"
- 
-"Add user" "�W�[�Τ�"
- 
-"Change permissions" "�ק��v��"
- 
-"select" "���"
- 
-"update" "��s"
- 
-"insert" "���J"
- 
-"rule" "�W�h"
- 
-"Identification" "����"
- 
-"Owner ID" "�Ҧ��� ID"
- 
-"Has primary key ?" "���D���?"
- 
-"Has rules ?" "���W�h��?"
- 
-"Statistics" "�έp"
- 
-"Number of tuples" "�O����"
- 
-"Number of pages" "����"
- 
-"Index name" "���ަW�r"
- 
-"Index fields" "�������"
-
-"Index name" "���ަW�r"
- 
-"Index fields" "�������"
- 
-"Table OID" "���� OID"
- 
-"View system tables" "��ݨt�Ϊ���"
- 
-"Back" "�h�^"
- 
-"primary key" "�D��"
- 
-"Comments" "����"
- 
-"Print" "�C�L"
-
-"Class" "���O"
-
-"Report preview" "�����w��"
-
-"Delete current report object?" "�R���ثe���������� ?"
-
-"Your query has been executed without error!" "�A���d�ߤw�Q����-�L���~!"
-
-"Visual schema designer" "��ı�Ƹ�Ʈw���n�]�p"
-
-"Query result:%s" "�d�ߵ��G; %s"
-
-"Loading maximum %s" "���J�̤j�� %s"
-
-"records..." "����..."
-
-"Startup script" "�Ұʸ}��"
-
-"Table information - %s" "������� - %s"
-
-"Loading maximum %s records ..." "���J�ܦh %s �����..."
-
-}
-
diff --git a/src/bin/pgaccess/lib/languages/chinese_gb b/src/bin/pgaccess/lib/languages/chinese_gb
deleted file mode 100644
index ed0692f01d6..00000000000
--- a/src/bin/pgaccess/lib/languages/chinese_gb
+++ /dev/null
@@ -1,533 +0,0 @@
-array set Messages {
-"Label" "��ǩ"
-
-"Save schema" "�����Ҫ"
-
-"Is unique ?" "�Ƿ�Ψһ?"
-
-"Report builder" "����������"
-
-"Criteria" "��׼"
-
-"FATAL ERROR upgrading PgAccess table" "���� PgAccess ��ʱ������������"
-
-"Save this query as a view" "�������ѯ�����һ����ͼ"
-
-"Page header" "ҳͷ"
-
-"Query name" "��ѯ����"
-
-"Please select an object first!" "����ѡ��һ������!"
-
-"Fields :" "�ֶ� :"
- 
-"Name" "����"
-
-"File name" "���"
-
-"Detail record" "��ϸ��¼"
-
-"Auto-load the last opened database at startup" "����ʱ�Զ�װ���ϴδ򿪵����ݿ�"
-
-"Maxvalue" "���ֵ"
-
-"Start value" "��ʼֵ"
-
-"Report fields" "�����ֶ�"
-
-"Test form" "���Ա���"
-
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "��ͼ�������� %s \n\nPostgreSQL �ϵ����ݿ� '%s' ʱ����, ������Ϣ:%s"
-
-"No field type ?" "���ֶ�����?"
-
-"User without name?" "�û�û������?"
-
-"You have to supply a name for this schema!" "�����������Ҫָ��һ������ !"
-
-"Last value" "������ֵ"
-
-"Preferences" " ��������"
-
-"View '%s' already exists!\nOverwrite ?" "��ͼ '%s' �Ѿ�����!\n ����?"
-
-"You have to select an index!" "�㻹ûѡ��������!"
-
-"Field type" "�ֶ�����"
-
-"Script name" "�ű�����"
-
-"Reload" "ˢ��"
-
-"Remove table %s from query?" "�Ӳ�ѯ��ɾ���� %s?"
- 
-"SQL window" " SQL ����"
- 
-"Allow user to create other users" "�����û����������û�"
- 
-"Delete current record ?" "ɾ����ǰ��¼?"
- 
-"List box" "���"
- 
-"Save to query builder" "���浽��ѯ������"
- 
-"fixed width" "����"
- 
-"Scripts" "�ű�"
- 
-"Yes" "��"
- 
-"Add label" "�ӱ�ǩ"
- 
-"Sequence created!" "�����Ѵ���!"
- 
-"Field information" "�ֶ���Ϣ"
- 
-"Design" "���"
- 
-"Field" "�ֶ�"
- 
-"You have to supply an external file name!" "������ṩһ���ⲿ�ļ���!"
- 
-"Increment" "����"
- 
-"No" "��"
- 
-"Form design" "�������"
- 
-"You must supply a return type!" "������ṩһ�ַ�������!"
- 
-"Remove field from result ?" "�ӽ����ɾ���ֶ�?"
- 
-"There is another object (a %s) with the same name.\nPlease change it!" "�ִ�����һ��ͬ������ (%s).\n �����!"
- 
-"This query has no commands?" "������ѯû������?"
- 
-"Execute query" "ִ�в�ѯ"
- 
-"field cannot be null" "�ֶβ���Ϊ��"
- 
-"Help" "����"
- 
-"Rename column" "�������ֶ�"
- 
-"Database" "���ݿ�"
- 
-"Information" "��Ϣ"
- 
-"Close" " �ر� "
- 
-"Command" "����"
- 
-"Table" "��"
- 
-"verify password" "��֤����"
- 
-"Vacuum" " ����"
- 
-"Default value" "ȱʡֵ"
- 
-"Import" "����"
- 
-"Delete index" "ɾ������"
- 
-"Move up" "������"
- 
-"index properties" "��������"
- 
-"check" "���"
- 
-"Create new table" "�����±�"
- 
-"Visual query designer" "���ӻ���ѯ�����"
- 
-"Delete all" "ȫ��ɾ��"
- 
-"You are going to delete\n\n %s \n\nProceed?" "����׼��ɾ��\n\n %s \n\n����?" 
- 
-"Schema name" "��Ҫ��"
- 
-"Error executing query" "ִ�в�ѯ����"
- 
-"Report name" "��������"
- 
-"Add field" "�����ֶ�"
- 
-"Field name" "�ֶ���"
- 
-"FATAL ERROR searching for PgAccess system tables" "���� PgAccess ϵͳ��ʱ������������"
- 
-"A big number of rows displayed in table view will take a lot of memory!" "�ڱ���ͼ����ʾ�������н�ʹ�ô����ڴ�!"
- 
-"Preview" "Ԥ��"
- 
-"Users" "�û�"
- 
-"Owner" "������"
- 
-"Form's window internal name" "�����Ĵ����ڲ�����"
- 
-"Sort field" "�����ֶ�"
- 
-"New name is the same as the old one!" "�����ֺ;�������ͬ!"
- 
-"Warning" "����"
- 
-"Suggestions at" "��ѽ��鷢��"
- 
-"Functions" "����"
- 
-"Schema" "��Ҫ"
- 
-"Open" " �� "
- 
-"size" "�ߴ�"
- 
-"Delete" " ɾ��"
- 
-"Returns" "����ֵ"
- 
-"Define new user" "�������û�"
- 
-"Move down" "������"
- 
-"Design script" "��ƽű�"
- 
-"Check box" "��ѡ��"
- 
-"FINAL WARNING" "��󾯸�"
- 
-"Add table" "���ӱ�"
- 
-"Table viewer font" "���鿴������"
- 
-"The field type is not specified!" "�ֶ�����δ����!"
- 
-"Close test form" "�رղ��Ա���"
- 
-"Export table" " ����� "
- 
-"Add new index" "����������"
- 
-"Left" "��"
- 
-"Field delimiter" "�ֶηָ���"
- 
-"Add formula" "�ӹ�ʽ"
- 
-"Open database" "�����ݿ�"
- 
-"Return" "����"
- 
-"Changed fonts may appear in the next working session!" "�����޸Ľ����´λỰ����Ч!"
- 
-"Error" "����"
- 
-"Enter a field name" "�����ֶ���"
- 
-"field name" "�ֶ���"
- 
-"Forms" "����"
- 
-"Cannot add column" "�޷�׷���ֶ�"
- 
-"Clean" "���"
- 
-"Delete all objects ?" "ɾ�����ж���?"
- 
-"Preferred language" "��ѡ����"
- 
-"Execute SQL" "ִ�� SQL"
- 
-"Sequences" "����"
- 
-"Button" "��ť"
- 
-"Language" "����"
- 
-"Query '%s' was not found!" "û���ҵ���ѯ '%s'"
- 
-"Object" "����"
- 
-"Font fixed" "�̶�����"
- 
-"Table name" "������"
- 
-"Export" "���"
- 
-"Change user" "�����û�"
- 
-"You must give object a new name!" "����������һ��������!"
- 
-"Query" "��ѯ"
- 
-"User name" "�û���"
- 
-"Font normal" "��������"
- 
-"Import table" " ����� "
- 
-"Toolbar" "������"
- 
-"Radio btn" "��������ť"
- 
-"You must supply a name for this function!" "��������������ṩһ������!"
- 
-"You have to select index fields!" "�����ѡ�������ֶ�!"
- 
-"Constraint" "Լ��"
- 
-"The script must have a name" "�ű�������һ������"
- 
-"Save" "����"
- 
-"Exit" " �˳� "
- 
-"Inherits" "�̳�"
- 
-"Delete field" "ɾ���ֶ�"
- 
-"About" " ���� "
- 
-"Empty field name ?" "���ֶ���?"
- 
-"All report information will be deleted.\n\nProceed ?" "���б�����Ϣ����ɾ��\n\n����?"
- 
-"Host" "����"
- 
-"vacuuming database %s ..." "�����������ݿ� %s ..."
- 
-"Indexes defined" "�����Ѷ���"
- 
-"You must specify field size!" "����������ֶδ�С!"
- 
-"Schema '%s' already exists!" "��Ҫ '%s' �Ѿ�����!"
- 
-"There is another field with the same name: '%s'!\n\nReplace it ?" "�ִ�����һ���ֶ� '%s' ���ͬ��!\n\n�滻��?"
- 
-"Contents" " ���� "
- 
-"Views" "��ͼ"
- 
-"Variable" "����"
- 
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "ִ�в�ѯ\n\n %s\n\n ��������\n\nPostgreSQL ������Ϣ:\n%s \n PostgreSQL ״̬ :%s"
- 
-"Filter conditions" "��������"
- 
-"Error retrieving query definition" "������ѯ�������"
- 
-"Error deleting view" "ɾ����ͼ����"
- 
-"New" " �½� "
- 
-"Tables" "��"
- 
-"Create" "����"
- 
-"Forms need an internal name, only literals, low case" "������Ҫһ���ڲ�����, ֻ����Сд�ı�"
- 
-"Do you want to save the form into the database?" "����Ѹñ������浽���ݿ�����?"
- 
-"Schema '%s' was not found!" "û���ҵ���Ҫ '%s'!"
- 
-"proportional" "����"
- 
-"Function saved!" "�����Ѵ洢!"
- 
-"with OIDs" "�� OID"
- 
-"Table information" "����Ϣ"
- 
-"Error inserting new record" "�����¼�¼ʱ��������"
- 
-"Column name '%s' already exists in this table!" "�ֶ� '%s' �Ѵ����ڴ˱���!"
- 
-"File" "�ļ�"
- 
-"Your table has no fields!" "��ı�û���ֶ�!"
- 
-"Height" "�߶�"
- 
-"You will always get the latest version at:" "������������ҵ����°汾:"
- 
-"Form must have a name" "��������������"
- 
-"Password" "����"
- 
-"Valid until (date)" "����"
- 
-"Report source" "����Դ����"
- 
-"Allow user to create databases" "�����û��������ݿ�"
- 
-"Cancel" "ȡ��"
- 
-"Is clustered ?" "���޽���?"
- 
-"Add new column" "�������ֶ�"
- 
-"Show SQL" "��ʾ SQL"
- 
-"New name" "������"
- 
-"Table '%s' not found!" "û���ҵ��� '%s'!"
- 
-"Form name" "��������"
- 
-"Visual designer" "���ӻ������"
- 
-"You choose to delete index\n\n %s \n\nProceed?" "�㽫Ҫɾ������\n\n %s \n\n����?"
- 
-"Error retrieving from" "��������"
- 
-"Save query definition" "�����ѯ����"
- 
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Constantin Teodorescu ������\nPostgreSQL\n Tcl/TK ����"
- 
-"Operation completed!" "�������!"
- 
-"Max rows displayed in table/query view" "�ڱ�/��ѯ��ͼ����ʾ���������"
- 
-"Passwords do not match!" "�����!"
- 
-"Rename" " ������ "
- 
-"Entry" "��¼"
- 
-"Error retrieving schema definition" "������Ҫ�������"
- 
-"This is an action query!\n\nExecute it?" "����һ��������ѯ!\n\nִ��?"
- 
-"Error retrieving view definition for" "Ϊ������������ͼ�������"
- 
-"options" "ѡ��"
- 
-"Sequence '%s' not found!" "������� '%s'!"
- 
-"Text" "�ı�"
- 
-"Tcl error executing pg_exec %s\n\n%s" "Tcl ���󣬷�����ִ�� pg_exec %s\n\n%s"
- 
-"Width" "��"
- 
-"You have to supply a name for this query!" "�����������ѯ�ṩ����!"
- 
-"Accessing data. Please wait ..." "���ڷ�������. ��ȴ�..."
- 
-"Report footer" "������ע"
- 
-"Parameters" "����"
- 
-"Queries" "��ѯ"
- 
-"Query '%s' already exists!" "��ѯ '%s' �Ѿ�����!"
- 
-"Font bold" "����"
- 
-"Query builder" "��ѯ������"
- 
-"Error defining view" "������ͼ����"
- 
-"Top" "��"
- 
-"You must supply a name for your table!" "��������ı��ṩһ������!"
- 
-"Page footer" "ҳ��"
- 
-"Font italic" "�"
- 
-"Field name not entered!" "δ�����ֶ���!"
- 
-"Index name cannot be null!" "������������!"
- 
-"Sort" "����"
- 
-"Import-Export table" "����-�����"
- 
-"Point" "��"
- 
-"type" "����"
- 
-"You should supply a name for this sequence" "��Ӧ�ø���������ṩһ������"
- 
-"Remove link ?" "ɾ������?"
- 
-"You have to supply a table name!" "������ṩһ��������!"
- 
-"Report header" "����ͷ"
- 
-"Attributes" "����"
- 
-"Table '%s' already in schema" "�� '%s' �Ѿ��ڸ�Ҫ��"
- 
-"Username" "�û���"
- 
-"Minvalue" "��Сֵ"
- 
-"Sequence name" "������"
- 
-"Define sequence" "��������"
- 
-"Function" "����"
- 
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "��ѯ�����޷�������͹���!\n\n���ڲ�ѯ��������������!"
- 
-"Reports" "����"
-
-"Columns" "��"
- 
-"Indexes" "����"
-
-"Permissions" "Ȩ��"
-
-"not null" "�ǿ�"
-
-"Cluster index" "��������" 
-
-"index columns" "�����ֶ�"
-
-"Add user" "�����û�"
-
-"Change permissions" "�޸�Ȩ��"
-
-"select" "ѡ��"
-
-"update" "����"
-
-"insert" "����"
-
-"rule" "����"
-
-"Identification" "��ʶ"
-
-"Owner ID" "������ ID"
-
-"Has primary key ?" "��������?"
-
-"Has rules ?" "����?"
-
-"Statistics" "ͳ��"
-
-"Number of tuples" "��¼��"
-
-"Number of pages" "ҳ��"
-
-"Index name" "��������"
-
-"Index fields" "�����ֶ�"
-
-"Table OID" "�� OID"
-
-"View system tables" "�쿴ϵͳ��"
-
-"Back" "�˻�"
-
-"primary key" "����"
-
-"Comments" "ע��"
-
-"Print" "��ӡ"
-}
-
-
diff --git a/src/bin/pgaccess/lib/languages/czech b/src/bin/pgaccess/lib/languages/czech
deleted file mode 100644
index c210887ae69..00000000000
--- a/src/bin/pgaccess/lib/languages/czech
+++ /dev/null
@@ -1,534 +0,0 @@
-array set Messages {
-
-"Label" "Popiska"
- 
-"Save schema" "Ulo�it sch�ma"
- 
-"Is unique ?" "Je unik�tn�?"
- 
-"Report builder" "Tvorba sestavy"
- 
-"Criteria" "Krit�rium"
- 
-"FATAL ERROR upgrading PgAccess table" "FAT�LN� CHYBA update tabulek PgAccessu"
- 
-"Save this query as a view" "Ulo�it tento dotaz jako n�hled"
- 
-"Page header" "Hlavi�ka str�nky"
- 
-"Query name" "Jm�no dotazu"
- 
-"Please select an object first!" "Pros�m nejd��ve vyberte objekt"
- 
-"Fields :" "Polo�ka :"
- 
-"Name" "Jm�no"
- 
-"File name" "Jm�no souboru"
- 
-"Detail record" "Detailn� z�znam"
- 
-"Auto-load the last opened database at startup" "Po startu automaticky otev��t naposledy pou�itou datab�zi"
- 
-"Maxvalue" "Maxim�ln� hodnota"
- 
-"Start value" "Po��te�n� hodnota"
- 
-"Report fields" "Polo�ky sestavy"
- 
-"Test form" "Test formul��e"
- 
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "Chyba p�i pokusu o spojen� s databazi '%s' na adrese %s \n\nPostgreSQL chybov� hla�en�:%s"
- 
-"No field type ?" "��dn� typ polo�ky?"
- 
-"User without name?" "Bezejmen� u�ivatel?"
- 
-"You have to supply a name for this schema!" "Mus�te zadat jm�no pro toto sch�ma!"
- 
-"Last value" "Posledn� hodnota"
- 
-"Preferences" "Nastaven�"
- 
-"View '%s' already exists!\nOverwrite ?" "N�hled '%s' ji� existuje!\n P�epsat?"
- 
-"You have to select an index!" "Mus�te vybrat index!"
- 
-"Field type" "Typ polo�ky"
- 
-"Script name" "Jm�no skriptu"
- 
-"Reload" "Obnovit"
- 
-"Remove table %s from query?" "Odratranit tabulku %s z dotazu?"
- 
-"SQL window" "SQL-okno"
- 
-"Allow user to create other users" "Umo�nit u�ivateli vytv��et jin� u�ivatele"
- 
-"Delete current record ?" "Smazat aktu�ln� z�znam?"
- 
-"List box" "Posuvny seznam"
- 
-"Save to query builder" "Ulo�it do Tv�rce dotaz�"
- 
-"fixed width" "fixn� ���ka"
- 
-"Scripts" "Skripty"
- 
-"Yes" "Ano"
- 
-"Add label" "P�idat popisku"
- 
-"Sequence created!" "Sequence vytvo�ena"
- 
-"Field information" "Informace o polo�ce"
- 
-"Design" "N�vrh"
- 
-"Field" "Polo�ka"
- 
-"You have to supply an external file name!" "Mus�te zadat jm�no extern�ho souboru."
- 
-"Increment" "P��rustek"
- 
-"No" "Ne"
- 
-"Form design" "N�vrh formul��e"
- 
-"You must supply a return type!" "Musite zadat n�vratov� typ!"
- 
-"Remove field from result ?" "Odstranit polo�ku z dotazu?"
- 
-"There is another object (a %s) with the same name.\nPlease change it!" "Existuje jest� jeden objekt %s se stejn�m jm�nem.\nPros�m opravte to!"
- 
-"This query has no commands?" "Tento dotaz nem� instukce?"
- 
-"Execute query" "Prov�st dotaz"
- 
-"field cannot be null" "polo�ka nem��e b�t nulov�"
- 
-"Help" "N�pov�da"
- 
-"Rename column" "P�ejmenov�n� sloupce"
- 
-"Database" "Datab�ze"
- 
-"Information" "Informace"
- 
-"Close" "Zav��t"
- 
-"Command" "P��kaz"
- 
-"Table" "Tabulka"
- 
-"verify password" "Potvrzen� hesla"
- 
-"Vacuum" "Vacuum"
- 
-"Default value" "Implicitn� hodnota"
- 
-"Import" "Import"
- 
-"Delete index" "Smazat index"
- 
-"Move up" "Nahoru"
- 
-"index properties" "Nastaven� indexu"
- 
-"check" "Check"
- 
-"Create new table" "Vytvo�it novou tabulku"
- 
-"Visual query designer" "Visu�ln� n�vrh�� dotaz�"
- 
-"Delete all" "Smazat v�e"
- 
-"You are going to delete\n\n %s \n\nProceed?" "You are going to delete\n\n %s \n\nProceed?" 
- 
-"Schema name" "Jm�no sch�matu"
- 
-"Error executing query" "Chyba p�i prov�d�n� dotazu"
- 
-"Report name" "Jm�no sestavy"
- 
-"Add field" "P�idat polo�ku"
- 
-"Field name" "Jm�no polo�ky"
- 
-"FATAL ERROR searching for PgAccess system tables" "FAT�LN� CHYBA p�i hled�n� syst�mov�ch tabulek PgAccess"
- 
-"A big number of rows displayed in table view will take a lot of memory!" "Velk� mno�stv� zobrazen�ch ��dek z tabulky zabere mnoho pam�ti!"
- 
-"Preview" "Preview"
- 
-"Users" "U�ivatel�"
- 
-"Owner" "Vlastn�k"
- 
-"Form's window internal name" "Intern� jm�no formul��e"
- 
-"Sort field" "Set��d�n� polo�ek"
- 
-"New name is the same as the old one!" "Nov� jm�no je stejn� jako star�!"
- 
-"Warning" "Varov�n�"
- 
-"Suggestions at" "P�ipom�nky na"
- 
-"Functions" "Funkce"
- 
-"Schema" "Sch�ma"
- 
-"Open" "Otev��t"
- 
-"size" "velikost"
- 
-"Delete" "Smazat"
- 
-"Returns" "N�vratov� typ"
- 
-"Define new user" "Definice nov�ho u�ivatele"
- 
-"Move down" "Dol�"
- 
-"Design script" "N�vrh skriptu"
- 
-"Check box" "Ovladaci r�me�ek"
- 
-"FINAL WARNING" "POSLEDN� VAROV�N�"
- 
-"Add table" "P�idat tabulku"
- 
-"Table viewer font" "Font prohl��e�e tabulek"
- 
-"The field type is not specified!" "Typ polo�ky nen� specifikov�n!"
- 
-"Close test form" "Ukon�it test formul��e"
- 
-"Export table" "Export tabulky"
- 
-"Add new index" "P�idat nov� index"
- 
-"Left" "Nalevo"
- 
-"Field delimiter" "Odd�lova� polo�ek"
- 
-"Add formula" "P��dat vzor"
- 
-"Open database" "Otev��t databazi"
- 
-"Return" "N�vrat"
- 
-"Changed fonts may appear in the next working session!" "Zm�na fontu se projev� a� p�i nov�m spu�t�n�!"
- 
-"Error" "Chyba"
- 
-"Enter a field name" "Vlo� jm�no polo�ky"
- 
-"field name" "jm�no polo�ky"
- 
-"Forms" "Formul��e"
- 
-"Cannot add column" "Nelze p�idat sloupec"
- 
-"Clean" "Vymazat"
- 
-"Delete all objects ?" "Smazat v�echny objekty?"
- 
-"Preferred language" "Preferovan� jazyk"
- 
-"Execute SQL" "Spustit SQL "
- 
-"Sequences" "Sequence"
- 
-"Button" "Tla��tko"
- 
-"Language" "Jazyk"
- 
-"Query '%s' was not found!" "Dotaz '%s' nelze naj�t"
- 
-"Object" "Objekt"
- 
-"Font fixed" "Fixn�"
- 
-"Table name" "Jm�no tabulky"
- 
-"Export" "Export"
- 
-"Change user" "Zm�nit u�ivatele"
- 
-"You must give object a new name!" "Mus�te vlo�it objekt nov�ho jm�na!"
- 
-"Query" "Dotaz"
- 
-"User name" "Jm�no u�ivatele"
- 
-"Font normal" "Normal"
- 
-"Import table" "Import tabulky"
- 
-"Toolbar" "Toolbar"
- 
-"Radio btn" "Radio"
- 
-"You must supply a name for this function!" "Mus�te zadat jm�no funkce!"
- 
-"You have to select index fields!" "Mus�te vybrat polo�ky indexu!"
- 
-"Constraint" "Omezen�"
- 
-"The script must have a name" "Skript mus� m�t jm�no."
- 
-"Save" "Ulo�it"
- 
-"Exit" "Konec"
- 
-"Inherits" "D�di�nost"
- 
-"Delete field" "Smazat polo�ku"
- 
-"About" "O PgAccessu"
- 
-"Empty field name ?" "Pr�zdn� jm�no polo�ky?"
- 
-"All report information will be deleted.\n\nProceed ?" "V�echny informace sestavy budou smaz�ny\n\nSmazat?"
- 
-"Host" "Host"
- 
-"vacuuming database %s ..." "reorganizuji databazi %s ..."
- 
-"Indexes defined" "Definov�n� indexy"
- 
-"You must specify field size!" "Mus�te specifikovat velikost polo�ky!"
- 
-"Schema '%s' already exists!" "Sch�ma '%s' ji� existuje!"
- 
-"There is another field with the same name: '%s'!\n\nReplace it ?" "Existuje je�t� jedna polo�ka se stejn�m jm�nem: '%s'!\n\nNahradit?"
- 
-"Contents" "Obsah"
- 
-"Views" "N�hledy"
- 
-"Variable" "Prom�nn�"
- 
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "Chyba p�i prov�d�n� dotazu\n\n%s\n\nPostgreSQL chybov� hl�en�:\n%s \n PostgreSQL status :%s"
- 
-"Filter conditions" "Podm�nka filtru"
- 
-"Error retrieving query definition" "Chyba nahrazen� definice dotazu"
- 
-"Error deleting view" "Chyba maz�n� n�hledu"
- 
-"New" "Nov�"
- 
-"Tables" "Tabulky"
- 
-"Create" "Vytvo�it"
- 
-"Forms need an internal name, only literals, low case" "Formul�� vy�aduje intern� jm�no (pouze mal� p�smena)"
- 
-"Do you want to save the form into the database?" "Ulo�it formul�� do datab�ze?"
- 
-"Schema '%s' was not found!" "Sch�ma '%s' nelze naj�t!"
- 
-"proportional" "proporcion�ln�"
- 
-"Function saved!" "Funkce ulo�ena!"
- 
-"with OIDs" "s OID"
- 
-"Table information" "Informace o tabulce"
- 
-"Error inserting new record" "Chyba vkl�d�n� nov�ho z�znamu"
- 
-"Column name '%s' already exists in this table!" "Sloupec se jm�nem '%s' v tabulce ji� existuje!"
- 
-"File" "Soubor"
- 
-"Your table has no columns!" "Tabulka nem� polo�ky!"
- 
-"Height" "V��ka"
- 
-"You will always get the latest version at:" "Aktu�ln� verzi naleznete na:"
- 
-"Form must have a name" "Formul�� mus� m�t jm�no"
- 
-"Password" "Heslo"
- 
-"Valid until (date)" "Platn� do (abstime)"
- 
-"Report source" "Zdroj sestavy"
- 
-"Allow user to create databases" "Dovolit u�ivateli vytv��et datab�ze"
- 
-"Cancel" "Zru�it"
- 
-"Is clustered ?" "Je cluster?"
- 
-"Add new column" "P�idat nov� sloupec"
- 
-"Show SQL" "Uk�zat SQL"
- 
-"New name" "Nov� jm�no"
- 
-"Table '%s' not found!" "Tabulku '%s' nelze naj�t!"
- 
-"Form name" "Jm�no formul��e"
- 
-"Visual designer" "Visu�ln� n�vrh��"
- 
-"You choose to delete index\n\n %s \n\nProceed?" "K smaz�n� vybr�n index\n\n %s \n\nSmazat?"
- 
-"Error retrieving from" "Chyba nahrazen� z"
- 
-"Save query definition" "Ulo�it definici dotazu"
- 
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Tcl/TK rozhran� pro\nPostgreSQL\n od Constantin Teodorescu"
- 
-"Operation completed!" "Operace provedena!"
- 
-"Max rows displayed in table/query view" "Maxim�ln� po�et zobrazen�ch ��dek z tabulky/dotazu/n�hledu"
- 
-"Passwords do not match!" "Heslo nelze porovnat!"
- 
-"Rename" "P�ejmenovat"
- 
-"Entry" "Vstup"
- 
-"Error retrieving schema definition" "Chyba nahrazen� definice sch�matu"
- 
-"This is an action query!\n\nExecute it?" "Toto je provediteln� dotaz!\n\nProv�st?"
- 
-"Error retrieving view definition for" "Chyba nahrazen� definice n�hledu pro"
- 
-"options" "nastaven�"
- 
-"Sequence '%s' not found!" "Sequenci '%s' nelze naj�t"
- 
-"Text" "Text"
- 
-"Tcl error executing pg_exec %s\n\n%s" "Tcl-chyba: proveden� pg_exec %s\n\n%s"
- 
-"Width" "���ka"
- 
-"You have to supply a name for this query!" "Mus�te zadat jm�no pro tento dotaz!"
- 
-"Accessing data. Please wait ..." "P�istupuji k dat�m. �ekejte pros�m..."
- 
-"Report footer" "Z�hlav� sestavy"
- 
-"Parameters" "Parametry"
- 
-"Queries" "Dotazy"
- 
-"Query '%s' already exists!" "Dotaz '%s' ji� existuje!"
- 
-"Font bold" "Tu�n�"
- 
-"Query builder" "Tv�rce dotaz�"
- 
-"Error defining view" "Chyba definice n�hledu"
- 
-"Top" "Vrchol"
- 
-"You must supply a name for your table!" "Mus�te zadat jm�no pro va�i tabulku!"
- 
-"Page footer" "Z�hlav� str�nky"
- 
-"Font italic" "Kurz�va"
- 
-"Field name not entered!" "Jm�no polo�ky nen� zadan�!"
- 
-"Index name cannot be null!" "Jm�no indexu nem��e b�t nulov�!"
- 
-"Sort" "T��d�n�"
- 
-"Import-Export table" "Import-Export tabulky"
- 
-"Point" "Bod"
- 
-"type" "typ"
- 
-"You should supply a name for this sequence" "Mus�te zadat jm�no pro tuto sequenci"
- 
-"Remove link ?" "Odstarnit poj�tko?"
- 
-"You have to supply a table name!" "Mus�te zadat jm�no tabulky!"
- 
-"Report header" "Hlavi�ka sestavy"
- 
-"Attributes" "Atributy"
- 
-"Table '%s' already in schema" "Tabulka '%s' ji� je ve sch�matu"
- 
-"Username" "U�ivatelsk� jm�no"
- 
-"Minvalue" "Minim�ln� hodnota"
- 
-"Sequence name" "Jm�no sequence"
- 
-"Define sequence" "Definice sequence"
- 
-"Function" "Funkce"
- 
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "T��d�n� a filtorv�n� nen� (je�t�) dostupn� z dotaz�!\n\nPros�m vlo�te je do definice dotazu!"
- 
-"Reports" "Sestavy"
-
-"Columns" "Sloupce"
- 
-"Indexes" "Indexy"
-
-"Permissions" "P��stupov� pr�va"
-
-"not null" "Null"
-
-"Cluster index" "Cluster index" 
-
-"index columns" "indexovan� sloupce"
-
-"Add user" "P�id�n� u�ivatele"
-
-"Change permissions" "Zm�na p��stupov�ch pr�v"
-
-"select" "select"
-
-"update" "update"
-
-"insert" "insert"
-
-"rule" "rule"
-
-"Identification" "Identifikace"
-
-"Owner ID" "ID vlastn�ka"
-
-"Has primary key ?" "M� prim�rn� kl��?"
-
-"Has rules ?" "Rule?"
-
-"Statistics" "Statistika"
-
-"Number of tuples" "Po�et tuples"
-
-"Number of pages" "Po�et str�nek"
-
-"Index name" "Jm�no indexu"
-
-"Index fields" "Polo�ky indexu"
-
-"Table OID" "OID tabulky"
-
-"View system tables" "Zobrazit syst�mov� tabulky"
-
-"Back" "Zp�t"
-
-"primary key" "prim�rn� kl��"
-
-"Comments" "Koment��"
-
-"Print" "Tisk"
-}
-
-
diff --git a/src/bin/pgaccess/lib/languages/deutsch b/src/bin/pgaccess/lib/languages/deutsch
deleted file mode 100644
index fc0bf631a77..00000000000
--- a/src/bin/pgaccess/lib/languages/deutsch
+++ /dev/null
@@ -1,535 +0,0 @@
-array set Messages {
-
-"Label" "Beschriftung"
- 
-"Save schema" "Schema speichern"
- 
-"Is unique ?" "Ist eindeutig ?"
- 
-"Report builder" "Berichtgenerator"
- 
-"Criteria" "Kriterien"
- 
-"FATAL ERROR upgrading PgAccess table" "SCHWERER FEHLER beim Aktualisieren der PgAccess-Tabelle"
- 
-"Save this query as a view" "Abfrage als View speichern"
- 
-"Page header" "Seitenkopf"
- 
-"Query name" "Abfragename"
- 
-"Please select an object first!" "Bitte w�hlen Sie zuerst ein Objekt aus"
- 
-"Fields :" "Felder :"
- 
-"Name" "Name"
- 
-"File name" "Dateiname"
- 
-"Detail record" "Detail Datensatz"
- 
-"Auto-load the last opened database at startup" "Zuletzt ge�ffnete Datenbank beim Start laden"
- 
-"Maxvalue" "maximaler Wert"
- 
-"Start value" "Startwert"
- 
-"Report fields" "Berichtsfelder"
- 
-"Test form" "Formular testen"
- 
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "Fehler beim Verbinden mit der Datenbank '%s' auf Rechner %s \n\nPostgreSQL Fehlercode :%s"
- 
-"No field type ?" "Kein Feldtyp ?"
- 
-"User without name?" "Dieser Benutzer hat keinen Namen ?"
- 
-"You have to supply a name for this schema!" "Sie m�ssen einen Namen f�r diese Schema angeben."
- 
-"Last value" "Letzter Wert"
- 
-"Preferences" "Voreinstellungen"
- 
-"View '%s' already exists!\nOverwrite ?" "View '%s' bereits vorhanden.\n �berschreiben ?"
- 
-"You have to select an index!" "Sie m�ssen einen Index ausw�hlen"
- 
-"Field type" "Feldtyp"
- 
-"Script name" "Skriptname"
- 
-"Reload" "Erneut laden"
- 
-"Remove table %s from query?" "Tabelle %s aus abfrage l�schen ?"
- 
-"SQL window" "SQL-Fenster"
- 
-"Allow user to create other users" "Benutzer darf andere Benutzer anlegen"
- 
-"Delete current record ?" "Aktuellen Satz l�schen ?"
- 
-"List box" "Listbox"
- 
-"Save to query builder" "In Abfragegenerator speichern"
- 
-"fixed width" "feste Breite"
- 
-"Scripts" "Skripten"
- 
-"Yes" "Ja"
- 
-"Add label" "Beschriftung hinzuf�gen"
- 
-"Sequence created!" "Z�hler erzeugt"
- 
-"Field information" "Feldeigenschaften"
- 
-"Design" "Entwurf"
- 
-"Field" "Feld"
- 
-"You have to supply an external file name!" "Sie m�ssen einen externen Dateinamen angeben."
- 
-"Increment" "Inkrement"
- 
-"No" "Nein"
- 
-"Form design" "Formularentwurf"
- 
-"You must supply a return type!" "Sie m�ssen einen R�ckgabewert angeben."
- 
-"Remove field from result ?" "Feld aus Ergebnis l�schen ?"
- 
-"There is another object (a %s) with the same name.\nPlease change it!" "Es gibt bereits ein Objekt mit Namen %s.\nBitte w�hlen Sie einen anderen Namen."
- 
-"This query has no commands?" "Die Abfrage enth�lt keine Anweisungen."
- 
-"Execute query" "Abfrage ausf�hren"
- 
-"field cannot be null" "Feld darf nicht null sein."
- 
-"Help" "Hilfe"
- 
-"Rename column" "Spalte umbenennen"
- 
-"Database" "Datenbank"
- 
-"Information" "Information"
- 
-"Close" "Schlie�en"
- 
-"Command" "Befehl"
- 
-"Table" "Tabelle"
- 
-"verify password" "Passwort best�tigen"
- 
-"Vacuum" "Komprimieren"
- 
-"Default value" "Standardwert"
- 
-"Import" "Import"
- 
-"Delete index" "L�sche Index"
- 
-"Move up" "nach oben"
- 
-"index properties" "Index-Eigenschaften"
- 
-"check" "�berpr�fe"
- 
-"Create new table" "Neue Tabelle erzeugen"
- 
-"Visual query designer" "Visueller Abfragedesigner"
- 
-"Delete all" "Alle l�schen"
- 
-"You are going to delete\n\n %s \n\nProceed?" "Sie sind dabei\n\n %s \n\nzu l�schen. Fortsetzen ?"
- 
-"Schema name" "Schema-Name"
- 
-"Error executing query" "Fehler beim Ausf�hren der Abfrage"
- 
-"Report name" "Berichtname"
- 
-"Add field" "Feld hinzuf�gen"
- 
-"Field name" "Feldname"
- 
-"FATAL ERROR searching for PgAccess system tables" "FATALER FEHLER Kann PgAccess Systemtabellen nicht finden"
- 
-"A big number of rows displayed in table view will take a lot of memory!" "Die Anzeige vieler Zeilen in der Tabellenansicht ben�tigt sehr viel Speicher"
- 
-"Preview" "Vorschau"
- 
-"Users" "Benutzer"
- 
-"Owner" "Eigent�mer"
- 
-"Form's window internal name" "interner Formularname"
- 
-"Sort field" "Sortierfeld"
- 
-"New name is the same as the old one!" "Neuer und alter Name stimmen �berein."
- 
-"Warning" "Warnung"
- 
-"Suggestions at" "Vorschl�ge an"
- 
-"Functions" "Funktionen"
- 
-"Schema" "Schemata"
- 
-"Open" "�ffnen"
- 
-"size" "Gr��e"
- 
-"Delete" "L�schen"
- 
-"Returns" "Ergebnistyp"
- 
-"Define new user" "Neuen Benutzer anlegen"
- 
-"Move down" "nach unten"
- 
-"Design script" "Entwurfsskript"
- 
-"Check box" "Check box"
- 
-"FINAL WARNING" "LETZTE WARNUNG"
- 
-"Add table" "Tabelle hinzuf�gen"
- 
-"Table viewer font" "Schrift zur Tabellenanzeige"
- 
-"The field type is not specified!" "Der Feldtyp ist nicht angegeben"
- 
-"Close test form" "Testformular schlie�en"
- 
-"Export table" "Tabelle exportieren"
- 
-"Add new index" "Neuen Index hinzuf�gen"
- 
-"Left" "Links"
- 
-"Field delimiter" "Feldtrennzeichen"
- 
-"Add formula" "Formular hinzuf�gen"
- 
-"Open database" "Datenbank �ffnen"
- 
-"Return" "?Zur�ck?"
- 
-"Changed fonts may appear in the next working session!" "Die neuen Schrifteinstellungen werden erst beim n�chsten Neustart wirksam"
- 
-"Error" "Fehler"
- 
-"Enter a field name" "Bitte geben Sie einen Feldnamen ein"
- 
-"field name" "Feldname"
- 
-"Forms" "Formulare"
- 
-"Cannot add column" "Kann keine Spalte hinzuf�gen"
- 
-"Clean" "Anzeige l�schen"
- 
-"Delete all objects ?" "Alle Objekte l�schen ?"
- 
-"Preferred language" "Bevorzugte Sprache"
- 
-"Execute SQL" "SQL ausf�hren"
- 
-"Sequences" "Z�hler"
- 
-"Button" "Knopf"
- 
-"Language" "Sprache"
- 
-"Query '%s' was not found!" "Abfrage '%s' nicht gefunden"
- 
-"Object" "Objekt"
- 
-"Font fixed" "feste Schriftbreite"
- 
-"Table name" "Tabellenname"
- 
-"Export" "Export"
- 
-"Change user" "Benutzer bearbeiten"
- 
-"You must give object a new name!" "Sie m�ssen dem Objekt einen neuen Namen geben"
- 
-"Query" "Abfrage"
- 
-"User name" "Benutzername"
- 
-"Font normal" "normale Schrift"
- 
-"Import table" "Tabelle importieren"
- 
-"Toolbar" "Toolbar"
- 
-"Radio btn" "Radio"
- 
-"You must supply a name for this function!" "Sie m�ssen dieser Funktion einen Namen geben"
- 
-"You have to select index fields!" "Sie m�ssen Index-Felder ausw�hlen."
- 
-"Constraint" "Constraint"
- 
-"The script must have a name" "Das Skript mu� einen Namen haben."
- 
-"Save" "Speichern"
- 
-"Exit" "Beenden"
- 
-"Inherits" "�bernehme"
- 
-"Delete field" "Feld l�schen"
- 
-"About" "�ber"
- 
-"Empty field name ?" "Leerer Feldname ?"
- 
-"All report information will be deleted.\n\nProceed ?" "Alle Berichsdaten werden gel�scht\n\nFortfahren ?"
- 
-"Host" "Rechner"
- 
-"vacuuming database %s ..." "Komprimiere Datenbank %s ..."
- 
-"Indexes defined" "definierte Indizes"
- 
-"You must specify field size!" "Sie m�ssen eine Feldgr��e angeben."
- 
-"Schema '%s' already exists!" "Schema '%s' existiert bereits."
- 
-"There is another field with the same name: '%s'!\n\nReplace it ?" "Es gibt bereits ein Feld mit diesem Namen : '%s'!\n\nSoll es ersetzt werden ?"
- 
-"Contents" "Inhalt"
- 
-"Views" "Views"
- 
-"Variable" "Variable"
- 
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "Fehler beim Ausf�hren der Abfrage\n\n%s\n\nPostgreSQL Fehlercode :\n%s \n PostgreSQL Status :%s"
- 
-"Filter conditions" "Filterbedingung"
- 
-"Error retrieving query definition" "Fehler beim Empfangen der Abfragedefinition"
- 
-"Error deleting view" "Fehler beim L�schen der View"
- 
-"New" "Neu"
- 
-"Tables" "Tabellen"
- 
-"Create" "Erzeugen"
- 
-"Forms need an internal name, only literals, low case" "Formulare ben�tigen einen internen Namen (nur Kleinbuchstaben)"
- 
-"Do you want to save the form into the database?" "M�chten Sie das Formular in der Datenbank speichern ?"
- 
-"Schema '%s' was not found!" "Schema '%s' nicht gefunden"
- 
-"proportional" "proportional"
- 
-"Function saved!" "Funktion gespeichert"
- 
-"with OIDs" "mit OIDs"
- 
-"Table information" "Information de table"
- 
-"Error inserting new record" "Fehler beim Einf�gen des neuen Datensatzes"
- 
-"Column name '%s' already exists in this table!" "Spaltenname '%s' existiert bereits"
- 
-"File" "Datei"
- 
-"Your table has no columns!" "Die Tabelle hat keine Felder."
- 
-"Height" "H�he"
- 
-"You will always get the latest version at:" "Die aktuellste Version finden Sie unter:"
- 
-"Form must have a name" "Das Formular mu� einen Namen haben"
- 
-"Password" "Passwort"
- 
-"Valid until (date)" "G�ltig bis (Datum)"
- 
-"Report source" "Datenquelle"
- 
-"Allow user to create databases" "Benutzer darf Datenbanken anlegen"
- 
-"Cancel" "Abbrechen"
- 
-"Is clustered ?" "Clustered ?"
- 
-"Add new column" "Neue Spalte hinzuf�gen"
- 
-"Show SQL" "SQL anzeigen."
- 
-"New name" "Neuer Name"
- 
-"Table '%s' not found!" "Tabelle '%s' nicht gefunden"
- 
-"Form name" "Formularname"
- 
-"Visual designer" "Visual Designer"
- 
-"You choose to delete index\n\n %s \n\nProceed?" "Soll der Index \n\n %s \n\n wirklich gel�scht werden ?"
- 
-"Error retrieving from" "Fehler beim Empfangen von..."
- 
-"Save query definition" "Abfragedefinition speichern"
- 
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Ein Tcl/TK Interface f�r\nPostgreSQL\n von Constantin Teodorescu"
- 
-"Operation completed!" "Operation abgeschlossen"
- 
-"Max rows displayed in table/query view" "maximale Anzahl angezeigter S�tze in Tabellen/Abfragen/Views"
- 
-"Passwords do not match!" "Die Passworte stimmen nicht �berein"
- 
-"Rename" "Umbenennen"
- 
-"Entry" "Eintrag"
- 
-"Error retrieving schema definition" "Fehler beim Empfang der Schemadefinition"
- 
-"This is an action query!\n\nExecute it?" "Dies ist ein Aktionsabfrage.\n\nAusf�hren ?"
- 
-"Error retrieving view definition for" "Fehler beim Ermitteln der Viewdefinition"
- 
-"options" "Optionen"
- 
-"Sequence '%s' not found!" "Z�hler '%s' nicht gefunden"
- 
-"Text" "Text"
- 
-"Tcl error executing pg_exec %s\n\n%s" "Tcl-Fehler beim Ausf�hren von pg_exec %s\n\n%s"
- 
-"Width" "Breite"
- 
-"You have to supply a name for this query!" "Sie m�ssen einen Namen f�r die Abfrage eingeben."
- 
-"Accessing data. Please wait ..." "Datenzugriff. Bitte warten ..."
- 
-"Report footer" "Reportfu�"
- 
-"Parameters" "Parameter"
- 
-"Queries" "Abfragen"
- 
-"Query '%s' already exists!" "Diese Abfrage '%s'  existiert bereits."
- 
-"Font bold" "Fettdruck"
- 
-"Query builder" "Abfrageassistent"
- 
-"Error defining view" "Fehler beim definieren der View"
- 
-"Top" "Oben"
- 
-"You must supply a name for your table!" "Sie m�ssen einen Tabellennamen angeben"
- 
-"Page footer" "Seitenfu�"
- 
-"Font italic" "Kursivschrift"
- 
-"Field name not entered!" "Kein Feldname eingegeben."
- 
-"Index name cannot be null!" "Der Index-Name darf nicht null sein."
- 
-"Sort" "Sortieren"
- 
-"Import-Export table" "Import/Export Tabelle"
- 
-"Point" "Punkt"
- 
-"type" "Typ"
- 
-"You should supply a name for this sequence" "Sie sollten einen Namen f�r diesen Z�hler angeben"
- 
-"Remove link ?" "Verweis l�schen?"
- 
-"You have to supply a table name!" "Sie m�ssen einen Tabellennamen angeben"
- 
-"Report header" "Berichtskopf"
- 
-"Attributes" "Attribute"
- 
-"Table '%s' already in schema" "die Tabelle '%s' ist bereits in diesem
-Schema vorhanden"
- 
-"Username" "Benutzername"
- 
-"Minvalue" "minimaler Wert"
- 
-"Sequence name" "Name des Z�hlers"
- 
-"Define sequence" "Z�hler definieren"
- 
-"Function" "Funktion"
- 
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "Das Sortieren und Filtern aus Abfragen heraus ist derzeit noch nicht m�glich\n\nBitte legen Sie sie in der Abfragedefinnition fest!"
- 
-"Reports" "Berichte"
-
-"Columns" "Spalten"
- 
-"Indexes" "Indizes"
-
-"Permissions" "Berechtigungen"
-
-"not null" "nicht null"
-
-"Cluster index" "Cluster index" 
-
-"index columns" "Indexspalten"
-
-"Add user" "Benutzer hinzuf�gen"
-
-"Change permissions" "Berechtigungen �ndern"
-
-"select" "Ausw�hlen"
-
-"update" "Aktualisieren"
-
-"insert" "Einf�gen"
-
-"rule" "Regeln"
-
-"Identification" "Identifikation"
-
-"Owner ID" "ID des Eigen�mers"
-
-"Has primary key ?" "Prim�schl�ssel vorhanden ?"
-
-"Has rules ?" "Regeln vorhanden ?"
-
-"Statistics" "Statistik"
-
-"Number of tuples" "Anzahl der S�tze"
-
-"Number of pages" "Anzahl der Seiten"
-
-"Index name" "Indexname"
-
-"Index fields" "Indexfelder"
-
-"Table OID" "OID der Tabelle"
-
-"View system tables" "Systemtabellen anzeigen"
-
-"Back" "Zur�ck"
-
-"primary key" "Prim�rschl�ssel"
-
-"Comments" "Anmerkungen"
-
-"Print" "Drucken"
-}
-
-
diff --git a/src/bin/pgaccess/lib/languages/euskara b/src/bin/pgaccess/lib/languages/euskara
deleted file mode 100644
index 9fc30d1f854..00000000000
--- a/src/bin/pgaccess/lib/languages/euskara
+++ /dev/null
@@ -1,532 +0,0 @@
-array set Messages {
-
-"Label" "Etiketa"
-
-"Save schema" "Salbatu Eskema"
-
-"Is unique ?" "Indice bakarra da?"
-
-"Report builder" "Txostenen Sorgailua"
-
-"Criteria" "Erizpide"
-
-"FATAL ERROR upgrading PgAccess table" "HALABEHARREZKO ERROREA gaurkotzen PgAccess-aren taula"
-
-"Save this query as a view" "Salbazu kontsulta hau bista bezala"
-
-"Page header" "Orrialdearen burua"
-
-"Query name" "Izen"
-
-"Please select an object first!" "Mesedez, aukeratu helburu bat"
-
-"Fields :" "Arloak"
-
-"Name" "Izen"
-
-"File name" "Artxiboaren izena"
-
-"Detail record" "Erregistroaren Xehetasuna"
-
-"Auto-load the last opened database at startup" "Hasieran base-datuen azkena automatikoki kargatzen du"
-
-"Maxvalue" "Balio Maximoa"
-
-"Start value" "Hasierako balioa"
-
-"Report fields" "Informearen arloak"
-
-"Test form" "Formulario gauzatze"
-
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error 
-message:%s" "Errorea konektatzean base-datu '%s' %s -n serbitzailean  \n\nPostgresSQL-ren mezu errorea:%s"
-
-"No field type ?" "Arlo-Mota ez?"
-
-"User without name?" "�Izen gabeko erabiltzailea?"
-
-"You have to supply a name for this schema!" "Eskema honetarako izen bat hornitu behar duzu!"
-
-"Last value" "Azken balioa"
-
-"Preferences" "Lehentasunak"
-
-"View '%s' already exists!\nOverwrite ?" "Bista  '%s' existitzen da jadanik.\nGainean idatzi?"
-
-"You have to select an index!" "Zuk ez duzu indizea aukeratu!"
-
-"Field type" "Mota"
-
-"Script name" "Script-aren izena"
-
-"Reload" "Gaurkotu"
-
-"Remove table %s from query?" "Ezabatu taula  %s kontsultatik?"
-
-"SQL window" "SQL Lehioa"
-
-"Allow user to create other users" "Beste erabiltzaile batzuk sortzen utzi erabiltzaileari"
-
-"Delete current record ?" "Ezabatu oraingo erregistroa?"
-
-"List box" "Zerrenda"
-
-"Save to query builder" "Salbatu Kontsulten sorgailuan"
-
-"fixed width" "Zabalera fixoa"
-
-"Scripts" "Script"
-
-"Yes" "Bai"
-
-"Add label" "Gehitu etiketa"
-
-"Sequence created!" "Sekuentzia sortua!"
-
-"Field information" "Arloaren informazioa"
-
-"Design" "Diseinua"
-
-"Field" "Arlo"
-
-"You have to supply an external file name!" "Idatzi artxibo berriaren izena!"
-
-"Increment" "Gehikuntza"
-
-"No" "Ez"
-
-"Form design" "Formulario diseinua"
-
-"You must supply a return type!" "Itzultzeko mota bat hornitu behar duzu!"
-
-"Remove field from result ?" "Ezabatu arloa emaitzatik?"
-
-"There is another object (a %s) with the same name.\nPlease change it!" "Beste objektu, (%s), izen berberaz\nMesedez, aldatu izena"
-
-"This query has no commands?" "Kontsulta honek ez du komandorik?"
-
-"Execute query" "Exekutatu kontsulta"
-
-"field cannot be null" "Baliogabeko Arloa ezin da izan"
-
-"Help" "Laguntza"
-
-"Rename column" "Renombrar columna"
-
-"Database" "Datutegi"
-
-"Information" "Informazioa"
-
-"Close" "Itxi"
-
-"Command" "Komando"
-
-"Table" "Taula"
-
-"verify password" "Egiaztatu Pasahitza"
-
-"Vacuum" "Hustu"
-
-"Default value" "Berezko balioa"
-
-"Import" "Importatu"
-
-"Delete index" "Ezabatu Indizea"
-
-"Move up" "Mugi Gora"
-
-"index properties" "Indizearen Propietateak"
-
-"check" "Egiaztatu"
-
-"Create new table" "Sortu taula berria"
-
-"Visual query designer" "Kontsulten sorgailu bisuala"
-
-"Delete all" "Ezabatu oro"
-
-"You are going to delete\n\n %s \n\nProceed?" "Zuk ezabatu (ote) duzu\n\n %s 
-\n\nJarraitu?"
-
-"Schema name" "Eskemaren izena"
-
-"Error executing query" "Errorea Kontsulta exekutatzen"
-
-"Report name" "Izena"
-
-"Add field" "Gehitu arlo bat"
-
-"Field name" "Arloaren izena"
-
-"FATAL ERROR searching for PgAccess system tables" "HALABEHARREZKO ERROREA  PgAccess-en Taula Sisteman bilatzen"
-
-"A big number of rows displayed in table view will take a lot of memory!" 
-"Oroimen handia okupatuko du zabaldutako ilada kopuru handiak"
-
-"Preview" "Aurretiko"
-
-"Users" "Erabiltzaileak"
-
-"Owner" "Jabea"
-
-"Form's window internal name" "Formulario lehioaren barne izena"
-
-"Sort field" "Ordenatu ...gatik"
-
-"New name is the same as the old one!" "Izen berria aurreko berbera da!"
-
-"Warning" "Oharra"
-
-"Suggestions at" "Iradokizuna"
-
-"Functions" "Funtzioak"
-
-"Schema" "Eskema"
-
-"Open" "Ireki"
-
-"size" "Neurria"
-
-"Delete" "Ezabatu"
-
-"Returns" "Itzuli"
-
-"Define new user" "Erabiltzaile berria"
-
-"Move down" "Mugi behera"
-
-"Design script" "Scripts-en Diseinua"
-
-"Check box" "Txekeo Kutxa"
-
-"FINAL WARNING" "BUKAERAKO OHARRA"
-
-"Add table" "Gehitu taula"
-
-"Table viewer font" "Letra-mota Taula"
-
-"The field type is not specified!" "Arlo-mota ez da zehaztua izan!"
-
-"Close test form" "Itxi formularioaren froga"
-
-"Export table" "Exportatu taula"
-
-"Add new index" "Gehitu indize berria"
-
-"Left" "Ezkerra"
-
-"Field delimiter" "Mugagailu"
-
-"Add formula" "Gehitu formula"
-
-"Open database" "Ireki datutegi"
-
-"Return" "Itzuli"
-
-"Changed fonts may appear in the next working session!" "Iturrien aldaketa hurrengo saioan azalduko da"
-
-"Error" "Errore"
-
-"Enter a field name" "Arlo-izena eman"
-
-"field name" "Arloaren izena"
-
-"Forms" "Formularioak"
-
-"Cannot add column" "Ezin dut gehitu zutabea"
-
-"Clean" "Garbitu"
-
-"Delete all objects ?" "Ezabatu objektu oro?"
-
-"Preferred language" "Lengoaia hobetsia"
-
-"Execute SQL" "SQL exekutatu"
-
-"Sequences" "Sekuentziak"
-
-"Button" "Botoi"
-
-"Language" "Lengoaia"
-
-"Query '%s' was not found!" "Kontsulta '%s' ez zen aurkitu"
-
-"Object" "Objektu"
-
-"Font fixed" "Iturri fixoa"
-
-"Table name" "Taularen izena"
-
-"Export" "Exportatu"
-
-"Change user" "Aldatu erabiltzailea"
-
-"You must give object a new name!" "Zuk izen berri bat eman behar diozu objektuari!"
-
-"Query" "Kontsulta"
-
-"User name" "Erabiltzailearen izena"
-
-"Font normal" "Iturri normala"
-
-"Import table" "Importatu Taula"
-
-"Toolbar" "Tresnen barra"
-
-"Radio btn" "Radio Botio"
-
-"You must supply a name for this function!" "Zuk izen bat eman behar diozu Funtzio honi!"
-
-"You have to select index fields!" "Indize arloa aukeratu behar duzu!"
-
-"Constraint" "Coacci�n"
-
-"The script must have a name" "Script-ak izen bat behar du izan"
-
-"Save" "Gorde"
-
-"Exit" "Irten"
-
-"Inherits" "Heredatu"
-
-"Delete field" "Ezabatu arloa"
-
-"About" "PGaccess-i buruz"
-
-"Empty field name ?" "Arlo izenik ez?"
-
-"All report information will be deleted.\n\nProceed ?" "Txostenaren informazio oro ezabatuko da.\n\nJarraitu?"
-
-"Host" "Zerbitzari"
-
-"vacuuming database %s ..." "Datutegi  %s  hustutzen..."
-
-"Indexes defined" "Definitu indizeak"
-
-"You must specify field size!" "Arloaren neurria zehaztu behar duzu"
-
-"Schema '%s' already exists!" "Eskema '%s' existitzen da!"
-
-"There is another field with the same name: '%s'!\n\nReplace it ?" "Beste arlo bat dago izen berberaz: '%s' \n\nOrdezkatu nahi?"
-
-"Contents" "Edukina"
-
-"Views" "Bistak"
-
-"Variable" "Aldagai"
-
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL 
-status:%s" "Errorea kontsulta exekutatzen:\n\n%s\n\nPostgreSQL-aren mezu errorea:\n%s\nStatus:%s"
-
-"Filter conditions" "Iragazkiaren baldintzak"
-
-"Error retrieving query definition" "Errorea errekuperatzen kontsultaren definizioa"
-"Error deleting view" "Errorea ezabatzen bista"
-
-"New" "Berri"
-
-"Tables" "Taulak"
-
-"Create" "Sortu"
-
-"Forms need an internal name, only literals, low case" "Formularioak barne izena behar du, letrak soilik, letra xehez"
-
-"Do you want to save the form into the database?" "Datutegian formularioa gorde nahi duzu?"
-
-"Schema '%s' was not found!" "Eskema '%s' ez zen aurkitu!"
-
-"proportional" "Proportzional"
-
-"Function saved!" "Funtzio gordeta!"
-
-"with OIDs" " OID-ekin"
-
-"Table information" "Taularen informazioa"
-
-"Error inserting new record" "Errorea txertxatzen erregistro berria"
-
-"Column name '%s' already exists in this table!" "Taula honetan existitzen da zutabearen izena '%s'!"
-
-"File" "Artxibo"
-
-"Your table has no fields!" "Taulak ez du arlorik!"
-
-"Height" "Garaiera"
-
-"You will always get the latest version at:" "Beti azken bertsioa eskuratuko duzu hemen:"
-
-"Form must have a name" "Formularioak izen bat behar du!"
-
-"Password" "Pasahitz"
-
-"Valid until (date)" "Balioduna ...arte (data)"
-
-"Report source" "Datuen jatorria"
-
-"Allow user to create databases" "Baimendu erabiltzaileari datutegi sortzeko"
-
-"Cancel" "Ezeztatu"
-
-"Is clustered ?" "Multzokaturik dago?"
-
-"Add new column" "Gehitu zutabe berria"
-
-"Show SQL" "Erakutsi SQL"
-
-"New name" "Izen berria"
-
-"Table '%s' not found!" "Taula '%s' ez da aurkitzen!"
-
-"Form name" "Formularioaren izena"
-
-"Visual designer" "Diseinagailu Bisuala"
-
-"You choose to delete index\n\n %s \n\nProceed?" "Hautatu duzu indize\n\n %s  ezabatu\n\nJarraitu?"
-
-"Error retrieving from" "Errorea kargatzen"
-
-"Save query definition" "Salbatu kontsultaren definizioa"
-
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Tcl/Tk interfaze bat\nPostgreSQL-rako\nConstantin Teodorescu-ren eskutik"
-
-"Operation completed!" "Eragiketa Osatua!"
-
-"Max rows displayed in table/query view" "Ilada maximoak taula/kontsultan erakutsiak"
-
-"Passwords do not match!" "Pasahitz ez baliozkoa!"
-
-"Rename" "Berrizendu"
-
-"Entry" "Sarrera"
-
-"Error retrieving schema definition" "Errorea errekuperatzen eskemaren definizioa"
-
-"This is an action query!\n\nExecute it?" "Hau kontsulta ekintza da!\n\nExekutatu?"
-
-"Error retrieving view definition for" "Errorea errekuperatzen  definizioa  ...(ta)rako"
-
-"options" "Hautabideak"
-
-"Sequence '%s' not found!" "�Sekuentzia '%s' ez aurkitua!"
-
-"Text" "Testu"
-
-"Tcl error executing pg_exec %s\n\n%s" "Tcl Errorea  exekutatzen pg_exec 
-%s\n\n%s"
-
-"Width" "Zabalera"
-
-"You have to supply a name for this query!" "Izen bat eman behar diozu kontsulta honi"
-
-"Accessing data. Please wait ..." "Datuen sarbidea. Itxaron, mesedez..."
-
-"Report footer" "Txostenaren oina"
-
-"Parameters" "Parametroak"
-
-"Queries" "Kontsultak"
-
-"Query '%s' already exists!" "Konsulta '%s' existitzen da jadanik!"
-
-"Font bold" "Iturria lodiz"
-
-"Query builder" "Kontsulten sorgailua"
-
-"Error defining view" "Errorea bistaren  definizioan"
-
-"Top" "Gora"
-
-"You must supply a name for your table!" "Zure taularako izen bat eman behar duzu!"
-
-"Page footer" "Orrialdearen oina"
-
-"Font italic" "Iturri Italikoa"
-
-"Field name not entered!" "Arlo-izena ez metatua!"
-
-"Index name cannot be null!" "Indizearen izena ezin da izan nulu!"
-
-"Sort" "Ordenatu"
-
-"Import-Export table" "Inportatu/Exportatu taula"
-
-"Point" "Puntu"
-
-"type" "Mota"
-
-"You should supply a name for this sequence" "Izen bat eman beharko zenuke sekuentzia honetarako"
-
-"Remove link ?" "Ezabatu lotura?"
-
-"You have to supply a table name!" "Taula-izen bat eman behar duzu!"
-
-"Report header" "Txostenaren burua"
-
-"Attributes" "Atributuak"
-
-"Table '%s' already in schema" "Taula '%s' eskeman existitzen da jadanik!"
-
-"Username" "Erabiltzaile"
-
-"Minvalue" "Balio minimoa"
-
-"Sequence name" "Sekuentziaren Izena"
-
-"Define sequence" "Definitu sekuentzia"
-
-"Function" "Funtzio"
-
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter 
-them in the query definition!" "Ordenatzen eta iragazten, kontsultak egiteko prest ez!\n\nMesedez, sartu kontsultaren definizioan"
-
-"Reports" "Txostenak"
-
-"primary key" "Lehen gakoa"
-
-"Back" "Atzean"
-
-"Columns" "Zutabeak"
-
-"Indexes" "Indizeak"
-
-"Permissions" "Baimenak"
-
-"not null" "Ez nulu"
-
-"Cluster index" "Indize multzokaturik"
-
-"index columns" "Zutabe indize"
-
-"Add user" "Gehitu erabiltzailea"
-
-"Change permissions" "Aldatu baimenak"
-
-"select" "Aukeratu"
-
-"update" "Gaurkotu"
-
-"insert" "Txertatu"
-
-"rule" "Arau"
-
-"Identification" "Identifikazio"
-
-"Owner ID" "Jabearen ID"
-
-"Has primary key ?" "Gako primarioa du?"
-
-"Has rules ?" "Arauak ditu?"
-
-"Statistics" "Estatika"
-
-"Number of tuples" "Tupleen kopurua"
-
-"Number of pages" "Orrialde kopurua"
-
-"Index name" "Indizearen izena"
-
-"Index fields" "Arlo indize"
-
-"Table OID" "Taularen OID"
-}
-
diff --git a/src/bin/pgaccess/lib/languages/francais b/src/bin/pgaccess/lib/languages/francais
deleted file mode 100644
index 8c25fce52ab..00000000000
--- a/src/bin/pgaccess/lib/languages/francais
+++ /dev/null
@@ -1,585 +0,0 @@
-array set Messages {
-
-"Label" "Libell�"
- 
-"Save schema" "Sauver sch�ma"
- 
-"Is unique ?" "Est unique ?"
- 
-"Report builder" "Constructeur d'�tats"
- 
-"Criteria" "Crit�res"
- 
-"FATAL ERROR upgrading PgAccess table" "ERREUR FATALE en actualisant la table PgAccess"
- 
-"Save this query as a view" "Sauver cette requ�te en tant que vue"
- 
-"Page header" "En-t�te de page"
- 
-"Query name" "Nom de la requ�te"
- 
-"Please select an object first!" "Veuillez s�lectionner un objet d'abord"
- 
-"Fields :" "Champs :"
- 
-"Name" "Nom"
- 
-"File name" "Nom du fichier"
- 
-"Detail record" "D�tail d'enregistrement"
- 
-"Auto-load the last opened database at startup" "Chargement automatique de la derni�re base ouverte au d�marrage"
- 
-"Maxvalue" "Valeur maximale"
- 
-"Start value" "Valeur de d�but"
- 
-"Report fields" "Champs de l'�tat"
- 
-"Test form" "Tester formulaire"
- 
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "Erreur de liaison � la base de donn�es '%s' pour machine %s \n\nMessage d'erreur PostgreSQL:%s"
- 
-"No field type ?" "Type de champ inexistant ?"
- 
-"User without name?" "Cette utilisateur a-t-il un nom?"
- 
-"You have to supply a name for this schema!" "Vous devez fournir un nom pour ce sch�ma !"
- 
-"Last value" "Derni�re valeur"
- 
-"Preferences" "Pr�f�rences"
- 
-"View '%s' already exists!\nOverwrite ?" "La vue '%s' existe d�j� !\n �craser ?"
- 
-"You have to select an index!" "Vous devez s�lectionner un index"
- 
-"Field type" "Type"
-
-"Script name" "Nom du script"
- 
-"Reload" "Appliquer"
- 
-"Remove table %s from query?" "�nlever la table %s de la requ�te ?"
- 
-"SQL window" "Fen�tre SQL"
- 
-"Allow user to create other users" "Peut cr�er d'autres utilisateurs"
- 
-"Delete current record ?" "D�truire l'enregistrement courant ?"
- 
-"List box" "Liste"
- 
-"Save to query builder" "Entregistrer la requ�te"
- 
-"fixed width" "largeur de police fixe"
- 
-"Scripts" "Scripts"
- 
-"Yes" "Oui"
- 
-"Add label" "Ajouter un libell�"
- 
-"Sequence created!" "La s�quence a �t� cr��e"
- 
-"Field information" "Information de champ"
- 
-"Design" "�diter"
- 
-"Field" "Champ"
- 
-"You have to supply an external file name!" "Vous devez fournir un nom du fichier"
- 
-"Increment" "Incr�ment"
- 
-"No" "Non"
-
-"Form designer" "Cr�ateur graphique de formulaires"
- 
-"Form design" "Cr�ation du formulaire"
- 
-"You must supply a return type!" "Vous devez fournir un type de retour"
- 
-"Remove field from result ?" "�liminer le champ du r�sultat?"
- 
-"There is another object (a %s) with the same name.\nPlease change it!" "Il y a un autre objet (%s) avec le m�me nom.\nChangez le SVP!"
- 
-"This query has no commands?" "Cette requ�te n'a pas de d�finition ?"
- 
-"Execute query" "Ex�cuter la requ�te"
- 
-"field cannot be null" "Ce champ ne peut �tre vide"
- 
-"Help" "Aide"
- 
-"Rename column" "Renommer champ"
- 
-"Database" "Base de donn�es"
- 
-"Information" "Information"
- 
-"Close" "Fermer"
- 
-"Command" "Commande"
- 
-"Table" "Table"
- 
-"verify password" "encore une fois"
- 
-"Vacuum" "Vider"
- 
-"Default value" "Valeur par d�faut"
- 
-"Import" "Importer"
- 
-"Delete index" "D�truire index"
- 
-"Move up" "Monter"
- 
-"index properties" "Propri�t�s d'index"
- 
-"check" "v�rifier"
- 
-"Create new table" "Cr�ation de nouvelle table"
- 
-"Visual query designer" "Cr�ateur graphique de requ�tes"
- 
-"Delete all" "D�truire"
- 
-"You are going to delete\n\n %s \n\nProceed?" "Vous allez d�truire\n\n %s \n\nD'accord?"
- 
-"Schema name" "Nom du sch�ma"
- 
-"Error executing query" "Erreur en ex�cutant la requ�te"
- 
-"Report name" "Nom de l'�tat"
- 
-"Add field" "Ajouter"
- 
-"Field name" "Nom"
- 
-"FATAL ERROR searching for PgAccess system tables" "ERREUR FATALE en cherchant le syst�me de tables PgAccess"
- 
-"A big number of rows displayed in table view will take a lot of memory!" "L'affichage d'un grand nombre de lignes prend beaucoup de m�moire"
- 
-"Preview" "Aper�u"
- 
-"Users" "Utilisateurs"
- 
-"Owner" "Auteur"
- 
-"Form's window internal name" "Le nom interne de la fen�tre de formulaire"
- 
-"Sort field" "Ordre champs"
- 
-"New name is the same as the old one!" "Le nouveau nom est le m�me que l'ancien"
- 
-"Warning" "Avertissement"
- 
-"Suggestions at" "Suggestions �"
- 
-"Functions" "Fonctions"
- 
-"Schema" "Sch�ma"
- 
-"Open" "Ouvrir"
- 
-"size" "taille"
- 
-"Delete" "D�truire"
- 
-"Returns" "Retours"
- 
-"Define new user" "Cr�er un nouvel utilisateur"
- 
-"Move down" "Descendre"
- 
-"Design script" "Cr�er un script"
- 
-"Check box" "Case � cocher"
- 
-"FINAL WARNING" "DERNIER AVERTISSEMENT"
- 
-"Add table" "Ajouter une table"
- 
-"Table viewer font" "Police du visualisateur de tables"
- 
-"The field type is not specified!" "Le type de champ n'est pas sp�cifi�"
- 
-"Close test form" "Fermer le test du formulaire"
- 
-"Export table" "Exporter"
- 
-"Add new index" "Ajouter un nouvel index"
- 
-"Left" "Gauche"
- 
-"Field delimiter" "S�parateur champ"
- 
-"Add formula" "Ajouter une formule"
- 
-"Open database" "Ouvre la base de donn�es"
- 
-"Return" "Retour"
- 
-"Changed fonts may appear in the next working session!" "Les nouvelles polices appara�tront � la prochaine session"
- 
-"Error" "Erreur"
- 
-"Enter a field name" "Entrez un nom de champ"
- 
-"field name" "Nom du champ"
- 
-"Forms" "Formulaires"
- 
-"Cannot add column" "Impossible d'ajouter une colonne"
- 
-"Clean" "Nettoyer"
- 
-"Delete all objects ?" "D�truire tous les objets ?"
- 
-"Preferred language" "Langage pr�f�r�"
- 
-"Execute SQL" "Ex�cuter SQL"
- 
-"Sequences" "S�quences"
-
-"Sequence" "S�quence"
- 
-"Button" "Bouton"
- 
-"Language" "Langage"
- 
-"Query '%s' was not found!" "La requ�te '%s' n'a pas �t� trouv�e"
- 
-"Object" "Objet"
- 
-"Font fixed" "Police fixe"
- 
-"Table name" "Nom de la table"
- 
-"Export" "Exporter"
- 
-"Change user" "Changer utilisateur"
- 
-"You must give object a new name!" "Vous devez donner un nouveau nom."
- 
-"Query" "Requ�te"
- 
-"User name" "Nom de l'utilisateur"
- 
-"Font normal" "Police normale"
- 
-"Import table" "Importer"
- 
-"Toolbar" "Outils"
- 
-"Radio btn" "Radio"
- 
-"You must supply a name for this function!" "Vous devez fournir un nom pour la fonction"
- 
-"You have to select index fields!" "Vous devez s�lectionner le champ pour l'index"
- 
-"Constraint" "Contrainte"
- 
-"The script must have a name" "Le script doit avoir un nom"
- 
-"Save" "Sauver"
- 
-"Exit" "Quitter"
- 
-"Inherits" "Source"
- 
-"Delete field" "D�truire champ"
- 
-"About" "� propos"
- 
-"Empty field name ?" "Nom de champ inexistant ?"
- 
-"All report information will be deleted.\n\nProceed ?" "Toutes les informations de l'�tat vont �tre d�truites\n\nContinuer ?"
- 
-"Host" "Machine"
- 
-"vacuuming database %s ..." "Vide la base %s ..."
- 
-"Indexes defined" "Index d�finis"
- 
-"You must specify field size!" "La taille du champ doit �tre pr�cis�e"
- 
-"Schema '%s' already exists!" "Le sch�ma '%s' existe d�j�!"
- 
-"There is another field with the same name: '%s'!\n\nReplace it ?" "Il y a un autre champ avec le m�me nom : '%s'\n\nRemplacer ?"
- 
-"Contents" "Contenu"
- 
-"Views" "Vues"
- 
-"Variable" "Variable"
- 
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "Erreur en ex�cutant la requ�te\n\n%s\n\nMessage d'erreur PostgreSQL:\n%s \n Statut de PostgreSQL:%s"
- 
-"Filter conditions" "Conditions de filtre"
- 
-"Error retrieving query definition" "Erreur en charchant la d�finition de la requ�te"
- 
-"Error deleting view" "Erreur en d�truisant la vue"
- 
-"New" "Cr�er"
- 
-"Tables" "Tables"
- 
-"Create" "Cr�er"
- 
-"Forms need an internal name, only literals, low case" "Les formulaires ont besoin d'un nom interne, seulement en lettres alphab�tiques minuscules"
- 
-"Do you want to save the form into the database?" "Voulez vous sauver le formulaire dans la base?"
- 
-"Schema '%s' was not found!" "Le sch�ma '%s' n'a pas �t� trouv�"
- 
-"proportional" "proportionnelle"
- 
-"Function saved!" "La fonction a �t� cr��e"
- 
-"with OIDs" "avec des OIDs"
- 
-"Table information" "Informations sur la table"
- 
-"Error inserting new record" "Erreur en �crivant le nouvel enregistrement"
- 
-"Column name '%s' already exists in this table!" "Le nom de colonne existe d�j� dans cette table !"
- 
-"File" "Fichier"
- 
-"Your table has no columns!" "Cette table n'a pas de champ !"
- 
-"Height" "Hauteur"
- 
-"You will always get the latest version at:" "Derni�re version disponible � :"
- 
-"Form must have a name" "Le formulaire doit avoir un nom !"
- 
-"Password" "Mot de passe"
- 
-"Valid until (date)" "Valable jusqu'�"
- 
-"Report source" "Source de l'�tat"
- 
-"Allow user to create databases" "Peut cr�er une base"
- 
-"Cancel" "Annuler"
- 
-"Is clustered ?" "Est group� ?"
- 
-"Add new column" "Ajouter un nouveau champ"
-
-"Show SQL" "Montrer SQL"
- 
-"New name" "Nouveau nom"
- 
-"Table '%s' not found!" "La table '%s' est introuvable."
- 
-"Form name" "Nom du formulaire"
- 
-"Visual designer" "Cr�ateur graphique"
- 
-"You choose to delete index\n\n %s \n\nProceed?" "Vous allez d�truire l'index\n\n %s \n\nConfirmation ?"
- 
-"Error retrieving from" "Erreur en retrouvant"
- 
-"Save query definition" "Sauver la d�finition de la requ�te"
- 
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Interface Tcl/Tk pour PostgreSQL\npar Constantin Teodorescu\nTraduction g.delafond@medsyn.fr"
- 
-"Operation completed!" "Op�ration finie"
- 
-"Max rows displayed in table/query view" "Nombre maximal de lignes affich�es dans la table/vue de requ�te"
- 
-"Passwords do not match!" "Les mots de passe ne vont pas"
- 
-"Rename" "Renommer"
- 
-"Entry" "Entr�e"
- 
-"Error retrieving schema definition" "Erreur en retrouvant la d�finition du sch�ma"
- 
-"This is an action query!\n\nExecute it?" "Ceci est une requ�te d'action.\nEx�cuter ?"
- 
-"Error retrieving view definition for" "Erreur en lisant la d�finition pour la vue"
- 
-"options" "options"
- 
-"Sequence '%s' not found!" "La s�quence '%s' n'a pas �t� trouv�e"
- 
-"Text" "Texte"
- 
-"Tcl error executing pg_exec %s\n\n%s" "Erreur Tcl en ex�cutant pg_exec %s\n\n%s"
- 
-"Width" "Largeur"
- 
-"You have to supply a name for this query!" "Vous devez donner un nom � cette requ�te"
- 
-"Accessing data. Please wait ..." "Lit les donn�es. Patience ..."
- 
-"Report footer" "Pied de rapport"
- 
-"Parameters" "Param�tres"
- 
-"Queries" "Requ�tes"
- 
-"Query '%s' already exists!" "La requ�te '%s' existe dej� !"
- 
-"Font bold" "Police grasse"
- 
-"Query builder" "Constructeur de requ�tes"
- 
-"Error defining view" "Erreur en d�finissant la vue"
- 
-"Top" "Haut"
- 
-"You must supply a name for your table!" "Vous devez fournir un nom pour cette table"
- 
-"Page footer" "Pied de page"
- 
-"Font italic" "Police italique"
- 
-"Field name not entered!" "Le nom de champ n'est pas entr�"
- 
-"Index name cannot be null!" "Le nom de l'index ne peut �tre nul"
- 
-"Sort" "Trier"
- 
-"Import-Export table" "Import/Export table"
- 
-"Point" "Point"
- 
-"type" "type"
- 
-"You should supply a name for this sequence" "Vous devez donner un nom � la s�quence"
- 
-"Remove link ?" "D�truire cette liaison?"
- 
-"You have to supply a table name!" "Vous devez fournir un nom de table"
- 
-"Report header" "En t�te de l'�tat"
- 
-"Attributes" "Attributs"
- 
-"Table '%s' already in schema" "La table '%s' est d�j� dans le sch�ma"
- 
-"Username" "Utilisateur"
- 
-"Minvalue" "Valeur minimale"
- 
-"Sequence name" "Nom de s�quence"
- 
-"Define sequence" "Cr�er la s�quence"
- 
-"Function" "Fonction"
- 
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "Tri et filtrage pas (encore) possibles � partir des requ�tes!\n\nEntrez les dans la d�finition de la requ�te SVP."
- 
-"Reports" "�tats"
-
-"Columns" "Colonnes"
-
-"Indexes" "Index"
-
-"Table OID" "OID de la table"
-
-"Owner ID" "ID de l'utilisateur"
-
-"Has primary key ?" "A une cl� primaire ?"
-
-"Has rules ?" "Utilise des r�gles ?"
-
-"Number of tuples" "Nombre de multiplets"
-
-"Number of pages" "Nombre de pages"
-
-"index columns" "Colonnes d'index"
-
-"Cluster index"  "Grouper index"
-
-"General" "G�n�ral"
-
-"Statistics" "Statistiques"
-
-"Index name" "Nom d'index"
-
-"Index fields" "Champs d'index"
-
-"select" "S�lectionner"
-
-"update" "Actualiser"
-
-"insert" "Ins�rer"
-
-"rule" "R�gle"
-
-"Add user" "Ajouter un utilisateur"
-
-"Change permissions" "Changer les droits"
-
-"Comments" "Commentaires"
- 
-"You must supply the function language!" "Vous devez fournir le langage de la fonction"
-
-"Database field" "Champ"
-
-"Class" "Groupe"
-
-"Font" "Police"
-
-"Align" "Aligner"
-
-"Foreground" "Avant-plan"
-
-"Background" "Arri�re-plan"
-
-"Border width" "Largeur de bordure"
-
-"Width" "Largeur"
-
-"Height" "Hauteur"
-
-"Left" "Gauche"
-
-"Top" "Haut"
-
-"primary key" "Cl� primaire"
-
-"Print" "Imprimer"
-
-"Report preview" "Aper�u de l'�tat"
-
-"The printed image in Postscript is in the file pgaccess-report.ps" "L'image imprim�e en postscript est dans le fichier pgaccess-report.ps"
-
-"Delete current report object?" "D�truire l'objet d'�tat en cours ?"
-
-"Your query has been executed without error!" "Votre requ�te a �t� ex�cut�e sans erreur"
-
-"Layout info changed !\nRescanning..." "Informations de sortie chang�es.\nRecharge..."
-
-"Visual schema designer" "Cr�ateur graphique de sch�mas"
-
-"Print to Postscript" "Imprimer en Postscript"
-
-"Save Error: Unable to open '$fn' for writing\n$fid" "Erreur d'enregistrement : Impossible d'ouvrir '$fn' pour �crire\n$fid"
-
-"Query result:%s" "R�sultat de la requ�te %s"
-
-"Loading maximum %s" "Charge au maximum %s"
-
-"records..." "enregistrements..."
-
-"Startup script" "Script de d�marrage"
-
-"Multiple ($nrlay) layout info found\n\nPlease report the bug!" "Informations multiples trouv�es dans ($nrlay) \n\n Veuillez reporter le bug"
-
-"Table information - %s" "Informations sur la table - %s"
-
-"Back" "Retour"
-
-"Loading maximum %s records ..." "Charge au maximum %s enregistrements..."
-
-}
diff --git a/src/bin/pgaccess/lib/languages/italiano b/src/bin/pgaccess/lib/languages/italiano
deleted file mode 100644
index c7a9f70869a..00000000000
--- a/src/bin/pgaccess/lib/languages/italiano
+++ /dev/null
@@ -1,539 +0,0 @@
-array set Messages {
-
-"Label" "Etichetta"
- 
-"Save schema" "Salva lo schema"
- 
-"Is unique ?" "E' unico ?"
- 
-"Report builder" "Report builder"
- 
-"Criteria" "Criterio"
- 
-"FATAL ERROR upgrading PgAccess table" "ERRORE FATALE aggiornando le tabelle PgAccess"
- 
-"Save this query as a view" "Salva questa query come View"
- 
-"Page header" "Testata di pagina"
- 
-"Query name" "Nome query"
- 
-"Please select an object first!" "Seleziona prima un'oggetto!"
- 
-"Fields :" "Campi :"
- 
-"Name" "Nome"
- 
-"File name" "Nome del file"
- 
-"Detail record" "Dettaglio del record"
- 
-"Auto-load the last opened database at startup" "Apertura automatica ultimo database all'avvio"
- 
-"Maxvalue" "Valore massimo"
- 
-"Start value" "Valore d'inizio"
- 
-"Report fields" "Campi disponibili"
- 
-"Test form" "Test form"
- 
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "Errore di connessione al database '%s' sull'host %s \n\nMessaggio d'errore di PostgreSQL :%s"
- 
-"No field type ?" "Nessun tipo per il campo?"
- 
-"User without name?" "Utente senza nome ?"
- 
-"You have to supply a name for this schema!" "Devi specificare un nome per lo schema!"
- 
-"Last value" "Ultimo valore"
- 
-"Preferences" "Preferenze"
- 
-"View '%s' already exists!\nOverwrite ?" "View '%s' esiste gia'!\nSovrascrivo ?"
- 
-"You have to select an index!" "Devi scegliere un'indice!"
- 
-"Field type" "Tipo campo"
- 
-"Script name" "Nome dello Script"
- 
-"Reload" "Ricarica"
- 
-"Remove table %s from query?" "Rimuovere la tabella %s dalla query?"
- 
-"SQL window" "Finestra SQL"
- 
-"Allow user to create other users" "L'utente puo' creare altri utenti"
- 
-"Delete current record ?" "Cancello il record corrente? "
- 
-"List box" "Lista"
- 
-"Save to query builder" "Salva nel query builder"
- 
-"fixed width" "larghezza fissa"
- 
-"Scripts" "Scripts"
- 
-"Yes" "Si"
- 
-"Add label" "Aggiungi etichetta"
- 
-"Sequence created!" "Sequenza creata !"
- 
-"Field information" "Informazioni sul campo"
- 
-"Design" "Disegna"
- 
-"Field" "Campo"
- 
-"You have to supply an external file name!" "Devi specificare un nome file esterno!"
- 
-"Increment" "Incremento"
- 
-"No" "No"
- 
-"Form design" "Disegna il Form"
- 
-"You must supply a return type!" "Devi specificare il tipo di dato ritornato"
- 
-"Remove field from result ?" "Eliminare il campo dal risultato ?"
- 
-"There is another object (a %s) with the same name.\nPlease change it!" "Esiste un'altro oggetto (un %s) con lo stesso nome.\nCambia nome!"
- 
-"This query has no commands?" "Questa query non ha comandi ?"
- 
-"Execute query" "Esegui query"
- 
-"field cannot be null" "Il campo non puo' essere nullo"
- 
-"Help" "Aiuto"
- 
-"Rename column" "Rinomina campo"
- 
-"Database" "Database"
- 
-"Information" "Informazioni"
- 
-"Close" "Chiudi"
- 
-"Command" "Comando"
- 
-"Table" "Tabella"
- 
-"verify password" "verifica password"
- 
-"Vacuum" "Vacuum"
- 
-"Default value" "Valore predefinito"
- 
-"Import" "Importa"
- 
-"Delete index" "Cancella indice"
- 
-"Move up" "Muovi su'"
- 
-"index properties" "proprieta' dell'indice"
- 
-"check" "Controlla"
- 
-"Create new table" "Crea una nuova tabella"
- 
-"Visual query designer" "Visual query designer"
- 
-"Delete all" "Cancella tutto"
- 
-"You are going to delete\n\n %s \n\nProceed?" "Stai per cancellare\n\n %s\n\n Procedo?"
- 
-"Schema name" "Nome dello schema"
- 
-"Error executing query" "Errore eseguendo la query"
- 
-"Report name" "Nome del report"
- 
-"Add field" "Aggiungi campo"
- 
-"Field name" "Nome campo"
- 
-"FATAL ERROR searching for PgAccess system tables" "ERRORE FATALE cercando le tabelle PgAccess di sistema"
- 
-"A big number of rows displayed in table view will take a lot of memory!" "Un numero grande di righe visualizzate richiedera' molta memoria!"
- 
-"Preview" "Anteprima"
- 
-"Users" "Utenti"
- 
-"Owner" "Proprietario"
- 
-"Form's window internal name" "Il nome interno del form"
- 
-"Sort field" "Campo ordinato"
- 
-"New name is the same as the old one!" "Nuovo nome uguale al precedente!"
- 
-"Warning" "Attenzione"
- 
-"Suggestions at" "Suggerimenti a"
- 
-"Functions" "Funzioni"
- 
-"Schema" "Schema"
- 
-"Open" "Apri"
- 
-"size" "Dimensione"
- 
-"Delete" "Cancella"
- 
-"Returns" "Risultati"
- 
-"Define new user" "Definisce nuovo utente"
- 
-"Move down" "Muovi Gi�"
- 
-"Design script" "Design script"
- 
-"Check box" "Casella si/no"
- 
-"FINAL WARNING" "Ultimo Warning"
- 
-"Add table" "Nuova tabella"
- 
-"Table viewer font" "Carattere del visualizzatore tabelle"
- 
-"The field type is not specified!" "Il tipo del campo non e' stato specificato!"
- 
-"Close test form" "Chiudi test form"
- 
-"Export table" "Esporta tabelle"
- 
-"Add new index" "Aggiungi nuovo indice"
- 
-"Left" "Sinistra"
- 
-"Field delimiter" "Delimitatore di campo"
- 
-"Add formula" "Aggiungi formula"
- 
-"Open database" "Apri il Database"
- 
-"Return" "Risultato"
- 
-"Changed fonts may appear in the next working session!" "I caratteri cambiati saranno visibili nella prossima sessione!"
- 
-"Error" "Errore"
- 
-"Enter a field name" "Inserisci un nome campo"
- 
-"field name" "Nome Campo"
- 
-"Forms" "Forms"
- 
-"Cannot add column" "Non posso aggiungere una colonna"
- 
-"Clean" "Pulisci"
- 
-"Delete all objects ?" "Cancellare tutti gli oggetti ?"
- 
-"Preferred language" "Lingua preferita"
- 
-"Execute SQL" "Esegui SQL"
- 
-"Sequences" "Sequences"
- 
-"Button" "Bottone"
- 
-"Language" "Lingua"
- 
-"Query '%s' was not found!" "La query '%s' non e' stata trovata!"
- 
-"Object" "Oggetto"
- 
-"Font fixed" "Carattere fisso"
- 
-"Table name" "Nome tabella"
- 
-"Export" "Esporta"
- 
-"Change user" "Cambia utente"
- 
-"You must give object a new name!" "Devi dare un nuovo nome all'oggetto!"
- 
-"Query" "Query"
- 
-"User name" "Nome utente"
- 
-"Font normal" "Carattere normale"
- 
-"Import table" "Importa"
- 
-"Toolbar" "Barra degli strumenti"
- 
-"Radio btn" "Bottone a scelta"
- 
-"You must supply a name for this function!" "Devi fornire un nome per questa funzione!"
- 
-"You have to select index fields!" "Devi selezionare i campi dell'indice"
- 
-"Constraint" "Constraint"
- 
-"The script must have a name" "Lo script deve avere un nome"
- 
-"Save" "Salva"
- 
-"Exit" "Esci"
- 
-"Inherits" "Eredita"
- 
-"Delete field" "Cancella campo"
- 
-"About" "Apropos"
- 
-"Empty field name ?" "Nome del campo vuoto?"
- 
-"All report information will be deleted.\n\nProceed ?" "Tutte le informazioni relative al report saranno cancellate.\n\n Procedo ?"
- 
-"Host" "Host"
- 
-"vacuuming database %s ..." "vacuuming database %s ..."
- 
-"Indexes defined" "Indici definiti"
-
-"Owner ID" "Proprietario ID"
- 
-"You must specify field size!" "Devi specificare la dimensione del campo!"
- 
-"Schema '%s' already exists!" "Lo schema '%s' esiste gia'!"
- 
-"There is another field with the same name: '%s'!\n\nReplace it ?" "C'e' un'altro campo con lo stesso nome: '%s'!\n\nSostituisco ? "
- 
-"Contents" "Contenuto"
- 
-"Views" "Views"
- 
-"Variable" "Variabile"
- 
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "Errore eseguendo la query\n\n%s\n\nErrore PostgreSQL:\n%s\nPostgreSQL status:%s"
- 
-"Filter conditions" "Condizioni di filtro"
- 
-"Error retrieving query definition" "Errore caricando la definizione della query"
- 
-"Error deleting view" "Errore durante la cancellazione"
- 
-"New" "Nuovo"
- 
-"Tables" "Tabelle"
- 
-"Create" "Crea"
- 
-"Forms need an internal name, only literals, low case" "Il form ha bisogno di un nome interno, solo lettere minuscole"
- 
-"Do you want to save the form into the database?" "Vuoi salvare il form nel database ?"
- 
-"Schema '%s' was not found!" "Lo schema '%s' non e' stato trovato!"
- 
-"proportional" "proporzionale"
- 
-"Function saved!" "Funzione salvata!"
- 
-"with OIDs" "con OIDs"
- 
-"Table information" "Informazioni tabella"
- 
-"Error inserting new record" "Errore inserendo il nuovo record"
- 
-"Column name '%s' already exists in this table!" "Il campo '%s' esiste gia'!"
- 
-"File" "File"
- 
-"Your table has no columns!" "La tabella non ha campi !"
- 
-"Height" "Altezza"
- 
-"You will always get the latest version at:" "Troverai l'ultima versione su:"
- 
-"Form must have a name" "Il form deve avere un nome"
- 
-"Password" "Password"
- 
-"Valid until (date)" "Valido fino a"
- 
-"Report source" "Sorgente del report"
- 
-"Allow user to create databases" "L'utente puo' creare database"
- 
-"Cancel" "Abbandona"
- 
-"Is clustered ?" "Is clustered ?"
- 
-"Add new column" "Aggiungi nuovo campo"
- 
-"Show SQL" "Mostra SQL"
- 
-"New name" "Nuovo nome"
- 
-"Table '%s' not found!" "Tabella '%s' non trovata!"
- 
-"Form name" "Nome form"
- 
-"Visual designer" "Visual Designer"
- 
-"You choose to delete index\n\n %s \n\nProceed?" "Hai scelto di cancellare l'indice\n\n %s \n\nProcedo?"
- 
-"Error retrieving from" "Errore caricando da"
- 
-"Save query definition" "Salva la definizione della query"
- 
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Una interfaccia Tcl/Tk verso\nPostgreSQL\n di Constantin Teodorescu"
- 
-"Operation completed!" "Operazione completata!"
- 
-"Max rows displayed in table/query view" "Numero massimo di righe nella visualiz. tabella/query"
- 
-"Passwords do not match!" "La password non corrisponde!"
- 
-"Rename" "Rinomina"
- 
-"Entry" "Entry"
- 
-"Error retrieving schema definition" "Errore caricando la definizione dello schema"
- 
-"This is an action query!\n\nExecute it?" "Questa e' una query d'azione\n\nLa eseguo?"
- 
-"Error retrieving view definition for" "Errore caricando la definizione di"
- 
-"options" "opzioni"
- 
-"Sequence '%s' not found!" "Sequence '%s' non trovata!"
- 
-"Text" "Testo"
- 
-"Tcl error executing pg_exec %s\n\n%s" "Errore Tcl eseguendo pg_exec %s\n\n%s"
- 
-"Width" "Larghezza"
- 
-"You have to supply a name for this query!" "Devi specificare un nomer per la query"
- 
-"Accessing data. Please wait ..." "Carico i dati, attendi..."
- 
-"Report footer" "Piede del report"
- 
-"Parameters" "Parametri"
- 
-"Queries" "Queries"
- 
-"Query '%s' already exists!" "La query '%s' esiste gia'!"
- 
-"Font bold" "Carattere grassetto"
- 
-"Query builder" "Query builder"
- 
-"Error defining view" "Errore definendo la query"
- 
-"Top" "Sopra"
- 
-"You must supply a name for your table!" "Devi specificare un nome per la tabella!"
- 
-"Page footer" "Pie' di pagina"
- 
-"Font italic" "Carattere corsivo"
- 
-"Field name not entered!" "Nome del campo non inserito!"
- 
-"Index name cannot be null!" "Il nome dell'indice non puo' essere nullo!"
- 
-"Sort" "Ordina"
- 
-"Import-Export table" "Importa/Esporta tabella"
- 
-"Point" "Punto"
- 
-"type" "tipo"
- 
-"You should supply a name for this sequence" "Tu devi fornire un nome per la sequenza"
- 
-"Remove link ?" "Rimuovere collegamento ?"
- 
-"You have to supply a table name!" "Devi specificare il nome tabella!"
- 
-"Report header" "Testata del report"
- 
-"Attributes" "Attributi"
- 
-"Table '%s' already in schema" "Tabella '%s' esiste gia' nello schema!"
- 
-"Username" "Nome utente"
- 
-"Minvalue" "Valore minimo"
- 
-"Sequence name" "Nome del sequence"
- 
-"Define sequence" "Definisci la sequenza"
- 
-"Function" "Funzione"
- 
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "Ordinamento e filtri non ancora disponibili dalle query!\n\nInseriscili nella definizione della query!"
- 
-"Reports" "Reports"
-
-"primary key" "chiave primaria"
-
-"Visual schema designer" "Ambiente sviluppo relazioni visuale"
-
-Print Stampa
-
-"Print to Postscript" "Stampa Postscript"
-
-Commands Azioni
-
-"Report preview" "Anteprima report"
-
-"The printed image in Postscript is in the file pgaccess-report.ps" "La stampa in Poscript � nel file pgaccess-report.ps"
-
-"Columns" "Campi"
-
-"Indexes" "Indici"
-
-"Permissions" "Autorita"
-
-"not null" "non nullo"
-
-"Cluster index" "Cluster indice"
-
-"index columns" "campi dello indice"
-
-"Add user" "Nuovo utente"
-
-"Change permissions" "Cambiare autorita"
-
-"select" "selezioni"
-
-"update" "update"
-
-"insert" "inserisci"
-
-"rule" "regoli"
-
-"Identification" "Identificatione"
-
-"Owner ID" "ID dello proprieta"
-
-"Has primary key ?" "Chiave primaria ?"
-
-"Has rules ?" "Regoli definiti ?"
-
-"Statistics" "Statistica"
-
-"Number of tuples" "Numero righe"
-
-"Number of pages" "Numero pagine"
-
-"Index name" "Nome indici"
-
-"Index fields" "Campi dello indice"
-
-"Table OID" "Tabella OID"
-
-}
diff --git a/src/bin/pgaccess/lib/languages/japanese b/src/bin/pgaccess/lib/languages/japanese
deleted file mode 100644
index 8b2335bae23..00000000000
--- a/src/bin/pgaccess/lib/languages/japanese
+++ /dev/null
@@ -1,548 +0,0 @@
-array set Messages {
-
-"Label" "��٥�"
-
-"Save schema" "�������ޤ���¸"
-
-"Is unique ?" "��ˡ���?"
-
-"Report builder" "��ݡ��ȥӥ����"
-
-"Criteria" "��ʬ"
-
-"FATAL ERROR upgrading PgAccess table" "PgAccess�Υơ��֥�򥢥åץ��졼�ɤ���ݤ���̿Ū�ʥ��顼��ȯ�����ޤ���"
-
-"Save this query as a view" "���Υ������ӥ塼�Ȥ�����¸"
-
-"Page header" "�ڡ����إå���"
-
-"Query name" "������̾"
-
-"Please select an object first!" "�ޤ��ǽ�˥��֥������Ȥ�����Ǥ�������!"
-
-"Fields :" "�ե������ :"
-
-"Name" "̾��"
-
-"File name" "�ե������̾"
-
-"Detail record" "�쥳���ɾܺ�"
-
-"Auto-load the last opened database at startup" "�Ǹ�˳������ǡ����١�����Ω���夲���˼�ưŪ�˥����ɤ���"
-
-"Maxvalue" "������"
-
-"Start value" "������"
-
-"Report fields" "��ݡ��ȤΥե������"
-
-"Test form" "�ƥ��ȥե�����"
-
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error
-message:%s" "��³���ߤ��ǡ����١���: '%s' �ۥ���̾: %s \n\nPostgreSQL�Υ��顼��å����� :%s"
-
-"No field type ?" "�ե�����ɤη�̾?"
-
-"User without name?" "�桼����̾��������ޤ���?"
-
-"You have to supply a name for this schema!" "���Υ������ޤ�̾����Ϳ���Ƥ���������"
-
-"Last value" "�ǽ���"
-
-"Preferences" "����"
-
-"View '%s' already exists!\nOverwrite ?" "�ӥ塼 '%s' �Ϥ��Ǥ�¸�ߤ��ޤ�!\n�񤭴����ޤ���?"
-
-"You have to select an index!" "����ǥå���������Ǥ�������!"
-
-"Field type" "�ե�����ɤη�"
-
-"Script name" "������ץȤ�̾��"
-
-"Reload" "���ɹ�"
-
-"Remove table %s from query?" "�ơ��֥� %s �򥯥��꤫�������ޤ���?"
-
-"SQL window" "SQL������ɥ�"
-
-"Allow user to create other users" "�桼����������"
-
-"Delete current record ?" "���ߤΥ쥳���ɤ������ޤ���?"
-
-"List box" "�ꥹ�ȥܥå���"
-
-"Save to query builder" "������ӥ������¸"
-
-"fixed width" "������"
-
-"Scripts" "������ץ�"
-
-"Yes" "�Ϥ�"
-
-"Add label" "��٥���ɲ�"
-
-"Sequence created!" "�������󥹤�������ޤ���!"
-
-"Field information" "�ե�����ɾ���"
-
-"Design" "�ǥ�����"
-
-"Field" "�ե������"
-
-"You have to supply an external file name!" "�����ե�����̾��Ϳ���Ƥ�������!"
-
-"Increment" "���󥯥����"
-
-"No" "������"
-
-"Form design" "�ե�����ǥ�����"
-
-"You must supply a return type!" "���ǡ�������Ϳ���Ƥ�������!"
-
-"Remove field from result ?" "��̤���ե�����ɤ������ޤ���?"
-
-"There is another object (a %s) with the same name.\nPlease change it!" "Ʊ��̾���Υ��֥�������(%s)��¸�ߤ��ޤ���\n�ѹ����Ƥ���������"
-
-"This query has no commands?" "���ޥ�ɤʤ��Υ�����Ǥ���?"
-
-"Execute query" "������¹�"
-
-"field cannot be null" "NOT NULL"
-
-"Help" "�إ��"
-
-"Rename column" "�����̾�ѹ�"
-
-"Database" "�ǡ����١���"
-
-"Information" "����"
-
-"Close" "�Ĥ���"
-
-"Command" "���ޥ��"
-
-"Table" "�ơ��֥�"
-
-"verify password" "�⤦��������"
-
-"Vacuum" "Vacuum"
-
-"Default value" "�ǥե������"
-
-"Import" "Import"
-
-"Delete index" "����ǥå������"
-
-"Move up" "��˰�ư"
-
-"index properties" "����ǥå����Υץ��ѥƥ�"
-
-"check" "�����å�"
-
-"Create new table" "�����ơ��֥����"
-
-"Visual query designer" "�ӥ��奢�륯����ǥ�����"
-
-"Delete all" "�����"
-
-"You are going to delete\n\n %s \n\nProceed?" "���Τ�Τ������褦�Ȥ��Ƥ��ޤ�\n\n %s \n\n³���ޤ���?"
-
-"Schema name" "��������̾"
-
-"Error executing query" "������¹ԥ��顼"
-
-"Report name" "��ݡ���̾"
-
-"Add field" "�ե�������ɲ�"
-
-"Field name" "�ե������̾"
-
-"FATAL ERROR searching for PgAccess system tables" "PgAccess�����ƥ�ơ��֥븡�������̿Ū�ʥ��顼ȯ��"
-
-"A big number of rows displayed in table view will take a lot of memory!" "�ơ��֥�ӥ塼������¿���ιԤ�ɽ������ȥ���򤿤�������񤷤ޤ�!"
-
-"Preview" "�ץ�ӥ塼"
-
-"Users" "�桼��"
-
-"Owner" "������"
-
-"Form's window internal name" "�ե����०����ɥ�������̾"
-
-"Sort field" "�ե�����ɤǥ�����"
-
-"New name is the same as the old one!" "������̾����������̾����Ʊ���Ǥ�!"
-
-"Warning" "�ٹ�"
-
-"Suggestions at" "���ո��Ϥ�����"
-
-"Functions" "�ؿ�"
-
-"Schema" "��������"
-
-"Open" "����"
-
-"size" "������"
-
-"Delete" "���"
-
-"Returns" "���"
-
-"Define new user" "�����桼������"
-
-"Move down" "���˰�ư"
-
-"Design script" "������ץȥǥ�����"
-
-"Check box" "�����å��ܥå���"
-
-"FINAL WARNING" "���ǽ��ٹ��"
-
-"Add table" "�ơ��֥��ɲ�"
-
-"Table viewer font" "�ơ��֥�ӥ塼��Υե����"
-
-"The field type is not specified!" "�ե�����ɤη������ꤵ��Ƥ��ޤ���!"
-
-"Close test form" "�ƥ��ȥե�������Ĥ���"
-
-"Export table" "�ơ��֥��export"
-
-"Add new index" "��������ǥå����ɲ�"
-
-"Left" "��"
-
-"Field delimiter" "�ե�����ɥǥ�ߥå�"
-
-"Add formula" "�����ɲ�"
-
-"Open database" "�ǡ����١����򳫤�"
-
-"Return" "���"
-
-"Changed fonts may appear in the next working session!" "�ե���Ȥ��ѹ��ϼ���Υ��å�����ȿ�Ǥ���ޤ�"
-
-"Error" "���顼"
-
-"Enter a field name" "�ե������̾������Ƥ���������"
-
-"field name" "�ե������̾"
-
-"Forms" "�ե�����"
-
-"Cannot add column" "�������ɲäǤ��ޤ���"
-
-"Clean" "�õ�"
-
-"Delete all objects ?" "���֥������Ȥ򤹤٤ƺ�����Ƥ��ɤ��Ǥ���?"
-
-"Preferred language" "��������"
-
-"Execute SQL" "SQL�¹�"
-
-"Sequences" "��������"
-
-"Button" "�ܥ���"
-
-"Language" "����"
-
-"Query '%s' was not found!" "������ '%s' �����Ĥ���ޤ���Ǥ���"
-
-"Object" "���֥�������"
-
-"Font fixed" "�������ե����"
-
-"Table name" "�ơ��֥�̾"
-
-"Export" "Export"
-
-"Change user" "�桼���ѹ�"
-
-"You must give object a new name!" "���֥������Ȥ˿�����̾�����դ��Ƥ�������!"
-
-"Query" "������"
-
-"User name" "�桼��̾"
-
-"Font normal" "�̾�ե����"
-
-"Import table" "�ơ��֥��import"
-
-"Toolbar" "�ġ���С�"
-
-"Radio btn" "�饸���ܥ���"
-
-"You must supply a name for this function!" "�ؿ�̾����ꤷ�Ƥ�������!"
-
-"You have to select index fields!" "����ǥå����ե�����ɤ����򤷤Ƥ�������!"
-
-"Constraint" "����"
-
-"The script must have a name!" "������ץȤˤ�̾����ɬ�פǤ�!"
-
-"Save" "��¸"
-
-"Exit" "��λ"
-
-"Inherits" "�Ѿ�"
-
-"Delete field" "�ե�����ɺ��"
-
-"About" "pgaccess�ˤĤ���"
-
-"Empty field name ?" "�ե������̾������ޤ���?"
-
-"All report information will be deleted.\n\nProceed ?" "���٤ƤΥ�ݡ��Ȥ������ޤ���\n\n³���ޤ���?"
-
-"Host" "�ۥ���"
-
-"vacuuming database %s ..." "�ǡ����١��� %s �� vacuum ��..."
-
-"Indexes defined" "����ѥ���ǥå���"
-
-"You must specify field size!" "�ե�����ɥ���������ꤷ�Ƥ�������!"
-
-"Schema '%s' already exists!" "�������� '%s' �Ϥ��Ǥ�¸�ߤ��ޤ�!"
-
-"There is another field with the same name: '%s'!\n\nReplace it ?" "Ʊ��̾���̤Υե������ '%s' ��¸�ߤ��ޤ�!\n\n�֤������ޤ���?"
-
-"Contents" "����"
-
-"Views" "�ӥ塼"
-
-"Variable" "Variable"
-
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL
-status:%s" "������¹���˥��顼\n\nPostgreSQL�Υ��顼��å�����:\n%s\nPostgreSQL���ơ�����:%s"
-
-"Filter conditions" "�ե��륿�����"
-
-"Error retrieving query definition" "����������ɤ߹�����˥��顼"
-
-"Error deleting view" "�ӥ塼����ǥ��顼"
-
-"New" "����"
-
-"Tables" "�ơ��֥�"
-
-"Create" "����"
-
-"Forms need an internal name, only literals, low case" "�ե�����ˤϾ�ʸ����ʸ����Τߤˤ������̾��ɬ�פǤ�"
-
-"Do you want to save the form into the database?" "�ǡ����١����˥ե��������¸���ޤ���?"
-
-"Schema '%s' was not found!" "�������� '%s' �����Ĥ���ޤ���!"
-
-"proportional" "�ץ��ݡ��ʥ���ʥ�"
-
-"Function saved!" "�ؿ�����¸���ޤ���"
-
-"with OIDs" "OID����"
-
-"Table information" "�ơ��֥����"
-
-"Error inserting new record" "�����쥳�����ɲäǥ��顼ȯ��"
-
-"Column name '%s' already exists in this table!" "�����̾ '%s' �Ϥ��Ǥ˥ơ��֥��¸�ߤ��ޤ�!"
-
-"File" "�ե�����"
-
-"Your table has no fields!" "�ơ��֥�˥ե�����ɤ�����ޤ���!"
-
-"Height" "�⤵"
-
-"You will always get the latest version at:" "�ǿ��С������Ϥ�����������Ǥ��ޤ�:"
-
-"Form must have a name" "�ե�����ˤ�̾����ɬ�פǤ�"
-
-"Password" "�ѥ����"
-
-"Valid until (date)" "ͭ������(����)"
-
-"Report source" "��ݡ��ȤΥ�����"
-
-"Allow user to create databases" "�ǡ����١�����������"
-
-"Cancel" "����󥻥�"
-
-"Is clustered ?" "���饹����?"
-
-"Add new column" "����������ɲ�"
-
-"Show SQL" "SQLɽ��"
-
-"New name" "����̾��"
-
-"Table '%s' not found!" "�ơ��֥� '%s' �����Ĥ���ޤ���!"
-
-"Form name" "�ե�����̾"
-
-"Visual designer" "�ӥ��奢��ǥ�����"
-
-"You choose to delete index\n\n %s \n\nProceed?" "����ǥå����������\n\n³�Ԥ��ޤ���?"
-
-"Error retrieving from" "�ɤ߹��ߥ��顼: "
-
-"Save query definition" "�����������¸"
-
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu"
-
-"Operation completed!" "��λ!"
-
-"Max rows displayed in table/query view" "�ơ��֥�/������ӥ塼��ɽ���Ǥ������Կ�"
-
-"Passwords do not match!" "�ѥ���ɤ����פ��ޤ���!"
-
-"Rename" "̾���ѹ�"
-
-"Entry" "����ȥ�"
-
-"Error retrieving schema definition" "������������ɤ߹�����˥��顼"
-
-"This is an action query!\n\nExecute it?" "����ϥ�������󥯥���Ǥ�!\n\n�¹Ԥ��ޤ���?"
-
-"Error retrieving view definition for" "���Υӥ塼������ɤ߹�����˥��顼: "
-
-"options" "���ץ����"
-
-"Sequence '%s' not found!" "�������� '%s' �����Ĥ���ޤ���!"
-
-"Text" "�ƥ�����"
-
-"Tcl error executing pg_exec %s\n\n%s" "Tcl���顼ȯ����pg_exec %s\n\n%s"
-
-"Width" "��"
-
-"You have to supply a name for this query!" "������ˤ�̾�����դ��Ƥ�������!"
-
-"Accessing data. Please wait ..." "�ǡ������������桥���Ԥ�������..."
-
-"Report footer" "��ݡ��ȥեå�"
-
-"Parameters" "�ѥ�᡼��"
-
-"Queries" "������"
-
-"Query '%s' already exists!" "������ '%s' �Ϥ��Ǥ�¸�ߤ��ޤ�!"
-
-"Font bold" "�ܡ���ɥե����"
-
-"Query builder" "������ӥ��"
-
-"Error defining view" "�ӥ塼����ǥ��顼"
-
-"Top" "�ȥå�"
-
-"You must supply a name for your table!" "�ơ��֥�̾������Ƥ�������!"
-
-"Page footer" "�ڡ����եå�"
-
-"Font italic" "������å��ե����"
-
-"Field name not entered!" "�ե������̾�����Ϥ���Ƥ��ޤ���!"
-
-"Index name cannot be null!" "����ǥå���̾�϶��ǤϤ����ޤ���!"
-
-"Sort" "������"
-
-"Import-Export table" "Import-Export �ơ��֥�"
-
-"Point" "��"
-
-"type" "��"
-
-"You should supply a name for this sequence" "�������󥹤�̾��������Ƥ�������"
-
-"Remove link ?" "��󥯤������ޤ���?"
-
-"You have to supply a table name!" "�ơ��֥�̾������Ƥ�������!"
-
-"Report header" "��ݡ��Ȥإå�"
-
-"Attributes" "°��"
-
-"Table '%s' already in schema" "�ơ��֥� '%s' �Ϥ��Ǥ˥������ޤˤ���ޤ�"
-
-"Username" "�桼��̾"
-
-"Minvalue" "�Ǿ���"
-
-"Sequence name" "��������̾"
-
-"Define sequence" "�����������"
-
-"Function" "�ؿ�"
-
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter
-them in the query definition!" "������ǥ����Ȥȥե��륿��󥰤�Ԥ����Ȥ�(�ޤ�)�Ǥ��ޤ���!\n\n����������˥����Ȥȥե��륿��󥰤�����Ƥ�������!"
-
-"Reports" "��ݡ���"
-
-"primary key" "�祭��"
-
-"Back" "���"
-
-"Columns" "�����"
-
-"Indexes" "����ǥå���"
-
-"Permissions" "�ѡ��ߥå����"
-
-"not null" "NOT NULL"
-
-"Cluster index" "���饹��������ǥå���"
-
-"index columns" "����ǥå��������"
-
-"Add user" "�桼���ɲ�"
-
-"Change permissions" "�ѡ��ߥå�����ѹ�"
-
-"select" "����"
-
-"update" "����"
-
-"insert" "�ɲ�"
-
-"rule" "�롼��"
-
-"Identification" "°��"
-
-"Owner ID" "������ID"
-
-"Has primary key ?" "�祭������?"
-
-"Has rules ?" "�롼�뤢��?"
-
-"Statistics" "���׾���"
-
-"Number of tuples" "���ץ��"
-
-"Number of pages" "�ڡ�����"
-
-"Index name" "����ǥå���̾"
-
-"Index fields" "����ǥå����ե������"
-
-"Table OID" "�ơ��֥�OID"
-
-"Print" "����"
-
-"Comments" "����"
-
-"Form designer" "�ե�����ǥ����ʡ�"
-
-"Width" "��"
-
-"Height" "�⤵"
-
-"Left" "����ɸ"
-
-"Top" "�"
-
-"Class" "���饹"
-
-"View system tables" "�����ƥ�ơ��֥�⻲�Ȳ�ǽ�ˤ���"
-
-}
diff --git a/src/bin/pgaccess/lib/languages/magyar b/src/bin/pgaccess/lib/languages/magyar
deleted file mode 100644
index 64493a03203..00000000000
--- a/src/bin/pgaccess/lib/languages/magyar
+++ /dev/null
@@ -1,524 +0,0 @@
-array set Messages {
-
-"Label" "C�mke"
- 
-"Save schema" "S�ma ment�se"
- 
-"Is unique ?" "Egyedi ?"
- 
-"Report builder" "Jelent�s szerkeszt�"
- 
-"Criteria" "Felt�telek"
- 
-"FATAL ERROR upgrading PgAccess table" "S�LYOS HIBA a PgAccess t�bla friss�t�se k�zben"
- 
-"Save this query as a view" "Lek�rdez�s ment�se n�zetk�nt?"
- 
-"Page header" "Fejl�c"
- 
-"Query name" "Lek�rdez�s n�v"
- 
-"Please select an object first!" "El�sz�r v�lassz egy objektumot!"
- 
-"Fields :" "Mez�k"
- 
-"Name" "N�v"
- 
-"File name" "F�jl n�v"
- 
-"Detail record" "R�szletes rekord"
- 
-"repAuto-load the last opened database at startup" "Az utols�k�nt haszn�lt adatb�zis automatikus megnyit�sa ind�t�skor?"
- 
-"Maxvalue" "Maxim�lis �rt�k"
- 
-"Start value" "Kezd��rt�k"
- 
-"Report fields" "Jelent�s mez�k"
- 
-"Test form" "Teszt �rlap"
- 
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "Hiba a(z) '%s' adatb�zishoz kapcsol�d�s k�zben a(z) %s szerveren.\n\nPostgreSQL
-hiba�zenet:%s"
- 
-"No field type ?" "Nincs a mez�nek t�pusa ?"
- 
-"User without name?" "Felhaszn�l� n�v n�lk�l ?"
- 
-"You have to supply a name for this schema!" "A s�m�hoz n�v megad�sa sz�ks�ges !"
- 
-"Last value" "Legut�bbi �rt�k"
- 
-"Preferences" "Be�ll�t�sok"
- 
-"View '%s' already exists!\nOverwrite ?" "A(z) '%s' n�zet m�r l�tezik!\n Fel�l�r�s ?"
- 
-"You have to select an index!" "V�lasztani kell egy indexet!"
- 
-"Field type" "Mez�t�pus"
- 
-"Script name" "Szkript neve"
- 
-"Reload" "�jrat�lt"
- 
-"Remove table %s from query?" "%s t�bla elt�vol�t�sa a lek�rdez�sb�l ?"
- 
-"SQL window" "SQL ablak"
- 
-"Allow user to create other users" "Enged�ly m�sik felhaszn�l� l�trehoz�s�ra"
- 
-"Delete current record ?" "Aktu�lis rekord t�rl�se ?"
- 
-"List box" "Lista"
- 
-"Save to query builder" "Ment�s a lek�rdez�s szerkeszt�be"
- 
-"fixed width" "fix sz�less�g"
- 
-"Scripts" "Szkriptek"
- 
-"Yes" "Igen"
- 
-"Add label" "C�mke hozz�ad�sa"
- 
-"Sequence created!" "A szekvencia elk�sz�lt!"
- 
-"Field information" "Mez� inform�ci�"
- 
-"Design" "Tervez�s"
- 
-"Field" "Mez�"
- 
-"You have to supply an external file name!" "Meg kell adni egy k�ls� f�jlnevet!"
- 
-"Increment" "N�vel"
- 
-"No" "Nem"
- 
-"Form design" "�rlap tervez�s"
- 
-"You must supply a return type!" "Meg kell adni visszat�r�si �rt�ket!"
- 
-"Remove field from result ?" "Mez� elt�vol�t�sa az eredm�nyb�l ?"
- 
-"There is another object (a %s) with the same name.\nPlease change it!" "M�r van egy (%s) nev� objektum. \n K�rlek v�ltoztasd meg!"
- 
-"This query has no commands?" "Ebben a lek�rdez�sben nincs parancs?"
- 
-"Execute query" "Lek�rdez�s v�grehajt�sa"
- 
-"field cannot be null" "a mez� nem lehet NULL"
- 
-"Help" "S�g�"
- 
-"Rename column" "Oszlop �tnevez�se"
- 
-"Database" "Adatb�zis"
- 
-"Information" "Inform�ci�"
- 
-"Close" "Bez�r"
- 
-"Command" "Parancs"
- 
-"Table" "T�bla"
- 
-"verify password" "jelsz� ellen�rz�se"
- 
-"Vacuum" "Porsziv�z�s (VACUUM)"
- 
-"Default value" "Alap�rt�k"
- 
-"Import" "Import"
- 
-"Delete index" "Index t�rl�s"
- 
-"Move up" "Mozgat�s fel"
- 
-"index properties" "index tulajdons�gok"
- 
-"check" "ellen�rz�s"
- 
-"Create new table" "�j t�bla k�sz�t�se"
- 
-"Visual query designer" "Vizu�lis lek�rdez�s tervez�"
- 
-"Delete all" "Mindent t�r�l"
- 
-"You are going to delete\n\n %s \n\nProceed?" "Biztosan t�r�lni akarja %s-t ?"
- 
-"Schema name" "S�ma neve"
- 
-"Error executing query" "Hiba a lek�rdez�s v�grehajt�sa k�zben"
- 
-"Report name" "Jelent�s neve"
- 
-"Add field" "Mez� hozz�ad�sa"
- 
-"Field name" "Mez�n�v"
- 
-"FATAL ERROR searching for PgAccess system tables" "S�LYOS  HIBA a PgAccess rendszert�bl�k keres�sekor"
- 
-"A big number of rows displayed in table view will take a lot of memory!" "Sok oszlop mutat�sa  a t�blan�zetben sok mem�ri�t ig�nyel!"
- 
-"Preview" "El�n�zet"
- 
-"Users" "Felhaszn�l�k"
- 
-"Owner" "Tulajdonos"
- 
-"Form's window internal name" "�rlap ablak bels� haszn�lat� neve"
- 
-"Sort field" "Mez�k rendez�se"
- 
-"New name is the same as the old one!" "Az �j n�v megegyezik a r�givel!"
- 
-"Warning" "Figyelem"
- 
-"Suggestions at" "Javaslatok"
- 
-"Functions" "F�ggv�nyek"
- 
-"Schema" "S�ma"
- 
-"Open" "Megnyit"
- 
-"size" "m�ret"
- 
-"Delete" "T�rl�s"
- 
-"Returns" "Visszat�r"
- 
-"Define new user" "�j felhaszn�l� defini�l�sa"
- 
-"Move down" "mozgat�s le"
- 
-"Design script" "Szkript tervez�s"
- 
-"Check box" "Check box"
- 
-"FINAL WARNING" "UTOLS� FIGYELMEZTET�S"
- 
-"Add table" "T�bla hozz�ad�sa"
- 
-"Table viewer font" "T�bla n�z� bet�t�pusa"
- 
-"The field type is not specified!" "A mez� t�pusa nincs megadva!"
- 
-"Close test form" "Teszt �rlap bez�r�sa"
- 
-"Export table" "T�bla export"
- 
-"Add new index" "�j index hozz�ad�sa"
- 
-"Left" "Bal"
- 
-"Field delimiter" "Mez� hat�rol�"
- 
-"Add formula" "Formula hozz�ad�sa"
- 
-"Open database" "Adatb�zis megnyit�sa"
- 
-"Return" "Visszat�r�s"
- 
-"Changed fonts may appear in the next working session!" "A meg�ltoztatott bet�t�pusok csak a k�vetkez� futtat�skor l�tsz�dnak majd!"
- 
-"Error" "Hiba"
- 
-"Enter a field name" "Adj meg egy mez�nevet !"
- 
-"field name" "mez� n�v"
- 
-"Forms" "�rlapok"
- 
-"Cannot add column" "Nem lehet oszlopot hozz�adni"
- 
-"Clean" "T�rl�s"
- 
-"Delete all objects ?" "Minden objektum t�rl�se ?"
- 
-"Preferred language" "V�lasztott nyelv"
- 
-"Execute SQL" "SQL futtat�sa"
- 
-"Sequences" "Szekvenci�k"
- 
-"Button" "Gomb"
- 
-"Language" "Nyelv"
- 
-"Query '%s' was not found!" "%s lek�rdez�s nem tal�lhat�!"
- 
-"Object" "Objektum"
- 
-"Font fixed" "Fix bet�t�pus"
- 
-"Table name" "T�blan�v" 
- 
-"Export" "Export"
- 
-"Change user" "Felhaszn�l� v�ltoztat�sa"
- 
-"You must give object a new name!" "�j nevet kell adni az objektumnak!"
- 
-"Query" "Lek�rdez�s"
- 
-"User name" "Felhaszn�l�n�v"
- 
-"Font normal" "Norm�l bet�t�pus"
- 
-"Import table" "T�bla import"
- 
-"Toolbar" "Eszk�zsor"
- 
-"Radio btn" "R�di�gomb"
- 
-"You must supply a name for this function!" "Hi�nyzik a f�ggv�ny neve!"
- 
-"You have to select index fields!" "Index mez�ket kell v�lasztani!"
- 
-"Constraint" "K�nyszer"
- 
-"The script must have a name" "A szkriptnek nevet kell adni"
- 
-"Save" "Ment�s"
- 
-"Exit" "Kil�p�s"
- 
-"Inherits" "�r�kli"
- 
-"Delete field" "Mez� t�rl�se"
- 
-"About" "A PgAccess-r�l"
- 
-"Empty field name ?" "�res mez�n�v ?"
- 
-"All report information will be deleted.\n\nProceed ?" "Minden jelent�s infom�ci� t�r�lve lesz.\n\nRendben ?"
- 
-"Host" "Szerver"
- 
-"vacuuming database %s ..." "%s adatb�zis porsziv�z�sa ..."
- 
-"Indexes defined" "Indexek defini�lva"
- 
-"You must specify field size!" "Hi�nyzik a mez�m�ret!"
- 
-"Schema '%s' already exists!" "'%s' s�ma m�r l�tezik!"
- 
-"There is another field with the same name: '%s'!\n\nReplace it ?" "M�r van '%s' nev� mez�!\n\nCser�lhet� ?"
- 
-"Contents" "Tartalom"
- 
-"Views" "N�zetek"
- 
-"Variable" "V�ltoz�"
- 
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "Hiba(z) %s lek�rdez�s v�grehajt�sakor\n\nPostgreSQL hiba�zenet:\n%s\nPostgreSQL �llapot:%s"
- 
-"Filter conditions" "Sz�r�felt�telek"
- 
-"Error retrieving query definition" "Hiba a lek�rdez�s defin�ci� bet�lt�sekor"
- 
-"Error deleting view" "Hiba a n�zet t�rl�skor"
- 
-"New" "�j"
- 
-"Tables" "T�bl�k"
- 
-"Create" "L�trehoz"
- 
-"Forms need an internal name, only literals, low case" "Az �rlapoknak kell egy bels� n�v, csak kisbet�kb�l �llhat!"
- 
-"Do you want to save the form into the database?" "K�v�nod lementeni az �rlapot az adatb�zisba?"
- 
-"Schema '%s' was not found!" "'%s' s�ma nem tal�lhat�!"
- 
-"proportional" "prop�cion�lis"
- 
-"Function saved!" "F�ggv�ny elmentve!"
- 
-"with OIDs" "OID-ekkel"
- 
-"Table information" "T�bla inform�ci�"
- 
-"Error inserting new record" "Hiba az �j rekord besz�r�sa k�zben"
- 
-"Column name '%s' already exists in this table!" "'%s' nev� oszlop m�r van ebben a t�bl�ban !"
- 
-"File" "F�jl"
- 
-"Your table has no columns!" "A t�bl�ban nincsenek mez�k!"
- 
-"Height" "Magass�g"
- 
-"You will always get the latest version at:" "A legfrissebb verzi� megszerezhet� innen:"
- 
-"Form must have a name" "Hi�nyzik az �rlap neve !"
- 
-"Password" "Jelsz�"
- 
-"Valid until (date)" "�rv�nyes eddig (d�tum)"
- 
-"Report source" "Jelent�s forr�sa"
- 
-"Allow user to create databases" "Adatb�zis l�trehoz�s enged�lyez�se a felhaszn�l�nak"
- 
-"Cancel" "M�gsem"
- 
-"Is clustered ?" "Klaszterezett ?"
- 
-"Add new column" "�j oszlop hozz�ad�sa"
- 
-"Show SQL" "SQL parancsok"
- 
-"New name" "�j n�v"
- 
-"Table '%s' not found!" "'%s' t�bla nem tal�lhat�!"
- 
-"Form name" "�rlap n�v"
- 
-"Visual designer" "Vizu�lis tervez�"
- 
-"You choose to delete index\n\n %s \n\nProceed?" "%s\n\n index t�rl�s�t v�lasztottad?\n\nBiztos vagy benne?"
- 
-"Error retrieving from" "Hiba bet�lt�s k�zben"
- 
-"Save query definition" "Lek�rdez�s defin�ci� elment�se"
- 
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Tcl/Tk fel�let a\nPostgreSQL-hez.\n K�sz�tette: Constantin Teodorescu"
- 
-"Operation completed!" "M�velet v�grehajtva!"
- 
-"Max rows displayed in table/query view" "Maxim�lisan megjelen�tett sorok sz�ma a t�bla/lek�rdez�s n�zetben"
- 
-"Passwords do not match!" "Nem egyeznek a jelszavak!"
- 
-"Rename" "�tnevez�s"
- 
-"Entry" "Bevitel"
- 
-"Error retrieving schema definition" "Hiba a s�ma defin�ci� bet�lt�se k�zben"
- 
-"This is an action query!\n\nExecute it?" "Ez egy lek�rdez�s !\nV�grehajt�s ?"
- 
-"Error retrieving view definition for" "Hiba a n�zetdefin�ci� bet�lt�se k�zben"
- 
-"options" "opci�k"
- 
-"Sequence '%s' not found!" "'%s' szekvencia nem tal�lhat�"
- 
-"Text" "Sz�veg"
- 
-"Tcl error executing pg_exec %s\n\n%s" "Tcl hiba pg_exec futtat�sakor %s\n\n%s"
- 
-"Width" "Sz�less�g"
- 
-"You have to supply a name for this query!" "Nevet kell adni ehhez a lek�rdez�shez!"
- 
-"Accessing data. Please wait ..." "Adatel�r�s. Kis t�relmet ..."
- 
-"Report footer" "Jelent�s l�bl�c"
- 
-"Parameters" "Param�terek"
- 
-"Queries" "Lek�rdez�sek"
- 
-"Query '%s' already exists!" "'%s' lek�rdez�s m�r l�tezik!"
- 
-"Font bold" "F�lk�v�r bet�t�pus"
- 
-"Query builder" "Lek�rdez�s szerkeszt�"
- 
-"Error defining view" "Hiba a n�zet defin�ci�ban"
- 
-"Top" "Teteje"
- 
-"You must supply a name for your table!" "Nevet kell adni a t�bl�nak!"
- 
-"Page footer" "L�bl�c"
- 
-"Font italic" "D�lt bet�t�pus"
- 
-"Field name not entered!" "A mez�n�v hi�nyzik!"
- 
-"Index name cannot be null!" "Az indexn�v nem lehet NULL"
- 
-"Sort" "Rendez�s"
- 
-"Import-Export table" "T�bla import/export"
- 
-"Point" "Pont"
- 
-"type" "t�pus"
- 
-"You should supply a name for this sequence" "Nevet kell adni ehhez a szekvenci�nak"
- 
-"Remove link ?" "Kapcsolat elt�vol�t�sa?"
- 
-"You have to supply a table name!" "Meg kell adni t�blanevet!"
- 
-"Report header" "Jelent�s fejl�c"
- 
-"Attributes" "Attrib�tumok"
- 
-"Table '%s' already in schema" "'%s' t�bla m�r szerepel a s�m�ban"
- 
-"Username" "Felhaszn�l� n�v"
- 
-"Minvalue" "Minim�lis �rt�k"
- 
-"Sequence name" "Szekvencia neve"
- 
-"Define sequence" "Szekvencia defini�l�sa"
- 
-"Function" "F�ggv�ny"
- 
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "A rendez�s �s sz�r�s (m�g) nem �rhet� el a lek�rdez�sb�l!\n\n Haszn�ld �ket a lek�rdez�s definici�ban!"
- 
-"Reports" "Jelent�sek"
- 
-"Columns" "Oszlopok"
-
-"Indexes" "Indexek"
-
-"Permissions" "Enged�lyek"
-
-"not null" "nem NULL"
-
-"Cluster index" "Klaszter index"
-
-"index columns" "oszlopok indexel�se"
-
-"Add user" "Felhaszn�l� hozz�ad�sa"
-
-"Change permissions" "Enged�lyek megv�ltoztat�sa"
-
-"select" "kiv�laszt"
-
-"update" "friss�ts"
-
-"insert" "besz�r"
-
-"rule" "szab�ly"
-
-"Identification" "Azonos�t�s"
-
-"Owner ID" "Tulajdonos azonos�t�"
-
-"Has primary key ?" "Van els�dleges kulcsa ?"
-
-"Has rules ?" "Vannak szab�lyok ?"
-
-"Statistics" "Statisztika"
-
-"Number of tuples" "Bejegyz�sek sz�ma"
-
-"Number of pages" "Oldalak sz�ma"
-
-"Index name" "Index n�v"
-
-"Index fields" "Index mez�k"
-
-"Table OID" "T�bla tulajdonos azonos�t�"
-
-}
diff --git a/src/bin/pgaccess/lib/languages/nederlands b/src/bin/pgaccess/lib/languages/nederlands
deleted file mode 100644
index 8cc6935ebef..00000000000
--- a/src/bin/pgaccess/lib/languages/nederlands
+++ /dev/null
@@ -1,534 +0,0 @@
-array set Messages {
-
-"Label" "Beschrijving"
- 
-"Save schema" "Schema opslaan"
- 
-"Is unique ?" "Uniek ?"
- 
-"Report builder" "Rapport Generator "
- 
-"Criteria" "Criteria"
- 
-"FATAL ERROR upgrading PgAccess table" "FATALE FOUT bij het actualiseren van de PgAccess tabel"
- 
-"Save this query as a view" "Sla deze query op als een view"
- 
-"Page header" "Paginakop"
- 
-"Query name" "Query naam"
- 
-"Please select an object first!" "Selecteer a.u.b. eerst een object"
- 
-"Fields :" "Velden :"
- 
-"Name" "Naam"
- 
-"File name" "Bestandsnaam"
- 
-"Detail record" "Detail record"
- 
-"Auto-load the last opened database at startup" "Bij opstarten automatisch laatste-geopende database openen"
- 
-"Maxvalue" "Maximale waarde"
- 
-"Start value" "Startwaarde"
- 
-"Report fields" "Rapport velden"
- 
-"Test form" "Formulier testen"
- 
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "Fout bij het verbinden met de database '%s' op computer %s \n\nPostgreSQL fout code :%s"
- 
-"No field type ?" "Geen veldtype ?"
- 
-"User without name?" "Gebruiker zonder naam ?"
- 
-"You have to supply a name for this schema!" "U dient een naam voor dit schema te specifieren!"
- 
-"Last value" "Laatste waarde"
- 
-"Preferences" "Voorkeuren"
- 
-"View '%s' already exists!\nOverwrite ?" "View '%s' bestaat al.\nOverschrijven ?"
- 
-"You have to select an index!" "U dient een index te selecteren!"
- 
-"Field type" "Veldtype"
- 
-"Script name" "Scriptnaam"
- 
-"Reload" "Opnieuw laden"
- 
-"Remove table %s from query?" "Tabel %s uit query verwijderen ?"
- 
-"SQL window" "SQL venster"
- 
-"Allow user to create other users" "Sta gebruiker toe andere gebruikers toe te voegen"
- 
-"Delete current record ?" "Huidige record verwijderen ?"
- 
-"List box" "Listbox"
- 
-"Save to query builder" "Opslaan naar query generator"
- 
-"fixed width" "vaste breedte"
- 
-"Scripts" "Scripts"
- 
-"Yes" "Ja"
- 
-"Add label" "Beschrijving toevoegen"
- 
-"Sequence created!" "Lijst aangemaakt"
- 
-"Field information" "Veldeigenschappen"
- 
-"Design" "Ontwerp"
- 
-"Field" "Veld"
- 
-"You have to supply an external file name!" "U dient een externe bestandsnaam op te geven."
- 
-"Increment" "Ophogen"
- 
-"No" "Nee"
- 
-"Form design" "Formulierontwerp"
- 
-"You must supply a return type!" "U dient een return-type op te geven."
- 
-"Remove field from result ?" "Veld uit resultaat verwijderen ?"
- 
-"There is another object (a %s) with the same name.\nPlease change it!" "Er is een ander object (een %s) met dezelfde naam.\nVerander dit a.u.b. !"
- 
-"This query has no commands?" "Deze query heeft geen commando's?"
- 
-"Execute query" "Query uitvoeren"
- 
-"field cannot be null" "Veld kan niet null zijn"
- 
-"Help" "Hulp"
- 
-"Rename column" "Kolom hernoemen"
- 
-"Database" "Database"
- 
-"Information" "Informatie"
- 
-"Close" "Sluiten"
- 
-"Command" "Commando"
- 
-"Table" "Tabel"
- 
-"verify password" "Password bevestigen"
- 
-"Vacuum" "Comprimeren"
- 
-"Default value" "Standaardwaarde"
- 
-"Import" "Importeren"
- 
-"Delete index" "Index verwijderen"
- 
-"Move up" "Naar boven"
- 
-"index properties" "Eigenschappen index"
- 
-"check" "controleer"
- 
-"Create new table" "Nieuwe tabel toevoegen"
- 
-"Visual query designer" "Visuele query generator"
- 
-"Delete all" "Allemaal verwijderen"
- 
-"You are going to delete\n\n %s \n\nProceed?" "U staat op het punt\n\n %s \n\nte verwijderen. Doorgaan ?"
- 
-"Schema name" "Naam schema"
- 
-"Error executing query" "Fout bij uitvoeren query"
- 
-"Report name" "Naam rapport"
- 
-"Add field" "Veld toevoegen"
- 
-"Field name" "Veldnaam"
- 
-"FATAL ERROR searching for PgAccess system tables" "FATALE FOUT bij het zoeken naar de PgAccess systeem tabellen"
- 
-"A big number of rows displayed in table view will take a lot of memory!" "Een groot aantal rijen weergeven in de tabel view kost veel geheugen!"
- 
-"Preview" "Voorbeeld"
- 
-"Users" "Gebruikers"
- 
-"Owner" "Eigenaar"
- 
-"Form's window internal name" "Interne naam formulier"
- 
-"Sort field" "Sorteerveld"
- 
-"New name is the same as the old one!" "De nieuwe naam is gelijk aan de oude naam!"
- 
-"Warning" "Melding"
- 
-"Suggestions at" "Suggesties naar"
- 
-"Functions" "Functies"
- 
-"Schema" "Schema"
- 
-"Open" "Openen"
- 
-"size" "Grootte"
- 
-"Delete" "Verwijderen"
- 
-"Returns" "Teruggave"
- 
-"Define new user" "Nieuwe gebruiker definieren"
- 
-"Move down" "Naar onder"
- 
-"Design script" "Ontwerpscript"
- 
-"Check box" "Checkbox"
- 
-"FINAL WARNING" "LAATSTE WAARSCHUWING"
- 
-"Add table" "Tabel toevoegen"
- 
-"Table viewer font" "Lettertype voor tabel viewer"
- 
-"The field type is not specified!" "Het veldtype is niet opgegeven!"
- 
-"Close test form" "Sluit testformulier"
- 
-"Export table" "Tabel exporteren"
- 
-"Add new index" "Nieuwe Index toevoegen"
- 
-"Left" "Links"
- 
-"Field delimiter" "Veldafscheiding"
- 
-"Add formula" "Formule toevoegen"
- 
-"Open database" "Database openen"
- 
-"Return" "Teruggave"
- 
-"Changed fonts may appear in the next working session!" "Indien u de lettertypen hebt aangepast worden deze zichtbaar nadat u het programma opnieuw hebt opgestart."
- 
-"Error" "Fout"
- 
-"Enter a field name" "Geef een veldnaam op"
- 
-"field name" "Veldnaam"
- 
-"Forms" "Formulieren"
- 
-"Cannot add column" "Kolom niet toegevoegd worden"
- 
-"Clean" "Reset"
- 
-"Delete all objects ?" "Alle objecten verwijderen ?"
- 
-"Preferred language" "Voorkeurstaal"
- 
-"Execute SQL" "SQL uitvoeren"
- 
-"Sequences" "Lijsten"
- 
-"Button" "Knop"
- 
-"Language" "Taal"
- 
-"Query '%s' was not found!" "Query '%s' is niet gevonden!"
- 
-"Object" "Object"
- 
-"Font fixed" "Lettertype met vaste breedte"
- 
-"Table name" "Tabelnaam"
- 
-"Export" "Exporteer"
- 
-"Change user" "Wijzigen gebruiker"
- 
-"You must give object a new name!" "U dient het object een nieuwe naam te geven!"
- 
-"Query" "Query"
- 
-"User name" "Gebruikersnaam"
- 
-"Font normal" "Normaal lettertype"
- 
-"Import table" "Tabel importeren"
- 
-"Toolbar" "Toolbar"
- 
-"Radio btn" "Radio"
- 
-"You must supply a name for this function!" "U dient deze functie een naam te geven!"
- 
-"You have to select index fields!" "U dient indexvelden te selecteren!"
- 
-"Constraint" "Constraint"
- 
-"The script must have a name" "U dient een naam op te geven voor het script"
- 
-"Save" "Opslaan"
- 
-"Exit" "Afsluiten"
- 
-"Inherits" "Overerft"
- 
-"Delete field" "Veld verwijderen"
- 
-"About" "Over"
- 
-"Empty field name ?" "Lege veldnaam ?"
- 
-"All report information will be deleted.\n\nProceed ?" "Alle rapport data zal worden verwijderd.\n\nDoorgaan ?"
- 
-"Host" "Computer"
- 
-"vacuuming database %s ..." "Comprimeren database %s ..."
- 
-"Indexes defined" "Gedefinieerde indexen"
- 
-"You must specify field size!" "U dient de veldbreedte op te geven."
- 
-"Schema '%s' already exists!" "Schema '%s' bestaat al!"
- 
-"There is another field with the same name: '%s'!\n\nReplace it ?" "Er is een ander veld met de zelfde naam: '%s'!\n\nVervangen ?"
- 
-"Contents" "Inhoud"
- 
-"Views" "Views"
- 
-"Variable" "Variabele"
- 
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "Fout bij het uitvoeren van de query\n\n%s\n\nPostgreSQL foutboodschap :\n%s\n PostgreSQL status :%s"
- 
-"Filter conditions" "Filtercondities"
- 
-"Error retrieving query definition" "Fout bij het laden van de query definitie."
- 
-"Error deleting view" "Fout bij het verwijderen van de view"
- 
-"New" "Nieuw"
- 
-"Tables" "Tabellen"
- 
-"Create" "Aanmaken"
- 
-"Forms need an internal name, only literals, low case" "Formulieren moeten een interne naam krijgen, bestaand uit kleine letters"
- 
-"Do you want to save the form into the database?" "Wilt u het formulier in de database opslaan?"
- 
-"Schema '%s' was not found!" "Schema '%s' niet gevonden"
- 
-"proportional" "proportioneel"
- 
-"Function saved!" "Functie opgeslagen!"
- 
-"with OIDs" "met OID's"
- 
-"Table information" "Tabelinformatie"
- 
-"Error inserting new record" "Fout bij het toevoegen van een nieuw record"
- 
-"Column name '%s' already exists in this table!" "Kolom '%s' bestaat al in deze tabel!"
- 
-"File" "Bestand"
- 
-"Your table has no columns!" "Uw tabel heeft geen velden!"
- 
-"Height" "Hoogte"
- 
-"You will always get the latest version at:" "De laatste versie kunt u altijd krijgen op:"
- 
-"Form must have a name" "U dient het formulier een naam te geven"
- 
-"Password" "Wachtwoord"
- 
-"Valid until (date)" "Geldig tot (datum)"
- 
-"Report source" "Bron rapport"
- 
-"Allow user to create databases" "Gebruiker toestaan nieuwe databases te maken"
- 
-"Cancel" "Annuleren"
- 
-"Is clustered ?" "Geclusterd ?"
- 
-"Add new column" "Nieuwe kolom toevoegen"
- 
-"Show SQL" "SQL weergeven"
- 
-"New name" "Nieuwe naam"
- 
-"Table '%s' not found!" "Tabel '%s' niet gevonden!"
- 
-"Form name" "Naam formulier"
- 
-"Visual designer" "Visuele ontwerpeer"
- 
-"You choose to delete index\n\n %s \n\nProceed?" "U heeft er voor gekozen de index te verwijderen\n\n %s \n\nDoorgaan?"
- 
-"Error retrieving from" "Fout bij het laden vanaf"
- 
-"Save query definition" "Opslaan querydefinitie"
- 
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Een Tcl/TK interface voor\nPostgreSQL\n door Constantin Teodorescu"
- 
-"Operation completed!" "Operatie uitgevoerd!"
- 
-"Max rows displayed in table/query view" "Maximaal aantal rijen weergegeven in tabel/query view"
- 
-"Passwords do not match!" "De wachtwoorden komen niet overeen!"
- 
-"Rename" "Naam wijzigen"
- 
-"Entry" "Entry???"
- 
-"Error retrieving schema definition" "Fout bij het laden van de schemadefinitie"
- 
-"This is an action query!\n\nExecute it?" "Dit is een actiequery!\n\nUitvoeren ?"
- 
-"Error retrieving view definition for" "Fout bij het laden van de view definitie voor"
- 
-"options" "opties"
- 
-"Sequence '%s' not found!" "Lijst '%s' niet gevonden!"
- 
-"Text" "Tekst"
- 
-"Tcl error executing pg_exec %s\n\n%s" "Tcl fout bij het uitvoeren van pg_exec %s\n\n%s"
- 
-"Width" "Breedte"
- 
-"You have to supply a name for this query!" "U dient een naam op te geven voor deze query!"
- 
-"Accessing data. Please wait ..." "Bezig met ophalen data. Een ogenblik geduld..."
- 
-"Report footer" "Voettekst rapport"
- 
-"Parameters" "Parameters"
- 
-"Queries" "Queries"
- 
-"Query '%s' already exists!" "Query '%s' bestaat al!"
- 
-"Font bold" "Vetgedrukt lettertype"
- 
-"Query builder" "Query generator"
- 
-"Error defining view" "Fout bij het definieren van de view"
- 
-"Top" "Top"
- 
-"You must supply a name for your table!" "U dient een naam voor de tabel op te geven"
- 
-"Page footer" "Voettekst"
- 
-"Font italic" "Cursief lettertype"
- 
-"Field name not entered!" "Veldnaam niet opgegeven!"
- 
-"Index name cannot be null!" "De naam van de index mag niet leeg zijn!"
- 
-"Sort" "Sorteren"
- 
-"Import-Export table" "Tabel im-/exporteren"
- 
-"Point" "Punt"
- 
-"type" "type"
- 
-"You should supply a name for this sequence" "Sie sollten einen Namen f�r diesen Z�hler angeben"
- 
-"Remove link ?" "Verweis l�schen?"
- 
-"You have to supply a table name!" "Sie m�ssen einen Tabellennamen angeben"
- 
-"Report header" "Berichtskopf"
- 
-"Attributes" "Eigenschappen"
- 
-"Table '%s' already in schema" "Tabel '%s' bestaat al in dit schema"
- 
-"Username" "Gebruikersnaam"
- 
-"Minvalue" "Minimale waarde"
- 
-"Sequence name" "Lijstnaam"
- 
-"Define sequence" "Lijst definieren"
- 
-"Function" "Functie"
- 
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "Sorteren en filteren is (nog) niet beschikbaar vanuit queries!\n\nVoert u ze a.u.b. in de query definitie in!"
- 
-"Reports" "Rapporten"
-
-"Columns" "Kolommen"
- 
-"Indexes" "Indexen"
-
-"Permissions" "Permissies"
-
-"not null" "niet leeg"
-
-"Cluster index" "Cluster index" 
-
-"index columns" "Indexkollommen"
-
-"Add user" "Gebruiker toevoegen"
-
-"Change permissions" "Permissies wijzigen"
-
-"select" "selecteren"
-
-"update" "wijzigen"
-
-"insert" "toevoegen"
-
-"rule" "regel"
-
-"Identification" "Identificatie"
-
-"Owner ID" "ID eigenaar"
-
-"Has primary key ?" "Heeft primaire sleutel ?"
-
-"Has rules ?" "Heeft regels ?"
-
-"Statistics" "Statistieken"
-
-"Number of tuples" "Aantal tupels"
-
-"Number of pages" "Aantal pagina's"
-
-"Index name" "Naam index"
-
-"Index fields" "Indexvelden"
-
-"Table OID" "OID tabel"
-
-"View system tables" "Bekijken systeemtabellen"
-
-"Back" "Terug"
-
-"primary key" "Primaire sleutel"
-
-"Comments" "Aanmerkingen"
-
-"Print" "Afdrukken"
-}
-
-
diff --git a/src/bin/pgaccess/lib/languages/portugues b/src/bin/pgaccess/lib/languages/portugues
deleted file mode 100644
index c99394ad6f7..00000000000
--- a/src/bin/pgaccess/lib/languages/portugues
+++ /dev/null
@@ -1,539 +0,0 @@
-array set Messages {
-
-"Label" "Etiqueta"
- 
-"Save schema" "Salvar esquema"
- 
-"Is unique ?" "� �nico?"
- 
-"Report builder" "Construtor de relat�rios"
- 
-"Criteria" "Crit�rio"
- 
-"FATAL ERROR upgrading PgAccess table" "ERRO FATAL atualizando tabela PgAccess"
- 
-"Save this query as a view" "Salvar esta consulta como view"
- 
-"Page header" "Cabe�alho da p�gina"
- 
-"Query name" "Nome da consulta"
- 
-"Please select an object first!" "Por favor selecione um objeto primeiro"
- 
-"Fields :" "Campo :"
- 
-"Name" "Nome"
- 
-"File name" "Nome do arquivo"
- 
-"Detail record" "Detalhes do registro"
- 
-"Auto-load the last opened database at startup" "Carregar automaticamente o �ltimo banco de dados na inicializa��o"
- 
-"Maxvalue" "Valor M�ximo"
- 
-"Start value" "Valor de in�cio"
- 
-"Report fields" "Campos do relat�rio"
- 
-"Test form" "Formul�rio de teste"
- 
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "Erro tentando conectar no banco de dados '%s' na esta��o %s \n\nMensagem de erro do PostgreSQL:%s"
- 
-"No field type ?" "Nenhum tipo de campo ?"
- 
-"User without name?" "Usu�rio sem nome ?"
- 
-"You have to supply a name for this schema!" "Voc� deve fornecer um nome para este esquema!"
- 
-"Last value" "�ltimo valor"
- 
-"Preferences" "Prefer�ncias"
- 
-"View '%s' already exists!\nOverwrite ?" "A view '%s' j� existe!\nSobreescrever ?"
- 
-"You have to select an index!" "Voc� deve selecionar um indice!"
- 
-"Field type" "Tipo de campo"
- 
-"Script name" "Nome do script"
- 
-"Reload" "Recarregar"
- 
-"Remove table %s from query?" "Remover tabela %s da consulta?"
- 
-"SQL window" "Janela SQL"
- 
-"Allow user to create other users" "Permite o usu�rio criar outros usu�rios"
- 
-"Delete current record ?" "Deletar registro corrente ? "
- 
-"List box" "Caixa de listagem"
- 
-"Save to query builder" "Salvar no contrutor de consultas"
- 
-"fixed width" "largura fixa"
- 
-"Scripts" "Scripts"
- 
-"Yes" "Sim"
- 
-"Add label" "Adicionar etiqueta"
- 
-"Sequence created!" "Sequ�ncia criada!"
- 
-"Field information" "Informa��es do campo"
- 
-"Design" "Estrutura"
- 
-"Field" "Campo"
- 
-"You have to supply an external file name!" "Voc� deve fornecer um nome de arquivo externo!"
- 
-"Increment" "Incremento"
- 
-"No" "N�o"
- 
-"Form design" "Construtor de formul�rios"
- 
-"You must supply a return type!" "Voc� deve especificar um tipo de retorno"
- 
-"Remove field from result ?" "Remover campo do resultado ?"
- 
-"There is another object (a %s) with the same name.\nPlease change it!" "Existe um outro objeto (um %s) com o mesmo nome.\nPor favor, troque-o!"
- 
-"This query has no commands?" "Esta consulta n�o t�m nenhum comando?"
- 
-"Execute query" "Executar consulta"
- 
-"field cannot be null" "Campo n�o pode ser nulo"
- 
-"Help" "Ajuda"
- 
-"Rename column" "Renomear coluna"
- 
-"Database" "Banco de Dados"
- 
-"Information" "Informa��es"
- 
-"Close" "Fechar"
- 
-"Command" "Comando"
- 
-"Table" "Tabela"
- 
-"verify password" "verificar senha"
- 
-"Vacuum" "Esvaziar"
- 
-"Default value" "Valor padr�o"
- 
-"Import" "Importar"
- 
-"Delete index" "Deletar indexador"
- 
-"Move up" "Mover acima"
- 
-"index properties" "Propriedades do indexador"
- 
-"check" "Verificar"
- 
-"Create new table" "Criar nova tabela"
- 
-"Visual query designer" "Construtor visual de consultas"
- 
-"Delete all" "Deletar tudo"
- 
-"You are going to delete\n\n %s \n\nProceed?" "Voc� est� removendo\n\n %s \n\nContinuar?"
- 
-"Schema name" "Nome do esquema"
- 
-"Error executing query" "Erro executando a consulta"
- 
-"Report name" "Nome do relat�rio"
- 
-"Add field" "Adicionar campo"
- 
-"Field name" "Nome do campo"
- 
-"FATAL ERROR searching for PgAccess system tables" "ERRO FATAL procurando por tabelas de sistema do PgAccess"
- 
-"A big number of rows displayed in table view will take a lot of memory!" "Um grande n�mero de linhas apresentadas na view consumir�o muita mem�ria!"
- 
-"Preview" "Pr�via"
- 
-"Users" "Usu�rios"
- 
-"Owner" "Propriet�rio"
- 
-"Form's window internal name" "Nome da janela interna do formulario"
- 
-"Sort field" "Ordenar campo"
- 
-"New name is the same as the old one!" "Novo nome � o mesmo que o antigo!"
- 
-"Warning" "Aviso"
- 
-"Suggestions at" "Enviar sugest�es para"
- 
-"Functions" "Fun��es"
- 
-"Schema" "Esquema"
- 
-"Open" "Abrir"
- 
-"size" "Tamanho"
- 
-"Delete" "Excluir"
- 
-"Returns" "Retornar"
- 
-"Define new user" "Definir novo usu�rio"
- 
-"Move down" "Mover abaixo"
- 
-"Design script" "Construtor de scripts"
- 
-"Check box" "Caixa de verifica��o"
- 
-"FINAL WARNING" "�LTIMO AVISO"
- 
-"Add table" "Criar tabela"
- 
-"Table viewer font" "Visualizador de fontes da tabela"
- 
-"The field type is not specified!" "O campo n�o � do tipo especificado"
- 
-"Close test form" "Fechar formul�rio de teste"
- 
-"Export table" "Exportar tabela"
- 
-"Add new index" "Adicionar novo indexador"
- 
-"Left" "Esquerda"
- 
-"Field delimiter" "Delimitador de campo"
- 
-"Add formula" "Adicionar f�rmula"
- 
-"Open database" "Abrir banco de dados"
- 
-"Return" "Resultado"
- 
-"Changed fonts may appear in the next working session!" "As altera��es de fontes podem aparecer somente na proxima sess�o de trabalho!"
- 
-"Error" "Erro"
- 
-"Enter a field name" "Entre o nome do campo"
- 
-"field name" "Nome do campo"
- 
-"Forms" "Formul�rio"
- 
-"Cannot add column" "N�o posso adicionar coluna"
- 
-"Clean" "Limpar"
- 
-"Delete all objects ?" "Excluir todos os objetos ?"
- 
-"Preferred language" "Linguagem preferida"
- 
-"Execute SQL" "Executar SQL"
- 
-"Sequences" "Sequencias"
- 
-"Button" "Bot�o"
- 
-"Language" "Linguagem"
- 
-"Query '%s' was not found!" "Consulta '%s' n�o foi encontrada!"
- 
-"Object" "Objeto"
- 
-"Font fixed" "Fonte fixa"
- 
-"Table name" "Nome da tabela"
- 
-"Export" "Exportar"
- 
-"Change user" "Alterar usu�rio"
- 
-"You must give object a new name!" "Voc� deve dar ao objeto um novo nome!"
- 
-"Query" "Consulta"
- 
-"User name" "Nome do usu�rio"
- 
-"Font normal" "Fonte normal"
- 
-"Import table" "Importar tabela"
- 
-"Toolbar" "Barra de ferramentas"
- 
-"Radio btn" "Caixa de op��o"
- 
-"You must supply a name for this function!" "Voc� deve fornecer um nome para esta fun��o!"
- 
-"You have to select index fields!" "Voc� deve selecionar um indexador de campos"
- 
-"Constraint" "Constraint"
- 
-"The script must have a name" "O script t�m que ter um nome"
- 
-"Save" "Salvar"
- 
-"Exit" "Sair"
- 
-"Inherits" "Heran�a"
- 
-"Delete field" "Deletar campos"
- 
-"About" "Sobre"
- 
-"Empty field name ?" "Nome do campo vazio ?"
- 
-"All report information will be deleted.\n\nProceed ?" "Todas as informa��es do relat�rio ser�o removidas.\n\nContinuar ?"
- 
-"Host" "Esta��o"
- 
-"vacuuming database %s ..." "Esvaziando banco de dados %s ..."
- 
-"Indexes defined" "Indexadores definidos"
-
-"Owner ID" "Propriet�rio do ID"
- 
-"You must specify field size!" "Voc� deve fornecer o tamanho do campo!"
- 
-"Schema '%s' already exists!" "Esquema '%s' j� existe!"
- 
-"There is another field with the same name: '%s'!\n\nReplace it ?" "Existe um outro campo com o mesmo nome: '%s'!\n\nSubstitu�-lo ?"
- 
-"Contents" "Conte�do"
- 
-"Views" "Views"
- 
-"Variable" "Vari�vel"
- 
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "Erro executando consulta\n\n%s\n\nMensagem de erro do PostgreSQL:\n%s\nPostfreSQL status:%s"
- 
-"Filter conditions" "Condi��es do filtro"
- 
-"Error retrieving query definition" "Error recuperando defini��es da consulta"
- 
-"Error deleting view" "Erro removendo a view"
- 
-"New" "Novo"
- 
-"Tables" "Tabela"
- 
-"Create" "Criar"
- 
-"Forms need an internal name, only literals, low case" "Os formul�rios precisam de um nome interno, somente literais min�sculos"
- 
-"Do you want to save the form into the database?" "Voc� gostaria de salvar o fomu�rio no banco de dados?"
- 
-"Schema '%s' was not found!" "Esquema '%s' n�o foi encontrado"
- 
-"proportional" "proporcional"
- 
-"Function saved!" "Fun��o salva!"
- 
-"with OIDs" "com OIDs"
- 
-"Table information" "Informa��es da tabela"
- 
-"Error inserting new record" "Erro inserindo um novo registro"
- 
-"Column name '%s' already exists in this table!" "Nome do campo '%s' j� existe nesta tabela!"
- 
-"File" "Arquivo"
- 
-"Your table has no columns!" "Sua tabela n�o possui campos !"
- 
-"Height" "Altura"
- 
-"You will always get the latest version at:" "Voc� poder� obter a ultima vers�o em:"
- 
-"Form must have a name" "O formul�rio dever� possuir um nome"
- 
-"Password" "Senha"
- 
-"Valid until (date)" "V�lido at� (data)"
- 
-"Report source" "Origem do relat�rio"
- 
-"Allow user to create databases" "Permitir ao usu�rio criar banco de dados"
- 
-"Cancel" "Cancelar"
- 
-"Is clustered ?" "� clusterizado ?"
- 
-"Add new column" "Adicionar novo campo"
- 
-"Show SQL" "Mostra SQL"
- 
-"New name" "Novo nome"
- 
-"Table '%s' not found!" "Tabela '%s' n�o encontrada!"
- 
-"Form name" "Nome do formul�rio"
- 
-"Visual designer" "Construtor visual"
- 
-"You choose to delete index\n\n %s \n\nProceed?" "Voc� escolheu remover o indexador\n\n %s \n\nContinuar?"
- 
-"Error retrieving from" "Erro recuperando arquivos de"
- 
-"Save query definition" "Salvar as defini��es da consulta"
- 
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Uma interface Tcl/Tk para\nPostgreSQL\npor Contantin Teodorescu"
- 
-"Operation completed!" "Opera��o completada!"
- 
-"Max rows displayed in table/query view" "Numero m�ximo de linhas apresentada no resultado da tabela/consulta"
- 
-"Passwords do not match!" "As senhas n�o corresponde!"
- 
-"Rename" "Renomear"
- 
-"Entry" "Entrar"
- 
-"Error retrieving schema definition" "Erro recuperando defini��es do esquema"
- 
-"This is an action query!\n\nExecute it?" "Est� � um consulta de a��o!\n\nExecuta-la?"
- 
-"Error retrieving view definition for" "Erro recuperando defini��es da view de"
- 
-"options" "op��es"
- 
-"Sequence '%s' not found!" "Sequ�ncia '%s' n�o encontrada!"
- 
-"Text" "Texto"
- 
-"Tcl error executing pg_exec %s\n\n%s" "Erro Tcl executando pg_exec %s\n\n%s"
- 
-"Width" "Largura"
- 
-"You have to supply a name for this query!" "Voc� deve especificar um nome para essa consulta!"
- 
-"Accessing data. Please wait ..." "Acessando dados. Aguarde ..."
- 
-"Report footer" "Rodap� do relat�rio"
- 
-"Parameters" "Par�metros"
- 
-"Queries" "Consultas"
- 
-"Query '%s' already exists!" "Consulta '%s' j� existe!"
- 
-"Font bold" "Fonte negrito"
- 
-"Query builder" "Construtor de consultas"
- 
-"Error defining view" "Erro definindo a view"
- 
-"Top" "Topo"
- 
-"You must supply a name for your table!" "Voc� deve fornecer um name para sua tabela!"
- 
-"Page footer" "Rodap� da p�gina"
- 
-"Font italic" "Caracter it�lico"
- 
-"Field name not entered!" "Nome do campo n�o foi inserido!"
- 
-"Index name cannot be null!" "Nome do �ndice n�o pode ser nulo!"
- 
-"Sort" "Ordena"
- 
-"Import-Export table" "Importar/Exportar tabela"
- 
-"Point" "Ponto"
- 
-"type" "tipo"
- 
-"You should supply a name for this sequence" "Voc� deve fornecer um nome para esta sequ�ncia"
- 
-"Remove link ?" "Remover conex�o ?"
- 
-"You have to supply a table name!" "Voc� deve fornecer um nome para a tabela!"
- 
-"Report header" "Cabe�alho do relat�rio"
- 
-"Attributes" "Atributos"
- 
-"Table '%s' already in schema" "Tabela '%s' j� existe no esquema"
- 
-"Username" "Nome do usu�rio"
- 
-"Minvalue" "Valor m�nimo"
- 
-"Sequence name" "Nome da sequ�ncia"
- 
-"Define sequence" "Definir sequ�ncia"
- 
-"Function" "Fun��o"
- 
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "Ordena��o e filtro n�o est�o dispon�veis (por esquanto) a partir das consultas!\n\nPor favor entre-as na defini��o da consulta!"
- 
-"Reports" "Relat�rios"
-
-"primary key" "chave prim�ria"
-
-"Visual schema designer" "Construtor visual de esquemas"
-
-Print Imprimir
-
-"Print to Postscript" "Imprimir para Postscript"
-
-Commands Comandos
-
-"Report preview" "Pr�via do relat�rio"
-
-"The printed image in Postscript is in the file pgaccess-report.ps" "A imagem de impress�o no Postscript est� no arquivo pgaccess-report.ps"
-
-"Columns" "Campos"
-
-"Indexes" "Indexadores"
-
-"Permissions" "Permiss�es"
-
-"not null" "n�o nulo"
-
-"Cluster index" "Indexador clusterizado"
-
-"index columns" "indexar campos"
-
-"Add user" "Adicionar usu�rio"
-
-"Change permissions" "Alterar permiss�es"
-
-"select" "selecionar"
-
-"update" "atualizar"
-
-"insert" "inserir"
-
-"rule" "regra"
-
-"Identification" "Identifica��o"
-
-"Owner ID" "ID do propriet�rio"
-
-"Has primary key ?" "Possui chave prim�ria ?"
-
-"Has rules ?" "Possui regras ?"
-
-"Statistics" "Estat�sticas"
-
-"Number of tuples" "N�mero de tuples"
-
-"Number of pages" "N�mero de p�ginas"
-
-"Index name" "Nome do indexador"
-
-"Index fields" "Campos do indexador"
-
-"Table OID" "Tabela OID"
-
-}
diff --git a/src/bin/pgaccess/lib/languages/romana b/src/bin/pgaccess/lib/languages/romana
deleted file mode 100644
index 8c5a038d132..00000000000
--- a/src/bin/pgaccess/lib/languages/romana
+++ /dev/null
@@ -1,526 +0,0 @@
-array set Messages {
-
-"Label" "Etichet�"
- 
-"Save schema" "Salveaz� planul"
-
-"Is unique ?" "Este index unic ?"
-
-"Report builder" "Proiectare rapoarte"
-
-"Criteria" "Conditie"
-
-"FATAL ERROR upgrading PgAccess table" "EROARE FATALA la actualizarea tabelei PgAccess"
-
-"Save this query as a view" "Salveaz� aceast� selec�ie ca o vedere"
-
-"Page header" "Cap de pagin�"
-
-"Query name" "Nume selec�ie"
-
-"Please select an object first!" "Selectati mai intai un obiect!"
-
-"Fields :" "C�mpurile indexului"
-
-"Name" "Nume"
-
-"File name" "Nume fi�ier"
-
-"Detail record" "�nregistr�ri"
-
-"Auto-load the last opened database at startup" "�ncarc� automat la lansare ultima baz� deschis�"
-
-"Maxvalue" "Valoare maxim�"
-
-"Start value" "�ncepe de la"
-
-"Report fields" "C�mpuri disponibile"
-
-"Test form" "Testeaz� macheta"
-
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "Eroare la conectarea la baza de date '%s' pe masina %s \n\nMesajul de eroare PostgreSQL:%s"
-
-"No field type ?" "Tip cimp necompletat!"
-
-"User without name?" "Utilizatorul asta n-ar si el un nume?"
-
-"You have to supply a name for this schema!" "Trebuie sa dati un nume acestui plan!"
-
-"Last value" "Ultima valoare"
-
-"Preferences" "Op�iuni"
-
-"View '%s' already exists!\nOverwrite ?" "Vederea '%s' mai exista!\nO suprainscriem ?"
-
-"You have to select an index!" "Trebuie sa selectati un index!"
-
-"Field type" "Tip c�mp"
-
-"Script name" "Nume script"
-
-"Reload" "Re�nc�rcare"
-
-"Remove table %s from query?" "Eliminati tabela %s din selectie?"
-
-"SQL window" "Comenzi SQL executate"
-
-"Allow user to create other users" "Are voie s� creeze al�i utilizatori"
-
-"Delete current record ?" "Stergeti inregistrarea curenta?"
-
-"List box" "List�"
-
-"Save to query builder" "Salveaz� fraza SQL"
-
-"fixed width" "l��ime fix�"
-
-"Scripts" "Scripturi"
-
-"Yes" "Da"
-
-"Add label" "Adaug� etichet�"
-
-"Sequence created!" "Secventa a fost creata!"
-
-"Field information" "Informa�ii despre c�mpuri"
-
-"Design" "Proiecteaz�"
-
-"Field" "Cimp"
-
-"You have to supply an external file name!" "Trebuie sa introduceti numele fisierului extern!"
-
-"Increment" "Increment"
-
-"No" "Nu"
-
-"Form design" "Proiectare machet�"
-
-"You must supply a return type!" "Trebuie sa introduceti tipul rezultatului"
-
-"Remove field from result ?" "Eliminati acest cimp din rezultat?"
-
-"There is another object (a %s) with the same name.\nPlease change it!" "Mai este un obiect (%s) cu acelasi nume!\nSchimbati-l!"
-
-"This query has no commands?" "Aceasta selectie nu are definitie?"
-
-"Execute query" "Execut� selec�ia"
-
-"field cannot be null" "obligatoriu de completat"
-
-"Help" "Ajutor"
-
-"Rename column" "Redenume�te c�mp"
-
-"Database" "Baza de date"
-
-"Information" "Informa�ii"
-
-"Close" "�nchide"
-
-"Command" "Comand�"
-
-"Table" "Tabela"
-
-"verify password" "verific� parola"
-
-"Vacuum" "Taseaz�"
-
-"Default value" "Valoare implicit�"
-
-"Import" "Import�"
-
-"Delete index" "�terge index"
-
-"Move up" "Urc�"
-
-"index properties" "propriet��i index"
-
-"check" "verific�"
-
-"Create new table" "Creaz� tabel� nou�"
-
-"Visual query designer" "Proiectare vizuala a selectiilor"
-
-"Delete all" "�terge toate"
-
-"You are going to delete\n\n %s \n\nProceed?" "Urmeaza sa stergeti obiectul\n\n %s \n\nConfirmati?"
-
-"Schema name" "Numele planului"
-
-"Error executing query" "Eroare la executia selectiei"
-
-"Report name" "Nume raport"
-
-"Add field" "Adaug�-l"
-
-"Field name" "Nume c�mp"
-
-"FATAL ERROR searching for PgAccess system tables" "EROARE FATALA la citirea tabelelor necesare PgAccess"
-
-"A big number of rows displayed in table view will take a lot of memory!" "Un num�r mare de �nregistr�ri �nc�rcate va lua mult� memorie"
-
-"Preview" "�ncercare"
-
-"Users" "Utilizatori"
-
-"Owner" "Apar�ine lui"
-
-"Form's window internal name" "Numele intern al machetei"
-
-"Sort field" "C�mpuri sortare"
-
-"New name is the same as the old one!" "Numele nou este acelasi cu numele vechi!"
-
-"Warning" "Avertisment"
-
-"Suggestions at" "Sugestii la"
-
-"Functions" "Func�ii"
-
-"Schema" "Plan"
-
-"Open" "Deschide"
-
-"size" "m�rime"
-
-"Delete" "�terge"
-
-"Returns" "�ntoarce"
-
-"Define new user" "Definire utilizator nou"
-
-"Move down" "Coboar�"
-
-"Design script" "Proiecteaz� script"
-
-"Check box" "Marcaj"
-
-"FINAL WARNING" "AVERTISMENT FINAL"
-
-"Add table" "Adaug� tabel�"
-
-"Table viewer font" "Fonturi tabele"
-
-"The field type is not specified!" "Tipul cimpului nu a fost specificat"
-
-"Close test form" "Inchide macheta test"
-
-"Export table" "Export� tabel�"
-
-"Add new index" "Adaug� index nou"
-
-"Left" "St�nga"
-
-"Field delimiter" "Delimitator c�mp"
-
-"Add formula" "Adaug� formul�"
-
-"Open database" "Deschide baza de date"
-
-"Return" "Selectat"
-
-"Changed fonts may appear in the next working session!" "Fonturile se vor schimba la urm�toarea lansare"
-
-"Error" "Eroare"
-
-"Enter a field name" "Trebuie sa introduceti numele cimpului"
-
-"field name" "Nume c�mp"
-
-"Forms" "Machete"
-
-"Cannot add column" "Nu putem adauga cimpul"
-
-"Clean" "Cur���"
-
-"Delete all objects ?" "Stergeti toate obiectele?"
-
-"Preferred language" "Limba preferat�"
-
-"Execute SQL" "Execut� selec�ia"
-
-"Sequences" "Secven�e"
-
-"Button" "Buton"
-
-"Language" "Limbaj"
-
-"Query '%s' was not found!" "Definitia pentru selectia '%s' nu a fost gasita"
-
-"Object" "Obiect"
-
-"Font fixed" "Font fix"
-
-"Table name" "Nume tabel�"
-
-"Export" "Export�"
-
-"Change user" "Modificare date utilizator"
-
-"You must give object a new name!" "Trebuie sa introduceti totusi numele nou"
-
-"Query" "Query"
-
-"User name" "Nume utilizator"
-
-"Font normal" "Font normal"
-
-"Import table" "Import� tabel�"
-
-"Toolbar" "Scule"
-
-"Radio btn" "Selector"
-
-"You must supply a name for this function!" "Trebuie sa introduceti un nume pentru aceasta functie"
-
-"You have to select index fields!" "Trebuie sa selectati cimpurile indexului!"
-
-"Constraint" "Cerin�e"
-
-"The script must have a name" "Script-ul ar trebui sa aiba un nume"
-
-"Save" "Salveaz�"
-
-"Exit" "Termin�"
-
-"Inherits" "Str�mo�i"
-
-"Delete field" "�terge c�mp"
-
-"About" "Despre"
-
-"Empty field name ?" "Nume cimp necompletat"
-
-"All report information will be deleted.\n\nProceed ?" "Toate obiectele din raport vor fi sterse!\n\nSinteti de acord?"
-
-"Host" "Ma�ina"
-
-"vacuuming database %s ..." "Tas�m baza de date %s ..."
-
-"Indexes defined" "Indec�i defini�i"
-
-"You must specify field size!" "Marimea cimpului trebuie specificata"
-
-"Schema '%s' already exists!" "Schema '%s' exista deja!"
-
-"There is another field with the same name: '%s'!\n\nReplace it ?" "Mai exista un cimp cu acelasi nume: '%s'!\n\nIl inlocuim cu descrierea noua?"
-
-"Contents" "Cuprins"
-
-"Views" "Vederi"
-
-"Variable" "Variabil�"
-
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "Eroare la executia selectiei:\n\n%s\n\nMesaj de eroare PostgreSQL:\n%s\nStare:%s"
-
-"Filter conditions" "Condi�ii de filtrare"
-
-"Error retrieving query definition" "Eroare la citirea definitiei pentru selectie"
-
-"Error deleting view" "Eroare la stergerea vederii"
-
-"New" "Nou"
-
-"Tables" "Tabele"
-
-"Create" "Creaz�"
-
-"Forms need an internal name, only literals, low case" "Machetele au nevoie de un nume intern, doar litere mici"
-
-"Do you want to save the form into the database?" "Vrei sa salvezi descrierea machetei in baza de date?"
-
-"Schema '%s' was not found!" "Schema '%s' nu a fost gasita!"
-
-"proportional" "propor�ional"
-
-"Function saved!" "Functia a fost salvata!"
-
-"with OIDs" "cu OID-uri"
-
-"Table information" "Informa�ii despre tabela"
-
-"Error inserting new record" "Eroare la adaugarea noii inregistrari"
-
-"Column name '%s' already exists in this table!" "Cimpul '%s' exista deja in tabela!"
-
-"File" "Fi�ier"
-
-"Your table has no columns!" "Tabela asta nu are nici un cimp ?"
-
-"Height" "�n�l�ime"
-
-"You will always get the latest version at:" "�ntotdeauna ultima versiune se va g�si la"
-
-"Form must have a name" "Macheta trebuie sa aiba si ea un nume!"
-
-"Password" "Parol�"
-
-"Valid until (date)" "Valabil p�n� la"
-
-"Report source" "Sursa raportului"
-
-"Allow user to create databases" "Are voie s� creeze baze de date"
-
-"Cancel" "Abandon"
-
-"Is clustered ?" "E conglomerat ?"
-
-"Add new column" "Adaug� c�mp nou"
-
-"Show SQL" "Arat� comanda"
-
-"New name" "Nume nou"
-
-"Table '%s' not found!" "Tabela '%s' nu a fost gasita!"
-
-"Form name" "Nume machet�"
-
-"Visual designer" "Proiectare vizual�"
-
-"You choose to delete index\n\n %s \n\nProceed?" "Urmeaza sa stergeti indexul\n\n %s \n\nConfirmati?"
-
-"Error retrieving from" "Eroare la citirea tabelei"
-
-"Save query definition" "Salveaz� defini�ia selec�iei"
-
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "O interfa�� Tcl/Tk pentru\nPostgreSQL\nde Constantin Teodorescu"
-
-"Operation completed!" "Operatiune terminata!"
-
-"Max rows displayed in table/query view" "Num�r maxim �nregistr�ri afi�ate"
-
-"Passwords do not match!" "Parolele nu se prea potrivesc!"
-
-"Rename" "Redenume�te"
-
-"Entry" "C�mp"
-
-"Error retrieving schema definition" "Eroare la citirea definitiei pentru plan"
-
-"This is an action query!\n\nExecute it?" "Aceasta este o comanda nu o selectie!\n\nO executam?"
-
-"Error retrieving view definition for" "Eroare la citirea definitiei pentru vederea"
-
-"options" "op�iuni"
-
-"Sequence '%s' not found!" "Secventa '%s' nu a fost gasita!"
-
-"Text" "Text"
-
-"Tcl error executing pg_exec %s\n\n%s" "Eroare Tcl la executia comenzii %s\n\n%s"
-
-"Width" "L��ime"
-
-"You have to supply a name for this query!" "Trebuie sa dati totusi un nume acestei selectii"
-
-"Accessing data. Please wait ..." "Citim inregistrarile. Asteptati ..."
-
-"Report footer" "�ncheiere raport"
-
-"Parameters" "Parametrii"
-
-"Queries" "Selec�ii"
-
-"Query '%s' already exists!" "Selectia '%s' exista deja!"
-
-"Font bold" "Font �ngro�at"
-
-"Query builder" "Proiectare selectii"
-
-"Error defining view" "Eroare la definirea vederii"
-
-"Top" "Sus"
-
-"You must supply a name for your table!" "Trebuie sa introduceti un nume pentru aceasta tabela!"
-
-"Page footer" "�ncheiere pagin�"
-
-"Font italic" "Font �nclinat"
-
-"Field name not entered!" "Nu ati introdus numele cimpului!"
-
-"Index name cannot be null!" "Numele indexului trebuie sa fie completat!"
-
-"Sort" "Sortare"
-
-"Import-Export table" "Import/Export tabela"
-
-"Point" "Selecteaz�"
-
-"type" "tip"
-
-"You should supply a name for this sequence" "Ar trebui sa dai un nume secventei"
-
-"Remove link ?" "Stergeti aceasta legatura?"
-
-"You have to supply a table name!" "Trebuie sa introduceti numele tabelei!"
-
-"Report header" "Cap de raport"
-
-"Attributes" "Atribute"
-
-"Table '%s' already in schema" "Tabela '%s' exista deja pe plan!"
-
-"Username" "Utilizator"
-
-"Minvalue" "Valoare minim�"
-
-"Sequence name" "Nume secven��"
-
-"Define sequence" "Define�te secven��"
-
-"Function" "Func�ie"
-
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "Sortari si filtrari nu se pot face din vizualizare selectii\n\nSpecificati-le in definitia selectiei!"
-
-"Reports" "Rapoarte"
-
-"primary key" "cheie primar�"
-
-"Back" "�napoi"
-
-"Columns" "Coloane"
-
-"Indexes" "Indec�i"
-
-"Permissions" "Drepturi"
-
-"not null" "nenul"
-
-"Cluster index" "Aglomereaz� indexul"
-
-"index columns" "compunerea indexului"
-
-"Add user" "Adaug� utilizator"
-
-"Change permissions" "Schimb� drepturile de acces"
-
-"select" "selec�ii"
-
-"update" "actualiz�ri"
-
-"insert" "inser�ri"
-
-"rule" "reguli"
-
-"Identification" "Identificare"
-
-"Owner ID" "ID-ul proprietarului"
-
-"Has primary key ?" "Are cheie primar� ?"
-
-"Has rules ?" "Are reguli definite ?"
-
-"Statistics" "Statistice"
-
-"Number of tuples" "Num�r �nregistr�ri"
-
-"Number of pages" "Num�r pagini"
-
-"Index name" "Nume index"
-
-"Index fields" "Coloanele indexului"
-
-"Table OID" "OID-ul tabelei"
-}
diff --git a/src/bin/pgaccess/lib/languages/russian.koi8r b/src/bin/pgaccess/lib/languages/russian.koi8r
deleted file mode 100644
index 1cf1c423594..00000000000
--- a/src/bin/pgaccess/lib/languages/russian.koi8r
+++ /dev/null
@@ -1,535 +0,0 @@
-array set Messages {
-
-"Label" "�����"
- 
-"Save schema" "���������� �����"
- 
-"Is unique ?" "�������� ����������?"
- 
-"Report builder" "����������� �������"
- 
-"Criteria" "��������"
- 
-"FATAL ERROR upgrading PgAccess table" "��������� ������ ��� ���������� ������� PgAccess"
- 
-"Save this query as a view" "��������� ���� ������ ��� View"
- 
-"Page header" "��������� ��������"
- 
-"Query name" "��� �������"
- 
-"Please select an object first!" "����������, ������� �������� ������!"
- 
-"Fields :" "����:"
- 
-"Name" "���"
- 
-"File name" "��� �����"
- 
-"Detail record" "Detail Datensatz"
- 
-"Auto-load the last opened database at startup" "������������ ��������� �������� ���� ������ ��� �������"
- 
-"Maxvalue" "������������ ��������"
- 
-"Start value" "��������� ��������"
- 
-"Report fields" "���� ������"
- 
-"Test form" "������������ �����"
- 
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "������ ��� ����������� � ���� ������ '%s' �� ������ %s \n\nPostgreSQL ������ ��������� �� ������: %s"
- 
-"No field type ?" "��� ���� ���� ?"
- 
-"User without name?" "������������ ��� ����� ?"
- 
-"You have to supply a name for this schema!" "�� ������ ���� ��� ��� ���� �����"
- 
-"Last value" "��������� ��������"
- 
-"Preferences" "���������"
- 
-"View '%s' already exists!\nOverwrite ?" "View '%s' ��� ����������.\n������������ ?"
- 
-"You have to select an index!" "�� ������ ������� index"
- 
-"Field type" "��� ����"
- 
-"Script name" "��� �������"
- 
-"Reload" "�������������"
- 
-"Remove table %s from query?" "������� ������� %s �� ������� ?"
- 
-"SQL window" "���� SQL"
- 
-"Allow user to create other users" "��������� ������������ ��������� ������ �������������"
- 
-"Delete current record ?" "������� ������� ������ ?"
- 
-"List box" "Listbox"
- 
-"Save to query builder" "��������� � ����������� ��������"
- 
-"fixed width" "������������� ������"
- 
-"Scripts" "������"
- 
-"Yes" "��"
- 
-"Add label" "�������� �����"
- 
-"Sequence created!" "������������������ �������!"
- 
-"Field information" "���������� � ����"
- 
-"Design" "������"
- 
-"Field" "����"
- 
-"You have to supply an external file name!" "�� ������ ������ ��� �������� �����!"
- 
-"Increment" "����������"
- 
-"No" "���"
- 
-"Form design" "������ �����"
- 
-"You must supply a return type!" "�� ������ ������� ��� ������������� ��������!"
- 
-"Remove field from result ?" "������� ���� �� �����������?"
- 
-"There is another object (a %s) with the same name.\nPlease change it!" "��� ���������� ������ (%s) � ��� �� ����� ������.\n���������� �������� ���"
- 
-"This query has no commands?" "� ���� ������� ��� ������"
- 
-"Execute query" "��������� ������"
- 
-"field cannot be null" "���� �� ����� ����� �������� null"
- 
-"Help" "������"
- 
-"Rename column" "������������� �������"
- 
-"Database" "���� ������"
- 
-"Information" "����������"
- 
-"Close" "�������"
- 
-"Command" "�������"
- 
-"Table" "�������"
- 
-"verify password" "Passwort best�tigen"
- 
-"Vacuum" "�����"
- 
-"Default value" "�������� �� ���������"
- 
-"Import" "�������������"
- 
-"Delete index" "������� ������"
- 
-"Move up" "����������� �����"
- 
-"index properties" "�������� �������"
- 
-"check" "��������"
- 
-"Create new table" "������� ����� �������"
- 
-"Visual query designer" "���������� �������� ��������"
- 
-"Delete all" "������� ���"
- 
-"You are going to delete\n\n %s \n\nProceed?" "�� ������ �������\n\n %s \n\n. ����������?"
- 
-"Schema name" "��� �����"
- 
-"Error executing query" "������ ��� ���������� �������"
- 
-"Report name" "��� ������"
- 
-"Add field" "�������� ����"
- 
-"Field name" "��� ����"
- 
-"FATAL ERROR searching for PgAccess system tables" "��������� ������ ��� ������ ��������� ������ PgAccess"
- 
-"A big number of rows displayed in table view will take a lot of memory!" "������� ���������� ������������ � ������� ����� ������ ������� ���������� ������"
- 
-"Preview" "��������������� ��������"
- 
-"Users" "������������"
- 
-"Owner" "��������"
- 
-"Form's window internal name" "���������� ��� ���� �����"
- 
-"Sort field" "����������� ����"
- 
-"New name is the same as the old one!" "����� ��� ����� �� ��� � ������!"
- 
-"Warning" "��������������"
- 
-"Suggestions at" "����������� �"
- 
-"Functions" "�������"
- 
-"Schema" "�����"
- 
-"Open" "�������"
- 
-"size" "������"
- 
-"Delete" "�������"
- 
-"Returns" "������������ ��������"
- 
-"Define new user" "���������� ������ ������������"
- 
-"Move down" "����������� ����"
- 
-"Design script" "�������������� �������"
- 
-"Check box" "Check box"
- 
-"FINAL WARNING" "�������������� ��������������"
- 
-"Add table" "�������� �������"
- 
-"Table viewer font" "����� ��� ��������� ������"
- 
-"The field type is not specified!" "��� ���� �� ������!"
- 
-"Close test form" "������� �������� �����"
- 
-"Export table" "�������������� �������"
- 
-"Add new index" "�������� �������"
- 
-"Left" "�����"
- 
-"Field delimiter" "����������� �����"
- 
-"Add formula" "�������� �������"
- 
-"Open database" "������� ���� ������"
- 
-"Return" "�������"
- 
-"Changed fonts may appear in the next working session!" "���������� ������ ������ ����������� ����� ����������� ���������!"
- 
-"Error" "������"
- 
-"Enter a field name" "������� ��� ����"
- 
-"field name" "��� ����"
- 
-"Forms" "�����"
- 
-"Cannot add column" "�� ���� �������� �������"
- 
-"Clean" "��������"
- 
-"Delete all objects ?" "������� ��� �������?"
- 
-"Preferred language" "�������������� ����"
- 
-"Execute SQL" "��������� SQL"
- 
-"Sequences" "������������������"
- 
-"Button" "������"
- 
-"Language" "����"
- 
-"Query '%s' was not found!" "������ '%s' �� ������"
- 
-"Object" "������"
- 
-"Font fixed" "����� � ������������� �������"
- 
-"Table name" "��� �������"
- 
-"Export" "��������������"
- 
-"Change user" "�������� ������������"
- 
-"You must give object a new name!" "�� ������ ���� ������� ����� ���"
- 
-"Query" "������"
- 
-"User name" "��� ������������"
- 
-"Font normal" "���������� �����"
- 
-"Import table" "������������� �������"
- 
-"Toolbar" "������ ������������"
- 
-"Radio btn" "Radio"
- 
-"You must supply a name for this function!" "�� ������ ������ ��� ��� ���� �������"
- 
-"You have to select index fields!" "��� ���������� ������� ���� ��� ��������������"
- 
-"Constraint" "�����������"
- 
-"The script must have a name" "������ ������ ����� ���"
- 
-"Save" "���������"
- 
-"Exit" "�����"
- 
-"Inherits" "������������"
- 
-"Delete field" "������� ����"
- 
-"About" "� ���������"
- 
-"Empty field name ?" "������ ��� ����?"
- 
-"All report information will be deleted.\n\nProceed ?" ��� ���������� �
-������ ����� �������\n\n����������?"
- 
-"Host" "������"
- 
-"vacuuming database %s ..." "���������� ���� ������ %s ..."
- 
-"Indexes defined" "������� ����������"
- 
-"You must specify field size!" "�� ������ ������� ������ ����!"
- 
-"Schema '%s' already exists!" "����� '%s' ��� ����������!"
- 
-"There is another field with the same name: '%s'!\n\nReplace it ?" "���������� ������ ���� � ����� �� ������: '%s'!\n\n�������� ���?"
- 
-"Contents" "����������"
- 
-"Views" "���� (Views)"
- 
-"Variable" "����������"
- 
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "������ ���������� �������\n\n%s\n\n��������� �� ������ PostgreSQL:\n%s \n ������ PostgreSQL:%s"
- 
-"Filter conditions" "������� ������"
- 
-"Error retrieving query definition" "������ ��������� ����������� �������"
- 
-"Error deleting view" "������ ��� �������� View"
- 
-"New" "�����"
- 
-"Tables" "�������"
- 
-"Create" "�������"
- 
-"Forms need an internal name, only literals, low case" "��� ����� ���������� ���������� ��� (������ ������� � ������ ��������)"
- 
-"Do you want to save the form into the database?" �� ������ ��������� ����� � ���� ������?"
- 
-"Schema '%s' was not found!" "����� '%s' �� �������!"
- 
-"proportional" "����������������"
- 
-"Function saved!" "������� ���������"
- 
-"with OIDs" "� OIDs"
- 
-"Table information" "���������� � �������"
- 
-"Error inserting new record" "������ ��� ���������� ����� ������"
- 
-"Column name '%s' already exists in this table!" "������� '%s' ��� ���������� � ���� �������"
- 
-"File" "����"
- 
-"Your table has no columns!" "� ����� ������� ��� �����!"
- 
-"Height" "������"
- 
-"You will always get the latest version at:" "�� ������ ������� ��������� ������ �� ������:"
- 
-"Form must have a name" "� ����� ������ ���� ���"
- 
-"Password" "������"
- 
-"Valid until (date)" "������������� �� (����)"
- 
-"Report source" "�������� ����� ������"
- 
-"Allow user to create databases" "��������� ������������ ��������� ���� ������"
- 
-"Cancel" "��������"
- 
-"Is clustered ?" "������� �� ��������?"
- 
-"Add new column" "�������� ����� �������"
- 
-"Show SQL" "�������� SQL"
- 
-"New name" "����� ���"
- 
-"Table '%s' not found!" "������� '%s' �� �������"
- 
-"Form name" "��� �����"
- 
-"Visual designer" "Visual Designer"
- 
-"You choose to delete index\n\n %s \n\nProceed?" "�� ������ ������� ������\n\n %s \n\n ����������?"
- 
-"Error retrieving from" "������ ��� ��������� ��..."
- 
-"Save query definition" "��������� ����������� �������"
- 
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Tcl/TK ���������� �\nPostgreSQL\n ����� Constantin Teodorescu"
- 
-"Operation completed!" "�������� ���������!"
- 
-"Max rows displayed in table/query view" "������������ ���������� �����, ������������ ��� ��������� �������/�������"
- 
-"Passwords do not match!" "������ ������������!"
- 
-"Rename" "�������������"
- 
-"Entry" "������"
- 
-"Error retrieving schema definition" "������ ��������� ����������� �����"
- 
-"This is an action query!\n\nExecute it?" "��� ������-��������\n\n��������� ���?"
- 
-"Error retrieving view definition for" "������ ��������� �������� ���"
- 
-"options" "���������"
- 
-"Sequence '%s' not found!" "������������������ '%s' �� �������"
- 
-"Text" "�����"
- 
-"Tcl error executing pg_exec %s\n\n%s" "������ Tcl ��� ���������� pg_exec %s\n\n%s"
- 
-"Width" "������"
- 
-"You have to supply a name for this query!" "�� ������ ������ ��� ��� ����� �������!"
- 
-"Accessing data. Please wait ..." "������ � ������. ���������� ����� ..."
- 
-"Report footer" "������ ����� ������"
- 
-"Parameters" "���������"
- 
-"Queries" "�������"
- 
-"Query '%s' already exists!" "������ '%s' ��� ����������!"
- 
-"Font bold" "������ �����"
- 
-"Query builder" "����������� ��������"
- 
-"Error defining view" "������ ����������� View"
- 
-"Top" "����"
- 
-"You must supply a name for your table!" "�� ������ ������ ��� ��� ����� �������!"
- 
-"Page footer" "Seitenfu�"
- 
-"Font italic" "����� Italic"
- 
-"Field name not entered!" "�� ������� ��� ����"
- 
-"Index name cannot be null!" "��� ������� �� ����� ���� ������ null!"
- 
-"Sort" "����������"
- 
-"Import-Export table" "�������������/�������������� �������"
- 
-"Point" "�����"
- 
-"type" "���"
- 
-"You should supply a name for this sequence" "�� ������ ������ ��� ��� ������������������"
- 
-"Remove link ?" "������� ������?"
- 
-"You have to supply a table name!" "�� ������ ������ ��� �������"
- 
-"Report header" "��������� ������"
- 
-"Attributes" "��������"
- 
-"Table '%s' already in schema" "������� '%s' ��� ���������� � �����"
- 
-"Username" "��� ������������"
- 
-"Minvalue" "����������� ��������"
- 
-"Sequence name" "��� ������������������"
- 
-"Define sequence" "���������� ������������������"
- 
-"Function" "�������"
- 
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "���������� � ����� (���) �� �������� � ��������!\n\n���������� ������� �� � ����������� �������!"
- 
-"Reports" "������"
-
-"Columns" "�������"
- 
-"Indexes" "�������"
-
-"Permissions" "����� �������"
-
-"not null" "�� null"
-
-"Cluster index" "���������� ������" 
-
-"index columns" "������������� �������"
-
-"Add user" "�������� ������������"
-
-"Change permissions" "�������� ����� �������"
-
-"select" "�������"
-
-"update" "��������"
-
-"insert" "��������"
-
-"rule" "�������"
-
-"Identification" "�������������"
-
-"Owner ID" "ID ���������"
-
-"Has primary key ?" "����� ��������� ����?"
-
-"Has rules ?" "����� �������?"
-
-"Statistics" "����������"
-
-"Number of tuples" "���������� ��������"
-
-"Number of pages" "���������� �������"
-
-"Index name" "��� �������"
-
-"Index fields" "������������� ����"
-
-"Table OID" "OID �������"
-
-"View system tables" "�������� ��������� ������"
-
-"Back" "�����"
-
-"primary key" "��������� ����"
-
-"Comments" "�����������"
-
-"Print" "������"
-}
-
-
diff --git a/src/bin/pgaccess/lib/languages/russian_win b/src/bin/pgaccess/lib/languages/russian_win
deleted file mode 100644
index fe00fc30d21..00000000000
--- a/src/bin/pgaccess/lib/languages/russian_win
+++ /dev/null
@@ -1,535 +0,0 @@
-array set Messages {
-
-"Label" "�����"
- 
-"Save schema" "��������� �����"
- 
-"Is unique ?" "��� ���������� ?"
- 
-"Report builder" "����������� �������"
- 
-"Criteria" "��������"
- 
-"FATAL ERROR upgrading PgAccess table" "������������ ������ ������������ ������� PgAccess"
- 
-"Save this query as a view" "��������� ������ ��� ���"
- 
-"Page header" "��������� ��������"
- 
-"Query name" "��� �������"
- 
-"Please select an object first!" "����������, �������� ������� ������"
- 
-"Fields :" "���� :"
- 
-"Name" "���"
- 
-"File name" "��� �����"
- 
-"Detail record" "���������� ����"
- 
-"Auto-load the last opened database at startup" "��������� ��� ������ ��������� �������� ���� ������"
- 
-"Maxvalue" "������������ ��������"
- 
-"Start value" "��������� ��������"
- 
-"Report fields" "���� ������*****"
- 
-"Test form" "�����������"
-
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "������ ��������� � ���� ������ '%s' \n\nPostgreSQL ��������� �� ������:%s"
- 
-"No field type ?" "����������� ��� ����****** ?"
- 
-"User without name?" "������������ ��� �����***** ?"
- 
-"You have to supply a name for this schema!" "������� ��� �����!"
- 
-"Last value" "�������� ��������"
- 
-"Preferences" "��������"
- 
-"View '%s' already exists!\nOverwrite ?" "��� '%s' ����������!\n �������� ?"
- 
-"You have to select an index!" "������� ������"
- 
-"Field type" "��� ����"
- 
-"Script name" "��� �������"
- 
-"Reload" "��������"
- 
-"Remove table %s from query?" "������� ������� %s �� �������?"
- 
-"SQL window" "���� SQL"
- 
-"Allow user to create other users" "����� ��������� �������������"
- 
-"Delete current record ?" "������� ������� ������?"
- 
-"List box" "������"
- 
-"Save to query builder" "�������� � �����������"
- 
-"fixed width" "������������"
- 
-"Scripts" "�������"
- 
-"Yes" "��"
- 
-"Add label" "�������� �����"
- 
-"Sequence created!" "������������������ �������!"
- 
-"Field information" "���������� � �����"
- 
-"Design" "������"
- 
-"Field" "����"
- 
-"You have to supply an external file name!" "***You have to supply an external file name!"
- 
-"Increment" "���������"
- 
-"No" "���"
- 
-"Form design" "�������� ����"
- 
-"You must supply a return type!" "***You must supply a return type!"
- 
-"Remove field from result ?" "������� ����****8 ?"
- 
-"There is another object (a %s) with the same name.\nPlease change it!" "���������� ������ ������ � ������ %s.\n����������, �������� ���!"
- 
-"This query has no commands?" "� ���� ������� ��� �������?"
- 
-"Execute query" "��������� ������"
- 
-"field cannot be null" "�� ������"
- 
-"Help" "������"
- 
-"Rename column" "������������� ����"
- 
-"Database" "���� ������"
- 
-"Information" "����������"
- 
-"Close" "�������"
- 
-"Command" "��������"
- 
-"Table" "�������"
- 
-"verify password" "�������������"
- 
-"Vacuum" "Vacuum"
- 
-"Default value" "�� ���������"
- 
-"Import" "������"
- 
-"Delete index" "������� ������"
- 
-"Move up" "�������"
- 
-"index properties" "�������� �������"
- 
-"check" "��������"
- 
-"Create new table" "�������� �������"
- 
-"Visual query designer" "����������� ��������"
- 
-"Delete all" "��������"
- 
-"You are going to delete\n\n %s \n\nProceed?" "�� ��������\n\n %s \n\n�����������."
- 
-"Schema name" "��� �����"
- 
-"Error executing query" "������ ���������� �������"
- 
-"Report name" "��� ������"
- 
-"Add field" "�������� ����"
- 
-"Field name" "��� ����"
- 
-"FATAL ERROR searching for PgAccess system tables" "������������ ������ ������ ��������� ������ PgAccess"
- 
-"A big number of rows displayed in table view will take a lot of memory!" "***A big number of rows displayed in table view will take a lot of memory!"
- 
-"Preview" "��������"
- 
-"Users" "������������"
- 
-"Owner" "��������"
- 
-"Form's window internal name" "���������� ��� ����"
- 
-"Sort field" "����������� ����"
- 
-"New name is the same as the old one!" "����� ��� ��������� �� ������!"
- 
-"Warning" "��������������"
- 
-"Suggestions at" "Suggestions at"
- 
-"Functions" "�������"
- 
-"Schema" "�����"
- 
-"Open" "�������"
- 
-"size" "������"
- 
-"Delete" "�������"
- 
-"Returns" "�������"
- 
-"Define new user" "����� ������������"
- 
-"Move down" "��������"
- 
-"Design script" "����������� �������"
- 
-"Check box" "Check box"
- 
-"FINAL WARNING" "FINAL WARNING"
- 
-"Add table" "�������� �������"
- 
-"Table viewer font" "���� ��� ��������� �������"
- 
-"The field type is not specified!" "��� ���� �� ���������"
- 
-"Close test form" "�������������"
- 
-"Export table" "������� �������"
- 
-"Add new index" "�������� ����� ������"
- 
-"Left" "�����"
- 
-"Field delimiter" "����������� �����"
- 
-"Add formula" "�������� �������"
- 
-"Open database" "������� ����"
- 
-"Return" "���������***"
- 
-"Changed fonts may appear in the next working session!" "Changed fonts may appear in the next working session!"
- 
-"Error" "������"
- 
-"Enter a field name" "������� ��� ����"
- 
-"field name" "��� ����"
- 
-"Forms" "�����"
- 
-"Cannot add column" "���������� �������� ����"
- 
-"Clean" "��������"
- 
-"Delete all objects ?" "�������� ?"
- 
-"Preferred language" "�������������� ����"
- 
-"Execute SQL" "��������� ������� SQL"
- 
-"Sequences" "������������������"
- 
-"Button" "Button"
- 
-"Language" "����"
- 
-"Query '%s' was not found!" "������ '%s' �� ������"
- 
-"Object" "������"
- 
-"Font fixed" "Font fixed"
- 
-"Table name" "��� �������"
- 
-"Export" "�������"
- 
-"Change user" "������� ������������"
- 
-"You must give object a new name!" "����� ������� ������ ���"
- 
-"Query" "������"
- 
-"User name" "������������"
- 
-"Font normal" "Font normal"
- 
-"Import table" "������ �������"
- 
-"Toolbar" "Toolbar"
- 
-"Radio btn" "Radio btn"
- 
-"You must supply a name for this function!" "������� ��� �������!"
- 
-"You have to select index fields!" "������� ��������� ����."
- 
-"Constraint" "�����������"
- 
-"The script must have a name" "������ ������ ����� ���"
- 
-"Save" "���������"
- 
-"Exit" "�����"
- 
-"Inherits" "�����������"
- 
-"Delete field" "������� ����"
- 
-"About" "� ���������"
- 
-"Empty field name ?" "������ ���� �����?"
- 
-"All report information will be deleted.\n\nProceed ?" "��� ���������� ������ ����� �������\n\n ��������� ?"
- 
-"Host" "����"
- 
-"vacuuming database %s ..." "vacuuming database %s ..."
- 
-"Indexes defined" "����������� ��������"
- 
-"You must specify field size!" "����� ������ ��� ����!"
- 
-"Schema '%s' already exists!" "����� '%s' ��� ����!"
- 
-"There is another field with the same name: '%s'!\n\nReplace it ?" "��� ���������� ���� � ���� ������ : '%s'!\n\n��������?"
- 
-"Contents" "����������"
- 
-"Views" "����"
- 
-"Variable" "����������"
- 
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "������ ���������� �������\n\n%s\n\nPostgreSQL ��� ������ :\n%s \n PostgreSQL Stftus :%s"
- 
-"Filter conditions" "������"
- 
-"Error retrieving query definition" "Error retrieving query definition"
- 
-"Error deleting view" "������ �������� ����"
- 
-"New" "�����"
- 
-"Tables" "�������"
- 
-"Create" "�������"
- 
-"Forms need an internal name, only literals, low case" "����� ������ ����� ���, ������ �����, ������ �������"
- 
-"Do you want to save the form into the database?" "������ ��������� ����� � ���� ������?"
- 
-"Schema '%s' was not found!" "����� '%s' �� �������"
- 
-"proportional" "����������������"
- 
-"Function saved!" "������� ���������!"
- 
-"with OIDs" "� OID"
- 
-"Table information" "���������� � �������"
- 
-"Error inserting new record" "������ ���������� ������"
- 
-"Column name '%s' already exists in this table!" "���� '%s' ��� ���� � �������!"
- 
-"File" "����"
- 
-"Your table has no columns!" "� ����� ������� ��� �����!"
- 
-"Height" "������"
- 
-"You will always get the latest version at:" "You will always get the latest version at:"
- 
-"Form must have a name" "����� ������ ����� ���"
- 
-"Password" "������"
- 
-"Valid until (date)" "���� ���������"
- 
-"Report source" "�������� ������"
- 
-"Allow user to create databases" "����� ��������� ���� ������"
- 
-"Cancel" "��������"
- 
-"Is clustered ?" "Is clustered ?"
- 
-"Add new column" "�������� ����� ����"
- 
-"Show SQL" "�������� SQL."
- 
-"New name" "����� ���"
- 
-"Table '%s' not found!" "������� '%s' �� �������"
- 
-"Form name" "��� �����"
- 
-"Visual designer" "���������� �����������"
- 
-"You choose to delete index\n\n %s \n\nProceed?" "�������� ������� \n\n %s \n\n ���������?"
- 
-"Error retrieving from" "Error retrieving from"
- 
-"Save query definition" "��������� ����������� �������"
- 
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Tcl/TK ��������� \nPostgreSQL\n ����� Constantin Teodorescu"
- 
-"Operation completed!" "�������� ���������"
- 
-"Max rows displayed in table/query view" "������������ ����� ������� ������������ � �������/�������"
- 
-"Passwords do not match!" "������ ��� ����� ������"
- 
-"Rename" "�������������"
- 
-"Entry" "������******"
- 
-"Error retrieving schema definition" "Error retrieving schema definition"
- 
-"This is an action query!\n\nExecute it?" "This is an action query!\n\nExecute it?"
- 
-"Error retrieving view definition for" "Error retrieving view definition for"
- 
-"options" "�����"
- 
-"Sequence '%s' not found!" "������������������ '%s' �� �������"
- 
-"Text" "�����"
- 
-"Tcl error executing pg_exec %s\n\n%s" "������ Tcl ��� ���������� pg_exec %s\n\n%s"
- 
-"Width" "������"
- 
-"You have to supply a name for this query!" "������� ��� �������"
- 
-"Accessing data. Please wait ..." "������ � ������. ����������, ��������� ..."
- 
-"Report footer" "Report footer"
- 
-"Parameters" "���������"
- 
-"Queries" "�������"
- 
-"Query '%s' already exists!" "������ '%s'  ��� ����������"
- 
-"Font bold" "Font bold"
- 
-"Query builder" "����������� ��������"
- 
-"Error defining view" "������ ����������� ����"
- 
-"Top" "�����*****"
- 
-"You must supply a name for your table!" "������� ��� ��� �������"
- 
-"Page footer" "Page footer"
- 
-"Font italic" "Font italic"
- 
-"Field name not entered!" "��� ���� �� �������"
- 
-"Index name cannot be null!" "��� ������� �� ����� ���� �����!"
- 
-"Sort" "����������"
- 
-"Import-Export table" "������/������� �������"
- 
-"Point" "�����****8"
- 
-"type" "���"
- 
-"You should supply a name for this sequence" "������� ��� ������������������"
- 
-"Remove link ?" "������� ������*****"
- 
-"You have to supply a table name!" "������� ��� �������"
- 
-"Report header" "��������� ������"
- 
-"Attributes" "��������"
- 
-"Table '%s' already in schema" "������� '%s' ��� ���� � �����"
- 
-"Username" "������������"
- 
-"Minvalue" "����������� ��������"
- 
-"Sequence name" "��� ������������������"
- 
-"Define sequence" "���������� ������������������"
- 
-"Function" "�������"
- 
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "���������� � ���������� � ������� ����������.\n\n����������, ������� �� � ����������� �������!"
- 
-"Reports" "������"
-
-"Columns" "����"
- 
-"Indexes" "�������"
-
-"Permissions" "�����"
-
-"not null" "�� ����"
-
-"Cluster index" "������ ��������" 
-
-"index columns" "��������� ����"
-
-"Add user" "�������� ������������"
-
-"Change permissions" "�������� ����� �������"
-
-"select" "������"
-
-"update" "������"
-
-"insert" "����������"
-
-"rule" "��������"
-
-"Identification" "�������������"
-
-"Owner ID" "������������� ���������"
-
-"Has primary key ?" "���� ���� ?"
-
-"Has rules ?" "Has rules ?"
-
-"Statistics" "����������"
-
-"Number of tuples" "Number of tuples"
-
-"Number of pages" "Number of pages"
-
-"Index name" "��� �������"
-
-"Index fields" "��������� ����"
-
-"Table OID" "OID �������"
-
-"View system tables" "���������� ��������� �������"
-
-"Back" "�����"
-
-"primary key" "��������� ����"
-
-"Comments" "�����������"
-
-"Print" "������"
-
-}
-
-
diff --git a/src/bin/pgaccess/lib/languages/spanish b/src/bin/pgaccess/lib/languages/spanish
deleted file mode 100644
index d7ee03a2e1d..00000000000
--- a/src/bin/pgaccess/lib/languages/spanish
+++ /dev/null
@@ -1,568 +0,0 @@
-array set Messages {
-
-"Label" "Etiqueta"
-
-"Save schema" "Salvar Esquema"
-
-"Is unique ?" "�Es �ndice �nico?"
-
-"Report builder" "Generador de Reportes"
-
-"Criteria" "Criterio"
-
-"FATAL ERROR upgrading PgAccess table" "ERROR FATAL actualizando la tabla de 
-PgAccess"
-
-"Save this query as a view" "Salva esta consulta como una vista"
-
-"Page header" "Encabezado de p�gina"
-
-"Query name" "Nombre"
-
-"Please select an object first!" "Favor seleccionar primero un objeto"
-
-"Fields :" "Campos"
-
-"Name" "Nombre"
-
-"File name" "Nombre del archivo"
-
-"Detail record" "Detalle del registro"
-
-"Auto-load the last opened database at startup" "Carga autom�ticamente la
-�ltima base de datos al iniciar"
-
-"Maxvalue" "Valor m�ximo"
-
-"Start value" "Valor inicial"
-
-"Report fields" "Campos del reporte"
-
-"Test form" "Ejecuci�n formulario"
-
-"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error 
-message:%s" "Error al intentar conectar a la base de datos '%s' en el 
-servidor %s \n\nMensaje de error de PostgresSQL:%s"
-
-"No field type ?" "No tipo de campo"
-
-"User without name?" "�Usuario sin nombre?"
-
-"You have to supply a name for this schema!" "�Debe suministrar un nombre 
-para este esquema!"
-
-"Last value" "Ultimo Valor"
-
-"Preferences" "Preferencias"
-
-"View '%s' already exists!\nOverwrite ?" "�La vista '%s' ya 
-existe!\n�Sobreescribir?"
-
-"You have to select an index!" "!Usted no ha seleccionado un �ndice�"
-
-"Field type" "Tipo"
-
-"Script name" "Nombre del script"
-
-"Reload" "Actualizar"
-
-"Remove table %s from query?" "�Remover la table %s de la consulta?"
-
-"SQL window" "Ventana SQL"
-
-"Allow user to create other users" "Permitir al usuario crear otros 
-usuarios"
-
-"Delete current record ?" "�Borrar el registro actual?"
-
-"List box" "Lista"
-
-"Save to query builder" "Salvar al Generador de Consultas"
-
-"fixed width" "Ancho fijo"
-
-"Scripts" "Script"
-
-"Yes" "Si"
-
-"Add label" "Adicionar etiqueta"
-
-"Sequence created!" "�Secuencia creada!"
-
-"Field information" "Informaci�n del campo"
-
-"Design" "Dise�o"
-
-"Field" "Campo"
-
-"You have to supply an external file name!" "�Debe suministrar un nombre de 
-archivo externo!"
-
-"Increment" "Incremento"
-
-"No" "No"
-
-"Form design" "Dise�o de formularios"
-
-"You must supply a return type!" "�Debe suministrar un tipo retornado!"
-
-"Remove field from result ?" "Remover el campo desde el resultado"
-
-"There is another object (a %s) with the same name.\nPlease change it!" "Hay 
-otro objeto (un %s) con el mismo nombre\nPor favor cambiarlo"
-
-"This query has no commands?" "�Esta consulta no tiene comandos?"
-
-"Execute query" "Ejecutar consulta"
-
-"field cannot be null" "El campo no puede ser nulo"
-
-"Help" "Ayuda"
-
-"Rename column" "Renombrar columna"
-
-"Database" "Base de Datos"
-
-"Information" "Informaci�n"
-
-"Close" "Cerrar"
-
-"Command" "Comando"
-
-"Table" "Tabla"
-
-"verify password" "Verificar clave"
-
-"Vacuum" "Vaciar"
-
-"Default value" "Valor por defecto"
-
-"Import" "Importar"
-
-"Delete index" "Borrar �ndice"
-
-"Move up" "Mover arriba"
-
-"index properties" "Propiedades del �ndice"
-
-"check" "Verificar"
-
-"Create new table" "Crear nueva tabla"
-
-"Visual query designer" "Generador de consultas visual"
-
-"Delete all" "Borrar todo"
-
-"You are going to delete\n\n %s \n\nProceed?" "Usted va a borrar \n\n %s 
-\n\n�Continuar?"
-
-"Schema name" "Nombre del esquema"
-
-"Error executing query" "Error ejecutando al consulta"
-
-"Report name" "Nombre"
-
-"Add field" "Adicionar"
-
-"Field name" "Nombre del campo"
-
-"FATAL ERROR searching for PgAccess system tables" "ERROR FATAL buscando por 
-las tablas del sistema PgAccess"
-
-"A big number of rows displayed in table view will take a lot of memory!" 
-"Un gran n�mero de filas desplegadas en la vista de la tabla ocupar� mucha 
-memoria"
-
-"Preview" "Previo"
-
-"Users" "Usuarios"
-
-"Owner" "Propietario"
-
-"Form's window internal name" "Nombre interno de la ventana del formulario"
-
-"Sort field" "Ordenar por"
-
-"New name is the same as the old one!" "�El nombre nuevo es el mismo que el 
-anterior!"
-
-"Warning" "Advertencia"
-
-"Suggestions at" "Sugerencia"
-
-"Functions" "Funciones"
-
-"Schema" "Esquema"
-
-"Open" "Abrir"
-
-"size" "Tama�o"
-
-"Delete" "Borrar"
-
-"Returns" "Retornar"
-
-"Define new user" "Definir nuevo usuario"
-
-"Move down" "Mover abajo"
-
-"Design script" "Dise�o de scripts"
-
-"Check box" "Caja de chequeo"
-
-"FINAL WARNING" "ADVERTENCIA FINAL"
-
-"Add table" "Adicionar tabla"
-
-"Table viewer font" "Visor de fuente de tabla"
-
-"The field type is not specified!" "�El tipo de campo no ha sido 
-especificado!"
-
-"Close test form" "Cerrar la prueba del formulario"
-
-"Export table" "Exportar tabla"
-
-"Add new index" "Adicionar nuevo �ndice"
-
-"Left" "Izquierda"
-
-"Field delimiter" "Delimitador"
-
-"Add formula" "Adicionar formula"
-
-"Open database" "Abrir Base de datos"
-
-"Return" "Retornar"
-
-"Changed fonts may appear in the next working session!" "El cambio de las 
-fuentes aparecer� en la pr�xima sesi�n"
-
-"Error" "Error"
-
-"Enter a field name" "Ingresar un nombre de campo"
-
-"field name" "Nombre del campo"
-
-"Forms" "Formularios"
-
-"Cannot add column" "No puede adicionar la columna"
-
-"Clean" "Limpiar"
-
-"Delete all objects ?" "�Borrar todos los objetos?"
-
-"Preferred language" "Lenguaje preferido"
-
-"Execute SQL" "Ejecutar SQL"
-
-"Sequences" "Secuencias"
-
-"Button" "Bot�n"
-
-"Language" "Lenguaje"
-
-"Query '%s' was not found!" "La consulta '%s' no fue encontrada"
-
-"Object" "Objeto"
-
-"Font fixed" "Fuente fija"
-
-"Table name" "Nombre"
-
-"Export" "Exportar"
-
-"Change user" "Cambiar usuario"
-
-"You must give object a new name!" "�Usted debe dar un nuevo nombre al 
-objeto!"
-
-"Query" "Consulta"
-
-"User name" "Nombre de usuario"
-
-"Font normal" "Fuente normal"
-
-"Import table" "Importar Tabla"
-
-"Toolbar" "Barra de herramientas"
-
-"Radio btn" "Bot�n Radio"
-
-"You must supply a name for this function!" "�Usted debe dar un nombre para 
-esta funci�n!"
-
-"You have to select index fields!" "�Debe seleccionar un campo �ndice!"
-
-"Constraint" "Coacci�n"
-
-"The script must have a name" "El Script debe tener un nombre"
-
-"Save" "Salvar"
-
-"Exit" "Salir"
-
-"Inherits" "Heredar"
-
-"Delete field" "Borrar campo"
-
-"About" "Acerca de"
-
-"Empty field name ?" "�Sin nombre de campo?"
-
-"All report information will be deleted.\n\nProceed ?" "Toda la informaci�n 
-del reporte ser� borrada \n\n�Continuar?"
-
-"Host" "Servidor"
-
-"vacuuming database %s ..." "Vaciando Base de Datos %s ..."
-
-"Indexes defined" "Definir �ndices"
-
-"You must specify field size!" "Debe especificar el tama�o del campo"
-
-"Schema '%s' already exists!" "Esquema '%s' ya existe!"
-
-"There is another field with the same name: '%s'!\n\nReplace it ?" "Hay otro 
-campo con el mismo nombre: '%s' \n\n�Desea reemplazarlo?"
-
-"Contents" "Contenido"
-
-"Views" "Vistas"
-
-"Variable" "Variable"
-
-"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL 
-status:%s" "Error ejecutando consulta:\n\n%s\n\nMensaje de error 
-PostgreSQL:\n%s\nStare:%s"
-
-"Filter conditions" "Condiciones del filtro"
-
-"Error retrieving query definition" "Error recuperando la definici�n de la 
-consulta"
-
-"Error deleting view" "Error borrando vista"
-
-"New" "Nuevo(a)"
-
-"Tables" "Tablas"
-
-"Create" "Crear"
-
-"Forms need an internal name, only literals, low case" "Los formularios 
-necesitan un nombre interno, solo letras, min�sculas"
-
-"Do you want to save the form into the database?" "�Desea salvar el 
-formulario en la Base de Datos?"
-
-"Schema '%s' was not found!" "El esquema '%s' no fue encontrado!"
-
-"proportional" "Proporcional"
-
-"Function saved!" "�Funci�n salvada!"
-
-"with OIDs" "con OIDs"
-
-"Table information" "Informaci�n de la tabla"
-
-"Error inserting new record" "Error insertando un nuevo registro"
-
-"Column name '%s' already exists in this table!" "El nombre de la columna 
-'%s' existe en esta tabla!"
-
-"File" "Archivo"
-
-"Your table has no columns!" "�La tabla no tiene campos!"
-
-"Height" "Alto"
-
-"You will always get the latest version at:" "Siempre obtendr� la �ltima 
-versi�n en:"
-
-"Form must have a name" "�El formulario debe tener un nombre!"
-
-"Password" "Clave"
-
-"Valid until (date)" "Valido hasta (fecha)"
-
-"Report source" "Origen de datos"
-
-"Allow user to create databases" "Permitir al usuario crear la Base de 
-Datos"
-
-"Cancel" "Cancelar"
-
-"Is clustered ?" "�Est� agrupado?"
-
-"Add new column" "Adicionar nueva columna"
-
-"Show SQL" "Mostrar SQL"
-
-"New name" "Nuevo nombre"
-
-"Table '%s' not found!" "�La tabla '%s' no se encuentra!"
-
-"Form name" "Nombre del formulario"
-
-"Visual designer" "Dise�ador Visual"
-
-"You choose to delete index\n\n %s \n\nProceed?" "Ha elegido borrar el 
-�ndice\n\n %s \n\n�Continuar?"
-
-"Error retrieving from" "Error cargando de"
-
-"Save query definition" "Salvar definici�n de la consulta"
-
-"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Una interface 
-Tcl/Tk para\nPostgreSQL\npor Constantin Teodorescu"
-
-"Operation completed!" "�Operaci�n completada!"
-
-"Max rows displayed in table/query view" "M�ximas filas mostradas en la 
-tabla/consulta"
-
-"Passwords do not match!" "�Clave no valida!"
-
-"Rename" "Renombrar"
-
-"Entry" "Entrada"
-
-"Error retrieving schema definition" "Error recuperando la definici�n del 
-esquema"
-
-"This is an action query!\n\nExecute it?" "�Esta es una acci�n de 
-consulta!\n\n�Ejecutar?"
-
-"Error retrieving view definition for" "Error recuperando la definici�n 
-para"
-
-"options" "opciones"
-
-"Sequence '%s' not found!" "�Secuencia '%s' no encontrada!"
-
-"Text" "Texto"
-
-"Tcl error executing pg_exec %s\n\n%s" "Error Tcl en la ejecutando pg_exec 
-%s\n\n%s"
-
-"Width" "Ancho"
-
-"You have to supply a name for this query!" "Debe dar un nombre a esta 
-consulta"
-
-"Accessing data. Please wait ..." "Accesando a los datos. Por favor espere 
-..."
-
-"Report footer" "Pie de Reporte"
-
-"Parameters" "Par�metros"
-
-"Queries" "Consultas"
-
-"Query '%s' already exists!" "�La consulta '%s' ya existe!"
-
-"Font bold" "Fuente en negrilla"
-
-"Query builder" "Generador de consultas"
-
-"Error defining view" "Error en la definici�n de la vista"
-
-"Top" "Arriba"
-
-"You must supply a name for your table!" "�Puede dar un nombre para su 
-tabla!"
-
-"Page footer" "Pie de pagina"
-
-"Font italic" "Fuente It�lica"
-
-"Field name not entered!" "�Nombre de campo no almacenado!"
-
-"Index name cannot be null!" "�El nombre del �ndice no puede ser Nulo!"
-
-"Sort" "Ordenar"
-
-"Import-Export table" "Importar/Exportar tabla"
-
-"Point" "Punto"
-
-"type" "Tipo"
-
-"You should supply a name for this sequence" "Debe dar un nombre para esta 
-secuencia"
-
-"Remove link ?" "�Remover enlace?"
-
-"You have to supply a table name!" "�Tiene que dar un nombre de tabla!"
-
-"Report header" "Cabeza del reporte"
-
-"Attributes" "Atributos"
-
-"Table '%s' already in schema" "�La tabla '%s' ya existe en el esquema!"
-
-"Username" "Usuario"
-
-"Minvalue" "Valor m�nimo"
-
-"Sequence name" "Nombre"
-
-"Define sequence" "Definir secuencia"
-
-"Function" "Funci�n"
-
-"Sorting and filtering not (yet) available from queries!\n\nPlease enter 
-them in the query definition!" "�Ordenando y filtrando no disponible de 
-consultas!\n\nPor favor .....en la definici�n de la consulta!"
-
-"Reports" "Reportes"
-
-"primary key" "Llave primaria"
-
-"Back" "Atras"
-
-"Columns" "Columnas"
-
-"Indexes" "Indices"
-
-"Permissions" "Permisos"
-
-"not null" "No nulo"
-
-"Cluster index" "�ndice agrupado"
-
-"index columns" "Columnas �ndice"
-
-"Add user" "Adicionar usuario"
-
-"Change permissions" "Cambiar permisos"
-
-"select" "Seleccionar"
-
-"update" "Actualizar"
-
-"insert" "Insertar"
-
-"rule" "Regla"
-
-"Identification" "Identificaci�n"
-
-"Owner ID" "ID propietario"
-
-"Has primary key ?" "�Tiene llave primaria?"
-
-"Has rules ?" "�Tiene reglas?"
-
-"Statistics" "Est�tica"
-
-"Number of tuples" "N�mero de tuplas"
-
-"Number of pages" "N�mero de p�ginas"
-
-"Index name" "Nombre �ndice"
-
-"Index fields" "Campo �ndice"
-
-"Table OID" "OID de la Tabla"
-}
-
diff --git a/src/bin/pgaccess/lib/mainlib.tcl b/src/bin/pgaccess/lib/mainlib.tcl
deleted file mode 100644
index 1a625d72ca3..00000000000
--- a/src/bin/pgaccess/lib/mainlib.tcl
+++ /dev/null
@@ -1,1021 +0,0 @@
-namespace eval Mainlib {
-
-proc {cmd_Delete} {} {
-global PgAcVar CurrentDB
-if {$CurrentDB==""} return;
-set objtodelete [get_dwlb_Selection]
-if {$objtodelete==""} return;
-set delmsg [format [intlmsg "You are going to delete\n\n %s \n\nProceed?"] $objtodelete]
-if {[tk_messageBox -title [intlmsg "FINAL WARNING"] -parent .pgaw:Main -message $delmsg -type yesno -default no]=="no"} { return }
-switch $PgAcVar(activetab) {
-	Tables {
-		sql_exec noquiet "drop table \"$objtodelete\""
-		sql_exec quiet "delete from pga_layout where tablename='$objtodelete'"
-		cmd_Tables
-	}
-	Schema {
-		sql_exec quiet "delete from pga_schema where schemaname='$objtodelete'"
-		cmd_Schema
-	}
-	Views {
-		sql_exec noquiet "drop view \"$objtodelete\""
-		sql_exec quiet "delete from pga_layout where tablename='$objtodelete'"
-		cmd_Views
-	}
-	Queries {
-		sql_exec quiet "delete from pga_queries where queryname='$objtodelete'"
-		sql_exec quiet "delete from pga_layout where tablename='$objtodelete'"
-		cmd_Queries
-	}
-	Scripts {
-		sql_exec quiet "delete from pga_scripts where scriptname='$objtodelete'"
-		cmd_Scripts
-	}
-	Forms {
-		sql_exec quiet "delete from pga_forms where formname='$objtodelete'"
-		cmd_Forms
-	}
-	Sequences {
-		sql_exec quiet "drop sequence \"$objtodelete\""
-		cmd_Sequences
-	}
-	Functions {
-		delete_function $objtodelete
-		cmd_Functions
-	}
-	Reports {
-		sql_exec noquiet "delete from pga_reports where reportname='$objtodelete'"
-		cmd_Reports
-	}
-	Users {
-		sql_exec noquiet "drop user \"$objtodelete\""
-		cmd_Users
-	}
-}
-}
-
-proc {cmd_Design} {} {
-global PgAcVar CurrentDB
-if {$CurrentDB==""} return;
-if {[.pgaw:Main.lb curselection]==""} return;
-set objname [.pgaw:Main.lb get [.pgaw:Main.lb curselection]]
-set tablename $objname
-switch $PgAcVar(activetab) {
-	Tables  {
-		Tables::design $objname
-	}
-	Schema  {
-		Schema::open $objname
-	}
-	Queries {
-		Queries::design $objname
-	}
-	Views {
-		Views::design $objname
-	}
-	Scripts {
-		Scripts::design $objname
-	}
-	Forms {
-		Forms::design $objname
-	}
-	Functions {
-		Functions::design $objname
-	}
-	Reports {
-		Reports::design $objname
-	}
-	Users {
-		Users::design $objname
-	}
-}
-}
-
-proc {cmd_Forms} {} {
-global CurrentDB
-	setCursor CLOCK
-	.pgaw:Main.lb delete 0 end
-	catch {
-		wpg_select $CurrentDB "select formname from pga_forms order by formname" rec {
-			.pgaw:Main.lb insert end $rec(formname)
-		}
-	}
-	setCursor DEFAULT
-}
-
-
-proc {cmd_Functions} {} {
-global CurrentDB
-	set maxim 16384
-	setCursor CLOCK
-	catch {
-		wpg_select $CurrentDB "select oid from pg_database where datname='template1'" rec {
-			set maxim $rec(oid)
-		}
-	}
-	.pgaw:Main.lb delete 0 end
-	catch {
-		wpg_select $CurrentDB "select proname from pg_proc where oid>$maxim order by proname" rec {
-			.pgaw:Main.lb insert end $rec(proname)
-		}	
-	}
-	setCursor DEFAULT
-}
-
-
-proc {cmd_Import_Export} {how} {
-global PgAcVar CurrentDB
-	if {$CurrentDB==""} return;
-	Window show .pgaw:ImportExport
-	set PgAcVar(impexp,tablename) {}
-	set PgAcVar(impexp,filename) {}
-	set PgAcVar(impexp,delimiter) {}
-	if {$PgAcVar(activetab)=="Tables"} {
-		set tn [get_dwlb_Selection]
-		set PgAcVar(impexp,tablename) $tn
-		if {$tn!=""} {set PgAcVar(impexp,filename) "$tn.txt"}
-	}
-	.pgaw:ImportExport.expbtn configure -text [intlmsg $how]
-}
-
-
-proc {cmd_New} {} {
-global PgAcVar CurrentDB
-if {$CurrentDB==""} return;
-switch $PgAcVar(activetab) {
-	Tables {
-		Tables::new
-	}
-	Schema {
-		Schema::new
-	}
-	Queries {
-		Queries::new
-	}
-	Users {
-		Users::new
-	}
-	Views {
-		Views::new
-	}
-	Sequences {
-		Sequences::new
-	}
-	Reports {
-		Reports::new
-	}
-	Forms {
-		Forms::new
-	}
-	Scripts {
-		Scripts::new
-	}
-	Functions {
-		Functions::new
-	}
-}
-}
-
-
-proc {cmd_Open} {} {
-global PgAcVar CurrentDB
-	if {$CurrentDB==""} return;
-	set objname [get_dwlb_Selection]
-	if {$objname==""} return;
-	switch $PgAcVar(activetab) {
-		Tables		{ Tables::open $objname }
-		Schema		{ Schema::open $objname }
-		Forms		{ Forms::open $objname }
-		Scripts		{ Scripts::open $objname }
-		Queries		{ Queries::open $objname }
-		Views		{ Views::open $objname }
-		Sequences	{ Sequences::open $objname }
-		Functions	{ Functions::design $objname }
-		Reports		{ Reports::open $objname }
-	}
-}
-
-
-
-proc {cmd_Queries} {} {
-global CurrentDB
-	.pgaw:Main.lb delete 0 end
-	catch {
-		wpg_select $CurrentDB "select queryname from pga_queries order by queryname" rec {
-			.pgaw:Main.lb insert end $rec(queryname)
-		}
-	}
-}
-
-
-proc {cmd_Rename} {} {
-global PgAcVar CurrentDB
-	if {$CurrentDB==""} return;
-	if {$PgAcVar(activetab)=="Views"} return;
-	if {$PgAcVar(activetab)=="Sequences"} return;
-	if {$PgAcVar(activetab)=="Functions"} return;
-	if {$PgAcVar(activetab)=="Users"} return;
-	set temp [get_dwlb_Selection]
-	if {$temp==""} {
-		tk_messageBox -title [intlmsg Warning] -parent .pgaw:Main -message [intlmsg "Please select an object first!"]
-		return;
-	}
-	set PgAcVar(Old_Object_Name) $temp
-	Window show .pgaw:RenameObject
-	wm transient .pgaw:RenameObject .pgaw:Main
-}
-
-
-proc {cmd_Reports} {} {
-global CurrentDB
-	setCursor CLOCK
-	catch {
-		wpg_select $CurrentDB "select reportname from pga_reports order by reportname" rec {
-		.pgaw:Main.lb insert end "$rec(reportname)"
-		}
-	}
-	setCursor DEFAULT
-}
-
-proc {cmd_Users} {} {
-global CurrentDB
-	setCursor CLOCK
-	.pgaw:Main.lb delete 0 end
-	catch {
-		wpg_select $CurrentDB "select * from pg_user order by usename" rec {
-			.pgaw:Main.lb insert end $rec(usename)
-		}
-	}
-	setCursor DEFAULT
-}
-
-
-proc {cmd_Scripts} {} {
-global CurrentDB
-	setCursor CLOCK
-	.pgaw:Main.lb delete 0 end
-	catch {
-		wpg_select $CurrentDB "select scriptname from pga_scripts order by scriptname" rec {
-		.pgaw:Main.lb insert end $rec(scriptname)
-		}
-	}
-	setCursor DEFAULT
-}
-
-
-proc {cmd_Sequences} {} {
-global CurrentDB
-
-setCursor CLOCK
-.pgaw:Main.lb delete 0 end
-catch {
-	wpg_select $CurrentDB "select relname from pg_class where (relname not like 'pg_%') and (relkind='S') order by relname" rec {
-		.pgaw:Main.lb insert end $rec(relname)
-	}
-}
-setCursor DEFAULT
-}
-
-proc {cmd_Tables} {} {
-global CurrentDB
-	setCursor CLOCK
-	.pgaw:Main.lb delete 0 end
-	foreach tbl [Database::getTablesList] {.pgaw:Main.lb insert end $tbl}
-	setCursor DEFAULT
-}
-
-proc {cmd_Schema} {} {
-global CurrentDB
-.pgaw:Main.lb delete 0 end
-catch {
-	wpg_select $CurrentDB "select schemaname from pga_schema order by schemaname" rec {
-		.pgaw:Main.lb insert end $rec(schemaname)
-	}
-}
-}
-
-proc {cmd_Views} {} {
-global CurrentDB
-setCursor CLOCK
-.pgaw:Main.lb delete 0 end
-catch {
-	wpg_select $CurrentDB "select c.relname,count(c.relname) from pg_class C, pg_rewrite R where (relname !~ '^pg_') and (r.ev_class = C.oid) and (r.ev_type = '1') group by relname" rec {
-		if {$rec(count)!=0} {
-			set itsaview($rec(relname)) 1
-		}
-	}
-	wpg_select $CurrentDB "select relname from pg_class where (relname !~ '^pg_') and (relkind='r') and (relhasrules) order by relname" rec {
-		if {[info exists itsaview($rec(relname))]} {
-			.pgaw:Main.lb insert end $rec(relname)
-		}
-	}
-}
-setCursor DEFAULT
-}
-
-proc {delete_function} {objname} {
-global CurrentDB
-	wpg_select $CurrentDB "select proargtypes,pronargs from pg_proc where proname='$objname'" rec {
-		set PgAcVar(function,parameters) $rec(proargtypes)
-		set nrpar $rec(pronargs)
-	}
-	set lispar {}
-	for {set i 0} {$i<$nrpar} {incr i} {
-		lappend lispar [Database::getPgType [lindex $PgAcVar(function,parameters) $i]]
-	}
-	set lispar [join $lispar ,]
-	sql_exec noquiet "drop function $objname ($lispar)"
-}
-
-
-proc {draw_tabs} {} {
-global PgAcVar
-	set ypos 85
-	foreach tab $PgAcVar(tablist) {
-		label .pgaw:Main.tab$tab -borderwidth 1  -anchor w -relief raised -text [intlmsg $tab]
-		place .pgaw:Main.tab$tab -x 10 -y $ypos -height 25 -width 82 -anchor nw -bordermode ignore
-		lower .pgaw:Main.tab$tab
-		bind .pgaw:Main.tab$tab <Button-1> "Mainlib::tab_click $tab"
-		incr ypos 25
-	}
-	set PgAcVar(activetab) ""
-}
-
-
-proc {get_dwlb_Selection} {} {
-	set temp [.pgaw:Main.lb curselection]
-	if {$temp==""} return "";
-	return [.pgaw:Main.lb get $temp]
-}
-
-
-
-
-proc {sqlw_display} {msg} {
-	if {![winfo exists .pgaw:SQLWindow]} {return}
-	.pgaw:SQLWindow.f.t insert end "$msg\n\n"
-	.pgaw:SQLWindow.f.t see end
-	set nrlines [lindex [split [.pgaw:SQLWindow.f.t index end] .] 0]
-	if {$nrlines>50} {
-		.pgaw:SQLWindow.f.t delete 1.0 3.0
-	}
-}
-
-
-proc {open_database} {} {
-global PgAcVar CurrentDB
-setCursor CLOCK
-if {$PgAcVar(opendb,username)!=""} {
-	if {$PgAcVar(opendb,host)!=""} {
-		set connres [catch {set newdbc [pg_connect -conninfo "host=$PgAcVar(opendb,host) port=$PgAcVar(opendb,pgport) dbname=$PgAcVar(opendb,dbname) user=$PgAcVar(opendb,username) password=$PgAcVar(opendb,password)"]} msg]
-	} else {
-		set connres [catch {set newdbc [pg_connect -conninfo "dbname=$PgAcVar(opendb,dbname) user=$PgAcVar(opendb,username) password=$PgAcVar(opendb,password)"]} msg]
-	}
-} else {
-	set connres [catch {set newdbc [pg_connect $PgAcVar(opendb,dbname) -host $PgAcVar(opendb,host) -port $PgAcVar(opendb,pgport)]} msg]
-}
-if {$connres} {
-	setCursor DEFAULT
-	showError [format [intlmsg "Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s"] $PgAcVar(opendb,dbname) $PgAcVar(opendb,host) $msg"]
-	return $msg
-} else {
-	catch {pg_disconnect $CurrentDB}
-	set CurrentDB $newdbc
-	set PgAcVar(currentdb,host) $PgAcVar(opendb,host)
-	set PgAcVar(currentdb,pgport) $PgAcVar(opendb,pgport)
-	set PgAcVar(currentdb,dbname) $PgAcVar(opendb,dbname)
-	set PgAcVar(currentdb,username) $PgAcVar(opendb,username)
-	set PgAcVar(currentdb,password) $PgAcVar(opendb,password)
-	set PgAcVar(statusline,dbname) $PgAcVar(currentdb,dbname)
-	set PgAcVar(pref,lastdb) $PgAcVar(currentdb,dbname)
-	set PgAcVar(pref,lasthost) $PgAcVar(currentdb,host)
-	set PgAcVar(pref,lastport) $PgAcVar(currentdb,pgport)
-	set PgAcVar(pref,lastusername) $PgAcVar(currentdb,username)
-	Preferences::save
-	catch {setCursor DEFAULT ; Window hide .pgaw:OpenDB}
-	tab_click Tables
-	# Check for pga_ tables
-	foreach {table structure} {pga_queries {queryname varchar(64),querytype char(1),querycommand text,querytables text,querylinks text,queryresults text,querycomments text} pga_forms {formname varchar(64),formsource text} pga_scripts {scriptname varchar(64),scriptsource text} pga_reports {reportname varchar(64),reportsource text,reportbody text,reportprocs text,reportoptions text} pga_schema {schemaname varchar(64),schematables text,schemalinks text}} {
-		set pgres [wpg_exec $CurrentDB "select relname from pg_class where relname='$table'"]
-		if {$PgAcVar(pgsql,status)!="PGRES_TUPLES_OK"} {
-			showError "[intlmsg {FATAL ERROR searching for PgAccess system tables}] : $PgAcVar(pgsql,errmsg)\nStatus:$PgAcVar(pgsql,status)"
-			catch {pg_disconnect $CurrentDB}
-			exit
-		} elseif {[pg_result $pgres -numTuples]==0} {
-			pg_result $pgres -clear
-			sql_exec quiet "create table $table ($structure)"
-			sql_exec quiet "grant ALL on $table to PUBLIC"
-		} else {
-			foreach fieldspec [split $structure ,] {
-				set field [lindex [split $fieldspec] 0]
-				set pgres [wpg_exec $CurrentDB "select \"$field\" from \"$table\""]
-				if {$PgAcVar(pgsql,status)!="PGRES_TUPLES_OK"} {
-					if {![regexp "attribute '$field' not found" $PgAcVar(pgsql,errmsg)]} {
-						showError "[intlmsg {FATAL ERROR upgrading PgAccess table}] $table: $PgAcVar(pgsql,errmsg)\nStatus:$PgAcVar(pgsql,status)"
-						catch {pg_disconnect $CurrentDB}
-						exit
-					} else {
-						pg_result $pgres -clear
-						sql_exec quiet "alter table \"$table\" add column $fieldspec "
-					}
-				}
-			}
-		}
-		catch {pg_result $pgres -clear}
-	}
-	
-	# searching for autoexec script
-	wpg_select $CurrentDB "select * from pga_scripts where scriptname ~* '^autoexec$'" recd {
-		eval $recd(scriptsource)
-	}
-	return ""
-}
-}
-
-
-proc {tab_click} {tabname} {
-global PgAcVar CurrentDB
-	set w .pgaw:Main.tab$tabname
-	if {$CurrentDB==""} return;
-	set curtab $tabname
-	#if {$PgAcVar(activetab)==$curtab} return;
-	.pgaw:Main.btndesign configure -state disabled
-	if {$PgAcVar(activetab)!=""} {
-		place .pgaw:Main.tab$PgAcVar(activetab) -x 10
-		.pgaw:Main.tab$PgAcVar(activetab) configure -font $PgAcVar(pref,font_normal)
-	}
-	$w configure -font $PgAcVar(pref,font_bold)
-	place $w -x 7
-	place .pgaw:Main.lmask -x 80 -y [expr 86+25*[lsearch -exact $PgAcVar(tablist) $curtab]]
-	set PgAcVar(activetab) $curtab
-	# Tabs where button Design is enabled
-	if {[lsearch {Tables Schema Scripts Queries Functions Views Reports Forms Users} $PgAcVar(activetab)]!=-1} {
-		.pgaw:Main.btndesign configure -state normal
-	}
-	.pgaw:Main.lb delete 0 end
-	cmd_$curtab
-}
-
-
-
-}
-
-
-proc vTclWindow.pgaw:Main {base} {
-global PgAcVar
-	if {$base == ""} {
-		set base .pgaw:Main
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel \
-		-background #efefef -cursor left_ptr
-	wm focusmodel $base passive
-	wm geometry $base 332x390+96+172
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base "PostgreSQL access"
-	bind $base <Key-F1> "Help::load index"
-	label $base.labframe \
-		-relief raised 
-	listbox $base.lb \
-		-background #fefefe \
-		-selectbackground #c3c3c3 \
-		-foreground black -highlightthickness 0 -selectborderwidth 0 \
-		-yscrollcommand {.pgaw:Main.sb set} 
-	bind $base.lb <Double-Button-1> {
-		Mainlib::cmd_Open
-	}
-	button $base.btnnew \
-		-borderwidth 1 -command Mainlib::cmd_New -text [intlmsg New]
-	button $base.btnopen \
-		-borderwidth 1 -command Mainlib::cmd_Open -text [intlmsg Open]
-	button $base.btndesign \
-		-borderwidth 1 -command Mainlib::cmd_Design -text [intlmsg Design]
-	label $base.lmask \
-		-borderwidth 0 \
-		-text {  } 
-	frame $base.fm \
-        -borderwidth 1 -height 75 -relief raised -width 125 
-	menubutton $base.fm.mndb \
-		-borderwidth 1 -font $PgAcVar(pref,font_normal) \
-		-menu .pgaw:Main.fm.mndb.01 -padx 4 -pady 3 -text [intlmsg Database]
-	menu $base.fm.mndb.01 \
-		-borderwidth 1 -font $PgAcVar(pref,font_normal) \
-		-tearoff 0 
-	$base.fm.mndb.01 add command \
-		-command {Window show .pgaw:NewDatabase ; wm transient .pgaw:NewDatabase .pgaw:Main} -label [intlmsg New]
-	$base.fm.mndb.01 add command \
-		-command {
-Window show .pgaw:OpenDB
-set PgAcVar(opendb,host) $PgAcVar(currentdb,host)
-set PgAcVar(opendb,pgport) $PgAcVar(currentdb,pgport)
-focus .pgaw:OpenDB.f1.e3
-wm transient .pgaw:OpenDB .pgaw:Main
-.pgaw:OpenDB.f1.e3 selection range 0 end} \
-		-label [intlmsg Open] -font $PgAcVar(pref,font_normal)
-	$base.fm.mndb.01 add command \
-		-command {.pgaw:Main.lb delete 0 end
-set CurrentDB {}
-set PgAcVar(currentdb,dbname) {}
-set PgAcVar(statusline,dbname) {}} \
-		-label [intlmsg Close]
-	$base.fm.mndb.01 add command \
-		-command Database::vacuum -label [intlmsg Vacuum]
-	$base.fm.mndb.01 add separator
-	$base.fm.mndb.01 add command \
-		-command {Mainlib::cmd_Import_Export Import} -label [intlmsg {Import table}]
-	$base.fm.mndb.01 add command \
-		-command {Mainlib::cmd_Import_Export Export} -label [intlmsg {Export table}]
-	$base.fm.mndb.01 add separator
-	$base.fm.mndb.01 add command \
-		-command Preferences::configure -label [intlmsg Preferences]
-	$base.fm.mndb.01 add command \
-		-command "Window show .pgaw:SQLWindow" -label [intlmsg "SQL window"]
-	$base.fm.mndb.01 add separator
-	$base.fm.mndb.01 add command \
-		-command {
-set PgAcVar(activetab) {}
-Preferences::save
-catch {pg_disconnect $CurrentDB}
-exit} -label [intlmsg Exit]
-	label $base.lshost \
-		-relief groove -text localhost -textvariable PgAcVar(currentdb,host) 
-	label $base.lsdbname \
-		-anchor w \
-		-relief groove -textvariable PgAcVar(statusline,dbname) 
-	scrollbar $base.sb \
-		-borderwidth 1 -command {.pgaw:Main.lb yview} -orient vert 
-	menubutton $base.fm.mnob \
-		-borderwidth 1 \
-		-menu .pgaw:Main.fm.mnob.m -font $PgAcVar(pref,font_normal) -text [intlmsg Object]
-	menu $base.fm.mnob.m \
-		-borderwidth 1 -font $PgAcVar(pref,font_normal) \
-		-tearoff 0 
-	$base.fm.mnob.m add command \
-		-command Mainlib::cmd_New -font $PgAcVar(pref,font_normal) -label [intlmsg New] 
-	$base.fm.mnob.m add command \
-		-command Mainlib::cmd_Delete -label [intlmsg Delete] 
-	$base.fm.mnob.m add command \
-		-command Mainlib::cmd_Rename -label [intlmsg Rename] 
-	menubutton $base.fm.mnhelp \
-		-borderwidth 1 \
-		-menu .pgaw:Main.fm.mnhelp.m -font $PgAcVar(pref,font_normal) -text [intlmsg Help]
-	menu $base.fm.mnhelp.m \
-		-borderwidth 1 -font $PgAcVar(pref,font_normal) \
-		-tearoff 0 
-	$base.fm.mnhelp.m add command \
-		-label [intlmsg Contents] -command {Help::load index}
-	$base.fm.mnhelp.m add command \
-		-label PostgreSQL  -command {Help::load postgresql}
-	$base.fm.mnhelp.m add separator
-	$base.fm.mnhelp.m add command \
-		-command {Window show .pgaw:About} -label [intlmsg About]
-	place $base.labframe \
-		-x 80 -y 30 -width 246 -height 325 -anchor nw -bordermode ignore 
-	place $base.lb \
-		-x 90 -y 75 -width 210 -height 272 -anchor nw -bordermode ignore 
-	place $base.btnnew \
-		-x 89 -y 40 -width 75 -height 25 -anchor nw -bordermode ignore 
-	place $base.btnopen \
-		-x 166 -y 40 -width 75 -height 25 -anchor nw -bordermode ignore 
-	place $base.btndesign \
-		-x 243 -y 40 -width 76 -height 25 -anchor nw -bordermode ignore 
-	place $base.lmask \
-		-x 1550 -y 4500 -width 10 -height 23 -anchor nw -bordermode ignore 
-	place $base.lshost \
-		-x 3 -y 370 -width 91 -height 20 -anchor nw -bordermode ignore 
-	place $base.lsdbname \
-		-x 95 -y 370 -width 233 -height 20 -anchor nw -bordermode ignore 
-	place $base.sb \
-		-x 301 -y 74 -width 18 -height 274 -anchor nw -bordermode ignore 
-	place $base.fm \
-        -x 1 -y 0 -width 331 -height 25 -anchor nw -bordermode ignore 
-	pack $base.fm.mndb \
-        -in .pgaw:Main.fm -anchor center -expand 0 -fill none -side left 
-	pack $base.fm.mnob \
-        -in .pgaw:Main.fm -anchor center -expand 0 -fill none -side left 
-	pack $base.fm.mnhelp \
-        -in .pgaw:Main.fm -anchor center -expand 0 -fill none -side right 
-}
-
-proc vTclWindow.pgaw:ImportExport {base} {
-	if {$base == ""} {
-		set base .pgaw:ImportExport
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 287x151+259+304
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm title $base [intlmsg "Import-Export table"]
-	label $base.l1  -borderwidth 0 -text [intlmsg {Table name}]
-	entry $base.e1  -background #fefefe -borderwidth 1 -textvariable PgAcVar(impexp,tablename) 
-	label $base.l2  -borderwidth 0 -text [intlmsg {File name}]
-	entry $base.e2  -background #fefefe -borderwidth 1 -textvariable PgAcVar(impexp,filename) 
-	label $base.l3  -borderwidth 0 -text [intlmsg {Field delimiter}]
-	entry $base.e3  -background #fefefe -borderwidth 1 -textvariable PgAcVar(impexp,delimiter) 
-	button $base.expbtn  -borderwidth 1  -command {if {$PgAcVar(impexp,tablename)==""} {
-	showError [intlmsg "You have to supply a table name!"]
-} elseif {$PgAcVar(impexp,filename)==""} {
-	showError [intlmsg "You have to supply a external file name!"]
-} else {
-	if {$PgAcVar(impexp,delimiter)==""} {
-		set sup ""
-	} else {
-		set sup " USING DELIMITERS '$PgAcVar(impexp,delimiter)'"
-	}
-	if {[.pgaw:ImportExport.expbtn cget -text]=="Import"} {
-		set oper "FROM"
-	} else {
-		set oper "TO"
-	}
-		if {$PgAcVar(impexp,withoids)} {
-				set sup2 " WITH OIDS "
-		} else {
-				set sup2 ""
-		}
-	set sqlcmd "COPY \"$PgAcVar(impexp,tablename)\" $sup2 $oper '$PgAcVar(impexp,filename)'$sup"
-	setCursor CLOCK
-	if {[sql_exec noquiet $sqlcmd]} {
-		tk_messageBox -title [intlmsg Information] -parent .pgaw:ImportExport -message [intlmsg "Operation completed!"]
-		Window destroy .pgaw:ImportExport
-	}
-	setCursor DEFAULT
-}}  -text Export 
-	button $base.cancelbtn  -borderwidth 1 -command {Window destroy .pgaw:ImportExport} -text [intlmsg Cancel]
-	checkbutton $base.oicb  -borderwidth 1  -text [intlmsg {with OIDs}] -variable PgAcVar(impexp,withoids) 
-	place $base.l1  -x 15 -y 15 -anchor nw -bordermode ignore 
-	place $base.e1  -x 115 -y 10 -height 22 -anchor nw -bordermode ignore 
-	place $base.l2  -x 15 -y 45 -anchor nw -bordermode ignore 
-	place $base.e2  -x 115 -y 40 -height 22 -anchor nw -bordermode ignore 
-	place $base.l3  -x 15 -y 75 -height 18 -anchor nw -bordermode ignore 
-	place $base.e3  -x 115 -y 74 -width 33 -height 22 -anchor nw -bordermode ignore 
-	place $base.expbtn  -x 60 -y 110 -height 25 -width 75 -anchor nw -bordermode ignore 
-	place $base.cancelbtn  -x 155 -y 110 -height 25 -width 75 -anchor nw -bordermode ignore 
-	place $base.oicb  -x 170 -y 75 -anchor nw -bordermode ignore
-}
-
-
-
-proc vTclWindow.pgaw:RenameObject {base} {
-	if {$base == ""} {
-		set base .pgaw:RenameObject
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 272x105+294+262
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm title $base [intlmsg "Rename"]
-	label $base.l1  -borderwidth 0 -text [intlmsg {New name}]
-	entry $base.e1  -background #fefefe -borderwidth 1 -textvariable PgAcVar(New_Object_Name) 
-	button $base.b1  -borderwidth 1  -command {
-			if {$PgAcVar(New_Object_Name)==""} {
-				showError [intlmsg "You must give object a new name!"]
-			} elseif {$PgAcVar(activetab)=="Tables"} {
-				set retval [sql_exec noquiet "alter table \"$PgAcVar(Old_Object_Name)\" rename to \"$PgAcVar(New_Object_Name)\""]
-				Schema::tbl_rename $PgAcVar(Old_Object_Name) $PgAcVar(New_Object_Name)
-				if {$retval} {
-					sql_exec quiet "update pga_layout set tablename='$PgAcVar(New_Object_Name)' where tablename='$PgAcVar(Old_Object_Name)'"
-					Mainlib::cmd_Tables
-					Window destroy .pgaw:RenameObject
-				}
-			} elseif {$PgAcVar(activetab)=="Queries"} {
-				set pgres [wpg_exec $CurrentDB "select * from pga_queries where queryname='$PgAcVar(New_Object_Name)'"]
-				if {$PgAcVar(pgsql,status)!="PGRES_TUPLES_OK"} {
-					showError "[intlmsg {Error retrieving from}] pga_queries\n$PgAcVar(pgsql,errmsg)\n$PgAcVar(pgsql,status)"
-				} elseif {[pg_result $pgres -numTuples]>0} {
-					showError [format [intlmsg "Query '%s' already exists!"] $PgAcVar(New_Object_Name)]
-				} else {
-					sql_exec noquiet "update pga_queries set queryname='$PgAcVar(New_Object_Name)' where queryname='$PgAcVar(Old_Object_Name)'"
-					sql_exec noquiet "update pga_layout set tablename='$PgAcVar(New_Object_Name)' where tablename='$PgAcVar(Old_Object_Name)'"
-					Mainlib::cmd_Queries
-					Window destroy .pgaw:RenameObject
-				}
-				catch {pg_result $pgres -clear}
-			} elseif {$PgAcVar(activetab)=="Forms"} {
-				set pgres [wpg_exec $CurrentDB "select * from pga_forms where formname='$PgAcVar(New_Object_Name)'"]
-				if {$PgAcVar(pgsql,status)!="PGRES_TUPLES_OK"} {
-					showError "[intlmsg {Error retrieving from}] pga_forms\n$PgAcVar(pgsql,errmsg)\n$PgAcVar(pgsql,status)"
-				} elseif {[pg_result $pgres -numTuples]>0} {
-					showError [format [intlmsg "Form '%s' already exists!"] $PgAcVar(New_Object_Name)]
-				} else {
-					sql_exec noquiet "update pga_forms set formname='$PgAcVar(New_Object_Name)' where formname='$PgAcVar(Old_Object_Name)'"
-					Mainlib::cmd_Forms
-					Window destroy .pgaw:RenameObject
-				}
-				catch {pg_result $pgres -clear}
-			} elseif {$PgAcVar(activetab)=="Scripts"} {
-				set pgres [wpg_exec $CurrentDB "select * from pga_scripts where scriptname='$PgAcVar(New_Object_Name)'"]
-				if {$PgAcVar(pgsql,status)!="PGRES_TUPLES_OK"} {
-					showError "[intlmsg {Error retrieving from}] pga_scripts\n$PgAcVar(pgsql,errmsg)\n$PgAcVar(pgsql,status)"
-				} elseif {[pg_result $pgres -numTuples]>0} {
-					showError [format [intlmsg "Script '%s' already exists!"] $PgAcVar(New_Object_Name)]
-				} else {
-					sql_exec noquiet "update pga_scripts set scriptname='$PgAcVar(New_Object_Name)' where scriptname='$PgAcVar(Old_Object_Name)'"
-					Mainlib::cmd_Scripts
-					Window destroy .pgaw:RenameObject
-				}
-				catch {pg_result $pgres -clear}
-			} elseif {$PgAcVar(activetab)=="Schema"} {
-				set pgres [wpg_exec $CurrentDB "select * from pga_schema where schemaname='$PgAcVar(New_Object_Name)'"]
-				if {$PgAcVar(pgsql,status)!="PGRES_TUPLES_OK"} {
-					showError "[intlmsg {Error retrieving from}] pga_schema\n$PgAcVar(pgsql,errmsg)\n$PgAcVar(pgsql,status)"
-				} elseif {[pg_result $pgres -numTuples]>0} {
-					showError [format [intlmsg "Schema '%s' already exists!"] $PgAcVar(New_Object_Name)]
-				} else {
-					sql_exec noquiet "update pga_schema set schemaname='$PgAcVar(New_Object_Name)' where schemaname='$PgAcVar(Old_Object_Name)'"
-					Mainlib::cmd_Schema
-					Window destroy .pgaw:RenameObject
-				}
-				catch {pg_result $pgres -clear}
-			}
-	   } -text [intlmsg Rename]
-	button $base.b2  -borderwidth 1 -command {Window destroy .pgaw:RenameObject} -text [intlmsg Cancel]
-	place $base.l1  -x 15 -y 28 -anchor nw -bordermode ignore 
-	place $base.e1  -x 100 -y 25 -anchor nw -bordermode ignore 
-	place $base.b1  -x 55 -y 65 -width 80 -anchor nw -bordermode ignore 
-	place $base.b2  -x 155 -y 65 -width 80 -anchor nw -bordermode ignore
-}
-
-proc vTclWindow.pgaw:NewDatabase {base} {
-	if {$base == ""} {
-		set base .pgaw:NewDatabase
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 272x105+294+262
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm title $base [intlmsg "New"]
-	label $base.l1  -borderwidth 0 -text [intlmsg {Name}]
-	entry $base.e1  -background #fefefe -borderwidth 1 -textvariable PgAcVar(New_Database_Name) 
-	button $base.b1  -borderwidth 1  -command {
-		set retval [sql_exec noquiet "create database $PgAcVar(New_Database_Name)"]
-		if {$retval} {
-			Window destroy .pgaw:NewDatabase
-		}
-	} -text [intlmsg Create]
-	button $base.b2  -borderwidth 1 -command {Window destroy .pgaw:NewDatabase} -text [intlmsg Cancel]
-	place $base.l1  -x 15 -y 28 -anchor nw -bordermode ignore 
-	place $base.e1  -x 100 -y 25 -anchor nw -bordermode ignore 
-	place $base.b1  -x 55 -y 65 -width 80 -anchor nw -bordermode ignore 
-	place $base.b2  -x 155 -y 65 -width 80 -anchor nw -bordermode ignore
-}
-
-
-proc vTclWindow.pgaw:GetParameter {base} {
-	if {$base == ""} {
-		set base .pgaw:GetParameter
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	set sw [winfo screenwidth .]
-	set sh [winfo screenheight .]
-	set x [expr ($sw - 297)/2]
-	set y [expr ($sh - 98)/2]
-	wm geometry $base 297x98+$x+$y
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Input parameter"]
-	label $base.l1 \
-		-anchor nw -borderwidth 1 \
-		-justify left -relief sunken -textvariable PgAcVar(getqueryparam,msg) -wraplength 200 
-	entry $base.e1 \
-		-background #fefefe -borderwidth 1 -highlightthickness 0 \
-		-textvariable PgAcVar(getqueryparam,var) 
-	bind $base.e1 <Key-KP_Enter> {
-		set PgAcVar(getqueryparam,result) 1
-destroy .pgaw:GetParameter
-	}
-	bind $base.e1 <Key-Return> {
-		set PgAcVar(getqueryparam,result) 1
-destroy .pgaw:GetParameter
-	}
-	button $base.bok \
-		-borderwidth 1 -command {set PgAcVar(getqueryparam,result) 1
-destroy .pgaw:GetParameter} -text Ok 
-	button $base.bcanc \
-		-borderwidth 1 -command {set PgAcVar(getqueryparam,result) 0
-destroy .pgaw:GetParameter} -text [intlmsg Cancel]
-	place $base.l1 \
-		-x 10 -y 5 -width 201 -height 53 -anchor nw -bordermode ignore 
-	place $base.e1 \
-		-x 10 -y 65 -width 200 -height 24 -anchor nw -bordermode ignore 
-	place $base.bok \
-		-x 225 -y 5 -width 61 -height 26 -anchor nw -bordermode ignore 
-	place $base.bcanc \
-		-x 225 -y 35 -width 61 -height 26 -anchor nw -bordermode ignore 
-}
-
-
-proc vTclWindow.pgaw:SQLWindow {base} {
-	if {$base == ""} {
-		set base .pgaw:SQLWindow
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 551x408+192+169
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 1 1
-	wm deiconify $base
-	wm title $base [intlmsg "SQL window"]
-	frame $base.f \
-		-borderwidth 1 -height 392 -relief raised -width 396 
-	scrollbar $base.f.01 \
-		-borderwidth 1 -command {.pgaw:SQLWindow.f.t xview} -orient horiz \
-		-width 10 
-	scrollbar $base.f.02 \
-		-borderwidth 1 -command {.pgaw:SQLWindow.f.t yview} -orient vert -width 10 
-	text $base.f.t \
-		-borderwidth 1 \
-		-height 200 -width 200 -wrap word \
-		-xscrollcommand {.pgaw:SQLWindow.f.01 set} \
-		-yscrollcommand {.pgaw:SQLWindow.f.02 set} 
-	button $base.b1 \
-		-borderwidth 1 -command {.pgaw:SQLWindow.f.t delete 1.0 end} -text [intlmsg Clean]
-	button $base.b2 \
-		-borderwidth 1 -command {destroy .pgaw:SQLWindow} -text [intlmsg Close] 
-	grid columnconf $base 0 -weight 1
-	grid columnconf $base 1 -weight 1
-	grid rowconf $base 0 -weight 1
-	grid $base.f \
-		-in .pgaw:SQLWindow -column 0 -row 0 -columnspan 2 -rowspan 1 
-	grid columnconf $base.f 0 -weight 1
-	grid rowconf $base.f 0 -weight 1
-	grid $base.f.01 \
-		-in .pgaw:SQLWindow.f -column 0 -row 1 -columnspan 1 -rowspan 1 -sticky ew 
-	grid $base.f.02 \
-		-in .pgaw:SQLWindow.f -column 1 -row 0 -columnspan 1 -rowspan 1 -sticky ns 
-	grid $base.f.t \
-		-in .pgaw:SQLWindow.f -column 0 -row 0 -columnspan 1 -rowspan 1 \
-		-sticky nesw 
-	grid $base.b1 \
-		-in .pgaw:SQLWindow -column 0 -row 1 -columnspan 1 -rowspan 1 
-	grid $base.b2 \
-		-in .pgaw:SQLWindow -column 1 -row 1 -columnspan 1 -rowspan 1 
-}
-
-proc vTclWindow.pgaw:About {base} {
-	if {$base == ""} {
-		set base .pgaw:About
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 471x177+168+243
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 1 1
-	wm title $base [intlmsg "About"]
-	label $base.l1  -borderwidth 3 -font -Adobe-Helvetica-Bold-R-Normal-*-*-180-*-*-*-*-*  -relief ridge -text PgAccess 
-	label $base.l2  -relief groove  -text [intlmsg "A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu"]
-	label $base.l3  -borderwidth 0 -relief sunken -text {v 0.99.1}
-	label $base.l4  -relief groove  -text "[intlmsg {You will always get the latest version at:}]
-http://www.pgaccess.org/
-
-[intlmsg {Suggestions at}] : developers@pgaccess.org"
-	button $base.b1  -borderwidth 1 -command {Window destroy .pgaw:About} -text Ok 
-	place $base.l1  -x 10 -y 10 -width 196 -height 103 -anchor nw -bordermode ignore 
-	place $base.l2  -x 10 -y 115 -width 198 -height 55 -anchor nw -bordermode ignore 
-	place $base.l3  -x 145 -y 80 -anchor nw -bordermode ignore 
-	place $base.l4  -x 215 -y 10 -width 246 -height 103 -anchor nw -bordermode ignore 
-	place $base.b1  -x 295 -y 130 -width 105 -height 28 -anchor nw -bordermode ignore
-}
-
-proc vTclWindow.pgaw:OpenDB {base} {
-	if {$base == ""} {
-		set base .pgaw:OpenDB
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 283x172+119+210
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Open database"]
-	frame $base.f1 \
-		-borderwidth 2 -height 75 -width 125 
-	label $base.f1.l1 \
-		-borderwidth 0 -relief raised -text [intlmsg Host]
-	entry $base.f1.e1 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(opendb,host) -width 200 
-	bind $base.f1.e1 <Key-KP_Enter> {
-		focus .pgaw:OpenDB.f1.e2
-	}
-	bind $base.f1.e1 <Key-Return> {
-		focus .pgaw:OpenDB.f1.e2
-	}
-	label $base.f1.l2 \
-		-borderwidth 0 -relief raised -text [intlmsg Port]
-	entry $base.f1.e2 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(opendb,pgport) -width 200 
-	bind $base.f1.e2 <Key-Return> {
-		focus .pgaw:OpenDB.f1.e3
-	}
-	label $base.f1.l3 \
-		-borderwidth 0 -relief raised -text [intlmsg Database]
-	entry $base.f1.e3 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(opendb,dbname) -width 200 
-	bind $base.f1.e3 <Key-Return> {
-		focus .pgaw:OpenDB.f1.e4
-	}
-	label $base.f1.l4 \
-		-borderwidth 0 -relief raised -text [intlmsg Username]
-	entry $base.f1.e4 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(opendb,username) \
-		-width 200 
-	bind $base.f1.e4 <Key-Return> {
-		focus .pgaw:OpenDB.f1.e5
-	}
-	label $base.f1.ls2 \
-		-borderwidth 0 -relief raised -text { } 
-	label $base.f1.l5 \
-		-borderwidth 0 -relief raised -text [intlmsg Password]
-	entry $base.f1.e5 \
-		-background #fefefe -borderwidth 1 -show x -textvariable PgAcVar(opendb,password) \
-		-width 200 
-	bind $base.f1.e5 <Key-Return> {
-		focus .pgaw:OpenDB.fb.btnopen
-	}
-	frame $base.fb \
-		-height 75 -relief groove -width 125 
-	button $base.fb.btnopen \
-		-borderwidth 1 -command Mainlib::open_database -padx 9 \
-		-pady 3 -text [intlmsg Open]
-	button $base.fb.btncancel \
-		-borderwidth 1 -command {Window hide .pgaw:OpenDB} \
-		-padx 9 -pady 3 -text [intlmsg Cancel]
-	place $base.f1 \
-		-x 9 -y 5 -width 265 -height 126 -anchor nw -bordermode ignore 
-	grid columnconf $base.f1 2 -weight 1
-	grid $base.f1.l1 \
-		-in .pgaw:OpenDB.f1 -column 0 -row 0 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f1.e1 \
-		-in .pgaw:OpenDB.f1 -column 2 -row 0 -columnspan 1 -rowspan 1 -pady 2 
-	grid $base.f1.l2 \
-		-in .pgaw:OpenDB.f1 -column 0 -row 2 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f1.e2 \
-		-in .pgaw:OpenDB.f1 -column 2 -row 2 -columnspan 1 -rowspan 1 -pady 2 
-	grid $base.f1.l3 \
-		-in .pgaw:OpenDB.f1 -column 0 -row 4 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f1.e3 \
-		-in .pgaw:OpenDB.f1 -column 2 -row 4 -columnspan 1 -rowspan 1 -pady 2 
-	grid $base.f1.l4 \
-		-in .pgaw:OpenDB.f1 -column 0 -row 6 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f1.e4 \
-		-in .pgaw:OpenDB.f1 -column 2 -row 6 -columnspan 1 -rowspan 1 -pady 2 
-	grid $base.f1.ls2 \
-		-in .pgaw:OpenDB.f1 -column 1 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.f1.l5 \
-		-in .pgaw:OpenDB.f1 -column 0 -row 7 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f1.e5 \
-		-in .pgaw:OpenDB.f1 -column 2 -row 7 -columnspan 1 -rowspan 1 -pady 2 
-	place $base.fb \
-		-x 0 -y 135 -width 283 -height 40 -anchor nw -bordermode ignore 
-	grid $base.fb.btnopen \
-		-in .pgaw:OpenDB.fb -column 0 -row 0 -columnspan 1 -rowspan 1 -padx 5 
-	grid $base.fb.btncancel \
-		-in .pgaw:OpenDB.fb -column 1 -row 0 -columnspan 1 -rowspan 1 -padx 5 
-}
-
-
diff --git a/src/bin/pgaccess/lib/preferences.tcl b/src/bin/pgaccess/lib/preferences.tcl
deleted file mode 100644
index c593013e88b..00000000000
--- a/src/bin/pgaccess/lib/preferences.tcl
+++ /dev/null
@@ -1,274 +0,0 @@
-namespace eval Preferences {
-
-proc {load} {} {
-global PgAcVar
-	setDefaultFonts
-	setGUIPreferences
-	# Set some default values for preferences
-	set PgAcVar(pref,rows) 200
-	set PgAcVar(pref,tvfont) clean
-	set PgAcVar(pref,autoload) 1
-	set PgAcVar(pref,systemtables) 0
-	set PgAcVar(pref,lastdb) {}
-	set PgAcVar(pref,lasthost) localhost
-	set PgAcVar(pref,lastport) 5432
-	set PgAcVar(pref,username) {}
-	set PgAcVar(pref,password) {}
-	set PgAcVar(pref,language) english
-	set retval [catch {set fid [open "~/.pgaccessrc" r]} errmsg]
-	if {! $retval} {
-		while {![eof $fid]} {
-			set pair [gets $fid]
-			set PgAcVar([lindex $pair 0]) [lindex $pair 1]
-		}
-		close $fid
-		setGUIPreferences
-	}
-	# The following preferences values will be ignored from the .pgaccessrc file
-	set PgAcVar(pref,typecolors) {black red brown #007e00 #004e00 blue orange yellow pink purple cyan  magenta lightblue lightgreen gray lightyellow}
-	set PgAcVar(pref,typelist) {text bool bytea float8 float4 int4 char name int8 int2 int28 regproc oid tid xid cid}
-	loadInternationalMessages
-}
-	
-	
-proc {save} {} {
-global PgAcVar
-	catch {
-		set fid [open "~/.pgaccessrc" w]
-		foreach key [array names PgAcVar pref,*] { puts $fid "$key {$PgAcVar($key)}" }
-		close $fid
-	}
-	if {$PgAcVar(activetab)=="Tables"} {
-		Mainlib::tab_click Tables
-	}
-}
-
-proc {configure} {} {
-global PgAcVar
-	Window show .pgaw:Preferences
-	foreach language  [lsort $PgAcVar(AVAILABLE_LANGUAGES)] {.pgaw:Preferences.fpl.flb.llb insert end $language}
-	wm transient .pgaw:Preferences .pgaw:Main
-}
-
-
-proc {loadInternationalMessages} {} {
-global Messages PgAcVar
-	set PgAcVar(AVAILABLE_LANGUAGES) {english}
-	foreach filename [glob -nocomplain [file join $PgAcVar(PGACCESS_HOME) lib languages *]] {
-		lappend PgAcVar(AVAILABLE_LANGUAGES) [file tail $filename]
-	}
-	catch { unset Messages }
-	catch { source [file join $PgAcVar(PGACCESS_HOME) lib languages $PgAcVar(pref,language)] }
-}
-
-
-proc {changeLanguage} {} {
-global PgAcVar
-	set sel [.pgaw:Preferences.fpl.flb.llb curselection]
-	if {$sel==""} {return}
-	set desired [.pgaw:Preferences.fpl.flb.llb get $sel]
-	if {$desired==$PgAcVar(pref,language)} {return}
-	set PgAcVar(pref,language) $desired
-	loadInternationalMessages
-	return
-	foreach wid [winfo children .pgaw:Main] {
-		set wtext {}
-		catch { set wtext [$wid cget -text] }
-		if {$wtext != ""} {
-			$wid configure -text [intlmsg $wtext]
-		}
-	}
-}
-
-
-proc {setDefaultFonts} {} {
-global PgAcVar tcl_platform
-if {[string toupper $tcl_platform(platform)]=="WINDOWS"} {
-	set PgAcVar(pref,font_normal) {"MS Sans Serif" 8}
-	set PgAcVar(pref,font_bold) {"MS Sans Serif" 8 bold}
-	set PgAcVar(pref,font_fix) {Terminal 8}
-	set PgAcVar(pref,font_italic) {"MS Sans Serif" 8 italic}
-} else {
-	set PgAcVar(pref,font_normal) -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*
-	set PgAcVar(pref,font_bold) -Adobe-Helvetica-Bold-R-Normal-*-*-120-*-*-*-*-*
-	set PgAcVar(pref,font_italic) -Adobe-Helvetica-Medium-O-Normal-*-*-120-*-*-*-*-*
-	set PgAcVar(pref,font_fix) -*-Clean-Medium-R-Normal-*-*-130-*-*-*-*-*
-}
-}
-
-
-proc {setGUIPreferences} {} {
-global PgAcVar
-	foreach wid {Label Text Button Listbox Checkbutton Radiobutton} {
-		option add *$wid.font $PgAcVar(pref,font_normal)
-	}
-	option add *Entry.background #fefefe
-	option add *Entry.foreground #000000
-	option add *Entry.Font $PgAcVar(pref,font_normal)
-	option add *Button.BorderWidth 1
-}
-
-}
-
-
-################### END OF NAMESPACE PREFERENCES #################
-
-proc vTclWindow.pgaw:Preferences {base} {
-	if {$base == ""} {
-		set base .pgaw:Preferences
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 500x400+100+113
-	wm maxsize $base 1009 738
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 1 1
-	wm deiconify $base
-	wm title $base [intlmsg "Preferences"]
-	bind $base <Key-Escape> "Window destroy .pgaw:Preferences"
-	frame $base.fl \
-		-height 75 -relief groove -width 10 
-	frame $base.fr \
-		-height 75 -relief groove -width 10 
-	frame $base.f1 \
-		-height 80 -relief groove -width 125 
-	label $base.f1.l1 \
-		-borderwidth 0 -relief raised \
-		-text [intlmsg {Max rows displayed in table/query view}]
-	entry $base.f1.erows \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(pref,rows) -width 7 
-	frame $base.f2 \
-		-height 75 -relief groove -width 125 
-	label $base.f2.l \
-		-borderwidth 0 -relief raised -text [intlmsg {Table viewer font}]
-	label $base.f2.ls \
-		-borderwidth 0 -relief raised -text {      } 
-	radiobutton $base.f2.pgaw:rb1 \
-		-borderwidth 1 -text [intlmsg {fixed width}] -value clean \
-		-variable PgAcVar(pref,tvfont) 
-	radiobutton $base.f2.pgaw:rb2 \
-		-borderwidth 1 -text [intlmsg proportional] -value helv -variable PgAcVar(pref,tvfont) 
-	frame $base.ff \
-		-height 75 -relief groove -width 125 
-	label $base.ff.l1 \
-		-borderwidth 0 -relief raised -text [intlmsg {Font normal}]
-	entry $base.ff.e1 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(pref,font_normal) \
-		-width 200 
-	label $base.ff.l2 \
-		-borderwidth 0 -relief raised -text [intlmsg {Font bold}]
-	entry $base.ff.e2 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(pref,font_bold) \
-		-width 200 
-	label $base.ff.l3 \
-		-borderwidth 0 -relief raised -text [intlmsg {Font italic}]
-	entry $base.ff.e3 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(pref,font_italic) \
-		-width 200 
-	label $base.ff.l4 \
-		-borderwidth 0 -relief raised -text [intlmsg {Font fixed}]
-	entry $base.ff.e4 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(pref,font_fix) \
-		-width 200 
-	frame $base.fls \
-		-borderwidth 1 -height 2 -relief sunken -width 125 
-	frame $base.fal \
-		-height 75 -relief groove -width 125 
-	checkbutton $base.fal.al \
-		-borderwidth 1 -text [intlmsg {Auto-load the last opened database at startup}] \
-        -variable PgAcVar(pref,autoload) -anchor w
-	checkbutton $base.fal.st \
-		-borderwidth 1 -text [intlmsg {View system tables}] \
-        -variable PgAcVar(pref,systemtables) -anchor w
-	frame $base.fpl \
-		-height 49 -relief groove -width 125 
-	label $base.fpl.lt \
-		-borderwidth 0 -relief raised -text [intlmsg {Preferred language}]
-	frame $base.fpl.flb \
-		-height 75 -relief sunken -width 125 
-	listbox $base.fpl.flb.llb \
-		-borderwidth 1 -height 3 -yscrollcommand {.pgaw:Preferences.fpl.flb.vsb set} 
-	scrollbar $base.fpl.flb.vsb \
-		-borderwidth 1 -command {.pgaw:Preferences.fpl.flb.llb yview} -orient vert 
-	frame $base.fb \
-        -height 75 -relief groove -width 125 
-	button $base.fb.btnsave \
-		-command {if {$PgAcVar(pref,rows)>200} {
-	tk_messageBox -title [intlmsg Warning] -parent .pgaw:Preferences -message [intlmsg "A big number of rows displayed in table view will take a lot of memory!"]
-}
-Preferences::changeLanguage
-Preferences::save
-Window destroy .pgaw:Preferences
-tk_messageBox -title [intlmsg Warning] -parent .pgaw:Main -message [intlmsg "Changed fonts may appear in the next working session!"]} \
-		-padx 9 -pady 3 -text [intlmsg Save]
-	button $base.fb.btncancel \
-		-command {Window destroy .pgaw:Preferences} -padx 9 -pady 3 -text [intlmsg Cancel]
-	pack $base.fl \
-		-in .pgaw:Preferences -anchor center -expand 0 -fill y -side left 
-	pack $base.fr \
-		-in .pgaw:Preferences -anchor center -expand 0 -fill y -side right 
-	pack $base.f1 \
-		-in .pgaw:Preferences -anchor center -expand 0 -fill x -pady 5 -side top 
-	pack $base.f1.l1 \
-		-in .pgaw:Preferences.f1 -anchor center -expand 0 -fill none -side left 
-	pack $base.f1.erows \
-		-in .pgaw:Preferences.f1 -anchor center -expand 0 -fill none -side left 
-	pack $base.f2 \
-		-in .pgaw:Preferences -anchor center -expand 0 -fill x -pady 5 -side top 
-	pack $base.f2.l \
-		-in .pgaw:Preferences.f2 -anchor center -expand 0 -fill none -side left 
-	pack $base.f2.ls \
-		-in .pgaw:Preferences.f2 -anchor center -expand 0 -fill none -side left 
-	pack $base.f2.pgaw:rb1 \
-		-in .pgaw:Preferences.f2 -anchor center -expand 0 -fill none -side left 
-	pack $base.f2.pgaw:rb2 \
-		-in .pgaw:Preferences.f2 -anchor center -expand 0 -fill none -side left 
-	pack $base.ff \
-		-in .pgaw:Preferences -anchor center -expand 0 -fill x -side top 
-	grid columnconf $base.ff 1 -weight 1
-	grid $base.ff.l1 \
-		-in .pgaw:Preferences.ff -column 0 -row 0 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.ff.e1 \
-		-in .pgaw:Preferences.ff -column 1 -row 0 -columnspan 1 -rowspan 1 -pady 1 
-	grid $base.ff.l2 \
-		-in .pgaw:Preferences.ff -column 0 -row 2 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.ff.e2 \
-		-in .pgaw:Preferences.ff -column 1 -row 2 -columnspan 1 -rowspan 1 -pady 1 
-	grid $base.ff.l3 \
-		-in .pgaw:Preferences.ff -column 0 -row 4 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.ff.e3 \
-		-in .pgaw:Preferences.ff -column 1 -row 4 -columnspan 1 -rowspan 1 -pady 1 
-	grid $base.ff.l4 \
-		-in .pgaw:Preferences.ff -column 0 -row 6 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.ff.e4 \
-		-in .pgaw:Preferences.ff -column 1 -row 6 -columnspan 1 -rowspan 1 -pady 1 
-	pack $base.fls \
-		-in .pgaw:Preferences -anchor center -expand 0 -fill x -pady 5 -side top 
-	pack $base.fal \
-		-in .pgaw:Preferences -anchor center -expand 0 -fill x -side top 
-	pack $base.fal.al \
-		-in .pgaw:Preferences.fal -anchor center -expand 0 -fill x -side top -anchor w 
-	pack $base.fal.st \
-		-in .pgaw:Preferences.fal -anchor center -expand 0 -fill x -side top -anchor w
-	pack $base.fpl \
-		-in .pgaw:Preferences -anchor center -expand 1 -fill both -side top 
-	pack $base.fpl.lt \
-		-in .pgaw:Preferences.fpl -anchor center -expand 0 -fill none -side top 
-	pack $base.fpl.flb \
-		-in .pgaw:Preferences.fpl -anchor center -expand 1 -fill y -side top 
-	pack $base.fpl.flb.llb \
-		-in .pgaw:Preferences.fpl.flb -anchor center -expand 1 -fill y -side left 
-	pack $base.fpl.flb.vsb \
-		-in .pgaw:Preferences.fpl.flb -anchor center -expand 1 -fill y -side right 
-	pack $base.fb \
-		-in .pgaw:Preferences -anchor center -expand 0 -fill none -side bottom 
-	grid $base.fb.btnsave \
-		-in .pgaw:Preferences.fb -column 0 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.fb.btncancel \
-		-in .pgaw:Preferences.fb -column 1 -row 0 -columnspan 1 -rowspan 1 
-}
-
diff --git a/src/bin/pgaccess/lib/queries.tcl b/src/bin/pgaccess/lib/queries.tcl
deleted file mode 100644
index 9b74b68191a..00000000000
--- a/src/bin/pgaccess/lib/queries.tcl
+++ /dev/null
@@ -1,228 +0,0 @@
-namespace eval Queries {
-
-
-proc {new} {} {
-global PgAcVar
-		Window show .pgaw:QueryBuilder
-		PgAcVar:clean query,*
-		set PgAcVar(query,oid) 0
-		set PgAcVar(query,name) {}
-		set PgAcVar(query,asview) 0
-		set PgAcVar(query,tables) {}
-		set PgAcVar(query,links) {}
-		set PgAcVar(query,results) {}
-		.pgaw:QueryBuilder.saveAsView configure -state normal
-}
-
-
-proc {open} {queryname} {
-global PgAcVar
-	if {! [loadQuery $queryname]} return;
-	if {$PgAcVar(query,type)=="S"} then {
-		set wn [Tables::getNewWindowName]
-		set PgAcVar(mw,$wn,query) [subst $PgAcVar(query,sqlcmd)]
-		set PgAcVar(mw,$wn,updatable) 0
-		set PgAcVar(mw,$wn,isaquery) 1
-		Tables::createWindow
-		wm title $wn "Query result: $PgAcVar(query,name)"
-		Tables::loadLayout $wn $PgAcVar(query,name)
-		Tables::selectRecords $wn $PgAcVar(mw,$wn,query)
-	} else {
-		set answ [tk_messageBox -title [intlmsg Warning] -type yesno -message "This query is an action query!\n\n[string range $PgAcVar(query,sqlcmd) 0 30] ...\n\nDo you want to execute it?"]
-		if {$answ} {
-			if {[sql_exec noquiet $PgAcVar(query,sqlcmd)]} {
-				tk_messageBox -title Information -message "Your query has been executed without error!"
-			}
-		}
-	}
-}
-
-
-proc {design} {queryname} {
-global PgAcVar
-	if {! [loadQuery $queryname]} return;
-	Window show .pgaw:QueryBuilder
-	.pgaw:QueryBuilder.text1 delete 0.0 end
-	.pgaw:QueryBuilder.text1 insert end $PgAcVar(query,sqlcmd)
-	.pgaw:QueryBuilder.text2 delete 0.0 end
-	.pgaw:QueryBuilder.text2 insert end $PgAcVar(query,comments)	
-}
-
-
-proc {loadQuery} {queryname} {
-global PgAcVar CurrentDB
-	set PgAcVar(query,name) $queryname
-	if {[set pgres [wpg_exec $CurrentDB "select querycommand,querytype,querytables,querylinks,queryresults,querycomments,oid from pga_queries where queryname='$PgAcVar(query,name)'"]]==0} then {
-		showError [intlmsg "Error retrieving query definition"]
-		return 0
-	}
-	if {[pg_result $pgres -numTuples]==0} {
-		showError [format [intlmsg "Query '%s' was not found!"] $PgAcVar(query,name)]
-		pg_result $pgres -clear
-		return 0
-	}
-	set tuple [pg_result $pgres -getTuple 0]
-	set PgAcVar(query,sqlcmd)   [lindex $tuple 0]
-	set PgAcVar(query,type)     [lindex $tuple 1]
-	set PgAcVar(query,tables)   [lindex $tuple 2]
-	set PgAcVar(query,links)    [lindex $tuple 3]
-	set PgAcVar(query,results)  [lindex $tuple 4]
-	set PgAcVar(query,comments) [lindex $tuple 5]
-	set PgAcVar(query,oid)      [lindex $tuple 6]
-	pg_result $pgres -clear
-	return 1
-}
-
-
-proc {visualDesigner} {} {
-global PgAcVar
-	Window show .pgaw:VisualQuery
-	VisualQueryBuilder::loadVisualLayout
-	focus .pgaw:VisualQuery.fb.entt
-}
-
-
-proc {save} {} {
-global PgAcVar CurrentDB
-if {$PgAcVar(query,name)==""} then {
-	showError [intlmsg "You have to supply a name for this query!"]
-	focus .pgaw:QueryBuilder.eqn
-} else {
-	set qcmd [.pgaw:QueryBuilder.text1 get 1.0 end]
-	set PgAcVar(query,comments) [.pgaw:QueryBuilder.text2 get 1.0 end]
-	regsub -all "\n" $qcmd " " qcmd
-	if {$qcmd==""} then {
-	showError [intlmsg "This query has no commands?"]
-	} else {
-		if { [lindex [split [string toupper [string trim $qcmd]]] 0] == "SELECT" } {
-			set qtype S
-		} else {
-			set qtype A
-		}
-		if {$PgAcVar(query,asview)} {
-			wpg_select $CurrentDB "select pg_get_viewdef('$PgAcVar(query,name)') as vd" tup {
-				if {$tup(vd)!="Not a view"} {
-					if {[tk_messageBox -title [intlmsg Warning] -message [format [intlmsg "View '%s' already exists!\nOverwrite ?"] $PgAcVar(query,name)] -type yesno -default no]=="yes"} {
-						set pg_res [wpg_exec $CurrentDB "drop view \"$PgAcVar(query,name)\""]
-						if {$PgAcVar(pgsql,status)!="PGRES_COMMAND_OK"} {
-							showError "[intlmsg {Error deleting view}] '$PgAcVar(query,name)'"
-						}
-					}
-				}
-			}
-			set pgres [wpg_exec $CurrentDB "create view \"$PgAcVar(query,name)\" as $qcmd"]
-			if {$PgAcVar(pgsql,status)!="PGRES_COMMAND_OK"} {
-				showError "[intlmsg {Error defining view}]\n\n$PgAcVar(pgsql,errmsg)"
-			} else {
-				Mainlib::tab_click Views
-				Window destroy .pgaw:QueryBuilder
-			}
-			catch {pg_result $pgres -clear}
-		} else {
-			regsub -all "'" $qcmd "''" qcmd
-			regsub -all "'" $PgAcVar(query,comments) "''" PgAcVar(query,comments)
-			regsub -all "'" $PgAcVar(query,results) "''" PgAcVar(query,results)
-			setCursor CLOCK
-			if {$PgAcVar(query,oid)==0} then {
-				set pgres [wpg_exec $CurrentDB "insert into pga_queries values ('$PgAcVar(query,name)','$qtype','$qcmd','$PgAcVar(query,tables)','$PgAcVar(query,links)','$PgAcVar(query,results)','$PgAcVar(query,comments)')"]
-			} else {
-				set pgres [wpg_exec $CurrentDB "update pga_queries set queryname='$PgAcVar(query,name)',querytype='$qtype',querycommand='$qcmd',querytables='$PgAcVar(query,tables)',querylinks='$PgAcVar(query,links)',queryresults='$PgAcVar(query,results)',querycomments='$PgAcVar(query,comments)' where oid=$PgAcVar(query,oid)"]
-			}
-			setCursor DEFAULT
-			if {$PgAcVar(pgsql,status)!="PGRES_COMMAND_OK"} then {
-				showError "[intlmsg {Error executing query}]\n$PgAcVar(pgsql,errmsg)"
-			} else {
-				Mainlib::tab_click Queries
-				if {$PgAcVar(query,oid)==0} {set PgAcVar(query,oid) [pg_result $pgres -oid]}
-			}
-		}
-		catch {pg_result $pgres -clear}
-	}
-}
-}
-
-
-proc {execute} {} {
-global PgAcVar
-set qcmd [.pgaw:QueryBuilder.text1 get 0.0 end]
-regsub -all "\n" [string trim $qcmd] " " qcmd
-if {[lindex [split [string toupper $qcmd]] 0]!="SELECT"} {
-	if {[tk_messageBox -title [intlmsg Warning] -parent .pgaw:QueryBuilder -message [intlmsg "This is an action query!\n\nExecute it?"] -type yesno -default no]=="yes"} {
-		sql_exec noquiet $qcmd
-	}
-} else {
-	set wn [Tables::getNewWindowName]
-	set PgAcVar(mw,$wn,query) [subst $qcmd]
-	set PgAcVar(mw,$wn,updatable) 0
-	set PgAcVar(mw,$wn,isaquery) 1
-	Tables::createWindow
-	Tables::loadLayout $wn $PgAcVar(query,name)
-	Tables::selectRecords $wn $PgAcVar(mw,$wn,query)
-}
-}
-
-proc {close} {} {
-global PgAcVar
-	.pgaw:QueryBuilder.saveAsView configure -state normal
-	set PgAcVar(query,asview) 0
-	set PgAcVar(query,name) {}
-	.pgaw:QueryBuilder.text1 delete 1.0 end
-	Window destroy .pgaw:QueryBuilder
-}
-
-
-}
-
-
-proc vTclWindow.pgaw:QueryBuilder {base} {
-global PgAcVar
-	if {$base == ""} {
-		set base .pgaw:QueryBuilder
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 542x364+150+150
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Query builder"]
-	bind $base <Key-F1> "Help::load queries"
-	label $base.lqn  -borderwidth 0 -text [intlmsg {Query name}]
-	entry $base.eqn  -background #fefefe -borderwidth 1 -foreground #000000  -highlightthickness 1 -selectborderwidth 0 -textvariable PgAcVar(query,name) 
-	text $base.text1  -background #fefefe -borderwidth 1  -font $PgAcVar(pref,font_normal) -foreground #000000 -highlightthickness 1 -wrap word 
-	label $base.lcomm -borderwidth 0 -text [intlmsg Comments]
-	text $base.text2  -background #fefefe -borderwidth 1  -font $PgAcVar(pref,font_normal) -foreground #000000 -highlightthickness 1 -wrap word 
-	checkbutton $base.saveAsView  -borderwidth 1  -text [intlmsg {Save this query as a view}] -variable PgAcVar(query,asview) 
-	frame $base.frb \
-		-height 75 -relief groove -width 125 
-	button $base.frb.savebtn -command {Queries::save} \
-		-borderwidth 1 -text [intlmsg {Save query definition}]
-	button $base.frb.execbtn -command {Queries::execute} \
-		-borderwidth 1 -text [intlmsg {Execute query}]
-	button $base.frb.pgaw:VisualQueryshow -command {Queries::visualDesigner} \
-		-borderwidth 1 -text [intlmsg {Visual designer}]
-	button $base.frb.termbtn -command {Queries::close} \
-		-borderwidth 1 -text [intlmsg Close]
-	place $base.lqn  -x 5 -y 5 -anchor nw -bordermode ignore 
-	place $base.eqn  -x 100 -y 1 -width 335 -height 24 -anchor nw -bordermode ignore 
-	place $base.frb \
-		-x 5 -y 55 -width 530 -height 35 -anchor nw -bordermode ignore 
-	pack $base.frb.savebtn \
-		-in $base.frb -anchor center -expand 0 -fill none -side left 
-	pack $base.frb.execbtn \
-		-in $base.frb -anchor center -expand 0 -fill none -side left 
-	pack $base.frb.pgaw:VisualQueryshow \
-		-in $base.frb -anchor center -expand 0 -fill none -side left 
-	pack $base.frb.termbtn \
-		-in $base.frb -anchor center -expand 0 -fill none -side right 
-	place $base.text1  -x 5 -y 90 -width 530 -height 160 -anchor nw -bordermode ignore 
-	place $base.lcomm -x 5 -y 255
-	place $base.text2  -x 5 -y 270 -width 530 -height 86 -anchor nw -bordermode ignore 
-	place $base.saveAsView  -x 5 -y 30 -height 25 -anchor nw -bordermode ignore 
-}
-
diff --git a/src/bin/pgaccess/lib/reports.tcl b/src/bin/pgaccess/lib/reports.tcl
deleted file mode 100644
index e913f51e32d..00000000000
--- a/src/bin/pgaccess/lib/reports.tcl
+++ /dev/null
@@ -1,991 +0,0 @@
-namespace eval Reports {
-
-proc {new} {} {
-global PgAcVar
-	Window show .pgaw:ReportBuilder:draft
-	tkwait visibility .pgaw:ReportBuilder:draft
-	Window show .pgaw:ReportBuilder:menu
-	tkwait visibility .pgaw:ReportBuilder:menu
-	design:init
-	set PgAcVar(report,reportname) {}
-	set PgAcVar(report,justpreview) 0
-	focus .pgaw:ReportBuilder:menu.e2
-}
-
-
-proc {open} {reportname} {
-global PgAcVar CurrentDB
-	Window show .pgaw:ReportBuilder:draft
-	#tkwait visibility .pgaw:ReportBuilder:draft
-	Window hide .pgaw:ReportBuilder:draft
-	Window show .pgaw:ReportBuilder:menu
-	Window hide .pgaw:ReportBuilder:menu
-	Window show .pgaw:ReportPreview
-	design:init
-	set PgAcVar(report,reportname) $reportname
-	design:loadReport
-	tkwait visibility .pgaw:ReportPreview
-	set PgAcVar(report,justpreview) 1
-	design:preview
-}
-
-
-proc {design} {reportname} {
-global PgAcVar
-	Window show .pgaw:ReportBuilder:draft
-	tkwait visibility .pgaw:ReportBuilder:draft
-	Window show .pgaw:ReportBuilder:menu
-	tkwait visibility .pgaw:ReportBuilder:menu
-	design:init
-	set PgAcVar(report,reportname) $reportname
-	design:loadReport
-	set PgAcVar(report,justpreview) 0
-}
-
-
-proc {design:close} {} {
-global PgAcVar
-	catch {Window destroy .pgaw:ReportBuilder:draft}
-	catch {Window destroy .pgaw:ReportBuilder:menu}
-}
-
-
-proc {design:drawReportAreas} {} {
-global PgAcVar
-foreach rg $PgAcVar(report,regions) {
-	.pgaw:ReportBuilder:draft.c delete bg_$rg
-	.pgaw:ReportBuilder:draft.c create line 0 $PgAcVar(report,y_$rg) 5000 $PgAcVar(report,y_$rg) -tags [subst {bg_$rg}]
-	.pgaw:ReportBuilder:draft.c create rectangle 6 [expr $PgAcVar(report,y_$rg)-3] 12 [expr $PgAcVar(report,y_$rg)+3] -fill black -tags [subst {bg_$rg mov reg}]
-	.pgaw:ReportBuilder:draft.c lower bg_$rg
-}
-}
-
-proc {design:toggleAlignMode} {} {
-set bb [.pgaw:ReportBuilder:draft.c bbox hili]
-if {[.pgaw:ReportBuilder:menu.balign cget -text]=="left"} then {
-	.pgaw:ReportBuilder:menu.balign configure -text right
-	.pgaw:ReportBuilder:draft.c itemconfigure hili -anchor ne
-	.pgaw:ReportBuilder:draft.c move hili [expr [lindex $bb 2]-[lindex $bb 0]-3] 0
-} else {
-	.pgaw:ReportBuilder:menu.balign configure -text left
-	.pgaw:ReportBuilder:draft.c itemconfigure hili -anchor nw
-	.pgaw:ReportBuilder:draft.c move hili [expr [lindex $bb 0]-[lindex $bb 2]+3] 0
-}
-}
-
-proc {design:getBoldStatus} {} {
-	if {[.pgaw:ReportBuilder:menu.lbold cget -relief]=="raised"} then {return Medium} else {return Bold}
-}
-
-proc {design:getItalicStatus} {} {
-	if {[.pgaw:ReportBuilder:menu.lita cget -relief]=="raised"} then {return R} else {return O}
-}
-
-proc {design:toggleBold} {} {
-	if {[design:getBoldStatus]=="Bold"} {
-	   .pgaw:ReportBuilder:menu.lbold configure -relief raised
-	} else {
-	   .pgaw:ReportBuilder:menu.lbold configure -relief sunken
-	}
-	design:setObjectFont
-}
-
-
-proc {design:toggleItalic} {} {
-	if {[design:getItalicStatus]=="O"} {
-	   .pgaw:ReportBuilder:menu.lita configure -relief raised
-	} else {
-	   .pgaw:ReportBuilder:menu.lita configure -relief sunken
-	}
-	design:setObjectFont
-}
-
-
-# fonts remain an issue to be dealt with
-proc {design:setFont} {} {
-	set temp [.pgaw:ReportBuilder:menu.bfont cget -text]
-	switch $temp {
-
-		Courier
-		{.pgaw:ReportBuilder:menu.bfont configure -text Helvetica}
-
-		Helvetica	
-		{.pgaw:ReportBuilder:menu.bfont configure -text Times}
-
-		Times	
-		{.pgaw:ReportBuilder:menu.bfont configure -text Newcenturyschlbk}
-
-		#Newcenturyschlbk	
-		#{.pgaw:ReportBuilder:menu.bfont configure -text Palatino}
-
-		#Palatino	
-		#{.pgaw:ReportBuilder:menu.bfont configure -text Utopia}
-
-		default
-		{.pgaw:ReportBuilder:menu.bfont configure -text Courier}
-
-	}
-
-	design:setObjectFont
-}
-
-# fills in an array with columns so formulas can access them
-proc {design:getSourceFieldsForPreview} {} {
-global PgAcVar CurrentDB
-	set PgAcVar(report,source_fields) {}
-	wpg_select $CurrentDB "select attnum,attname from pg_class,pg_attribute where (pg_class.relname='$PgAcVar(report,tablename)') and (pg_class.oid=pg_attribute.attrelid) and (attnum>0) order by attnum" rec {
-		lappend PgAcVar(report,source_fields) $rec(attname)
-	}
-}
-
-# fills in the drop box with column names
-proc {design:getSourceFields} {} {
-global PgAcVar CurrentDB
-	.pgaw:ReportBuilder:menu.lb delete 0 end
-	if {$PgAcVar(report,tablename)==""} return ;
-	#setCursor CLOCK
-	wpg_select $CurrentDB "select attnum,attname from pg_class,pg_attribute where (pg_class.relname='$PgAcVar(report,tablename)') and (pg_class.oid=pg_attribute.attrelid) and (attnum>0) order by attnum" rec {
-		.pgaw:ReportBuilder:menu.lb insert end $rec(attname)
-	}
-	#setCursor DEFAULT
-}
-
-
-proc {design:hasTag} {id tg} {
-	if {[lsearch [.pgaw:ReportBuilder:draft.c itemcget $id -tags] $tg]==-1} then {return 0 } else {return 1}
-}
-
-
-proc {design:init} {} {
-global PgAcVar
-	set PgAcVar(report,xl_auto) 10
-	set PgAcVar(report,xf_auto) 10
-	set PgAcVar(report,xp_auto) 10
-	set PgAcVar(report,xo_auto) 10
-	set PgAcVar(report,regions) {rpthdr pghdr detail pgfoo rptfoo}
-	set PgAcVar(report,y_rpthdr) 30
-	set PgAcVar(report,y_pghdr) 60
-	set PgAcVar(report,y_detail) 90
-	set PgAcVar(report,y_pgfoo) 120
-	set PgAcVar(report,y_rptfoo) 150
-	set PgAcVar(report,e_rpthdr) [intlmsg {Report header}]
-	set PgAcVar(report,e_pghdr) [intlmsg {Page header}]
-	set PgAcVar(report,e_detail) [intlmsg {Detail record}]
-	set PgAcVar(report,e_pgfoo) [intlmsg {Page footer}]
-	set PgAcVar(report,e_rptfoo) [intlmsg {Report footer}]
-	design:drawReportAreas
-}
-
-proc {design:loadReport} {} {
-global PgAcVar CurrentDB
-	.pgaw:ReportBuilder:draft.c delete all
-	wpg_select $CurrentDB "select * from pga_reports where reportname='$PgAcVar(report,reportname)'" rcd {
-		eval $rcd(reportbody)
-	}
-	design:changeDraftCoords
-	design:getSourceFields
-	design:drawReportAreas
-}
-
-# get the preview cranking
-proc {design:preview} {} {
-global PgAcVar
-	design:previewInit
-	set PgAcVar(report,curr_page) 1
-	if {$PgAcVar(report,last_page)>0} {
-		design:previewPage
-	}
-}
-
-# finds the record and page counts
-proc {design:previewInit} {} {
-global PgAcVar CurrentDB
-	Window show .pgaw:ReportPreview
-	set ol [.pgaw:ReportBuilder:draft.c find withtag ro]
-	set PgAcVar(report,prev_fields) {}
-	# set up the fields we need to fill with data
-	foreach objid $ol {
-		set tags [.pgaw:ReportBuilder:draft.c itemcget $objid -tags]
-		lappend PgAcVar(report,prev_fields) [string range [lindex $tags [lsearch -glob $tags f-*]] 2 64]
-		lappend PgAcVar(report,prev_fields) [lindex [.pgaw:ReportBuilder:draft.c coords $objid] 0]
-		lappend PgAcVar(report,prev_fields) [lindex [.pgaw:ReportBuilder:draft.c coords $objid] 1]
-		lappend PgAcVar(report,prev_fields) $objid
-		lappend PgAcVar(report,prev_fields) [lindex $tags [lsearch -glob $tags t_*]]
-	}
-	# set up all the source fields - needed for formulas
-	design:getSourceFieldsForPreview
-	# get number of records (thus the number of detail sections)
-	set res [pg_exec $CurrentDB "select * from \"$PgAcVar(report,tablename)\""]
-	set PgAcVar(report,prev_num_recs) [pg_result $res -numTuples]
-	# get number of detail sections per page (screw report head/foot for now)
-	# first: page height - (page header height + page footer height)
-	set pgdiff [expr {$PgAcVar(report,ph)-(($PgAcVar(report,y_pghdr)-$PgAcVar(report,y_rpthdr))+($PgAcVar(report,y_pgfoo)-$PgAcVar(report,y_detail)))}]
-	# second: result of first / detail height
-	set PgAcVar(report,prev_recs_page) [expr {round(double($pgdiff)/double($PgAcVar(report,y_detail)-$PgAcVar(report,y_pghdr)))}]
-	# get number of pages
-	set PgAcVar(report,last_page) [expr {int(ceil(double($PgAcVar(report,prev_num_recs))/double($PgAcVar(report,prev_recs_page))))}]
-	set PgAcVar(report,total_page) $PgAcVar(report,last_page)
-}
-
-
-# displays one section
-proc {design:previewSection} {x y objid objtype py recfield} {
-global PgAcVar CurrentDB
-
-# for fields
-if {$objtype=="t_f"} {
-	.pgaw:ReportPreview.fr.c create text $x [expr $py+$y] -text $recfield -font [.pgaw:ReportBuilder:draft.c itemcget $objid -font] -anchor [.pgaw:ReportBuilder:draft.c itemcget $objid -anchor]
-}
-
-# for labels
-if {$objtype=="t_l"} {
-	.pgaw:ReportPreview.fr.c create text $x [expr $py+$y] -text [.pgaw:ReportBuilder:draft.c itemcget $objid -text]  -font [.pgaw:ReportBuilder:draft.c itemcget $objid -font] -anchor nw
-}
-
-# for pictures
-if {$objtype=="t_p"} {
-	.pgaw:ReportPreview.fr.c create image $x [expr $py+$y] -image [image create photo -file [.pgaw:ReportBuilder:draft.c itemcget $objid -image]] -anchor nw
-}
-
-# for formulas
-if {$objtype=="t_o"} {
-	wpg_select $CurrentDB "select * from \"$PgAcVar(report,tablename)\" limit $PgAcVar(report,prev_recs_page) offset [expr {(($PgAcVar(report,curr_page)-1)*$PgAcVar(report,prev_recs_page))}]" frec {
-		# assign each source field to a variable
-		foreach {ffield} $PgAcVar(report,source_fields) {
-			variable $ffield $frec($ffield)
-		}
-	}
-	# now flesh out and evaluate the formula
-	.pgaw:ReportPreview.fr.c create text $x [expr $py+$y] -text [eval [.pgaw:ReportBuilder:draft.c itemcget $objid -text]] -font [.pgaw:ReportBuilder:draft.c itemcget $objid -font] -anchor nw
-}
-
-}
-
-
-# displays the current page
-# for now we worry about the page head/foot and detail, not report head/foot
-proc {design:previewPage} {} {
-global PgAcVar CurrentDB
-
-set sql ""
-set recfield ""
-
-.pgaw:ReportPreview.fr.c delete all
-
-# parse the page header
-set py $PgAcVar(report,y_rpthdr)
-# now get the data for the section, which is the first record on the page
-wpg_select $CurrentDB "select * from \"$PgAcVar(report,tablename)\" limit 1 offset [expr {(($PgAcVar(report,curr_page)-1)*$PgAcVar(report,prev_recs_page))}]" rec {
-	foreach {field x y objid objtype} $PgAcVar(report,prev_fields) {
-		if {$y < $PgAcVar(report,y_pghdr)} {
-			# make sure we line up the section where it was designed to go
-			set y [expr $y-$PgAcVar(report,y_rpthdr)]
-			# looking for formulas
-			if {$objtype=="t_f"} {
-				set recfield $rec($field)
-			} else {
-				set recfield ""
-			}
-			design:previewSection $x $y $objid $objtype $py $recfield
-		}
-	}
-}
-
-# Parsing detail group
-set shownrecs 1
-set py $PgAcVar(report,y_pghdr)
-# keep the records on the page
-# and do not repeat the last record on the last page
-while {($py < [expr ($PgAcVar(report,rh)-($PgAcVar(report,y_detail)-$PgAcVar(report,y_pghdr)))]) && ([expr $shownrecs*$PgAcVar(report,last_page)]<=$PgAcVar(report,prev_num_recs))} {
-	# now lets get some data for a record
-	wpg_select $CurrentDB "select * from \"$PgAcVar(report,tablename)\" limit $PgAcVar(report,prev_recs_page) offset [expr {(($PgAcVar(report,curr_page)-1)*$PgAcVar(report,prev_recs_page))}]" rec {
-		foreach {field x y objid objtype} $PgAcVar(report,prev_fields) {
-			if {$y > $PgAcVar(report,y_pghdr) && $y < $PgAcVar(report,y_detail)} {
-				set y [expr $y-$PgAcVar(report,y_pghdr)]
-				if {$objtype=="t_f"} {
-					set recfield $rec($field)
-				} else {
-					set recfield ""
-				}
-				design:previewSection $x $y $objid $objtype $py $recfield
-			}
-		}
-		incr py [expr $PgAcVar(report,y_detail)-$PgAcVar(report,y_pghdr)]
-		incr shownrecs
-	}	
-}
-
-# parse the page footer
-# put it in the same place on each page
-set py [expr {(($PgAcVar(report,y_detail)-$PgAcVar(report,y_pghdr))*$PgAcVar(report,prev_recs_page))+$PgAcVar(report,y_pghdr)}]
-# get the data for the section, which is the last record on the page
-# pay attention to the case when we are looking at the last page
-if {$PgAcVar(report,curr_page)==$PgAcVar(report,last_page)} {
-	set sql "select * from \"$PgAcVar(report,tablename)\" limit 1 offset [expr {$PgAcVar(report,prev_num_recs)-1}]"
-} else {
-	set sql "select * from \"$PgAcVar(report,tablename)\" limit 1 offset [expr {(($PgAcVar(report,curr_page)-1)*$PgAcVar(report,prev_recs_page))+($PgAcVar(report,prev_recs_page)-1)}]"
-}
-wpg_select $CurrentDB $sql rec {
-	foreach {field x y objid objtype} $PgAcVar(report,prev_fields) {
-			if {$y > $PgAcVar(report,y_detail) && $y < $PgAcVar(report,y_pgfoo)} {
-			set y [expr $y-$PgAcVar(report,y_detail)]
-			if {$objtype=="t_f"} {
-				set recfield $rec($field)
-			} else {
-				set recfield ""
-			}
-			design:previewSection $x $y $objid $objtype $py $recfield
-		}
-	}
-}
-
-design:changePreviewCoords $py
-
-}
-
-# this postscript stuff needs some work but it sort of works
-# since the tk canvas widget produces encapsulated postscript
-# we need to wrap it inside of regular postscript
-proc {design:printPostscriptStart} {c} {
-global PgAcVar
-	puts $c "%!PS-Adobe-3.0"
-	puts $c "%%Creator: PgAccess"
-	puts $c "%%LanguageLevel: 2"
-	puts $c "%%Title: Report"
-	puts $c "%%CreationDate: [clock format [clock seconds]]"
-	puts -nonewline $c "%%Pages: "
-	puts $c "[expr $PgAcVar(report,last_page)-$PgAcVar(report,curr_page)+1]"
-	puts $c "%%PageOrder: Ascend"
-	puts $c "%%BoundingBox: 0 0 $PgAcVar(report,pw) $PgAcVar(report,ph)"
-	puts $c "%%EndComments"
-	puts $c "%%BeginProlog"
-	puts $c "%%EndProlog"
-	puts $c "%%BeginSetup"
-	puts $c "%%EndSetup"
-	puts $c ""
-}
-
-proc {design:printPostscriptStop} {c} {
-global PgAcVar
-	puts $c "%%EOF"
-}
-
-proc {design:printPostscriptStartPage} {c} {
-global PgAcVar
-	puts $c "%%Page: $PgAcVar(report,curr_page) $PgAcVar(report,curr_page)"
-	puts $c "%%BeginPageSetup"
-	puts $c "/pagesave save def"
-	puts $c "%%EndPageSetup"
-	puts $c "%%BeginDocument"
-}
-
-proc {design:printPostscriptStopPage} {c} {
-global PgAcVar
-	puts $c "%%EndDocument"
-	puts $c "pagesave restore"
-}
-
-# prints all pages between and including those in the entry boxes
-# opens a stream and just starts feeding it postscript from the canvas
-# there must be a cleaner way to do this
-proc {design:print} {} {
-global PgAcVar
-	set rpt [parameter "Enter file name or pipe for Postscript output:"]
-	set fid [::open $rpt w]
-	design:printPostscriptStart $fid
-	set start_page $PgAcVar(report,curr_page)
-	for {} {$PgAcVar(report,curr_page)<=$PgAcVar(report,last_page)} {incr PgAcVar(report,curr_page)} {
-		design:previewPage
-		design:printPostscriptStartPage $fid
-		.pgaw:ReportPreview.fr.c postscript -channel $fid -width $PgAcVar(report,pw) -height $PgAcVar(report,ph) -pagex 0 -pagey 0 -pageanchor sw
-		design:printPostscriptStopPage $fid
-	}
-	design:printPostscriptStop $fid
-	::close $fid
-	# reset current page to the page we started printing on
-	set PgAcVar(report,curr_page) $start_page
-	design:previewPage
-	tk_messageBox -title Information -parent .pgaw:ReportBuilder:draft -message "Done printing $rpt"
-}
-
-
-proc {design:save} {} {
-global PgAcVar
-set prog "set PgAcVar(report,tablename) \"$PgAcVar(report,tablename)\""
-set prog "$prog ; set PgAcVar(report,rw) $PgAcVar(report,rw)"
-set prog "$prog ; set PgAcVar(report,rh) $PgAcVar(report,rh)"
-set prog "$prog ; set PgAcVar(report,pw) $PgAcVar(report,pw)"
-set prog "$prog ; set PgAcVar(report,ph) $PgAcVar(report,ph)"
-foreach region $PgAcVar(report,regions) {
-	set prog "$prog ; set PgAcVar(report,y_$region) $PgAcVar(report,y_$region)"
-}
-foreach obj [.pgaw:ReportBuilder:draft.c find all] {
-	if {[.pgaw:ReportBuilder:draft.c type $obj]=="text"} {
-		set bb [.pgaw:ReportBuilder:draft.c bbox $obj]
-		if {[.pgaw:ReportBuilder:draft.c itemcget $obj -anchor]=="nw"} then {set x [expr [lindex $bb 0]+1]} else {set x [expr [lindex $bb 2]-2]}
-		set prog "$prog ; .pgaw:ReportBuilder:draft.c create text $x [lindex $bb 1] -font [.pgaw:ReportBuilder:draft.c itemcget $obj -font] -anchor [.pgaw:ReportBuilder:draft.c itemcget $obj -anchor] -text {[.pgaw:ReportBuilder:draft.c itemcget $obj -text]} -tags {[.pgaw:ReportBuilder:draft.c itemcget $obj -tags]}"
-	}
-	if {[.pgaw:ReportBuilder:draft.c type $obj]=="image"} {
-		set bb [.pgaw:ReportBuilder:draft.c bbox $obj]
-		if {[.pgaw:ReportBuilder:draft.c itemcget $obj -anchor]=="nw"} then {set x [expr [lindex $bb 0]+1]} else {set x [expr [lindex $bb 2]-2]}
-		set prog "$prog ; image create photo [.pgaw:ReportBuilder:draft.c itemcget $obj -image] -file [.pgaw:ReportBuilder:draft.c itemcget $obj -image] ; .pgaw:ReportBuilder:draft.c create image $x [lindex $bb 1] -anchor [.pgaw:ReportBuilder:draft.c itemcget $obj -anchor] -image {[.pgaw:ReportBuilder:draft.c itemcget $obj -image]} -tags {[.pgaw:ReportBuilder:draft.c itemcget $obj -tags]}"
-	}	
-}
-sql_exec noquiet "delete from pga_reports where reportname='$PgAcVar(report,reportname)'"
-sql_exec noquiet "insert into pga_reports (reportname,reportsource,reportbody) values ('$PgAcVar(report,reportname)','$PgAcVar(report,tablename)','$prog')"
-}
-
-
-proc {design:addField} {} {
-global PgAcVar
-	set fldname [.pgaw:ReportBuilder:menu.lb get [.pgaw:ReportBuilder:menu.lb curselection]]
-	set newid [.pgaw:ReportBuilder:draft.c create text $PgAcVar(report,xf_auto) [expr $PgAcVar(report,y_rpthdr)+5] -text $fldname -tags [subst {t_l mov ro}] -anchor nw -font $PgAcVar(pref,font_normal)]
-	.pgaw:ReportBuilder:draft.c create text $PgAcVar(report,xf_auto) [expr $PgAcVar(report,y_pghdr)+5] -text $fldname -tags [subst {f-$fldname t_f rg_detail mov ro}] -anchor nw -font $PgAcVar(pref,font_normal)
-	set bb [.pgaw:ReportBuilder:draft.c bbox $newid]
-	incr PgAcVar(report,xf_auto) [expr 5+[lindex $bb 2]-[lindex $bb 0]]
-}
-
-
-proc {design:addLabel} {} {
-global PgAcVar
-	set fldname $PgAcVar(report,labeltext)
-	set newid [.pgaw:ReportBuilder:draft.c create text $PgAcVar(report,xl_auto) [expr $PgAcVar(report,y_rpthdr)+5] -text $fldname -tags [subst {t_l mov ro}] -anchor nw -font $PgAcVar(pref,font_normal)]
-	set bb [.pgaw:ReportBuilder:draft.c bbox $newid]
-	incr PgAcVar(report,xl_auto) [expr 5+[lindex $bb 2]-[lindex $bb 0]]
-}
-
-# pictures are from files and not the database, maybe this should be different
-proc {design:addPicture} {} {
-global PgAcVar
-	set fldname $PgAcVar(report,picture)
-	set newid [.pgaw:ReportBuilder:draft.c create image $PgAcVar(report,xp_auto) [expr $PgAcVar(report,y_rpthdr)+5] -image [image create photo $fldname -file $fldname] -tags [subst {t_p mov ro}] -anchor nw]
-	set bb [.pgaw:ReportBuilder:draft.c bbox $newid]
-	incr PgAcVar(report,xp_auto) [expr 5+[lindex $bb 2]-[lindex $bb 0]]
-}
-
-# formulas are tcl snippets right now, but should allow scripts in the future
-proc {design:addFormula} {} {
-global PgAcVar
-	set fldname $PgAcVar(report,formula)
-	set newid [.pgaw:ReportBuilder:draft.c create text $PgAcVar(report,xo_auto) [expr $PgAcVar(report,y_rpthdr)+5] -text $fldname -tags [subst {t_o mov ro}] -anchor nw -font $PgAcVar(pref,font_normal)]
-	set bb [.pgaw:ReportBuilder:draft.c bbox $newid]
-	incr PgAcVar(report,xo_auto) [expr 5+[lindex $bb 2]-[lindex $bb 0]]
-}
-
-
-proc {design:setObjectFont} {} {
-global PgAcVar
-	.pgaw:ReportBuilder:draft.c itemconfigure hili -font -Adobe-[.pgaw:ReportBuilder:menu.bfont cget -text]-[design:getBoldStatus]-[design:getItalicStatus]-Normal--*-$PgAcVar(report,pointsize)-*-*-*-*-*-*
-}
-
-
-proc {design:deleteObject} {} {
-	if {[tk_messageBox -title [intlmsg Warning] -parent .pgaw:ReportBuilder:draft -message "Delete current report object?" -type yesno -default no]=="no"} return;
-	.pgaw:ReportBuilder:draft.c delete hili
-}
-
-
-proc {design:dragMove} {w x y} {
-global PgAcVar
-	# Showing current region
-	foreach rg $PgAcVar(report,regions) {
-		set PgAcVar(report,msg) $PgAcVar(report,e_$rg)
-		if {$PgAcVar(report,y_$rg)>$y} break;
-	}
-	set temp {}
-	catch {set temp $PgAcVar(draginfo,obj)}
-	if {"$temp" != ""} {
-		set dx [expr $x - $PgAcVar(draginfo,x)]
-		set dy [expr $y - $PgAcVar(draginfo,y)]
-		if {$PgAcVar(draginfo,region)!=""} {
-			set x $PgAcVar(draginfo,x) ; $w move bg_$PgAcVar(draginfo,region) 0 $dy
-		} else {
-			$w move $PgAcVar(draginfo,obj) $dx $dy
-		}
-		set PgAcVar(draginfo,x) $x
-		set PgAcVar(draginfo,y) $y
-	}
-}
-
-
-proc {design:dragStart} {w x y} {
-global PgAcVar
-focus .pgaw:ReportBuilder:draft.c
-catch {unset draginfo}
-set obj {}
-# Only movable objects start dragging
-foreach id [$w find overlapping $x $y $x $y] {
-	if {[design:hasTag $id mov]} {
-		set obj $id
-		break
-	}
-}
-# mouse resize does update after a click
-if {$obj==""} {
-	.pgaw:ReportBuilder:draft configure -cursor watch
-	set c [split [winfo geometry .pgaw:ReportBuilder:draft] x+]
-	set PgAcVar(report,rw) [lindex $c 0]
-	set PgAcVar(report,rh) [lindex $c 1]
-	Reports::design:changeDraftCoords
-	return
-}
-set PgAcVar(draginfo,obj) $obj
-set taglist [.pgaw:ReportBuilder:draft.c itemcget $obj -tags]
-set i [lsearch -glob $taglist bg_*]
-if {$i==-1} {
-	set PgAcVar(draginfo,region) {}
-} else {
-	set PgAcVar(draginfo,region) [string range [lindex $taglist $i] 3 64]
-} 
-.pgaw:ReportBuilder:draft configure -cursor hand1
-# dont highlight pictures when moving them, it just wont work
-if {![design:hasTag [.pgaw:ReportBuilder:draft.c find withtag hili] t_p]} {
-	.pgaw:ReportBuilder:draft.c itemconfigure [.pgaw:ReportBuilder:draft.c find withtag hili] -fill black
-}
-	.pgaw:ReportBuilder:draft.c dtag [.pgaw:ReportBuilder:draft.c find withtag hili] hili
-	.pgaw:ReportBuilder:draft.c addtag hili withtag $PgAcVar(draginfo,obj)
-if {![design:hasTag $obj t_p]} {
-	.pgaw:ReportBuilder:draft.c itemconfigure hili -fill blue
-}
-set PgAcVar(draginfo,x) $x
-set PgAcVar(draginfo,y) $y
-set PgAcVar(draginfo,sx) $x
-set PgAcVar(draginfo,sy) $y
-# Setting font information
-if {[.pgaw:ReportBuilder:draft.c type hili]=="text"} {
-	set fnta [split [.pgaw:ReportBuilder:draft.c itemcget hili -font] -]
-	.pgaw:ReportBuilder:menu.bfont configure -text [lindex $fnta 2]
-	if {[lindex $fnta 3]=="Medium"} then {.pgaw:ReportBuilder:menu.lbold configure -relief raised} else {.pgaw:ReportBuilder:menu.lbold configure -relief sunken}
-	if {[lindex $fnta 4]=="R"} then {.pgaw:ReportBuilder:menu.lita configure -relief raised} else {.pgaw:ReportBuilder:menu.lita configure -relief sunken}
-	set PgAcVar(report,pointsize) [lindex $fnta 8]
-	if {[design:hasTag $obj t_f]} {set PgAcVar(report,info) "Database field"}
-	if {[design:hasTag $obj t_l]} {set PgAcVar(report,info) "Label"}
-	if {[design:hasTag $obj t_o]} {set PgAcVar(report,info) "Formula"}
-	if {[.pgaw:ReportBuilder:draft.c itemcget $obj -anchor]=="nw"} then {.pgaw:ReportBuilder:menu.balign configure -text left} else {.pgaw:ReportBuilder:menu.balign configure -text right}
-}
-}
-
-proc {design:dragStop} {x y} {
-global PgAcVar
-# when click Close, ql window is destroyed but event ButtonRelease-1 is fired
-if {![winfo exists .pgaw:ReportBuilder:draft]} return;
-.pgaw:ReportBuilder:draft configure -cursor left_ptr
-set este {}
-catch {set este $PgAcVar(draginfo,obj)}
-if {$este==""} return
-# Erase information about object beeing dragged
-if {$PgAcVar(draginfo,region)!=""} {
-	set dy 0
-	foreach rg $PgAcVar(report,regions) {
-		.pgaw:ReportBuilder:draft.c move rg_$rg 0 $dy
-		if {$rg==$PgAcVar(draginfo,region)} {
-			set dy [expr $y-$PgAcVar(report,y_$PgAcVar(draginfo,region))]
-		}
-		incr PgAcVar(report,y_$rg) $dy
-	}
-#    .pgaw:ReportBuilder:menu.c move det 0 [expr $y-$PgAcVar(report,y_$PgAcVar(draginfo,region))]
-	set PgAcVar(report,y_$PgAcVar(draginfo,region)) $y
-	design:drawReportAreas
-} else {
-	# Check if object beeing dragged is inside the canvas
-	set bb [.pgaw:ReportBuilder:draft.c bbox $PgAcVar(draginfo,obj)]
-	if {[lindex $bb 0] < 5} {
-		.pgaw:ReportBuilder:draft.c move $PgAcVar(draginfo,obj) [expr 5-[lindex $bb 0]] 0
-	}
-}
-set PgAcVar(draginfo,obj) {}
-PgAcVar:clean draginfo,*
-}
-
-
-proc {design:deleteAllObjects} {} {
-	if {[tk_messageBox -title [intlmsg Warning] -parent .pgaw:ReportBuilder:draft -message [intlmsg "All report information will be deleted.\n\nProceed ?"] -type yesno -default no]=="yes"} then {
-		.pgaw:ReportBuilder:draft.c delete all
-		design:init
-		design:drawReportAreas
-	}
-}
-
-proc {design:changeDraftCoords} {} {
-global PgAcVar
-	wm geometry .pgaw:ReportBuilder:draft $PgAcVar(report,rw)x$PgAcVar(report,rh)
-	place .pgaw:ReportBuilder:draft.c -x 0 -y 0 -width $PgAcVar(report,rw) -height $PgAcVar(report,rh) -anchor nw -bordermode ignore	
-}
-		
-proc {design:changePreviewCoords} {scroller} {
-global PgAcVar
-	wm geometry .pgaw:ReportPreview $PgAcVar(report,rw)x$PgAcVar(report,rh)
-	place .pgaw:ReportPreview.fr.c -x 0 -y 0 -width $PgAcVar(report,rw) -height $PgAcVar(report,rh) -anchor nw -bordermode ignore	
-}
-
-}
-
-################################################################
-
-# handmade but call it vTcl for continuity, someday use visualtcl again
-proc vTclWindow.pgaw:ReportBuilder:draft {base} {
-global PgAcVar
-	if {$base == ""} {
-		set base .pgaw:ReportBuilder:draft
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 508x345+406+120
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 1 1
-	wm deiconify $base
-	wm title $base [intlmsg "Report draft"]
-	canvas $base.c \
-		-background #fffeff -borderwidth 2 -height 207 -highlightthickness 0 \
-		-relief ridge -takefocus 1 -width 295 
-	place $base.c \
-		-x 0 -y 0 -width 508 -height 345 -anchor nw -bordermode ignore 
-	bind $base.c <Button-1> {
-		Reports::design:dragStart %W %x %y
-	}
-	bind $base.c <ButtonRelease-1> {
-		Reports::design:dragStop %x %y
-	}
-	bind $base.c <Key-Delete> {
-		Reports::design:deleteObject
-	}
-	bind $base.c <Motion> {
-		Reports::design:dragMove %W %x %y
-	}
-}
-
-
-proc vTclWindow.pgaw:ReportBuilder:menu {base} {
-global PgAcVar
-	if {$base == ""} {
-		set base .pgaw:ReportBuilder:menu
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 307x426+96+120
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Report menu"]
-
-	# report size
-	label $base.lrsize \
-		-borderwidth 0 \
-		-text [intlmsg {Report size}]
-	entry $base.erw \
-		-background #fefefe -highlightthickness 0 -relief groove \
-		-textvariable PgAcVar(report,rw)
-	label $base.lrwbyh \
-		-borderwidth 0 \
-		-text x
-	entry $base.erh \
-		-background #fefefe -highlightthickness 0 -relief groove \
-		-textvariable PgAcVar(report,rh)
-	bind $base.erw <Key-Return> { 
-		Reports::design:changeDraftCoords
-	}
-	bind $base.erh <Key-Return> {
-		Reports::design:changeDraftCoords
-	}
-
-	# page size
-	label $base.lpsize \
-		-borderwidth 0 \
-		-text [intlmsg {Page size}]
-	entry $base.epw \
-		-background #fefefe -highlightthickness 0 -relief groove \
-		-textvariable PgAcVar(report,pw)
-	label $base.lpwbyh \
-		-borderwidth 0 \
-		-text x
-	entry $base.eph \
-		-background #fefefe -highlightthickness 0 -relief groove \
-		-textvariable PgAcVar(report,ph)
-
-	label $base.l1 \
-		-borderwidth 1 \
-		-relief raised -text [intlmsg {Report fields}]
-	scrollbar $base.sb \
-		-borderwidth 1 -command {.pgaw:ReportBuilder:menu.lb yview} -orient vert 
-	listbox $base.lb \
-		-background #fefefe -foreground #000000 -borderwidth 1 \
-		-selectbackground #c3c3c3 \
-		-highlightthickness 1 -selectborderwidth 0 \
-		-yscrollcommand {.pgaw:ReportBuilder:menu.sb set} 
-	bind $base.lb <ButtonRelease-1> {
-		Reports::design:addField
-	}
-	button $base.bt2 \
-		-command Reports::design:deleteAllObjects \
-		-text [intlmsg {Delete all}]
-	button $base.bt4 \
-		-command Reports::design:preview \
-		-text [intlmsg Preview]
-	button $base.bt5 \
-		-borderwidth 1 \
-		-command Reports::design:close \
-		-text [intlmsg Close]
-	label $base.lmsg \
-		-anchor w \
-		-relief groove -text [intlmsg {Report header}] -textvariable PgAcVar(report,msg) 
-	entry $base.e2 \
-		-background #fefefe -borderwidth 1 -highlightthickness 0 \
-		-textvariable PgAcVar(report,tablename) 
-	bind $base.e2 <Key-Return> {
-		Reports::design:getSourceFields
-	}
-	entry $base.elab \
-		-background #fefefe -borderwidth 1 -highlightthickness 0 \
-		-textvariable PgAcVar(report,labeltext) 
-	button $base.badl \
-		-borderwidth 1 -command Reports::design:addLabel \
-		-text [intlmsg {Add label}]
-	label $base.lbold \
-		-borderwidth 1 -relief raised -text B 
-	bind $base.lbold <Button-1> {
-		Reports::design:toggleBold
-	}
-	label $base.lita \
-		-borderwidth 1 \
-		-font $PgAcVar(pref,font_italic) \
-		-relief raised -text i 
-	bind $base.lita <Button-1> {
-		Reports::design:toggleItalic
-	}
-	entry $base.eps \
-		-background #fefefe -highlightthickness 0 -relief groove \
-		-textvariable PgAcVar(report,pointsize) 
-	bind $base.eps <Key-Return> {
-		Reports::design:setObjectFont
-	}
-	label $base.linfo \
-		-anchor w  \
-		-relief groove -text {Database field} -textvariable PgAcVar(report,info) 
-	label $base.llal \
-		-borderwidth 0 -text Align 
-	button $base.balign \
-		-borderwidth 0 -command Reports::design:toggleAlignMode \
-		-relief groove -text right 
-	button $base.savebtn \
-		-borderwidth 1 -command Reports::design:save \
-		-text [intlmsg Save]
-	label $base.lfn \
-		-borderwidth 0 -text Font 
-	button $base.bfont \
-		-borderwidth 0 \
-		-command Reports::design:setFont \
-		-relief groove -text Courier 
-	button $base.bdd \
-		-borderwidth 1 \
-		-command {if {[winfo exists .pgaw:ReportBuilder:menu.ddf]} {
-	destroy .pgaw:ReportBuilder:menu.ddf
-} else {
-	create_drop_down .pgaw:ReportBuilder:menu 100 45 200
-	focus .pgaw:ReportBuilder:menu.ddf.sb
-	foreach tbl [Database::getTablesList] {.pgaw:ReportBuilder:menu.ddf.lb insert end $tbl}
-	bind .pgaw:ReportBuilder:menu.ddf.lb <ButtonRelease-1> {
-		set i [.pgaw:ReportBuilder:menu.ddf.lb curselection]
-		if {$i!=""} {set PgAcVar(report,tablename) [.pgaw:ReportBuilder:menu.ddf.lb get $i]}
-		destroy .pgaw:ReportBuilder:menu.ddf
-		Reports::design:getSourceFields
-		break
-	}
-}} \
-		-highlightthickness 0 -image dnarw 
-	label $base.lrn \
-		-borderwidth 0 -text [intlmsg {Report name}]
-	entry $base.ern \
-		-background #fefefe -borderwidth 1 -highlightthickness 0 \
-		-textvariable PgAcVar(report,reportname) 
-	bind $base.ern <Key-F5> {
-		loadReport
-	}
-	label $base.lrs \
-		-borderwidth 0 -text [intlmsg {Report source}]
-	label $base.ls \
-		-borderwidth 1 -relief raised 
-	entry $base.ef \
-		-background #fefefe -borderwidth 1 -highlightthickness 0 \
-		-textvariable PgAcVar(report,formula) 
-	button $base.baf \
-		-borderwidth 1 -command Reports::design:addFormula \
-		-text [intlmsg {Add formula}]
-	entry $base.ep \
-		-background #fefefe -borderwidth 1 -highlightthickness 0 \
-		-textvariable PgAcVar(report,picture) 
-	button $base.bap \
-		-borderwidth 1 -command Reports::design:addPicture \
-		-text [intlmsg {Add picture}]
-
-	place $base.lrsize \
-		-x 142 -y 58 -anchor nw -bordermode ignore 
-	place $base.erw \
-		-x 142 -y 75 -width 35 -height 18 -anchor nw -bordermode ignore 
-	place $base.lrwbyh \
-		-x 177 -y 75 -anchor nw -bordermode ignore 
-	place $base.erh \
-		-x 186 -y 75 -width 35 -height 18 -anchor nw -bordermode ignore 
-
-	place $base.lpsize \
-		-x 225 -y 58 -anchor nw -bordermode ignore 
-	place $base.epw \
-		-x 225 -y 75 -width 35 -height 18 -anchor nw -bordermode ignore 
-	place $base.lpwbyh \
-		-x 260 -y 75 -anchor nw -bordermode ignore 
-	place $base.eph \
-		-x 269 -y 75 -width 35 -height 18 -anchor nw -bordermode ignore 
-
-	place $base.l1 \
-		-x 5 -y 55 -width 131 -height 18 -anchor nw -bordermode ignore 
-	place $base.lb \
-		-x 5 -y 70 -width 118 -height 121 -anchor nw -bordermode ignore 
-	place $base.bt2 \
-		-x 5 -y 365 -width 64 -height 26 -anchor nw -bordermode ignore 
-	place $base.bt4 \
-		-x 70 -y 365 -width 66 -height 26 -anchor nw -bordermode ignore 
-	place $base.bt5 \
-		-x 70 -y 395 -width 66 -height 26 -anchor nw -bordermode ignore 
-	place $base.sb \
-		-x 120 -y 70 -width 18 -height 122 -anchor nw -bordermode ignore 
-	place $base.lmsg \
-		-x 142 -y 95 -width 151 -height 18 -anchor nw -bordermode ignore 
-	place $base.e2 \
-		-x 120 -y 25 -width 159 -height 18 -anchor nw -bordermode ignore 
-	place $base.lbold \
-		-x 252 -y 165 -width 18 -height 18 -anchor nw -bordermode ignore 
-	place $base.lita \
-		-x 272 -y 165 -width 18 -height 18 -anchor nw -bordermode ignore 
-	place $base.eps \
-		-x 252 -y 140 -width 40 -height 18 -anchor nw -bordermode ignore 
-	place $base.linfo \
-		-x 142 -y 115 -width 151 -height 18 -anchor nw -bordermode ignore 
-	place $base.llal \
-		-x 142 -y 165 -anchor nw -bordermode ignore 
-	place $base.balign \
-		-x 182 -y 165 -width 35 -height 21 -anchor nw -bordermode ignore 
-	place $base.savebtn \
-		-x 5 -y 395 -width 64 -height 26 -anchor nw -bordermode ignore 
-	place $base.lfn \
-		-x 142 -y 140 -anchor nw -bordermode ignore 
-	place $base.bfont \
-		-x 182 -y 140 -width 65 -height 21 -anchor nw -bordermode ignore 
-	place $base.bdd \
-		-x 280 -y 25 -width 15 -height 20 -anchor nw -bordermode ignore 
-	place $base.lrn \
-		-x 5 -y 5 -anchor nw -bordermode ignore 
-	place $base.ern \
-		-x 80 -y 4 -width 219 -height 18 -anchor nw -bordermode ignore 
-	place $base.lrs \
-		-x 5 -y 25 -anchor nw -bordermode ignore 
-	place $base.elab \
-		-x 5 -y 200 -width 297 -height 18 -anchor nw -bordermode ignore 
-	place $base.badl \
-		-x 5 -y 218 -width 132 -height 26 -anchor nw -bordermode ignore 
-	place $base.ef \
-		-x 5 -y 255 -width 297 -height 18 -anchor nw -bordermode ignore 
-	place $base.baf \
-		-x 5 -y 273 -width 132 -height 26 -anchor nw -bordermode ignore 
-	place $base.ep \
-		-x 5 -y 310 -width 297 -height 18 -anchor nw -bordermode ignore 
-	place $base.bap \
-		-x 5 -y 328 -width 132 -height 26 -anchor nw -bordermode ignore 
-}
-
-proc vTclWindow.pgaw:ReportPreview {base} {
-global PgAcVar
-	if {$base == ""} {
-		set base .pgaw:ReportPreview
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 495x500+230+50
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 1 1
-	wm title $base "Report preview"
-	frame $base.fr \
-		-borderwidth 2 -height 75 -relief groove -width 125 
-	canvas $base.fr.c \
-		-background #fcfefe -borderwidth 2 -height 207 -relief ridge \
-		-scrollregion {0 0 1000 824} -width 295 \
-		-yscrollcommand {.pgaw:ReportPreview.fr.sb set} 
-	scrollbar $base.fr.sb \
-		-borderwidth 1 -command {.pgaw:ReportPreview.fr.c yview} -highlightthickness 0 \
-		-orient vert -width 12 
-	frame $base.fp \
-		-borderwidth 2 -height 75 -width 125 
-	button $base.fp.bclose \
-		-borderwidth 1 -command {if {$PgAcVar(report,justpreview)} then {Window destroy .pgaw:ReportBuilder:draft} ; Window destroy .pgaw:ReportPreview} \
-		-text [intlmsg Close] 
-	button $base.fp.bprint \
-		-borderwidth 1 -command Reports::design:print \
-		-text Print 
-
-	label $base.fp.ltexttotal -text "pages "
-	label $base.fp.ltotal -textvariable PgAcVar(report,total_page)
-	button $base.fp.bprev -text <
-	bind $base.fp.bprev <Button-1> { 
-		if {$PgAcVar(report,curr_page)>1} {
-			set PgAcVar(report,curr_page) [expr $PgAcVar(report,curr_page)-1]
-		}
-		Reports::design:previewPage
-	}
-	button $base.fp.bnext -text >
-	bind $base.fp.bnext <Button-1> { 
-		if {$PgAcVar(report,curr_page)<$PgAcVar(report,last_page)} {
-			set PgAcVar(report,curr_page) [expr $PgAcVar(report,curr_page)+1]
-		}
-		Reports::design:previewPage
-	}
-	entry $base.fp.estart -width 5 -textvariable PgAcVar(report,curr_page)
-	bind $base.fp.estart <Key-Return> { 
-		Reports::design:previewPage
-	}
-	label $base.fp.lthru -text -
-	entry $base.fp.estop -width 5 -textvariable PgAcVar(report,last_page)
-	bind $base.fp.estop <Key-Return> { 
-		Reports::design:previewPage
-	}
-	
-	pack $base.fr \
-		-in .pgaw:ReportPreview -anchor center -expand 1 -fill both -side top 
-	pack $base.fr.c \
-		-in .pgaw:ReportPreview.fr -anchor center -expand 1 -fill both -side left 
-	pack $base.fr.sb \
-		-in .pgaw:ReportPreview.fr -anchor center -expand 0 -fill y -side right 
-	pack $base.fp \
-		-in .pgaw:ReportPreview -anchor center -expand 0 -fill none -side bottom
-
-	pack $base.fp.ltotal \
-		-in .pgaw:ReportPreview.fp -expand 0 -fill none -side left
-	pack $base.fp.ltexttotal \
-		-in .pgaw:ReportPreview.fp -expand 0 -fill none -side left
-	pack $base.fp.bprev \
-		-in .pgaw:ReportPreview.fp -expand 0 -fill none -side left
-	pack $base.fp.bnext \
-		-in .pgaw:ReportPreview.fp -expand 0 -fill none -side left
-	pack $base.fp.estart \
-		-in .pgaw:ReportPreview.fp -expand 0 -fill none -side left
-	pack $base.fp.lthru \
-		-in .pgaw:ReportPreview.fp -expand 0 -fill none -side left
-	pack $base.fp.estop \
-		-in .pgaw:ReportPreview.fp -expand 0 -fill none -side left
-	pack $base.fp.bprint \
-		-in .pgaw:ReportPreview.fp -expand 0 -fill none -side left
-	pack $base.fp.bclose \
-		-in .pgaw:ReportPreview.fp -expand 0 -fill none -side left
-}
diff --git a/src/bin/pgaccess/lib/schema.tcl b/src/bin/pgaccess/lib/schema.tcl
deleted file mode 100644
index 292a29de4f9..00000000000
--- a/src/bin/pgaccess/lib/schema.tcl
+++ /dev/null
@@ -1,700 +0,0 @@
-namespace eval Schema {
-
-proc {clm_rename} {{tbl_name} {old_name} {new_name}} {
-		global PgAcVar CurrentDB
- 		catch {
-				wpg_select $CurrentDB "select schemaname from pga_schema where (schematables like '%$tbl_name %') order by schemaname" rec {
-					set Names $rec(schemaname)
-					do_clm_rename $tbl_name $old_name $new_name $Names
-				}
-    }
-}
-
-proc {do_clm_rename} {{tbl_name} {old_name} {new_name} {schema}} {
-		 global PgAcVar CurrentDB
-	init
-	set PgAcVar(schema,name) $schema
-	if {[set pgres [wpg_exec $CurrentDB "select schematables,schemalinks,oid from pga_schema where schemaname='$PgAcVar(schema,name)'"]]==0} then {
-		showError [intlmsg "Error retrieving schema definition"]
-		return
-	}
-	if {[pg_result $pgres -numTuples]==0} {
-		showError [format [intlmsg "Schema '%s' was not found!"] $PgAcVar(schema,name)]
-		pg_result $pgres -clear
-		return
-	}
-	set tuple [pg_result $pgres -getTuple 0]
-	set links [lindex $tuple 1]
-	pg_result $pgres -clear
-	set linkslist {}
-	set PgAcVar(schema,links) $links
-	foreach link $PgAcVar(schema,links) {
-				set linklist { }
-				foreach {tbl fld} $link {
-								if {$tbl==$tbl_name} {
-									 if {$fld==$old_name} { set fld $new_name}
-								} 
-								lappend linklist $tbl $fld
-				}
-				lappend linkslist $linklist
-	}
-		 sql_exec noquiet "update pga_schema set schemalinks='$linkslist' where schemaname='$schema'"
-}
-
-proc {tbl_rename} {{old_name} {new_name}} {
-		global PgAcVar CurrentDB
- 		catch {
-				wpg_select $CurrentDB "select schemaname from pga_schema where (schematables like '$old_name %') or (schematables like '% $old_name %') order by schemaname" rec {
-					set Names $rec(schemaname)
-					do_tbl_rename $old_name $new_name $Names
-				}
-    }
-}
-
-proc {do_tbl_rename} {{old_name} {new_name} {schema}} {
-		 global PgAcVar CurrentDB
-	init
-	set PgAcVar(schema,name) $schema
-	if {[set pgres [wpg_exec $CurrentDB "select schematables,schemalinks,oid from pga_schema where schemaname='$PgAcVar(schema,name)'"]]==0} then {
-		showError [intlmsg "Error retrieving schema definition"]
-		return
-	}
-	if {[pg_result $pgres -numTuples]==0} {
-		showError [format [intlmsg "Schema '%s' was not found!"] $PgAcVar(schema,name)]
-		pg_result $pgres -clear
-		return
-	}
-	set tuple [pg_result $pgres -getTuple 0]
-	set tables [lindex $tuple 0]
-	set links [lindex $tuple 1]
-	pg_result $pgres -clear
-	set tablelist {}
-	foreach {t x y} $tables {
-		if {$t==$old_name} { set t $new_name} 
-		lappend tablelist $t $x $y
-	}
-	set linkslist {}
-
-	set PgAcVar(schema,links) $links
-	foreach link $PgAcVar(schema,links) {
-				set linklist { }
-				foreach {tbl fld} $link {
-								if {$tbl==$old_name} { set tbl $new_name} 
-								lappend linklist $tbl $fld
-				}
-				lappend linkslist $linklist
-	}
-		 sql_exec noquiet "update pga_schema set schematables='$tablelist', schemalinks='$linkslist' where schemaname='$schema'"
-}
-
-proc {new} {} {
-global PgAcVar
-	init
-	Window show .pgaw:Schema
-	set PgAcVar(schema,oid) 0
-	set PgAcVar(schema,name) {}
-	set PgAcVar(schema,tables) {}
-	set PgAcVar(schema,links) {}
-	set PgAcVar(schema,results) {}
-	focus .pgaw:Schema.f.e
-}
-
-
-proc {open} {obj} {
-global PgAcVar CurrentDB
-	init
-	set PgAcVar(schema,name) $obj
-	if {[set pgres [wpg_exec $CurrentDB "select schematables,schemalinks,oid from pga_schema where schemaname='$PgAcVar(schema,name)'"]]==0} then {
-		showError [intlmsg "Error retrieving schema definition"]
-		return
-	}
-	if {[pg_result $pgres -numTuples]==0} {
-		showError [format [intlmsg "Schema '%s' was not found!"] $PgAcVar(schema,name)]
-		pg_result $pgres -clear
-		return
-	}
-	set tuple [pg_result $pgres -getTuple 0]
-	set tables [lindex $tuple 0]
-	set links [lindex $tuple 1]
-	set PgAcVar(schema,oid) [lindex $tuple 2]
-	pg_result $pgres -clear
-	Window show .pgaw:Schema
-	foreach {t x y} $tables { 
-		set PgAcVar(schema,newtablename) $t
-		addNewTable $x $y
-	}
-	set PgAcVar(schema,links) $links
-	drawLinks
-	drawCoord
-#### This makes new page size
-	foreach {ulx uly lrx lry} [.pgaw:Schema.c bbox all] {
-#		wm geometry .pgaw:Schema [expr $lrx+30]x[expr $lry+30]
-	}
-}
-
-
-proc {addNewTable} {{tabx 0} {taby 0}} {
-global PgAcVar CurrentDB
-
-if {$PgAcVar(schema,newtablename)==""} return
-if {$PgAcVar(schema,newtablename)=="*"} {
-	set tbllist [Database::getTablesList]
-	foreach tn [array names PgAcVar schema,tablename*] {
-		if { [set linkid [lsearch $tbllist $PgAcVar($tn)]] != -1 } {
-			set tbllist [lreplace $tbllist $linkid $linkid]
-		}
-	}
-	foreach t $tbllist {
-		set PgAcVar(schema,newtablename) $t
-		addNewTable
-	}
-	return
-}
-
-foreach tn [array names PgAcVar schema,tablename*] {
-	if {$PgAcVar(schema,newtablename)==$PgAcVar($tn)} {
-		showError [format [intlmsg "Table '%s' already in schema"] $PgAcVar($tn)]
-		return
-	}
-}
-set fldlist {}
-setCursor CLOCK
-wpg_select $CurrentDB "select attnum,attname,typname from pg_class,pg_attribute,pg_type where (pg_class.relname='$PgAcVar(schema,newtablename)') and (pg_class.oid=pg_attribute.attrelid) and (attnum>0) and (atttypid=pg_type.oid) order by attnum" rec {
-		lappend fldlist $rec(attname) $rec(typname)
-}
-setCursor DEFAULT
-if {$fldlist==""} {
-	showError [format [intlmsg "Table '%s' not found!"] $PgAcVar(schema,newtablename)]
-	return
-}
-set PgAcVar(schema,tablename$PgAcVar(schema,ntables)) $PgAcVar(schema,newtablename)
-set PgAcVar(schema,tablestruct$PgAcVar(schema,ntables)) $fldlist
-set PgAcVar(schema,tablex$PgAcVar(schema,ntables)) $tabx
-set PgAcVar(schema,tabley$PgAcVar(schema,ntables)) $taby
-incr PgAcVar(schema,ntables)
-if {$PgAcVar(schema,ntables)==1} {
-   drawAll
-} else {
-   drawTable [expr $PgAcVar(schema,ntables)-1]
-}
-#lappend PgAcVar(schema,tables) $PgAcVar(schema,newtablename)  $PgAcVar(schema,tablex[expr $PgAcVar(schema,ntables)-1]) $PgAcVar(schema,tabley[expr $PgAcVar(schema,ntables)-1])
-lappend PgAcVar(schema,tables) $PgAcVar(schema,newtablename)  $PgAcVar(schema,tablex[expr $PgAcVar(schema,ntables)-1]) $PgAcVar(schema,tabley[expr $PgAcVar(schema,ntables)-1])
-set PgAcVar(schema,newtablename) {}
-focus .pgaw:Schema.f.e
-}
-
-proc {drawAll} {} {
-global PgAcVar
-	.pgaw:Schema.c delete all
-	for {set it 0} {$it<$PgAcVar(schema,ntables)} {incr it} {
-		drawTable $it
-	}
-	.pgaw:Schema.c lower rect
-	drawLinks
-
-	.pgaw:Schema.c bind mov <Button-1> {Schema::dragStart %W %x %y %s}
-	.pgaw:Schema.c bind mov <B1-Motion> {Schema::dragMove %W %x %y}
-	bind .pgaw:Schema.c <ButtonRelease-1> {Schema::dragStop %x %y}
-	bind .pgaw:Schema <Button-1> {Schema::canvasClick %x %y %W}
-	bind .pgaw:Schema <B1-Motion> {Schema::canvasPanning %x %y}
-	bind .pgaw:Schema <Key-Delete> {Schema::deleteObject}
-}
-
-
-proc {drawTable} {it} {
-global PgAcVar
-
-if {$PgAcVar(schema,tablex$it)==0} {
-	set posx 380
-	set posy 265
-	
-#	set posy $PgAcVar(schema,nexty)
-#	set posx $PgAcVar(schema,nextx)
-	set PgAcVar(schema,tablex$it) $posx
-	set PgAcVar(schema,tabley$it) $posy
-} else {
-	set posx [expr int($PgAcVar(schema,tablex$it))]
-	set posy [expr int($PgAcVar(schema,tabley$it))]
-}
-set tablename $PgAcVar(schema,tablename$it)
-.pgaw:Schema.c create text $posx $posy -text "$tablename" -anchor nw -tags [subst {tab$it f-oid mov tableheader}] -font $PgAcVar(pref,font_bold)
-incr posy 16
-foreach {fld ftype} $PgAcVar(schema,tablestruct$it) {
-   if {[set cindex [lsearch $PgAcVar(pref,typelist) $ftype]] == -1} {set cindex 1}
-   .pgaw:Schema.c create text $posx $posy -text $fld -fill [lindex $PgAcVar(pref,typecolors) $cindex] -anchor nw -tags [subst {f-$fld tab$it mov}] -font $PgAcVar(pref,font_normal)
-   incr posy 14
-}
-set reg [.pgaw:Schema.c bbox tab$it]
-.pgaw:Schema.c create rectangle [lindex $reg 0] [lindex $reg 1] [lindex $reg 2] [lindex $reg 3] -fill #EEEEEE -tags [subst {rect outer tab$it}]
-.pgaw:Schema.c create line [lindex $reg 0] [expr [lindex $reg 1]+15] [lindex $reg 2] [expr [lindex $reg 1]+15] -tags [subst {rect tab$it}]
-.pgaw:Schema.c lower tab$it
-.pgaw:Schema.c lower rect
-set reg [.pgaw:Schema.c bbox tab$it]
-
-
-set nexty [lindex $reg 1]
-set nextx [expr 20+[lindex $reg 2]]
-if {$nextx > [winfo width .pgaw:Schema.c] } {
-	set nextx 10
-	set allbox [.pgaw:Schema.c bbox rect]
-	set nexty [expr 20 + [lindex $allbox 3]]
-}
-set PgAcVar(schema,nextx) $nextx
-set PgAcVar(schema,nexty) $nexty
-}
-proc {drawCoord} {} {
-		 global PgAcVar
-		 .pgaw:Schema.c create line 365 265 395 265 -fill "#ff0000" -width "1.0" -tags .pgaw:Schema.c
-		 .pgaw:Schema.c create line 380 250 380 280 -fill "#ff0000" -width "1.0" -tags .pgaw:Schema.c
-}
-
-proc {deleteObject} {} {
-global PgAcVar
-# Checking if there 
-set objs [.pgaw:Schema.c find withtag hili]
-set numobj [llength $objs]
-if {$numobj == 0 } return
-# Is object a link ?
-foreach obj $objs {
-	if {[getTagInfo $obj link]=="s"} {
-		if {[tk_messageBox -title [intlmsg Warning] -icon question -parent .pgaw:Schema -message [intlmsg "Remove link ?"] -type yesno -default no]=="no"} return
-		set linkid [getTagInfo $obj lkid]
-		set PgAcVar(schema,links) [lreplace $PgAcVar(schema,links) $linkid $linkid]
-		.pgaw:Schema.c delete links
-		drawLinks
-		return
-	}
-	# Is object a table ?
-	set tablealias [getTagInfo $obj tab]
-	set tablename $PgAcVar(schema,tablename$tablealias)
-	if {"$tablename"==""} return
-	if {[tk_messageBox -title [intlmsg Warning] -icon question -parent .pgaw:Schema -message [format [intlmsg "Remove table %s from schema?"] $tablename] -type yesno -default no]=="no"} return
-	for {set i [expr [llength $PgAcVar(schema,links)]-1]} {$i>=0} {incr i -1} {
-		set thelink [lindex $PgAcVar(schema,links) $i]
-		if {($tablename==[lindex $thelink 0]) || ($tablename==[lindex $thelink 2])} {
-			set PgAcVar(schema,links) [lreplace $PgAcVar(schema,links) $i $i]
-		}
-	}
-	for {set i 0} {$i<$PgAcVar(schema,ntables)} {incr i} {
-		set temp {}
-		catch {set temp $PgAcVar(schema,tablename$i)}
-		if {"$temp"=="$tablename"} {
-			unset PgAcVar(schema,tablename$i)
-			unset PgAcVar(schema,tablestruct$i)
-			break
-		}
-	}
-	#incr PgAcVar(schema,ntables) -1
-	.pgaw:Schema.c delete tab$tablealias
-	.pgaw:Schema.c delete links
-	drawLinks
-	}
-}
-
-
-proc {dragMove} {w x y} {
-global PgAcVar
-	if {"$PgAcVar(draginfo,obj)" == ""} {return}
-	set dx [expr $x - $PgAcVar(draginfo,x)]
-	set dy [expr $y - $PgAcVar(draginfo,y)]
-	if {$PgAcVar(draginfo,is_a_table)} {
-		$w move dragme $dx $dy
-		drawLinks
-	} else {
-		$w move $PgAcVar(draginfo,obj) $dx $dy
-	}
-#	showError [intlmsg "$dx\n$dy"]
-	set PgAcVar(draginfo,x) $x
-	set PgAcVar(draginfo,y) $y
-}
-
-
-proc {dragStart} {w x y state} {
-global PgAcVar
-PgAcVar:clean draginfo,*
-set PgAcVar(draginfo,obj) [$w find closest $x $y]
-if {[getTagInfo $PgAcVar(draginfo,obj) r]=="ect"} {
-	# If it'a a rectangle, exit
-	set PgAcVar(draginfo,obj) {}
-	return
-}
-.pgaw:Schema configure -cursor hand1
-.pgaw:Schema.c raise $PgAcVar(draginfo,obj)
-set PgAcVar(draginfo,table) 0
-if {[getTagInfo $PgAcVar(draginfo,obj) table]=="header"} {
-	set PgAcVar(draginfo,is_a_table) 1
-	set taglist [.pgaw:Schema.c gettags $PgAcVar(draginfo,obj)]
-	set PgAcVar(draginfo,tabletag) [lindex $taglist [lsearch -regexp $taglist "^tab\[0-9\]*"]]
-	.pgaw:Schema.c raise $PgAcVar(draginfo,tabletag)
-	if {$state == 0} {
-		.pgaw:Schema.c itemconfigure hili -fill black
-		.pgaw:Schema.c dtag hili
-		.pgaw:Schema.c dtag dragme
-	}
-	.pgaw:Schema.c addtag dragme withtag $PgAcVar(draginfo,tabletag)
-	.pgaw:Schema.c addtag hili withtag $PgAcVar(draginfo,obj)
-	.pgaw:Schema.c itemconfigure hili -fill blue
-} else {
-	set PgAcVar(draginfo,is_a_table) 0
-}
-set PgAcVar(draginfo,x) $x
-set PgAcVar(draginfo,y) $y
-set PgAcVar(draginfo,sx) $x
-set PgAcVar(draginfo,sy) $y
-}
-
-proc {dragStop} {x y} {
-global PgAcVar
-# when click Close, schema window is destroyed but event ButtonRelease-1 is fired
-if {![winfo exists .pgaw:Schema]} return;
-.pgaw:Schema configure -cursor left_ptr
-set este {}
-catch {set este $PgAcVar(draginfo,obj)}
-if {$este==""} return
-# Re-establish the normal paint order so
-# information won't be overlapped by table rectangles
-# or link lines
-if {$PgAcVar(draginfo,is_a_table)} {
-	.pgaw:Schema.c lower $PgAcVar(draginfo,tabletag)
-} else {
-	.pgaw:Schema.c lower $PgAcVar(draginfo,obj)
-}
-.pgaw:Schema.c lower rect
-.pgaw:Schema.c lower links
-set PgAcVar(schema,panstarted) 0
-if {$PgAcVar(draginfo,is_a_table)} {
-	set tabnum [getTagInfo $PgAcVar(draginfo,obj) tab]
-	foreach w [.pgaw:Schema.c find withtag $PgAcVar(draginfo,tabletag)] {
-#						$PgAcVar(schema,coordx)\n$PgAcVar(schema,coordy)
-		if {[lsearch [.pgaw:Schema.c gettags $w] outer] != -1} {
-			foreach [list PgAcVar(schema,tablex$tabnum) PgAcVar(schema,tabley$tabnum) x1 y1] [.pgaw:Schema.c coords $w] {}
-			set PgAcVar(schema,tablex$tabnum) [expr $PgAcVar(schema,tablex$tabnum)+$PgAcVar(schema,coordx)+1]
-			set PgAcVar(schema,tabley$tabnum) [expr $PgAcVar(schema,tabley$tabnum)+$PgAcVar(schema,coordy)-1]
-			break
-		}
-	}
-	set PgAcVar(draginfo,obj) {}
-	.pgaw:Schema.c delete links
-	drawLinks
-	return
-} 
-# not a table
-.pgaw:Schema.c move $PgAcVar(draginfo,obj) [expr $PgAcVar(draginfo,sx)-$x] [expr $PgAcVar(draginfo,sy)-$y]
-set droptarget [.pgaw:Schema.c find overlapping $x $y $x $y]
-set targettable {}
-foreach item $droptarget {
-	set targettable $PgAcVar(schema,tablename[getTagInfo $item tab])
-	set targetfield [getTagInfo $item f-]
-	if {($targettable!="") && ($targetfield!="")} {
-		set droptarget $item
-		break
-	}
-}
-# check if target object isn't a rectangle
-if {[getTagInfo $droptarget rec]=="t"} {set targettable {}}
-if {$targettable!=""} {
-	# Target has a table
-	# See about originate table
-	set sourcetable $PgAcVar(schema,tablename[getTagInfo $PgAcVar(draginfo,obj) tab])
-	if {$sourcetable!=""} {
-		# Source has also a tab .. tag
-		set sourcefield [getTagInfo $PgAcVar(draginfo,obj) f-]
-		if {$sourcetable!=$targettable} {
-			lappend PgAcVar(schema,links) [list $sourcetable $sourcefield $targettable $targetfield]
-			drawLinks
-		}
-	}
-}
-# Erase information about object beeing dragged
-set PgAcVar(draginfo,obj) {}
-}
-
-proc {drawLinks} {} {
-global PgAcVar
-.pgaw:Schema.c delete links
-set i 0
-foreach link $PgAcVar(schema,links) {
-	set sourcenum -1
-	set targetnum -1
-	# Compute the source and destination right edge
-	foreach t [array names PgAcVar schema,tablename*] {
-		if {[regexp "^$PgAcVar($t)$" [lindex $link 0] ]} {
-			set sourcenum [string range $t 16 end]
-		} elseif {[regexp "^$PgAcVar($t)$" [lindex $link 2] ]} {
-			set targetnum [string range $t 16 end]
-		} 
-	}	
-	set sb [findField $sourcenum [lindex $link 1]]
-	set db [findField $targetnum [lindex $link 3]]
-	if {($sourcenum == -1 )||($targetnum == -1)||($sb ==-1)||($db==-1)} { 
-		set PgAcVar(schema,links) [lreplace $PgAcVar(schema,links) $i $i]
-		showError "Link from [lindex $link 0].[lindex $link 1] to [lindex $link 2].[lindex $link 3] not found!"
-	} else {
-
-		set sre [lindex [.pgaw:Schema.c bbox tab$sourcenum] 2]
-		set dre [lindex [.pgaw:Schema.c bbox tab$targetnum] 2]
-		# Compute field bound boxes
-		set sbbox [.pgaw:Schema.c bbox $sb]
-		set dbbox [.pgaw:Schema.c bbox $db]
-		# Compute the auxiliary lines
-		if {[lindex $sbbox 2] < [lindex $dbbox 0]} {
-			# Source object is on the left of target object
-			set x1 $sre
-			set y1 [expr ([lindex $sbbox 1]+[lindex $sbbox 3])/2]
-			set x2 [lindex $dbbox 0]
-			set y2 [expr ([lindex $dbbox 1]+[lindex $dbbox 3])/2]
-			.pgaw:Schema.c create line $x1 $y1 [expr $x1+10] $y1 \
-					[expr $x1+10] $y1 [expr $x2-10] $y2 \
-					[expr $x2-10] $y2 $x2 $y2 \
-					-tags [subst {links lkid$i}] -width 2
-		} else {
-			# source object is on the right of target object
-			set x1 [lindex $sbbox 0]
-			set y1 [expr ([lindex $sbbox 1]+[lindex $sbbox 3])/2]
-			set x2 $dre
-			set y2 [expr ([lindex $dbbox 1]+[lindex $dbbox 3])/2]
-			.pgaw:Schema.c create line $x1 $y1 [expr $x1-10] $y1 \
-					[expr $x1-10] $y1 [expr $x2+10] $y2 \
-					$x2 $y2 [expr $x2+10] $y2 \
-					-tags [subst {links lkid$i}] -width 2
-		}
-		incr i
-	}
-}
-.pgaw:Schema.c lower links
-.pgaw:Schema.c bind links <Button-1> {Schema::linkClick %x %y}
-}
-
-
-proc {getSchemaTabless} {} {
-global PgAcVar
-	set tablelist {}
-	foreach key [array names PgAcVar schema,tablename*] {
-		regsub schema,tablename $key "" num
-		lappend tablelist $PgAcVar($key) $PgAcVar(schema,tablex$num) $PgAcVar(schema,tabley$num)
-	}
-	return $tablelist
-}
-
-
-proc {findField} {alias field} {
-foreach obj [.pgaw:Schema.c find withtag f-${field}] {
-	if {[lsearch [.pgaw:Schema.c gettags $obj] tab$alias] != -1} {return $obj}
-	}
-return -1
-}
-
-
-proc {addLink} {sourcetable sourcefield targettable targetfield} {
-global PgAcVar
-	lappend PgAcVar(schema,links) [list $sourcetable $sourcefield $targettable $targetfield]
-}
-
-
-proc {getTagInfo} {obj prefix} {
-	set taglist [.pgaw:Schema.c gettags $obj]
-	set tagpos [lsearch -regexp $taglist "^$prefix"]
-	if {$tagpos==-1} {return ""}
-	set thattag [lindex $taglist $tagpos]
-	return [string range $thattag [string length $prefix] end]
-}
-
-
-proc {init} {} {
-global PgAcVar
-	PgAcVar:clean schema,*
-	set PgAcVar(schema,nexty) 10
-	set PgAcVar(schema,nextx) 10
-	set PgAcVar(schema,links) {}
-	set PgAcVar(schema,ntables) 0
-	set PgAcVar(schema,newtablename) {}
-	set PgAcVar(schema,coordx) 0
-	set PgAcVar(schema,coordy) 0
-}
-
-
-proc {linkClick} {x y} {
-global PgAcVar
-	set obj [.pgaw:Schema.c find closest $x $y 1 links]
-	if {[getTagInfo $obj link]!="s"} return
-	.pgaw:Schema.c itemconfigure hili -fill black
-	.pgaw:Schema.c dtag hili
-	.pgaw:Schema.c addtag hili withtag $obj
-	.pgaw:Schema.c itemconfigure $obj -fill blue
-}
-
-
-proc {canvasPanning} {x y} {
-global PgAcVar
-	set panstarted 0
-	catch {set panstarted $PgAcVar(schema,panstarted) }
-	if {!$panstarted} return
-	set dx [expr $x-$PgAcVar(schema,panstartx)]
-	set dy [expr $y-$PgAcVar(schema,panstarty)]
-	set PgAcVar(schema,panstartx) $x
-	set PgAcVar(schema,panstarty) $y
-	set PgAcVar(schema,coordx) [expr $PgAcVar(schema,coordx)-$dx]
-	set PgAcVar(schema,coordy) [expr $PgAcVar(schema,coordy)-$dy]
-	if {$PgAcVar(schema,panobject)=="tables"} {
-		.pgaw:Schema.c move mov $dx $dy
-		.pgaw:Schema.c move links $dx $dy
-		.pgaw:Schema.c move rect $dx $dy
-	} else {
-		.pgaw:Schema.c move resp $dx 0
-		.pgaw:Schema.c move resgrid $dx 0
-		.pgaw:Schema.c raise reshdr
-	}
-}
-
-
-proc print {c} {
-	set types {
-		{{Postscript Files}	{.ps}}
-		{{All Files}	*}
-	}
-	if {[catch {tk_getSaveFile -defaultextension .ps -filetypes $types \
-				-title "Print to Postscript"} fn] || [string match {} $fn]} return
-	if {[catch {::open $fn "w" } fid]} {
-		return -code error "Save Error: Unable to open '$fn' for writing\n$fid"
-	}
-	puts $fid [$c postscript -rotate 1]
-	close $fid
-}
-
-
-proc {canvasClick} {x y w} {
-global PgAcVar
-set PgAcVar(schema,panstarted) 0
-	if {$w==".pgaw:Schema.c"} {
-		set canpan 1
-		if {[llength [.pgaw:Schema.c find overlapping $x $y $x $y]]!=0} {set canpan 0}
-		set PgAcVar(schema,panobject) tables
-		if {$canpan} {
-			if {[.pgaw:Schema.c find withtag hili]!=""} {
-				.pgaw:Schema.c itemconfigure hili -fill black
-				.pgaw:Schema.c dtag hili
-				.pgaw:Schema.c dtag dragme
-				
-			}
-	
-			.pgaw:Schema configure -cursor hand1
-			set PgAcVar(schema,panstartx) $x
-			set PgAcVar(schema,panstarty) $y
-			set PgAcVar(schema,panstarted) 1
-		}
-  }
-}
-
-}
-
-proc vTclWindow.pgaw:Schema {base} {
-global PgAcVar
-	if {$base == ""} {
-		set base .pgaw:Schema
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 760x530+10+13
-	wm maxsize $base [winfo screenwidth .] [winfo screenheight .]
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 1 1
-	wm title $base [intlmsg "Visual schema designer"]
-  
-
-	canvas $base.c  -background #fefefe -borderwidth 2 -relief ridge  -takefocus 0 -width 295 -height 300
-	bind $base.c <B1-Motion> {
-		Schema::canvasPanning %x %y
-	}
-	bind $base.c <Button-1> {
-		Schema::canvasClick %x %y %W
-	}
-	bind $base.c <ButtonRelease-1> {
-		Schema::dragStop %x %y
-	}
-	bind $base.c <Key-Delete> {
-		Schema::deleteObject
-	}
-	frame $base.f \
-        -height 75 -relief groove -width 125 
-	label $base.f.l -text [intlmsg {Add table}]
-	entry $base.f.e \
-        -background #fefefe -borderwidth 1 
-	bind $base.f.e <Key-Return> {
-		Schema::addNewTable
-    }
-	button $base.f.bdd \
-        -image dnarw \
-        -command {if {[winfo exists .pgaw:Schema.ddf]} {
-	destroy .pgaw:Schema.ddf
-} else {
-	create_drop_down .pgaw:Schema 50 27 200
-	focus .pgaw:Schema.ddf.sb
-	foreach tbl [Database::getTablesList] {.pgaw:Schema.ddf.lb insert end $tbl}
-	bind .pgaw:Schema.ddf.lb <ButtonRelease-1> {
-		set i [.pgaw:Schema.ddf.lb curselection]
-		if {$i!=""} {
-			set PgAcVar(schema,newtablename) [.pgaw:Schema.ddf.lb get $i]
-			Schema::addNewTable
-		}
-		destroy .pgaw:Schema.ddf
-		break
-	}
-}} \
-        -padx 1 -pady 1 
-	button $base.f.btnclose \
-		-command {Schema::init
-Window destroy .pgaw:Schema} -padx 2 -pady 3 -text [intlmsg Close]
-	button $base.f.printbtn \
-		-command {Schema::print .pgaw:Schema.c} -padx 1 -pady 3 -text [intlmsg Print]
-	button $base.f.btnsave \
-		-command {if {$PgAcVar(schema,name)==""} then {
-	showError [intlmsg "You have to supply a name for this schema!"]
-	focus .pgaw:Schema.f.esn
-} else {
-	setCursor CLOCK
-	set tables [Schema::getSchemaTabless]
-	if {$PgAcVar(schema,oid)==0} then {
-		set pgres [wpg_exec $CurrentDB "insert into pga_schema values ('$PgAcVar(schema,name)','$tables','$PgAcVar(schema,links)')"]
-	} else {
-		set pgres [wpg_exec $CurrentDB "update pga_schema set schemaname='$PgAcVar(schema,name)',schematables='$tables',schemalinks='$PgAcVar(schema,links)' where oid=$PgAcVar(schema,oid)"]
-#		showError [intlmsg "$tables"]
-	}
-	setCursor DEFAULT
-	if {$PgAcVar(pgsql,status)!="PGRES_COMMAND_OK"} then {
-		showError "[intlmsg {Error executing query}]\n$PgAcVar(pgsql,errmsg)"
-	} else {
-		Mainlib::tab_click Schema
-		if {$PgAcVar(schema,oid)==0} {set PgAcVar(schema,oid) [pg_result $pgres -oid]}
-	}
-	catch {pg_result $pgres -clear}
-}} \
-		-padx 2 -pady 3 -text [intlmsg {Save schema}]
-	label $base.f.ls1 -text {  } 
-	entry $base.f.esn \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(schema,name) 
-	label $base.f.lsn -text [intlmsg {Schema name}]
-	pack $base.f.l \
-		-in .pgaw:Schema.f -anchor center -expand 0 -fill none -side left 
-	pack $base.f.e \
-		-in .pgaw:Schema.f -anchor center -expand 0 -fill none -side left 
-	pack $base.f.bdd \
-		-in .pgaw:Schema.f -anchor center -expand 0 -fill none -side left 
-	pack $base.f.btnclose \
-		-in .pgaw:Schema.f -anchor center -expand 0 -fill none -side right 
-	pack $base.f.printbtn \
-		-in .pgaw:Schema.f -anchor center -expand 0 -fill none -side right 
-	pack $base.f.btnsave \
-		-in .pgaw:Schema.f -anchor center -expand 0 -fill none -side right 
-	pack $base.f.ls1 \
-		-in .pgaw:Schema.f -anchor center -expand 0 -fill none -side right 
-	pack $base.f.esn \
-		-in .pgaw:Schema.f -anchor center -expand 0 -fill none -side right 
-	pack $base.f.lsn \
-		-in .pgaw:Schema.f -anchor center -expand 0 -fill none -side right 
-  pack $base.f -side top -anchor ne -expand 0 -fill x
-	pack $base.c -side bottom -fill both -expand 1
-}
diff --git a/src/bin/pgaccess/lib/scripts.tcl b/src/bin/pgaccess/lib/scripts.tcl
deleted file mode 100644
index 0302e1fec14..00000000000
--- a/src/bin/pgaccess/lib/scripts.tcl
+++ /dev/null
@@ -1,88 +0,0 @@
-namespace eval Scripts {
-
-proc {new} {} {
-	design {}
-}
-
-
-proc {open} {scriptname} {
-global CurrentDB
-	set ss {}
-	wpg_select $CurrentDB "select * from pga_scripts where scriptname='$scriptname'" rec {
-		set ss $rec(scriptsource)
-	}
-	if {[string length $ss] > 0} {
-		eval $ss
-	}
-}
-
-
-proc {design} {scriptname} {
-global PgAcVar CurrentDB
-	Window show .pgaw:Scripts
-	set PgAcVar(script,name) $scriptname
-	.pgaw:Scripts.src delete 1.0 end
-	if {[string length $scriptname]==0} return;
-	wpg_select $CurrentDB "select * from pga_scripts where scriptname='$scriptname'" rec {
-		.pgaw:Scripts.src insert end $rec(scriptsource)    
-	}
-}
-
-
-proc {execute} {scriptname} {
-	# a wrap for execute command
-	open $scriptname
-}
-
-
-proc {save} {} {
-global PgAcVar
-	if {$PgAcVar(script,name)==""} {
-		tk_messageBox -title [intlmsg Warning] -parent .pgaw:Scripts -message [intlmsg "The script must have a name!"]
-	} else {
-	   sql_exec noquiet "delete from pga_scripts where scriptname='$PgAcVar(script,name)'"
-	   regsub -all {\\} [.pgaw:Scripts.src get 1.0 end] {\\\\} PgAcVar(script,body)
-	   regsub -all ' $PgAcVar(script,body)  \\' PgAcVar(script,body)
-	   sql_exec noquiet "insert into pga_scripts values ('$PgAcVar(script,name)','$PgAcVar(script,body)')"
-	   Mainlib::tab_click Scripts
-	}
-}
-
-}
-
-
-########################## END OF NAMESPACE SCRIPTS ##################
-
-proc vTclWindow.pgaw:Scripts {base} {
-global PgAcVar
-	if {$base == ""} {
-		set base .pgaw:Scripts
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 594x416+192+152
-	wm maxsize $base 1009 738
-	wm minsize $base 300 300
-	wm overrideredirect $base 0
-	wm resizable $base 1 1
-	wm title $base [intlmsg "Design script"]
-	frame $base.f1  -height 55 -relief groove -width 125 
-	label $base.f1.l1  -borderwidth 0 -text [intlmsg {Script name}]
-	entry $base.f1.e1  -background #fefefe -borderwidth 1 -highlightthickness 0 -textvariable PgAcVar(script,name) -width 32 
-	text $base.src -background #fefefe -foreground #000000 -font $PgAcVar(pref,font_normal) -height 2  -highlightthickness 1 -selectborderwidth 0 -width 2 
-	frame $base.f2  -height 75 -relief groove -width 125 
-	button $base.f2.b1  -borderwidth 1 -command {Window destroy .pgaw:Scripts} -text [intlmsg Cancel]
-	button $base.f2.b2  -borderwidth 1  -command Scripts::save \
-		-text [intlmsg Save] -width 6 
-	pack $base.f1  -in .pgaw:Scripts -anchor center -expand 0 -fill x -pady 2 -side top 
-	pack $base.f1.l1  -in .pgaw:Scripts.f1 -anchor center -expand 0 -fill none -ipadx 2 -side left 
-	pack $base.f1.e1  -in .pgaw:Scripts.f1 -anchor center -expand 0 -fill none -side left 
-	pack $base.src  -in .pgaw:Scripts -anchor center -expand 1 -fill both -padx 2 -side top 
-	pack $base.f2  -in .pgaw:Scripts -anchor center -expand 0 -fill none -side top 
-	pack $base.f2.b1  -in .pgaw:Scripts.f2 -anchor center -expand 0 -fill none -side right 
-	pack $base.f2.b2  -in .pgaw:Scripts.f2 -anchor center -expand 0 -fill none -side right
-}
-
diff --git a/src/bin/pgaccess/lib/sequences.tcl b/src/bin/pgaccess/lib/sequences.tcl
deleted file mode 100644
index 834eaab22cc..00000000000
--- a/src/bin/pgaccess/lib/sequences.tcl
+++ /dev/null
@@ -1,159 +0,0 @@
-namespace eval Sequences {
-
-proc {new} {} {
-global PgAcVar
-	Window show .pgaw:Sequence
-	set PgAcVar(seq,name) {}
-	set PgAcVar(seq,incr) 1
-	set PgAcVar(seq,start) 1
-	set PgAcVar(seq,minval) 1
-	set PgAcVar(seq,maxval) 2147483647
-	focus .pgaw:Sequence.f1.e1
-}
-
-proc {open} {seqname} {
-global PgAcVar CurrentDB
-Window show .pgaw:Sequence
-set flag 1
-wpg_select $CurrentDB "select * from \"$seqname\"" rec {
-	set flag 0
-	set PgAcVar(seq,name) $seqname
-	set PgAcVar(seq,incr) $rec(increment_by)
-	set PgAcVar(seq,start) $rec(last_value)
-	.pgaw:Sequence.f1.l3 configure -text [intlmsg "Last value"]
-	set PgAcVar(seq,minval) $rec(min_value)
-	set PgAcVar(seq,maxval) $rec(max_value)
-	.pgaw:Sequence.fb.btnsave configure -state disabled
-}
-if {$flag} {
-	showError [format [intlmsg "Sequence '%s' not found!"] $seqname]
-} else {
-	for {set i 1} {$i<6} {incr i} {
-		.pgaw:Sequence.f1.e$i configure -state disabled
-	}
-	focus .pgaw:Sequence.fb.btncancel
-}
-}
-
-proc {save} {} {
-global PgAcVar
-	if {$PgAcVar(seq,name)==""} {
-		showError [intlmsg "You should supply a name for this sequence"]
-	} else {
-		set s1 {};set s2 {};set s3 {};set s4 {};
-		if {$PgAcVar(seq,incr)!=""} {set s1 "increment $PgAcVar(seq,incr)"};
-		if {$PgAcVar(seq,start)!=""} {set s2 "start $PgAcVar(seq,start)"};
-		if {$PgAcVar(seq,minval)!=""} {set s3 "minvalue $PgAcVar(seq,minval)"};
-		if {$PgAcVar(seq,maxval)!=""} {set s4 "maxvalue $PgAcVar(seq,maxval)"};
-		set sqlcmd "create sequence \"$PgAcVar(seq,name)\" $s1 $s2 $s3 $s4"
-		if {[sql_exec noquiet $sqlcmd]} {
-			Mainlib::cmd_Sequences
-			tk_messageBox -title [intlmsg Information] -parent .pgaw:Sequence -message [intlmsg "Sequence created!"]
-		}
-	}
-}
-
-}
-
-proc vTclWindow.pgaw:Sequence {base} {
-	if {$base == ""} {
-		set base .pgaw:Sequence
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 283x172+119+210
-	wm maxsize $base 1009 738
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Sequence"]
-	bind $base <Key-F1> "Help::load sequences"
-	frame $base.f1 \
-		-borderwidth 2 -height 75 -width 125 
-	label $base.f1.l1 \
-		-borderwidth 0 -relief raised -text [intlmsg {Sequence name}]
-	entry $base.f1.e1 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(seq,name) -width 200 
-	bind $base.f1.e1 <Key-KP_Enter> {
-		focus .pgaw:Sequence.f1.e2
-	}
-	bind $base.f1.e1 <Key-Return> {
-		focus .pgaw:Sequence.f1.e2
-	}
-	label $base.f1.l2 \
-		-borderwidth 0 -relief raised -text [intlmsg Increment]
-	entry $base.f1.e2 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(seq,incr) -width 200 
-	bind $base.f1.e2 <Key-Return> {
-		focus .pgaw:Sequence.f1.e3
-	}
-	label $base.f1.l3 \
-		-borderwidth 0 -relief raised -text [intlmsg {Start value}]
-	entry $base.f1.e3 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(seq,start) -width 200 
-	bind $base.f1.e3 <Key-Return> {
-		focus .pgaw:Sequence.f1.e4
-	}
-	label $base.f1.l4 \
-		-borderwidth 0 -relief raised -text [intlmsg Minvalue]
-	entry $base.f1.e4 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(seq,minval) \
-		-width 200 
-	bind $base.f1.e4 <Key-Return> {
-		focus .pgaw:Sequence.f1.e5
-	}
-	label $base.f1.ls2 \
-		-borderwidth 0 -relief raised -text { } 
-	label $base.f1.l5 \
-		-borderwidth 0 -relief raised -text [intlmsg Maxvalue]
-	entry $base.f1.e5 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(seq,maxval) \
-		-width 200 
-	bind $base.f1.e5 <Key-Return> {
-		focus .pgaw:Sequence.fb.btnsave
-	}
-	frame $base.fb \
-		-height 75 -relief groove -width 125 
-	button $base.fb.btnsave \
-		-borderwidth 1 -command Sequences::save \
-		-padx 9 -pady 3 -text [intlmsg {Define sequence}]
-	button $base.fb.btncancel \
-		-borderwidth 1 -command {Window destroy .pgaw:Sequence} \
-		-padx 9 -pady 3 -text [intlmsg Close]
-	place $base.f1 \
-		-x 9 -y 5 -width 265 -height 126 -anchor nw -bordermode ignore 
-	grid columnconf $base.f1 2 -weight 1
-	grid $base.f1.l1 \
-		-in .pgaw:Sequence.f1 -column 0 -row 0 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f1.e1 \
-		-in .pgaw:Sequence.f1 -column 2 -row 0 -columnspan 1 -rowspan 1 -pady 2 
-	grid $base.f1.l2 \
-		-in .pgaw:Sequence.f1 -column 0 -row 2 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f1.e2 \
-		-in .pgaw:Sequence.f1 -column 2 -row 2 -columnspan 1 -rowspan 1 -pady 2 
-	grid $base.f1.l3 \
-		-in .pgaw:Sequence.f1 -column 0 -row 4 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f1.e3 \
-		-in .pgaw:Sequence.f1 -column 2 -row 4 -columnspan 1 -rowspan 1 -pady 2 
-	grid $base.f1.l4 \
-		-in .pgaw:Sequence.f1 -column 0 -row 6 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f1.e4 \
-		-in .pgaw:Sequence.f1 -column 2 -row 6 -columnspan 1 -rowspan 1 -pady 2 
-	grid $base.f1.ls2 \
-		-in .pgaw:Sequence.f1 -column 1 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.f1.l5 \
-		-in .pgaw:Sequence.f1 -column 0 -row 7 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f1.e5 \
-		-in .pgaw:Sequence.f1 -column 2 -row 7 -columnspan 1 -rowspan 1 -pady 2 
-	place $base.fb \
-		-x 0 -y 135 -width 283 -height 40 -anchor nw -bordermode ignore 
-	grid $base.fb.btnsave \
-		-in .pgaw:Sequence.fb -column 0 -row 0 -columnspan 1 -rowspan 1 -padx 5 
-	grid $base.fb.btncancel \
-		-in .pgaw:Sequence.fb -column 1 -row 0 -columnspan 1 -rowspan 1 -padx 5 
-}
-
diff --git a/src/bin/pgaccess/lib/tables.tcl b/src/bin/pgaccess/lib/tables.tcl
deleted file mode 100644
index 7e5149f430a..00000000000
--- a/src/bin/pgaccess/lib/tables.tcl
+++ /dev/null
@@ -1,2241 +0,0 @@
-namespace eval Tables {
-
-
-proc {new} {} {
-	PgAcVar:clean nt,*
-	Window show .pgaw:NewTable
-	focus .pgaw:NewTable.etabn
-}
-
-
-proc {open} {tablename {filter ""} {order ""}} {
-global PgAcVar
-	set wn [getNewWindowName]
-	createWindow
-	set PgAcVar(mw,$wn,tablename) $tablename
-	loadLayout $wn $tablename
-	set PgAcVar(mw,$wn,sortfield) $order
-	set PgAcVar(mw,$wn,filter) $filter
-	set PgAcVar(mw,$wn,query) "select oid,\"$tablename\".* from \"$tablename\""
-	set PgAcVar(mw,$wn,updatable) 1
-	set PgAcVar(mw,$wn,isaquery) 0
-	initVariables $wn
-	refreshRecords $wn
-	catch {wm title $wn "$tablename"}
-}
-
-
-proc {design} {tablename} {
-global PgAcVar CurrentDB
-	if {$CurrentDB==""} return;
-	set PgAcVar(tblinfo,tablename) $tablename
-	refreshTableInformation
-}
-
-
-proc {refreshTableInformation} {} {
-global PgAcVar CurrentDB
-	Window show .pgaw:TableInfo
-	wm title .pgaw:TableInfo "[intlmsg {Table information}] : $PgAcVar(tblinfo,tablename)"
-	.pgaw:TableInfo.f1.lb delete 0 end
-	.pgaw:TableInfo.f2.fl.ilb delete 0 end
-	.pgaw:TableInfo.f2.fr.lb delete 0 end
-	.pgaw:TableInfo.f3.plb delete 0 end
-	set PgAcVar(tblinfo,isunique) {}
-	set PgAcVar(tblinfo,isclustered) {}
-	set PgAcVar(tblinfo,indexfields) {}
-	wpg_select $CurrentDB "select attnum,attname,typname,attlen,attnotnull,atttypmod,usename,usesysid,pg_class.oid,relpages,reltuples,relhaspkey,relhasrules,relacl from pg_class,pg_user,pg_attribute,pg_type where (pg_class.relname='$PgAcVar(tblinfo,tablename)') and (pg_class.oid=pg_attribute.attrelid) and (pg_class.relowner=pg_user.usesysid) and (pg_attribute.atttypid=pg_type.oid) order by attnum" rec {
-		set fsize $rec(attlen)
-		set fsize1 $rec(atttypmod)
-		set ftype $rec(typname)
-		if { $fsize=="-1" && $fsize1!="-1" } {
-			set fsize $rec(atttypmod)
-			incr fsize -4
-		}
-		if { $fsize1=="-1" && $fsize=="-1" } {
-			set fsize ""
-		}
-		if {$rec(attnotnull) == "t"} {
-			set notnull "NOT NULL"
-		} else {
-			set notnull {}
-		}
-		if {$rec(attnum)>0} {.pgaw:TableInfo.f1.lb insert end [format "%-33.33s %-14.14s %6.6s    %-8.8s" $rec(attname) $ftype $fsize $notnull]}
-		set PgAcVar(tblinfo,owner) $rec(usename)
-		set PgAcVar(tblinfo,tableoid) $rec(oid)
-		set PgAcVar(tblinfo,ownerid) $rec(usesysid)
-		set PgAcVar(tblinfo,f$rec(attnum)) $rec(attname)
-		set PgAcVar(tblinfo,numtuples) $rec(reltuples)
-		set PgAcVar(tblinfo,numpages) $rec(relpages)
-		set PgAcVar(tblinfo,permissions) $rec(relacl)
-		if {$rec(relhaspkey)=="t"} {
-			set PgAcVar(tblinfo,hasprimarykey) [intlmsg Yes]
-		} else {
-			set PgAcVar(tblinfo,hasprimarykey) [intlmsg No]
-		}
-		if {$rec(relhasrules)=="t"} {
-			set PgAcVar(tblinfo,hasrules) [intlmsg Yes]
-		} else {
-			set PgAcVar(tblinfo,hasrules) [intlmsg No]
-		}
-	}
-	set PgAcVar(tblinfo,indexlist) {}
-	wpg_select $CurrentDB "select oid,indexrelid from pg_index where (pg_class.relname='$PgAcVar(tblinfo,tablename)') and (pg_class.oid=pg_index.indrelid)" rec {
-		lappend PgAcVar(tblinfo,indexlist) $rec(oid)
-		wpg_select $CurrentDB "select relname from pg_class where oid=$rec(indexrelid)" rec1 {
-			.pgaw:TableInfo.f2.fl.ilb insert end $rec1(relname)
-		}
-	}
-	#
-	# showing permissions
-	set temp $PgAcVar(tblinfo,permissions)
-	regsub "^\{" $temp {} temp
-	regsub "\}$" $temp {} temp
-	regsub -all "\"" $temp {} temp
-	foreach token [split $temp ,] {
-		set oli [split $token =]
-		set uname [lindex $oli 0]
-		set rights [lindex $oli 1]
-		if {$uname == ""} {set uname PUBLIC}
-		set r_select " "
-		set r_update " "
-		set r_insert " "
-		set r_rule   " "
-		if {[string first r $rights] != -1} {set r_select x}
-		if {[string first w $rights] != -1} {set r_update x}
-		if {[string first a $rights] != -1} {set r_insert x}
-		if {[string first R $rights] != -1} {set r_rule   x}
-		#
-		# changing the format of the following line can affect the loadPermissions procedure
-		# see below
-		.pgaw:TableInfo.f3.plb insert end [format "%-23.23s %11s %11s %11s %11s" $uname $r_select $r_update $r_insert $r_rule]
-		
-	}
-}
-
-proc {loadPermissions} {} {
-global PgAcVar
-	set sel [.pgaw:TableInfo.f3.plb curselection]
-	if {$sel == ""} {
-		bell
-		return
-	}
-	set line [.pgaw:TableInfo.f3.plb get $sel]
-	set uname [string trim [string range $line 0 22]]
-	Window show .pgaw:Permissions
-	wm transient .pgaw:Permissions .pgaw:TableInfo
-	set PgAcVar(permission,username) $uname
-	set PgAcVar(permission,select) [expr {"x"==[string range $line 34 34]}]
-	set PgAcVar(permission,update) [expr {"x"==[string range $line 46 46]}]
-	set PgAcVar(permission,insert) [expr {"x"==[string range $line 58 58]}]
-	set PgAcVar(permission,rule)   [expr {"x"==[string range $line 70 70]}]
-	focus .pgaw:Permissions.f1.ename
-}
-
-
-proc {newPermissions} {} {
-global PgAcVar
-	PgAcVar:clean permission,*
-	Window show .pgaw:Permissions
-	wm transient .pgaw:Permissions .pgaw:TableInfo
-	focus .pgaw:Permissions.f1.ename
-}
-
-
-proc {savePermissions} {} {
-global PgAcVar
-	if {$PgAcVar(permission,username) == ""} {
-		showError [intlmsg "User without name?"]
-		return
-	}
-	if {$PgAcVar(permission,username)=="PUBLIC"} {
-		set usrname PUBLIC
-	} else {
-		set usrname "\"$PgAcVar(permission,username)\""
-	}
-	sql_exec noquiet "revoke all on \"$PgAcVar(tblinfo,tablename)\" from $usrname"
-	if {$PgAcVar(permission,select)} {
-		sql_exec noquiet "GRANT SELECT on \"$PgAcVar(tblinfo,tablename)\" to $usrname"
-	}
-	if {$PgAcVar(permission,insert)} {
-		sql_exec noquiet "GRANT INSERT on \"$PgAcVar(tblinfo,tablename)\" to $usrname"
-	}
-	if {$PgAcVar(permission,update)} {
-		sql_exec noquiet "GRANT UPDATE on \"$PgAcVar(tblinfo,tablename)\" to $usrname"
-	}
-	if {$PgAcVar(permission,rule)} {
-		sql_exec noquiet "GRANT RULE on \"$PgAcVar(tblinfo,tablename)\" to $usrname"
-	}
-	refreshTableInformation
-}
-
-
-proc {clusterIndex} {} {
-global PgAcVar
-	set sel [.pgaw:TableInfo.f2.fl.ilb curselection]
-	if {$sel == ""} {
-		showError [intlmsg "You have to select an index!"]
-		return
-	}
-	bell
-	if {[tk_messageBox -title [intlmsg Warning] -parent .pgaw:TableInfo -message [format [intlmsg "You choose to cluster index\n\n %s \n\nAll other indices will be lost!\nProceed?"] [.pgaw:TableInfo.f2.fl.ilb get $sel]] -type yesno -default no]=="no"} {return}
-	if {[sql_exec noquiet "cluster \"[.pgaw:TableInfo.f2.fl.ilb get $sel]\" on \"$PgAcVar(tblinfo,tablename)\""]} {
-		refreshTableInformation
-	}		
-}
-
-
-proc {get_tag_info} {wn itemid prefix} {
-	set taglist [$wn.c itemcget $itemid -tags]
-	set i [lsearch -glob $taglist $prefix*]
-	set thetag [lindex $taglist $i]
-	return [string range $thetag 1 end]
-}
-
-
-proc {dragMove} {w x y} {
-global PgAcVar
-	set dlo ""
-	catch { set dlo $PgAcVar(draglocation,obj) }
-	if {$dlo != ""} {
-		set dx [expr $x - $PgAcVar(draglocation,x)]
-		set dy [expr $y - $PgAcVar(draglocation,y)]
-		$w move $dlo $dx $dy
-		set PgAcVar(draglocation,x) $x
-		set PgAcVar(draglocation,y) $y
-	}
-}
-
-
-proc {dragStart} {wn w x y} {
-global PgAcVar
-	PgAcVar:clean draglocation,*
-	set object [$w find closest $x $y]
-	if {[lsearch [$wn.c gettags $object] movable]==-1} return;
-	$wn.c bind movable <Leave> {}
-	set PgAcVar(draglocation,obj) $object
-	set PgAcVar(draglocation,x) $x
-	set PgAcVar(draglocation,y) $y
-	set PgAcVar(draglocation,start) $x
-}
-
-
-proc {dragStop} {wn w x y} {
-global PgAcVar CurrentDB
-	set dlo ""
-	catch { set dlo $PgAcVar(draglocation,obj) }
-	if {$dlo != ""} {
-		$wn.c bind movable <Leave> "$wn configure -cursor left_ptr"
-		$wn configure -cursor left_ptr
-		set ctr [get_tag_info $wn $PgAcVar(draglocation,obj) v]
-		set diff [expr $x-$PgAcVar(draglocation,start)]
-		if {$diff==0} return;
-		set newcw {}
-		for {set i 0} {$i<$PgAcVar(mw,$wn,colcount)} {incr i} {
-			if {$i==$ctr} {
-		lappend newcw [expr [lindex $PgAcVar(mw,$wn,colwidth) $i]+$diff]
-			} else {
-		lappend newcw [lindex $PgAcVar(mw,$wn,colwidth) $i]
-			}
-		}
-		set PgAcVar(mw,$wn,colwidth) $newcw
-		$wn.c itemconfigure c$ctr -width [expr [lindex $PgAcVar(mw,$wn,colwidth) $ctr]-5]
-		drawHeaders $wn
-		drawHorizontalLines $wn
-		if {$PgAcVar(mw,$wn,crtrow)!=""} {showRecord $wn $PgAcVar(mw,$wn,crtrow)}
-		for {set i [expr $ctr+1]} {$i<$PgAcVar(mw,$wn,colcount)} {incr i} {
-			$wn.c move c$i $diff 0
-		}
-		setCursor CLOCK
-		sql_exec quiet "update pga_layout set colwidth='$PgAcVar(mw,$wn,colwidth)' where tablename='$PgAcVar(mw,$wn,layout_name)'"
-		setCursor DEFAULT
-	}
-}
-
-
-proc {canvasClick} {wn x y} {
-global PgAcVar
-	if {![finishEdit $wn]} return
-	# Determining row
-	for {set row 0} {$row<$PgAcVar(mw,$wn,nrecs)} {incr row} {
-		if {[lindex $PgAcVar(mw,$wn,rowy) $row]>$y} break
-	}
-	incr row -1
-	if {$y>[lindex $PgAcVar(mw,$wn,rowy) $PgAcVar(mw,$wn,last_rownum)]} {set row $PgAcVar(mw,$wn,last_rownum)}
-	if {$row<0} return
-	set PgAcVar(mw,$wn,row_edited) $row
-	set PgAcVar(mw,$wn,crtrow) $row
-	showRecord $wn $row
-	if {$PgAcVar(mw,$wn,errorsavingnew)} return
-	# Determining column
-	set posx [expr -$PgAcVar(mw,$wn,leftoffset)]
-	set col 0
-	foreach cw $PgAcVar(mw,$wn,colwidth) {
-		incr posx [expr $cw+2]
-		if {$x<$posx} break
-		incr col
-	}
-	set itlist [$wn.c find withtag r$row]
-	foreach item $itlist {
-		if {[get_tag_info $wn $item c]==$col} {
-			startEdit $wn $item $x $y
-			break
-		}
-	}
-}
-
-
-proc {deleteRecord} {wn} {
-global PgAcVar CurrentDB
-	if {!$PgAcVar(mw,$wn,updatable)} return;
-	if {![finishEdit $wn]} return;
-	set taglist [$wn.c gettags hili]
-	if {[llength $taglist]==0} return;
-	set rowtag [lindex $taglist [lsearch -regexp $taglist "^r"]]
-	set row [string range $rowtag 1 end]
-	set oid [lindex $PgAcVar(mw,$wn,keylist) $row]
-	if {[tk_messageBox -title [intlmsg "FINAL WARNING"] -icon question -parent $wn -message [intlmsg "Delete current record ?"] -type yesno -default no]=="no"} return
-	if {[sql_exec noquiet "delete from \"$PgAcVar(mw,$wn,tablename)\" where oid=$oid"]} {
-		$wn.c delete hili
-	}
-}
-
-
-proc {drawHeaders} {wn} {
-global PgAcVar
-	$wn.c delete header
-	set posx [expr 5-$PgAcVar(mw,$wn,leftoffset)]
-	for {set i 0} {$i<$PgAcVar(mw,$wn,colcount)} {incr i} {
-		set xf [expr $posx+[lindex $PgAcVar(mw,$wn,colwidth) $i]]
-		$wn.c create rectangle $posx 1 $xf 22 -fill #CCCCCC -outline "" -width 0 -tags header
-		$wn.c create text [expr $posx+[lindex $PgAcVar(mw,$wn,colwidth) $i]*1.0/2] 14 -text [lindex $PgAcVar(mw,$wn,colnames) $i] -tags header -fill navy -font $PgAcVar(pref,font_normal)
-		$wn.c create line $posx 22 [expr $xf-1] 22 -fill #AAAAAA -tags header
-		$wn.c create line [expr $xf-1] 5 [expr $xf-1] 22 -fill #AAAAAA -tags header
-		$wn.c create line [expr $xf+1] 5 [expr $xf+1] 22 -fill white -tags header
-		$wn.c create line $xf -15000 $xf 15000 -fill #CCCCCC -tags [subst {header movable v$i}]
-		set posx [expr $xf+2]
-	}
-	set PgAcVar(mw,$wn,r_edge) $posx
-	$wn.c bind movable <Button-1> "Tables::dragStart $wn %W %x %y"
-	$wn.c bind movable <B1-Motion> {Tables::dragMove %W %x %y}
-	$wn.c bind movable <ButtonRelease-1> "Tables::dragStop $wn %W %x %y"
-	$wn.c bind movable <Enter> "$wn configure -cursor left_side"
-	$wn.c bind movable <Leave> "$wn configure -cursor left_ptr"
-}
-
-
-proc {drawHorizontalLines} {wn} {
-global PgAcVar
-	$wn.c delete hgrid
-	set posx 10
-	for {set j 0} {$j<$PgAcVar(mw,$wn,colcount)} {incr j} {
-		set ledge($j) $posx
-		incr posx [expr [lindex $PgAcVar(mw,$wn,colwidth) $j]+2]
-		set textwidth($j) [expr [lindex $PgAcVar(mw,$wn,colwidth) $j]-5]
-	}
-	incr posx -6
-	for {set i 0} {$i<$PgAcVar(mw,$wn,nrecs)} {incr i} {
-		$wn.c create line [expr -$PgAcVar(mw,$wn,leftoffset)] [lindex $PgAcVar(mw,$wn,rowy) [expr $i+1]] [expr $posx-$PgAcVar(mw,$wn,leftoffset)] [lindex $PgAcVar(mw,$wn,rowy) [expr $i+1]] -fill gray -tags [subst {hgrid g$i}]
-	}
-	if {$PgAcVar(mw,$wn,updatable)} {
-		set i $PgAcVar(mw,$wn,nrecs)
-		set posy [expr 14+[lindex $PgAcVar(mw,$wn,rowy) $PgAcVar(mw,$wn,nrecs)]]
-		$wn.c create line [expr -$PgAcVar(mw,$wn,leftoffset)] $posy [expr $posx-$PgAcVar(mw,$wn,leftoffset)] $posy -fill gray -tags [subst {hgrid g$i}]
-	}
-}
-
-
-proc {drawNewRecord} {wn} {
-global PgAcVar
-	set posx [expr 10-$PgAcVar(mw,$wn,leftoffset)]
-	set posy [lindex $PgAcVar(mw,$wn,rowy) $PgAcVar(mw,$wn,last_rownum)]
-	if {$PgAcVar(pref,tvfont)=="helv"} {
-		set tvfont $PgAcVar(pref,font_normal)
-	} else {
-		set tvfont $PgAcVar(pref,font_fix)
-	}
-	if {$PgAcVar(mw,$wn,updatable)} {
-	  for {set j 0} {$j<$PgAcVar(mw,$wn,colcount)} {incr j} {
-		$wn.c create text $posx $posy -text * -tags [subst {r$PgAcVar(mw,$wn,nrecs) c$j q new unt}]  -anchor nw -font $tvfont -width [expr [lindex $PgAcVar(mw,$wn,colwidth) $j]-5]
-		incr posx [expr [lindex $PgAcVar(mw,$wn,colwidth) $j]+2]
-	  }
-	  incr posy 14
-	  $wn.c create line [expr -$PgAcVar(mw,$wn,leftoffset)] $posy [expr $PgAcVar(mw,$wn,r_edge)-$PgAcVar(mw,$wn,leftoffset)] $posy -fill gray -tags [subst {hgrid g$PgAcVar(mw,$wn,nrecs)}]
-	}
-}
-
-
-proc {editMove} { wn {distance 1} {position end} } {
-	global PgAcVar 
-
-	# This routine moves the cursor some relative distance
-	# from one cell being editted to another cell in the table.
-	# Typical distances are 1, +1, $PgAcVar(mw,$wn,colcount), and 
-	# -$PgAcVar(mw,$wn,colcount).  Position is where
-	# the cursor will be placed within the cell.  The valid
-	# positions are 0 and end.
-
-	# get the current row and column
-	set current_cell_id $PgAcVar(mw,$wn,id_edited)
-	set tags [$wn.c gettags $current_cell_id] 
-	regexp {r([0-9]+)} $tags match crow
-	regexp {c([0-9]+)} $tags match ccol
-
-
-	# calculate next row and column
-	set colcount $PgAcVar(mw,$wn,colcount)
-	set ccell [expr ($crow * $colcount) + $ccol]
-	set ncell [expr $ccell + $distance]
-	set nrow [expr $ncell / $colcount]
-	set ncol [expr $ncell % $colcount]
-
-
-	# find the row of the next cell
-	if {$distance < 0} {
-		set row_increment -1
-	} else {
-		set row_increment 1
-	}
-	set id_tuple [$wn.c find withtag r$nrow] 
-	# skip over deleted rows...
-	while {[llength $id_tuple] == 0} {
-		# case above first row of table
-		if {$nrow < 0} {
-			return
-		# case at or beyond last row of table
-		} elseif {$nrow >= $PgAcVar(mw,$wn,nrecs)} {
-			if {![insertNewRecord $wn]} {
-		   set PgAcVar(mw,$wn,errorsavingnew) 1
-			return
-		  }
-		  set id_tuple [$wn.c find withtag r$nrow] 
-		  break
-		}
-	incr nrow $row_increment
-		set id_tuple [$wn.c find withtag r$nrow] 
-	}
-
-	# find the widget id of the next cell
-	set next_cell_id [lindex [lsort -integer $id_tuple] $ncol]
-	if {[string compare $next_cell_id {}] == 0} {
-		set next_cell_id [$wn.c find withtag $current_cell_id]
-	}
-
-	# make sure that the new cell is in the visible window
-	set toprec $PgAcVar(mw,$wn,toprec)
-	set numscreenrecs [getVisibleRecordsCount $wn]
-	if {$nrow < $toprec} {
-	   # case nrow above visable window
-	   scrollWindow $wn moveto \
-		[expr $nrow *[recordSizeInScrollbarUnits $wn]]
-	} elseif {$nrow > ($toprec + $numscreenrecs - 1)} {
-	   # case nrow below visable window
-		scrollWindow $wn moveto \
-		[expr ($nrow - $numscreenrecs + 2) * [recordSizeInScrollbarUnits $wn]]
-	}
-	# I need to find a better way to pan -kk
-	foreach {x1 y1 x2 y2}  [$wn.c bbox $next_cell_id] {break}
-	while {$x1 <= $PgAcVar(mw,$wn,leftoffset)} {
-		panRight $wn
-		foreach {x1 y1 x2 y2}  [$wn.c bbox $next_cell_id] {break}
-	}
-	set rightedge [expr $x1 + [lindex $PgAcVar(mw,$wn,colwidth) $ncol]]
-	while {$rightedge > ($PgAcVar(mw,$wn,leftoffset) + [winfo width $wn.c])} {
-		panLeft $wn
-	}
-
-	# move to the next cell
-	foreach {x1 y1 x2 y2}  [$wn.c bbox $next_cell_id] {break}
-	switch -exact -- $position {
-		0 {
-			canvasClick $wn [incr x1  ] [incr y1 ]
-	}
-	end -
-		default {
-			canvasClick $wn [incr x2  -1] [incr y2 -1]
-	}
-	}
-}
-
-
-proc {editText} {wn c k} {
-global PgAcVar
-set bbin [$wn.c bbox r$PgAcVar(mw,$wn,row_edited)]
-switch $k {
-	BackSpace { set dp [expr [$wn.c index $PgAcVar(mw,$wn,id_edited) insert]-1];if {$dp>=0} {$wn.c dchars $PgAcVar(mw,$wn,id_edited) $dp $dp; set PgAcVar(mw,$wn,dirtyrec) 1}}
-	Home {$wn.c icursor $PgAcVar(mw,$wn,id_edited) 0}
-	End {$wn.c icursor $PgAcVar(mw,$wn,id_edited) end}
-		Left {
-			set position [expr [$wn.c index $PgAcVar(mw,$wn,id_edited) insert]-1]
-			if {$position < 0} {
-		editMove $wn -1 end
-		return
-			}
-			$wn.c icursor $PgAcVar(mw,$wn,id_edited) $position
-		}
-	Delete {}
-		Right {
-			set position [expr [$wn.c index $PgAcVar(mw,$wn,id_edited) insert]+1]
-			if {$position > [$wn.c index $PgAcVar(mw,$wn,id_edited) end] } {
-		editMove $wn 1 0
-		return
-			}
-			$wn.c icursor $PgAcVar(mw,$wn,id_edited) $position
-		}
-		Return -
-		Tab {editMove $wn; return}
-		ISO_Left_Tab {editMove $wn -1; return}
-		Up  {editMove $wn -$PgAcVar(mw,$wn,colcount); return }
-		Down  {editMove $wn $PgAcVar(mw,$wn,colcount); return }
-	Escape {set PgAcVar(mw,$wn,dirtyrec) 0; $wn.c itemconfigure $PgAcVar(mw,$wn,id_edited) -text $PgAcVar(mw,$wn,text_initial_value); $wn.c focus {}}
-	default {if {[string compare $c " "]>-1} {$wn.c insert $PgAcVar(mw,$wn,id_edited) insert $c;set PgAcVar(mw,$wn,dirtyrec) 1}}
-}
-set bbout [$wn.c bbox r$PgAcVar(mw,$wn,row_edited)]
-set dy [expr [lindex $bbout 3]-[lindex $bbin 3]]
-if {$dy==0} return
-set re $PgAcVar(mw,$wn,row_edited)
-$wn.c move g$re 0 $dy
-for {set i [expr 1+$re]} {$i<=$PgAcVar(mw,$wn,nrecs)} {incr i} {
-	$wn.c move r$i 0 $dy
-	$wn.c move g$i 0 $dy
-	set rh [lindex $PgAcVar(mw,$wn,rowy) $i]
-	incr rh $dy
-	set PgAcVar(mw,$wn,rowy) [lreplace $PgAcVar(mw,$wn,rowy) $i $i $rh]
-}
-showRecord $wn $PgAcVar(mw,$wn,row_edited)
-# Delete is trapped by window interpreted as record delete
-#    Delete {$wn.c dchars $PgAcVar(mw,$wn,id_edited) insert insert; set PgAcVar(mw,$wn,dirtyrec) 1}
-}
-
-
-proc {finishEdit} {wn} {
-global PgAcVar CurrentDB
-# User has edited the text ?
-if {!$PgAcVar(mw,$wn,dirtyrec)} {
-	# No, unfocus text
-	$wn.c focus {}
-	# For restoring * to the new record position
-	if {$PgAcVar(mw,$wn,id_edited)!=""} {
-		if {[lsearch [$wn.c gettags $PgAcVar(mw,$wn,id_edited)] new]!=-1} {
-			$wn.c itemconfigure $PgAcVar(mw,$wn,id_edited) -text $PgAcVar(mw,$wn,text_initial_value)
-		}
-	}
-	set PgAcVar(mw,$wn,id_edited) {};set PgAcVar(mw,$wn,text_initial_value) {}
-	return 1
-}
-# Trimming the spaces
-set fldval [string trim [$wn.c itemcget $PgAcVar(mw,$wn,id_edited) -text]]
-$wn.c itemconfigure $PgAcVar(mw,$wn,id_edited) -text $fldval
-if {[string compare $PgAcVar(mw,$wn,text_initial_value) $fldval]==0} {
-	set PgAcVar(mw,$wn,dirtyrec) 0
-	$wn.c focus {}
-	set PgAcVar(mw,$wn,id_edited) {};set PgAcVar(mw,$wn,text_initial_value) {}
-	return 1
-}
-setCursor CLOCK
-set oid [lindex $PgAcVar(mw,$wn,keylist) $PgAcVar(mw,$wn,row_edited)]
-set fld [lindex $PgAcVar(mw,$wn,colnames) [get_tag_info $wn $PgAcVar(mw,$wn,id_edited) c]]
-set fillcolor black
-if {$PgAcVar(mw,$wn,row_edited)==$PgAcVar(mw,$wn,last_rownum)} {
-	set fillcolor red
-	set sfp [lsearch $PgAcVar(mw,$wn,newrec_fields) "\"$fld\""]
-	if {$sfp>-1} {
-		set PgAcVar(mw,$wn,newrec_fields) [lreplace $PgAcVar(mw,$wn,newrec_fields) $sfp $sfp]
-		set PgAcVar(mw,$wn,newrec_values) [lreplace $PgAcVar(mw,$wn,newrec_values) $sfp $sfp]
-	}			
-	lappend PgAcVar(mw,$wn,newrec_fields) "\"$fld\""
-	lappend PgAcVar(mw,$wn,newrec_values) '$fldval'
-	# Remove the untouched tag from the object
-	$wn.c dtag $PgAcVar(mw,$wn,id_edited) unt
-		$wn.c itemconfigure $PgAcVar(mw,$wn,id_edited) -fill red
-	set retval 1
-} else {
-	set PgAcVar(mw,$wn,msg) "Updating record ..."
-	after 1000 "set PgAcVar(mw,$wn,msg) {}"
-	regsub -all ' $fldval  \\' sqlfldval
-
-#FIXME rjr 4/29/1999 special case null so it can be entered into tables
-#really need to write a tcl sqlquote proc which quotes the string only
-#if necessary, so it can be used all over pgaccess, instead of explicit 's
-
-	if {$sqlfldval == "null"} {
-		set retval [sql_exec noquiet "update \"$PgAcVar(mw,$wn,tablename)\" \
-		set \"$fld\"= null where oid=$oid"]
-	} else {
-		set retval [sql_exec noquiet "update \"$PgAcVar(mw,$wn,tablename)\" \
-		set \"$fld\"='$sqlfldval' where oid=$oid"]
-	}
-}
-setCursor DEFAULT
-if {!$retval} {
-	set PgAcVar(mw,$wn,msg) ""
-	focus $wn.c
-	return 0
-}
-set PgAcVar(mw,$wn,dirtyrec) 0
-$wn.c focus {}
-set PgAcVar(mw,$wn,id_edited) {};set PgAcVar(mw,$wn,text_initial_value) {}
-return 1
-}
-
-proc {loadLayout} {wn layoutname} {
-global PgAcVar CurrentDB
-	setCursor CLOCK
-	set PgAcVar(mw,$wn,layout_name) $layoutname
-	catch {unset PgAcVar(mw,$wn,colcount) PgAcVar(mw,$wn,colnames) PgAcVar(mw,$wn,colwidth)}
-	set PgAcVar(mw,$wn,layout_found) 0
-	set pgres [wpg_exec $CurrentDB "select *,oid from pga_layout where tablename='$layoutname' order by oid desc"]
-	set pgs [pg_result $pgres -status]
-	if {$pgs!="PGRES_TUPLES_OK"} {
-		# Probably table pga_layout isn't yet defined
-		sql_exec noquiet "create table pga_layout (tablename varchar(64),nrcols int2,colnames text,colwidth text)"
-		sql_exec quiet "grant ALL on pga_layout to PUBLIC"
-	} else {
-		set nrlay [pg_result $pgres -numTuples]
-		if {$nrlay>=1} {
-			set layoutinfo [pg_result $pgres -getTuple 0]
-			set PgAcVar(mw,$wn,colcount) [lindex $layoutinfo 1]
-			set PgAcVar(mw,$wn,colnames)  [lindex $layoutinfo 2]
-			set PgAcVar(mw,$wn,colwidth) [lindex $layoutinfo 3]
-			set goodoid [lindex $layoutinfo 4]
-			set PgAcVar(mw,$wn,layout_found) 1
-		}
-		if {$nrlay>1} {
-			showError "Multiple ($nrlay) layout info found\n\nPlease report the bug!"
-			sql_exec quiet "delete from pga_layout where (tablename='$PgAcVar(mw,$wn,tablename)') and (oid<>$goodoid)"
-		}
-	}
-	pg_result $pgres -clear
-}
-
-
-proc {panLeft} {wn } {
-global PgAcVar
-	if {![finishEdit $wn]} return;
-	if {$PgAcVar(mw,$wn,leftcol)==[expr $PgAcVar(mw,$wn,colcount)-1]} return;
-	set diff [expr 2+[lindex $PgAcVar(mw,$wn,colwidth) $PgAcVar(mw,$wn,leftcol)]]
-	incr PgAcVar(mw,$wn,leftcol)
-	incr PgAcVar(mw,$wn,leftoffset) $diff
-	$wn.c move header -$diff 0
-	$wn.c move q -$diff 0
-	$wn.c move hgrid -$diff 0
-}
-
-
-proc {panRight} {wn} {
-global PgAcVar
-	if {![finishEdit $wn]} return;
-	if {$PgAcVar(mw,$wn,leftcol)==0} return;
-	incr PgAcVar(mw,$wn,leftcol) -1
-	set diff [expr 2+[lindex $PgAcVar(mw,$wn,colwidth) $PgAcVar(mw,$wn,leftcol)]]
-	incr PgAcVar(mw,$wn,leftoffset) -$diff
-	$wn.c move header $diff 0
-	$wn.c move q $diff 0
-	$wn.c move hgrid $diff 0
-}
-
-
-proc {insertNewRecord} {wn} {
-global PgAcVar CurrentDB
-	if {![finishEdit $wn]} {return 0}
-	if {$PgAcVar(mw,$wn,newrec_fields)==""} {return 1}
-	set PgAcVar(mw,$wn,msg) "Saving new record ..."
-	after 1000 "set PgAcVar(mw,$wn,msg) {}"
-	set pgres [wpg_exec $CurrentDB "insert into \"$PgAcVar(mw,$wn,tablename)\" ([join $PgAcVar(mw,$wn,newrec_fields) ,]) values ([join $PgAcVar(mw,$wn,newrec_values) ,])" ]
-	if {[pg_result $pgres -status]!="PGRES_COMMAND_OK"} {
-		set errmsg [pg_result $pgres -error]
-		showError "[intlmsg {Error inserting new record}]\n\n$errmsg"
-		return 0
-	}
-	set oid [pg_result $pgres -oid]
-	lappend PgAcVar(mw,$wn,keylist) $oid
-	pg_result $pgres -clear
-	# Get bounds of the last record
-	set lrbb [$wn.c bbox new]
-	lappend PgAcVar(mw,$wn,rowy) [lindex $lrbb 3]
-	$wn.c itemconfigure new -fill black
-	$wn.c dtag q new
-	# Replace * from untouched new row elements with "  "
-	foreach item [$wn.c find withtag unt] {
-		$wn.c itemconfigure $item -text "  "
-	}
-	$wn.c dtag q unt
-	incr PgAcVar(mw,$wn,last_rownum)
-	incr PgAcVar(mw,$wn,nrecs)
-	drawNewRecord $wn
-	set PgAcVar(mw,$wn,newrec_fields) {}
-	set PgAcVar(mw,$wn,newrec_values) {}
-	return 1
-}
-
-
-proc {scrollWindow} {wn par1 args} {
-global PgAcVar
-	if {![finishEdit $wn]} return;
-	if {$par1=="scroll"} {
-		set newtop $PgAcVar(mw,$wn,toprec)
-		if {[lindex $args 1]=="units"} {
-			incr newtop [lindex $args 0]
-		} else {
-			incr newtop [expr [lindex $args 0]*25]
-			if {$newtop<0} {set newtop 0}
-			if {$newtop>=[expr $PgAcVar(mw,$wn,nrecs)-1]} {set newtop [expr $PgAcVar(mw,$wn,nrecs)-1]}
-		}
-	} elseif {$par1=="moveto"} {
-		set newtop [expr int([lindex $args 0]*$PgAcVar(mw,$wn,nrecs))]
-	} else {
-		return
-	}
-	if {$newtop<0} return;
-	if {$newtop>=[expr $PgAcVar(mw,$wn,nrecs)-1]} return;
-	set dy [expr [lindex $PgAcVar(mw,$wn,rowy) $PgAcVar(mw,$wn,toprec)]-[lindex $PgAcVar(mw,$wn,rowy) $newtop]]
-	$wn.c move q 0 $dy
-	$wn.c move hgrid 0 $dy
-	set newrowy {}
-	foreach y $PgAcVar(mw,$wn,rowy) {lappend newrowy [expr $y+$dy]}
-	set PgAcVar(mw,$wn,rowy) $newrowy
-	set PgAcVar(mw,$wn,toprec) $newtop
-	setScrollbar $wn
-}
-
-
-proc {initVariables} {wn} {
-global PgAcVar
-	set PgAcVar(mw,$wn,newrec_fields) {}
-	set PgAcVar(mw,$wn,newrec_values) {}
-}
-
-proc {selectRecords} {wn sql} {
-global PgAcVar CurrentDB
-if {![finishEdit $wn]} return;
-initVariables $wn
-$wn.c delete q
-$wn.c delete header
-$wn.c delete hgrid
-$wn.c delete new
-set PgAcVar(mw,$wn,leftcol) 0
-set PgAcVar(mw,$wn,leftoffset) 0
-set PgAcVar(mw,$wn,crtrow) {}
-set PgAcVar(mw,$wn,msg) [intlmsg "Accessing data. Please wait ..."]
-catch {$wn.f1.b1 configure -state disabled}
-setCursor CLOCK
-set is_error 1
-if {[sql_exec noquiet "BEGIN"]} {
-	if {[sql_exec noquiet "declare mycursor cursor for $sql"]} {
-		set pgres [wpg_exec $CurrentDB "fetch $PgAcVar(pref,rows) in mycursor"]
-		if {$PgAcVar(pgsql,status)=="PGRES_TUPLES_OK"} {
-			set is_error 0
-		}
-	}
-}
-if {$is_error} {
-	sql_exec quiet "END"
-	set PgAcVar(mw,$wn,msg) {}
-	catch {$wn.f1.b1 configure -state normal}
-	setCursor DEFAULT
-	set PgAcVar(mw,$wn,msg) "Error executing : $sql"
-	return
-}
-if {$PgAcVar(mw,$wn,updatable)} then {set shift 1} else {set shift 0}
-#
-# checking at least the numer of fields
-set attrlist [pg_result $pgres -lAttributes]
-if {$PgAcVar(mw,$wn,layout_found)} then {
-	if {  ($PgAcVar(mw,$wn,colcount) != [expr [llength $attrlist]-$shift]) ||
-		  ($PgAcVar(mw,$wn,colcount) != [llength $PgAcVar(mw,$wn,colnames)]) ||
-		  ($PgAcVar(mw,$wn,colcount) != [llength $PgAcVar(mw,$wn,colwidth)]) } then {
-		# No. of columns don't match, something is wrong
-		# tk_messageBox -title [intlmsg Information] -message "Layout info changed !\nRescanning..."
-		set PgAcVar(mw,$wn,layout_found) 0
-		sql_exec quiet "delete from pga_layout where tablename='$PgAcVar(mw,$wn,layout_name)'"
-	}
-}
-# Always take the col. names from the result
-set PgAcVar(mw,$wn,colcount) [llength $attrlist]
-if {$PgAcVar(mw,$wn,updatable)} then {incr PgAcVar(mw,$wn,colcount) -1}
-set PgAcVar(mw,$wn,colnames) {}
-# In defPgAcVar(mw,$wn,colwidth) prepare PgAcVar(mw,$wn,colwidth) (in case that not layout_found)
-set defPgAcVar(mw,$wn,colwidth) {}
-for {set i 0} {$i<$PgAcVar(mw,$wn,colcount)} {incr i} {
-	lappend PgAcVar(mw,$wn,colnames) [lindex [lindex $attrlist [expr {$i+$shift}]] 0]
-	lappend defPgAcVar(mw,$wn,colwidth) 150
-}
-if {!$PgAcVar(mw,$wn,layout_found)} {
-	set PgAcVar(mw,$wn,colwidth) $defPgAcVar(mw,$wn,colwidth)
-	sql_exec quiet "insert into pga_layout values ('$PgAcVar(mw,$wn,layout_name)',$PgAcVar(mw,$wn,colcount),'$PgAcVar(mw,$wn,colnames)','$PgAcVar(mw,$wn,colwidth)')"
-	set PgAcVar(mw,$wn,layout_found) 1
-}
-set PgAcVar(mw,$wn,nrecs) [pg_result $pgres -numTuples]
-if {$PgAcVar(mw,$wn,nrecs)>$PgAcVar(pref,rows)} {
-	set PgAcVar(mw,$wn,msg) "Only first $PgAcVar(pref,rows) records from $PgAcVar(mw,$wn,nrecs) have been loaded"
-	set PgAcVar(mw,$wn,nrecs) $PgAcVar(pref,rows)
-}
-set tagoid {}
-if {$PgAcVar(pref,tvfont)=="helv"} {
-	set tvfont $PgAcVar(pref,font_normal)
-} else {
-	set tvfont $PgAcVar(pref,font_fix)
-}
-# Computing column's left edge
-set posx 10
-for {set j 0} {$j<$PgAcVar(mw,$wn,colcount)} {incr j} {
-	set ledge($j) $posx
-	incr posx [expr {[lindex $PgAcVar(mw,$wn,colwidth) $j]+2}]
-	set textwidth($j) [expr {[lindex $PgAcVar(mw,$wn,colwidth) $j]-5}]
-}
-incr posx -6
-set posy 24
-drawHeaders $wn
-set PgAcVar(mw,$wn,updatekey) oid
-set PgAcVar(mw,$wn,keylist) {}
-set PgAcVar(mw,$wn,rowy) {24}
-set PgAcVar(mw,$wn,msg) "Loading maximum $PgAcVar(pref,rows) records ..."
-set wupdatable $PgAcVar(mw,$wn,updatable)
-for {set i 0} {$i<$PgAcVar(mw,$wn,nrecs)} {incr i} {
-	set curtup [pg_result $pgres -getTuple $i]
-	if {$wupdatable} then {lappend PgAcVar(mw,$wn,keylist) [lindex $curtup 0]}
-	for {set j 0} {$j<$PgAcVar(mw,$wn,colcount)} {incr j} {
-		$wn.c create text $ledge($j) $posy -text [lindex $curtup [expr {$j+$shift}]] -tags [subst {r$i c$j q}] -anchor nw -font $tvfont -width $textwidth($j) -fill black
-	}
-	set bb [$wn.c bbox r$i]
-	incr posy [expr {[lindex $bb 3]-[lindex $bb 1]}]
-	lappend PgAcVar(mw,$wn,rowy) $posy
-	$wn.c create line 0 [lindex $bb 3] $posx [lindex $bb 3] -fill gray -tags [subst {hgrid g$i}]
-	if {$i==25} {update; update idletasks}
-}
-after 3000 "set PgAcVar(mw,$wn,msg) {}"
-set PgAcVar(mw,$wn,last_rownum) $i
-# Defining position for input data
-drawNewRecord $wn
-pg_result $pgres -clear
-sql_exec quiet "END"
-set PgAcVar(mw,$wn,toprec) 0
-setScrollbar $wn
-if {$PgAcVar(mw,$wn,updatable)} then {
-	$wn.c bind q <Key> "Tables::editText $wn %A %K"
-} else {
-	$wn.c bind q <Key> {}
-}
-set PgAcVar(mw,$wn,dirtyrec) 0
-$wn.c raise header
-catch {$wn.f1.b1 configure -state normal}
-setCursor DEFAULT
-}
-
-
-proc recordSizeInScrollbarUnits {wn} {
-	# record size in scrollbar units
-	global PgAcVar
-	return [expr 1.0/$PgAcVar(mw,$wn,nrecs)]
-}
-
-
-proc getVisibleRecordsCount {wn} {
-	# number of records that fit in the window at its current size
-	expr [winfo height $wn.c]/14
-}
-
-
-proc {setScrollbar} {wn} {
-global PgAcVar
-	if {$PgAcVar(mw,$wn,nrecs)==0} return;
-	# Fixes problem of window resizing messing up the scrollbar size.
-	set record_size [recordSizeInScrollbarUnits $wn];
-	$wn.sb set [expr $PgAcVar(mw,$wn,toprec)*$record_size] \
-	[expr ($PgAcVar(mw,$wn,toprec)+[getVisibleRecordsCount $wn])*$record_size]
-}
-
-
-proc {refreshRecords} {wn} {
-global PgAcVar
-	set nq $PgAcVar(mw,$wn,query)
-	if {($PgAcVar(mw,$wn,isaquery)) && ("$PgAcVar(mw,$wn,filter)$PgAcVar(mw,$wn,sortfield)"!="")} {
-		showError [intlmsg "Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!"]
-		set PgAcVar(mw,$wn,sortfield) {}
-		set PgAcVar(mw,$wn,filter) {}
-	} else {
-		if {$PgAcVar(mw,$wn,filter)!=""} {
-			set nq "$PgAcVar(mw,$wn,query) where ($PgAcVar(mw,$wn,filter))"
-		} else {
-			set nq $PgAcVar(mw,$wn,query)
-		}
-		if {$PgAcVar(mw,$wn,sortfield)!=""} {
-			set nq "$nq order by $PgAcVar(mw,$wn,sortfield)"
-		}
-	}
-	if {[insertNewRecord $wn]} {selectRecords $wn $nq}
-}
-
-
-proc {showRecord} {wn row} {
-global PgAcVar
-	set PgAcVar(mw,$wn,errorsavingnew) 0
-	if {$PgAcVar(mw,$wn,newrec_fields)!=""} {
-		if {$row!=$PgAcVar(mw,$wn,last_rownum)} {
-			if {![insertNewRecord $wn]} {
-		set PgAcVar(mw,$wn,errorsavingnew) 1
-		return
-			}
-		}
-	}
-	set y1 [lindex $PgAcVar(mw,$wn,rowy) $row]
-	set y2 [lindex $PgAcVar(mw,$wn,rowy) [expr $row+1]]
-	if {$y2==""} {set y2 [expr $y1+14]}
-	$wn.c dtag hili hili
-	$wn.c addtag hili withtag r$row
-	# Making a rectangle arround the record
-	set x 3
-	foreach wi $PgAcVar(mw,$wn,colwidth) {incr x [expr $wi+2]}
-	$wn.c delete crtrec
-	$wn.c create rectangle [expr -1-$PgAcVar(mw,$wn,leftoffset)] $y1 [expr $x-$PgAcVar(mw,$wn,leftoffset)] $y2 -fill #EEEEEE -outline {} -tags {q crtrec}
-	$wn.c lower crtrec
-}
-
-
-proc {startEdit} {wn id x y} {
-global PgAcVar
-	if {!$PgAcVar(mw,$wn,updatable)} return
-	set PgAcVar(mw,$wn,id_edited) $id
-	set PgAcVar(mw,$wn,dirtyrec) 0
-	set PgAcVar(mw,$wn,text_initial_value) [$wn.c itemcget $id -text]
-	focus $wn.c
-	$wn.c focus $id
-	$wn.c icursor $id @$x,$y
-	if {$PgAcVar(mw,$wn,row_edited)==$PgAcVar(mw,$wn,nrecs)} {
-		if {[$wn.c itemcget $id -text]=="*"} {
-			$wn.c itemconfigure $id -text ""
-			$wn.c icursor $id 0
-		}
-	}
-}
-
-
-proc {canvasPaste} {wn x y} {
-global PgAcVar
-	$wn.c insert $PgAcVar(mw,$wn,id_edited) insert [selection get]
-	set PgAcVar(mw,$wn,dirtyrec) 1
-}
-
-proc {getNewWindowName} {} {
-global PgAcVar
-	incr PgAcVar(mwcount)
-	return .pgaw:$PgAcVar(mwcount)
-}
-
-
-
-proc {createWindow} {{base ""}} {
-global PgAcVar
-	if {$base == ""} {
-		set base .pgaw:$PgAcVar(mwcount)
-		set included 0
-	} else {
-		set included 1
-	}
-	set wn $base
-	set PgAcVar(mw,$wn,dirtyrec) 0
-	set PgAcVar(mw,$wn,id_edited) {}
-	set PgAcVar(mw,$wn,filter) {}
-	set PgAcVar(mw,$wn,sortfield) {}
-	if {! $included} {
-		if {[winfo exists $base]} {
-			wm deiconify $base; return
-		}
-		toplevel $base -class Toplevel
-		wm focusmodel $base passive
-		wm geometry $base 650x400
-		wm maxsize $base 1280 1024
-		wm minsize $base 650 400
-		wm overrideredirect $base 0
-		wm resizable $base 1 1
-		wm deiconify $base
-		wm title $base [intlmsg "Table"]
-	}
-	bind $base <Key-Delete> "Tables::deleteRecord $wn"
-	bind $base <Key-F1> "Help::load tables"
-	if {! $included} {
-		frame $base.f1  -borderwidth 2 -height 75 -relief groove -width 125 
-		label $base.f1.l1  -borderwidth 0 -text [intlmsg {Sort field}]
-		entry $base.f1.e1  -background #fefefe -borderwidth 1 -width 14  -highlightthickness 1 -textvariable PgAcVar(mw,$wn,sortfield)
-		bind $base.f1.e1 <Key-Return> "Tables::refreshRecords $wn"	
-		bind $base.f1.e1 <Key-KP_Enter> "Tables::refreshRecords $wn"	
-		label $base.f1.lb1  -borderwidth 0 -text {     } 
-		label $base.f1.l2  -borderwidth 0 -text [intlmsg {Filter conditions}]
-		entry $base.f1.e2  -background #fefefe -borderwidth 1  -highlightthickness 1 -textvariable PgAcVar(mw,$wn,filter)
-		bind $base.f1.e2 <Key-Return> "Tables::refreshRecords $wn"	
-		bind $base.f1.e2 <Key-KP_Enter> "Tables::refreshRecords $wn"	
-		button $base.f1.b1  -borderwidth 1 -text [intlmsg Close] -command "
-		if {\[Tables::insertNewRecord $wn\]} {
-			$wn.c delete rows
-			$wn.c delete header
-			Window destroy $wn
-			PgAcVar:clean mw,$wn,*
-		}"
-		button $base.f1.b2  -borderwidth 1 -text [intlmsg Reload] -command "Tables::refreshRecords $wn"
-	}
-	frame $base.frame20  -borderwidth 2 -height 75 -relief groove -width 125 
-	button $base.frame20.01  -borderwidth 1 -text < -command "Tables::panRight $wn"
-	label $base.frame20.02  -anchor w -borderwidth 1 -height 1  -relief sunken -text {} -textvariable PgAcVar(mw,$wn,msg) 
-	button $base.frame20.03  -borderwidth 1 -text > -command "Tables::panLeft $wn"
-	canvas $base.c  -background #fefefe -borderwidth 2 -height 207 -highlightthickness 0  -relief ridge -selectborderwidth 0 -takefocus 1 -width 295 
-	scrollbar $base.sb  -borderwidth 1 -orient vert -width 12  -command "Tables::scrollWindow $wn"
-	bind $base.c <Button-1> "Tables::canvasClick $wn %x %y"
-	bind $base.c <Button-2> "Tables::canvasPaste $wn %x %y"
-	bind $base.c <Button-3> "if {[Tables::finishEdit $wn]} \"Tables::insertNewRecord $wn\""
-
-	# Prevent Tab from moving focus out of canvas widget
-	bind $base.c <Tab> break
-
-	if {! $included} {
-		pack $base.f1  -in $wn -anchor center -expand 0 -fill x -side top 
-		pack $base.f1.l1  -in $wn.f1 -anchor center -expand 0 -fill none -side left 
-		pack $base.f1.e1  -in $wn.f1 -anchor center -expand 0 -fill none -side left 
-		pack $base.f1.lb1  -in $wn.f1 -anchor center -expand 0 -fill none -side left 
-		pack $base.f1.l2  -in $wn.f1 -anchor center -expand 0 -fill none -side left 
-		pack $base.f1.e2  -in $wn.f1 -anchor center -expand 0 -fill none -side left 
-		pack $base.f1.b1  -in $wn.f1 -anchor center -expand 0 -fill none -side right 
-		pack $base.f1.b2  -in $wn.f1 -anchor center -expand 0 -fill none -side right 
-	}
-	pack $base.frame20  -in $wn -anchor s -expand 0 -fill x -side bottom 
-	pack $base.frame20.01  -in $wn.frame20 -anchor center -expand 0 -fill none -side left 
-	pack $base.frame20.02  -in $wn.frame20 -anchor center -expand 1 -fill x -side left 
-	pack $base.frame20.03  -in $wn.frame20 -anchor center -expand 0 -fill none -side right 
-	pack $base.c -in $wn -anchor w -expand 1 -fill both -side left 
-	pack $base.sb -in $wn -anchor e -expand 0 -fill y -side right
-}
-
-
-proc {renameColumn} {} {
-global PgAcVar CurrentDB
-	if {[string length [string trim $PgAcVar(tblinfo,new_cn)]]==0} {
-		showError [intlmsg "Field name not entered!"]
-		return
-	}
-	set old_name [string trim [string range $PgAcVar(tblinfo,old_cn) 0 31]]
-	set PgAcVar(tblinfo,new_cn) [string trim $PgAcVar(tblinfo,new_cn)]
-	if {$old_name == $PgAcVar(tblinfo,new_cn)} {
-		showError [intlmsg "New name is the same as the old one!"]
-		return
-	}
-	foreach line [.pgaw:TableInfo.f1.lb get 0 end] {
-		if {[string trim [string range $line 0 31]]==$PgAcVar(tblinfo,new_cn)} {
-			showError [format [intlmsg {Column name '%s' already exists in this table!}] $PgAcVar(tblinfo,new_cn)]
-			return
-		}
-	}
-	if {[sql_exec noquiet "alter table \"$PgAcVar(tblinfo,tablename)\" rename column \"$old_name\" to \"$PgAcVar(tblinfo,new_cn)\""]} {
-		Schema::clm_rename $PgAcVar(tblinfo,tablename) $old_name $PgAcVar(tblinfo,new_cn)
-		refreshTableInformation
-		Window destroy .pgaw:RenameField
-	}
-}
-
-
-
-proc {addNewIndex} {} {
-global PgAcVar
-	set iflds [.pgaw:TableInfo.f1.lb curselection]
-	if {$iflds==""} {
-		showError [intlmsg "You have to select index fields!"]
-		return
-	}
-	set ifldslist {}
-	foreach i $iflds {lappend ifldslist "\"[string trim [string range [.pgaw:TableInfo.f1.lb get $i] 0 32]]\""}
-	set PgAcVar(addindex,indexname) $PgAcVar(tblinfo,tablename)_[join $ifldslist _]
-	# Replace the quotes with underlines
-	regsub -all {"} $PgAcVar(addindex,indexname) {_} PgAcVar(addindex,indexname)
-	# Replace the double underlines
-	while {[regsub -all {__} $PgAcVar(addindex,indexname) {_} PgAcVar(addindex,indexname)]} {}
-	# Replace the final underline
-	regsub -all {_$} $PgAcVar(addindex,indexname) {} PgAcVar(addindex,indexname)
-	set PgAcVar(addindex,indexfields) [join $ifldslist ,]
-	Window show .pgaw:AddIndex
-	wm transient .pgaw:AddIndex .pgaw:TableInfo
-}
-
-proc {deleteIndex} {} {
-global PgAcVar
-	set sel [.pgaw:TableInfo.f2.fl.ilb curselection]
-	if {$sel == ""} {
-		showError [intlmsg "You have to select an index!"]
-		return
-	}
-	if {[tk_messageBox -title [intlmsg Warning] -parent .pgaw:TableInfo -message [format [intlmsg "You choose to delete index\n\n %s \n\nProceed?"] [.pgaw:TableInfo.f2.fl.ilb get $sel]] -type yesno -default no]=="no"} {return}
-	if {[sql_exec noquiet "drop index \"[.pgaw:TableInfo.f2.fl.ilb get $sel]\""]} {
-		refreshTableInformation
-	}
-}
-
-proc {createNewIndex} {} {
-global PgAcVar
-	if {$PgAcVar(addindex,indexname)==""} {
-		showError [intlmsg "Index name cannot be null!"]
-		return
-	}
-	setCursor CLOCK
-	if {[sql_exec noquiet "CREATE $PgAcVar(addindex,unique) INDEX \"$PgAcVar(addindex,indexname)\" on \"$PgAcVar(tblinfo,tablename)\" ($PgAcVar(addindex,indexfields))"]} {
-		setCursor DEFAULT
-		Window destroy .pgaw:AddIndex
-		refreshTableInformation
-	}
-	setCursor DEFAULT
-}
-
-
-proc {showIndexInformation} {} {
-global PgAcVar CurrentDB
-set cs [.pgaw:TableInfo.f2.fl.ilb curselection]
-if {$cs==""} return
-set idxname [.pgaw:TableInfo.f2.fl.ilb get $cs]
-wpg_select $CurrentDB "select pg_index.*,pg_class.oid from pg_index,pg_class where pg_class.relname='$idxname' and pg_class.oid=pg_index.indexrelid" rec {
-	if {$rec(indisunique)=="t"} {
-		set PgAcVar(tblinfo,isunique) [intlmsg Yes]
-	} else {
-		set PgAcVar(tblinfo,isunique) [intlmsg No]
-	}
-	if {$rec(indisclustered)=="t"} {
-		set PgAcVar(tblinfo,isclustered) [intlmsg Yes]
-	} else {
-		set PgAcVar(tblinfo,isclustered) [intlmsg No]
-	}
-	set PgAcVar(tblinfo,indexfields) {}
-	.pgaw:TableInfo.f2.fr.lb delete 0 end
-	foreach field $rec(indkey) {
-		if {$field!=0} {
-#            wpg_select $CurrentDB "select attname from pg_attribute where attrelid=$PgAcVar(tblinfo,tableoid) and attnum=$field" rec1 {
-#                set PgAcVar(tblinfo,indexfields) "$PgAcVar(tblinfo,indexfields) $rec1(attname)"
-#            }
-		set PgAcVar(tblinfo,indexfields) "$PgAcVar(tblinfo,indexfields) $PgAcVar(tblinfo,f$field)"
-		.pgaw:TableInfo.f2.fr.lb insert end $PgAcVar(tblinfo,f$field)
-		}
-
-	}
-}
-set PgAcVar(tblinfo,indexfields) [string trim $PgAcVar(tblinfo,indexfields)]
-}
-
-
-proc {addNewColumn} {} {
-global PgAcVar
-	if {$PgAcVar(addfield,name)==""} {
-		showError [intlmsg "Empty field name ?"]
-		focus .pgaw:AddField.e1
-		return
-	}		
-	if {$PgAcVar(addfield,type)==""} {
-		showError [intlmsg "No field type ?"]
-		focus .pgaw:AddField.e2
-		return
-	}
-	if {![sql_exec quiet "alter table \"$PgAcVar(tblinfo,tablename)\" add column \"$PgAcVar(addfield,name)\" $PgAcVar(addfield,type)"]} {
-		showError "[intlmsg {Cannot add column}]\n\n$PgAcVar(pgsql,errmsg)"
-		return
-	}
-	Window destroy .pgaw:AddField
-	sql_exec quiet "update pga_layout set colnames=colnames || ' {$PgAcVar(addfield,name)}', colwidth=colwidth || ' 150',nrcols=nrcols+1 where tablename='$PgAcVar(tblinfo,tablename)'"
-	refreshTableInformation
-}
-
-
-proc {newtable:add_new_field} {} {
-global PgAcVar
-if {$PgAcVar(nt,fieldname)==""} {
-	showError [intlmsg "Enter a field name"]
-	focus .pgaw:NewTable.e2
-	return
-}
-if {$PgAcVar(nt,fldtype)==""} {
-	showError [intlmsg "The field type is not specified!"]
-	return
-}
-if {($PgAcVar(nt,fldtype)=="varchar")&&($PgAcVar(nt,fldsize)=="")} {
-	focus .pgaw:NewTable.e3
-	showError [intlmsg "You must specify field size!"]
-	return
-}
-if {$PgAcVar(nt,fldsize)==""} then {set sup ""} else {set sup "($PgAcVar(nt,fldsize))"}
-if {[regexp $PgAcVar(nt,fldtype) "varchartextdatetime"]} {set supc "'"} else {set supc ""}
-# Don't put the ' arround default value if it contains the now() function
-if {([regexp $PgAcVar(nt,fldtype) "datetime"]) && ([regexp now $PgAcVar(nt,defaultval)])} {set supc ""}
-# Clear the notnull attribute if field type is serial
-if {$PgAcVar(nt,fldtype)=="serial"} {set PgAcVar(nt,notnull) " "}
-if {$PgAcVar(nt,defaultval)==""} then {set sup2 ""} else {set sup2 " DEFAULT $supc$PgAcVar(nt,defaultval)$supc"}
-# Checking for field name collision
-set inspos end
-for {set i 0} {$i<[.pgaw:NewTable.lb size]} {incr i} {
-	set linie [.pgaw:NewTable.lb get $i]
-	if {$PgAcVar(nt,fieldname)==[string trim [string range $linie 2 33]]} {
-		if {[tk_messageBox -title [intlmsg Warning] -parent .pgaw:NewTable -message [format [intlmsg "There is another field with the same name: '%s'!\n\nReplace it ?"] $PgAcVar(nt,fieldname)] -type yesno -default yes]=="no"} return
-		.pgaw:NewTable.lb delete $i
-		set inspos $i
-		break
-	}	 
-  }
-.pgaw:NewTable.lb insert $inspos [format "%1s %-32.32s %-14s%-16s" $PgAcVar(nt,primarykey) $PgAcVar(nt,fieldname) $PgAcVar(nt,fldtype)$sup $sup2$PgAcVar(nt,notnull)]
-focus .pgaw:NewTable.e2
-set PgAcVar(nt,fieldname) {}
-set PgAcVar(nt,fldsize) {}
-set PgAcVar(nt,defaultval) {}
-set PgAcVar(nt,primarykey) " "
-}
-
-proc {newtable:create} {} {
-global PgAcVar CurrentDB
-if {$PgAcVar(nt,tablename)==""} then {
-	showError [intlmsg "You must supply a name for your table!"]
-	focus .pgaw:NewTable.etabn
-	return
-}
-if {([.pgaw:NewTable.lb size]==0) && ($PgAcVar(nt,inherits)=="")} then {
-	showError [intlmsg "Your table has no columns!"]
-	focus .pgaw:NewTable.e2
-	return
-}
-set fl {}
-set pkf {}
-foreach line [.pgaw:NewTable.lb get 0 end] {
-	set fldname "\"[string trim [string range $line 2 33]]\""
-	lappend fl "$fldname [string trim [string range $line 35 end]]"
-	if {[string range $line 0 0]=="*"} {
-		lappend pkf "$fldname"
-	}
-}
-set temp "create table \"$PgAcVar(nt,tablename)\" ([join $fl ,]"
-if {$PgAcVar(nt,constraint)!=""} then {set temp "$temp, constraint \"$PgAcVar(nt,constraint)\""}
-if {$PgAcVar(nt,check)!=""} then {set temp "$temp check ($PgAcVar(nt,check))"}
-if {[llength $pkf]>0} then {set temp "$temp, primary key([join $pkf ,])"}
-set temp "$temp)"
-if {$PgAcVar(nt,inherits)!=""} then {set temp "$temp inherits ($PgAcVar(nt,inherits))"}
-setCursor CLOCK
-if {[sql_exec noquiet $temp]} {
-	Window destroy .pgaw:NewTable
-	Mainlib::cmd_Tables
-}
-setCursor DEFAULT
-}
-
-proc {tabSelect} {i} {
-global PgAcVar
-	set base .pgaw:TableInfo
-	foreach tab {0 1 2 3} {
-		if {$i == $tab} {
-			place $base.l$tab -y 13
-			place $base.f$tab -x 15 -y 45
-			$base.l$tab configure -font $PgAcVar(pref,font_bold)
-		} else {
-			place $base.l$tab -y 15
-			place $base.f$tab -x 15 -y 500
-			$base.l$tab configure -font $PgAcVar(pref,font_normal)
-		}
-	}
-	array set coord [place info $base.l$i]
-	place $base.lline -x [expr {1+$coord(-x)}]
-}
-
-
-}
-
-####################   END OF NAMESPACE TABLES ####################
-
-proc vTclWindow.pgaw:NewTable {base} {
-global PgAcVar
-	if {$base == ""} {
-		set base .pgaw:NewTable
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 634x392+78+181
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Create new table"]
-	bind $base <Key-F1> "Help::load new_table"
-	entry $base.etabn \
-		-background #fefefe -borderwidth 1 -selectborderwidth 0 \
-		-textvariable PgAcVar(nt,tablename) 
-	bind $base.etabn <Key-Return> {
-		focus .pgaw:NewTable.einh
-	}
-	label $base.li \
-		-anchor w -borderwidth 0 -text [intlmsg Inherits]
-	entry $base.einh \
-		-background #fefefe -borderwidth 1 -selectborderwidth 0 \
-		-textvariable PgAcVar(nt,inherits) 
-	bind $base.einh <Key-Return> {
-		focus .pgaw:NewTable.e2
-	}
-	button $base.binh \
-		-borderwidth 1 \
-		-command {if {[winfo exists .pgaw:NewTable.ddf]} {
-	destroy .pgaw:NewTable.ddf
-} else {
-	create_drop_down .pgaw:NewTable 386 23 220
-	focus .pgaw:NewTable.ddf.sb
-	foreach tbl [Database::getTablesList] {.pgaw:NewTable.ddf.lb insert end $tbl}
-	bind .pgaw:NewTable.ddf.lb <ButtonRelease-1> {
-		set i [.pgaw:NewTable.ddf.lb curselection]
-		if {$i!=""} {
-			if {$PgAcVar(nt,inherits)==""} {
-		set PgAcVar(nt,inherits) "\"[.pgaw:NewTable.ddf.lb get $i]\""
-			} else {
-		set PgAcVar(nt,inherits) "$PgAcVar(nt,inherits),\"[.pgaw:NewTable.ddf.lb get $i]\""
-			}
-		}
-		if {$i!=""} {focus .pgaw:NewTable.e2}
-		destroy .pgaw:NewTable.ddf
-		break
-	}
-}} \
-		-highlightthickness 0 -takefocus 0 -image dnarw
-	entry $base.e2 \
-		-background #fefefe -borderwidth 1 -selectborderwidth 0 \
-		-textvariable PgAcVar(nt,fieldname) 
-	bind $base.e2 <Key-Return> {
-		focus .pgaw:NewTable.e1
-	}
-	entry $base.e1 \
-		-background #fefefe -borderwidth 1 -selectborderwidth 0 \
-		-textvariable PgAcVar(nt,fldtype) 
-	bind $base.e1 <Key-Return> {
-		focus .pgaw:NewTable.e5
-	}
-	entry $base.e3 \
-		-background #fefefe -borderwidth 1 -selectborderwidth 0 \
-		-textvariable PgAcVar(nt,fldsize) 
-	bind $base.e3 <Key-Return> {
-		focus .pgaw:NewTable.e5
-	}
-	entry $base.e5 \
-		-background #fefefe -borderwidth 1 -selectborderwidth 0 \
-		-textvariable PgAcVar(nt,defaultval) 
-	bind $base.e5 <Key-Return> {
-		focus .pgaw:NewTable.cb1
-	}
-	checkbutton $base.cb1 \
-		-borderwidth 1 \
-		-offvalue { } -onvalue { NOT NULL} -text [intlmsg {field cannot be null}] \
-		-variable PgAcVar(nt,notnull) 
-	label $base.lab1 \
-		-borderwidth 0 -text [intlmsg type]
-	label $base.lab2 \
-		-borderwidth 0 -anchor w -text [intlmsg {field name}]
-	label $base.lab3 \
-		-borderwidth 0 -text [intlmsg size]
-	label $base.lab4 \
-		-borderwidth 0 -anchor w -text [intlmsg {Default value}]
-	button $base.addfld \
-		-borderwidth 1 -command Tables::newtable:add_new_field \
-		-text [intlmsg {Add field}]
-	button $base.delfld \
-		-borderwidth 1 -command {catch {.pgaw:NewTable.lb delete [.pgaw:NewTable.lb curselection]}} \
-		-text [intlmsg {Delete field}]
-	button $base.emptb \
-		-borderwidth 1 -command {.pgaw:NewTable.lb delete 0 [.pgaw:NewTable.lb size]} \
-		-text [intlmsg {Delete all}]
-	button $base.maketbl \
-		-borderwidth 1 -command Tables::newtable:create \
-		-text [intlmsg Create]
-	listbox $base.lb \
-		-background #fefefe -foreground #000000 -borderwidth 1 \
-		-selectbackground #c3c3c3 -font $PgAcVar(pref,font_fix) \
-		-selectborderwidth 0 -yscrollcommand {.pgaw:NewTable.sb set} 
-	bind $base.lb <ButtonRelease-1> {
-		if {[.pgaw:NewTable.lb curselection]!=""} {
-	set fldname [string trim [lindex [split [.pgaw:NewTable.lb get [.pgaw:NewTable.lb curselection]]] 0]]
-}
-	}
-	button $base.exitbtn \
-		-borderwidth 1 -command {Window destroy .pgaw:NewTable} \
-		-text [intlmsg Cancel]
-	button $base.helpbtn \
-		-borderwidth 1 -command {Help::load new_table} \
-		-text [intlmsg Help]
-	label $base.l1 \
-		-anchor w -borderwidth 1 \
-		-relief raised -text "       [intlmsg {field name}]"
-	label $base.l2 \
-		-borderwidth 1 \
-		-relief raised -text [intlmsg type]
-	label $base.l3 \
-		-borderwidth 1 \
-		-relief raised -text [intlmsg options]
-	scrollbar $base.sb \
-		-borderwidth 1 -command {.pgaw:NewTable.lb yview} -orient vert 
-	label $base.l93 \
-		-anchor w -borderwidth 0 -text [intlmsg {Table name}]
-	button $base.mvup \
-		-borderwidth 1 \
-		-command {if {[.pgaw:NewTable.lb size]>1} {
-	set i [.pgaw:NewTable.lb curselection]
-	if {($i!="")&&($i>0)} {
-		.pgaw:NewTable.lb insert [expr $i-1] [.pgaw:NewTable.lb get $i]
-		.pgaw:NewTable.lb delete [expr $i+1]
-		.pgaw:NewTable.lb selection set [expr $i-1]
-	}
-}} \
-		-text [intlmsg {Move up}]
-	button $base.mvdn \
-		-borderwidth 1 \
-		-command {if {[.pgaw:NewTable.lb size]>1} {
-	set i [.pgaw:NewTable.lb curselection]
-	if {($i!="")&&($i<[expr [.pgaw:NewTable.lb size]-1])} {
-		.pgaw:NewTable.lb insert [expr $i+2] [.pgaw:NewTable.lb get $i]
-		.pgaw:NewTable.lb delete $i
-		.pgaw:NewTable.lb selection set [expr $i+1]
-	}
-}} \
-		-text [intlmsg {Move down}]
-	button $base.button17 \
-		-borderwidth 1 \
-		-command {
-if {[winfo exists .pgaw:NewTable.ddf]} {
-	destroy .pgaw:NewTable.ddf
-} else {
-	create_drop_down .pgaw:NewTable 291 80 97
-	focus .pgaw:NewTable.ddf.sb
-	.pgaw:NewTable.ddf.lb insert end char varchar text int2 int4 serial float4 float8 money abstime date datetime interval reltime time timespan timestamp boolean box circle line lseg path point polygon
-	bind .pgaw:NewTable.ddf.lb <ButtonRelease-1> {
-		set i [.pgaw:NewTable.ddf.lb curselection]
-		if {$i!=""} {set PgAcVar(nt,fldtype) [.pgaw:NewTable.ddf.lb get $i]}
-		destroy .pgaw:NewTable.ddf
-		if {$i!=""} {
-			if {[lsearch {char varchar} $PgAcVar(nt,fldtype)]==-1} {
-		set PgAcVar(nt,fldsize) {}
-		.pgaw:NewTable.e3 configure -state disabled
-		focus .pgaw:NewTable.e5
-			} else {
-		.pgaw:NewTable.e3 configure -state normal
-		focus .pgaw:NewTable.e3
-			}
-		}
-		break
-	}
-}} \
-		-highlightthickness 0 -takefocus 0 -image dnarw 
-	label $base.lco \
-		-borderwidth 0 -anchor w -text [intlmsg Constraint]
-	entry $base.eco \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(nt,constraint) 
-	label $base.lch \
-		-borderwidth 0 -text [intlmsg check]
-	entry $base.ech \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(nt,check) 
-	label $base.ll \
-		-borderwidth 1 \
-		-relief raised 
-	checkbutton $base.pk \
-		-borderwidth 1 \
-		-offvalue { } -onvalue * -text [intlmsg {primary key}] -variable PgAcVar(nt,primarykey) 
-	label $base.lpk \
-		-borderwidth 1 \
-		-relief raised -text K 
-	place $base.etabn \
-		-x 105 -y 5 -width 136 -height 20 -anchor nw -bordermode ignore 
-	place $base.li \
-		-x 245 -y 7 -height 16 -anchor nw -bordermode ignore 
-	place $base.einh \
-		-x 300 -y 5 -width 308 -height 20 -anchor nw -bordermode ignore 
-	place $base.binh \
-		-x 590 -y 7 -width 16 -height 16 -anchor nw -bordermode ignore 
-	place $base.e2 \
-		-x 105 -y 60 -width 136 -height 20 -anchor nw -bordermode ignore 
-	place $base.e1 \
-		-x 291 -y 60 -width 98 -height 20 -anchor nw -bordermode ignore 
-	place $base.e3 \
-		-x 470 -y 60 -width 46 -height 20 -anchor nw -bordermode ignore 
-	place $base.e5 \
-		-x 105 -y 82 -width 136 -height 20 -anchor nw -bordermode ignore 
-	place $base.cb1 \
-		-x 245 -y 83 -height 20 -anchor nw -bordermode ignore 
-	place $base.lab1 \
-		-x 247 -y 62 -height 16 -anchor nw -bordermode ignore 
-	place $base.lab2 \
-		-x 4 -y 62 -height 16 -anchor nw -bordermode ignore 
-	place $base.lab3 \
-		-x 400 -y 62 -height 16 -anchor nw -bordermode ignore 
-	place $base.lab4 \
-		-x 5 -y 84 -height 16 -anchor nw -bordermode ignore 
-	place $base.addfld \
-		-x 530 -y 58 -width 100 -height 26 -anchor nw -bordermode ignore 
-	place $base.delfld \
-		-x 530 -y 190 -width 100 -height 26 -anchor nw -bordermode ignore 
-	place $base.emptb \
-		-x 530 -y 220 -width 100 -height 26 -anchor nw -bordermode ignore 
-	place $base.maketbl \
-		-x 530 -y 365 -width 100 -height 26 -anchor nw -bordermode ignore 
-	place $base.lb \
-		-x 4 -y 121 -width 506 -height 269 -anchor nw -bordermode ignore 
-	place $base.helpbtn \
-		-x 530 -y 305 -width 100 -height 26 -anchor nw -bordermode ignore 
-	place $base.exitbtn \
-		-x 530 -y 335 -width 100 -height 26 -anchor nw -bordermode ignore 
-	place $base.l1 \
-		-x 18 -y 105 -width 195 -height 18 -anchor nw -bordermode ignore 
-	place $base.l2 \
-		-x 213 -y 105 -width 88 -height 18 -anchor nw -bordermode ignore 
-	place $base.l3 \
-		-x 301 -y 105 -width 225 -height 18 -anchor nw -bordermode ignore 
-	place $base.sb \
-		-x 509 -y 121 -width 18 -height 269 -anchor nw -bordermode ignore 
-	place $base.l93 \
-		-x 4 -y 7 -height 16 -anchor nw -bordermode ignore 
-	place $base.mvup \
-		-x 530 -y 120 -width 100 -height 26 -anchor nw -bordermode ignore 
-	place $base.mvdn \
-		-x 530 -y 150 -width 100 -height 26 -anchor nw -bordermode ignore 
-	place $base.button17 \
-		-x 371 -y 62 -width 16 -height 16 -anchor nw -bordermode ignore 
-	place $base.lco \
-		-x 5 -y 28 -width 58 -height 16 -anchor nw -bordermode ignore 
-	place $base.eco \
-		-x 105 -y 27 -width 136 -height 20 -anchor nw -bordermode ignore 
-	place $base.lch \
-		-x 245 -y 30 -anchor nw -bordermode ignore 
-	place $base.ech \
-		-x 300 -y 27 -width 308 -height 22 -anchor nw -bordermode ignore 
-	place $base.ll \
-		-x 5 -y 53 -width 603 -height 2 -anchor nw -bordermode ignore 
-	place $base.pk \
-		-x 450 -y 83 -height 20 -anchor nw -bordermode ignore 
-	place $base.lpk \
-		-x 4 -y 105 -width 14 -height 18 -anchor nw -bordermode ignore 
-}
-
-
-proc vTclWindow.pgaw:TableInfo {base} {
-global PgAcVar
-	if {$base == ""} {
-		set base .pgaw:TableInfo
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel \
-		-background #c7c3c7 
-	wm focusmodel $base passive
-	wm geometry $base 522x398+152+135
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Table information"]
-	bind $base <Key-F1> "Help::load view_table_structure"
-	label $base.l0 \
-		-borderwidth 1 -font $PgAcVar(pref,font_bold) \
-		-relief raised -text [intlmsg General]
-	bind $base.l0 <Button-1> {
-		Tables::tabSelect 0
-    }
-	label $base.l1 \
-		-borderwidth 1 \
-		-relief raised -text [intlmsg Columns]
-	bind $base.l1 <Button-1> {
-		Tables::tabSelect 1
-    }
-	label $base.l2 \
-		-borderwidth 1 \
-		-relief raised -text [intlmsg Indexes]
-	bind $base.l2 <Button-1> {
-		Tables::tabSelect 2
-    }
-	label $base.l3 \
-		-borderwidth 1 \
-		-relief raised -text [intlmsg Permissions]
-	bind $base.l3 <Button-1> {
-		Tables::tabSelect 3
-    }
-	label $base.l \
-		-relief raised 
-	button $base.btnclose \
-		-borderwidth 1 -command {Window destroy .pgaw:TableInfo} \
-		-highlightthickness 0 -padx 9 -pady 3 -text [intlmsg Close]
-	frame $base.f1 \
-		-borderwidth 2 -height 75 -relief groove -width 125 
-	frame $base.f1.ft \
-		-height 75 -relief groove -width 125 
-	label $base.f1.ft.t1 \
-		-relief groove -text [intlmsg {field name}]
-	label $base.f1.ft.t2 \
-		-relief groove -text [intlmsg type] -width 12 
-	label $base.f1.ft.t3 \
-		-relief groove -text [intlmsg size] -width 6 
-	label $base.f1.ft.lnn \
-		-relief groove -text [intlmsg {not null}] -width 18 
-	label $base.f1.ft.ls \
-		-borderwidth 0 \
-		-relief raised -text {    } 
-	frame $base.f1.fb \
-		-height 75 -relief groove -width 125 
-	button $base.f1.fb.addcolbtn \
-		-borderwidth 1 \
-		-command {Window show .pgaw:AddField
-			set PgAcVar(addfield,name) {}
-			set PgAcVar(addfield,type) {}
-			wm transient .pgaw:AddField .pgaw:TableInfo
-			focus .pgaw:AddField.e1} \
-		 -padx 9 -pady 3 -text [intlmsg {Add new column}]
-	button $base.f1.fb.rencolbtn \
-		-borderwidth 1 \
-		-command {
-if {[set PgAcVar(tblinfo,col_id) [.pgaw:TableInfo.f1.lb curselection]]==""} then {
-	bell
-} else {
-	set PgAcVar(tblinfo,old_cn) [.pgaw:TableInfo.f1.lb get [.pgaw:TableInfo.f1.lb curselection]]
-	set PgAcVar(tblinfo,new_cn) {}
-	Window show .pgaw:RenameField
-	tkwait visibility .pgaw:RenameField
-	wm transient .pgaw:RenameField .pgaw:TableInfo
-	focus .pgaw:RenameField.e1
-}
-} \
-		 -padx 9 -pady 3 -text [intlmsg {Rename column}]
-	button $base.f1.fb.addidxbtn \
-		-borderwidth 1 -command Tables::addNewIndex \
-		 -padx 9 \
-		-pady 3 -text [intlmsg {Add new index}]
-	listbox $base.f1.lb \
-		-background #fefefe -borderwidth 1 -font $PgAcVar(pref,font_fix) \
-		-highlightthickness 0 -selectborderwidth 0 \
-		-selectmode extended \
-		-yscrollcommand {.pgaw:TableInfo.f1.vsb set} 
-	scrollbar $base.f1.vsb \
-		-borderwidth 1 -command {.pgaw:TableInfo.f1.lb yview} -orient vert -width 14 
-	frame $base.f2 \
-		-borderwidth 2 -height 75 -relief groove -width 125 
-	frame $base.f2.fl \
-		-height 75 -relief groove -width 182 
-	label $base.f2.fl.t \
-		-relief groove -text [intlmsg {Indexes defined}]
-	button $base.f2.fl.delidxbtn \
-		-borderwidth 1 -command Tables::deleteIndex \
-		 -padx 9 \
-		-pady 3 -text [intlmsg {Delete index}]
-	listbox $base.f2.fl.ilb \
-		-background #fefefe -borderwidth 1 \
-		-highlightthickness 0 -selectborderwidth 0 -width 37 \
-		-yscrollcommand {.pgaw:TableInfo.f2.fl.vsb set} 
-	bind $base.f2.fl.ilb <ButtonRelease-1> {
-		Tables::showIndexInformation
-	}
-	scrollbar $base.f2.fl.vsb \
-		-borderwidth 1 -command {.pgaw:TableInfo.f2.fl.ilb yview} -orient vert -width 14 
-	frame $base.f2.fr \
-		-height 75 -relief groove -width 526 
-	label $base.f2.fr.t \
-		-relief groove -text [intlmsg {index properties}]
-	button $base.f2.fr.clusterbtn \
-		-borderwidth 1 -command Tables::clusterIndex \
-		 -padx 9 -pady 3 -text [intlmsg {Cluster index}]
-	frame $base.f2.fr.fp \
-		-borderwidth 2 -height 75 -relief groove -width 125 
-	label $base.f2.fr.fp.lu \
-		-anchor w -borderwidth 0 \
-		-relief raised -text [intlmsg {Is unique ?}]
-	label $base.f2.fr.fp.vu \
-		-borderwidth 0 -textvariable PgAcVar(tblinfo,isunique) \
-		-foreground #000096 -relief raised -text {} 
-	label $base.f2.fr.fp.lc \
-		-borderwidth 0 \
-		-relief raised -text [intlmsg {Is clustered ?}]
-	label $base.f2.fr.fp.vc -textvariable PgAcVar(tblinfo,isclustered) \
-		-borderwidth 0 \
-		-foreground #000096 -relief raised -text {}
-	label $base.f2.fr.lic \
-		-relief groove -text [intlmsg {index columns}]
-	listbox $base.f2.fr.lb \
-		-background #fefefe -borderwidth 1 \
-		-highlightthickness 0 -selectborderwidth 0 \
-		-yscrollcommand {.pgaw:TableInfo.f2.fr.vsb set} 
-	scrollbar $base.f2.fr.vsb \
-		-borderwidth 1 -command {.pgaw:TableInfo.f2.fr.lb yview} -orient vert -width 14 
-	frame $base.f3 \
-		-borderwidth 2 -height 75 -relief groove -width 125 
-	frame $base.f3.ft \
-		-height 75 -relief groove -width 125 
-	label $base.f3.ft.luser \
-		-relief groove -text [intlmsg {User name}]
-	label $base.f3.ft.lselect \
-		-relief groove -text [intlmsg select] -width 10 
-	label $base.f3.ft.lupdate \
-		-relief groove -text [intlmsg update] -width 10 
-	label $base.f3.ft.linsert \
-		-relief groove -text [intlmsg insert] -width 10 
-	label $base.f3.ft.lrule \
-		-relief groove -text [intlmsg rule] -width 10 
-	label $base.f3.ft.ls \
-		-borderwidth 0 \
-		-relief raised -text {    } 
-	frame $base.f3.fb \
-		-height 75 -relief groove -width 125 
-	button $base.f3.fb.adduserbtn \
-		-borderwidth 1 -command Tables::newPermissions \
-		 -padx 9 -pady 3 -text [intlmsg {Add user}]
-	button $base.f3.fb.chguserbtn -command Tables::loadPermissions \
-		-borderwidth 1 -padx 9 -pady 3 -text [intlmsg {Change permissions}]
-	listbox $base.f3.plb \
-		-background #fefefe -borderwidth 1 -font $PgAcVar(pref,font_fix) \
-		-highlightthickness 0 -selectborderwidth 0 \
-		-yscrollcommand {.pgaw:TableInfo.f3.vsb set} 
-	bind $base.f3.plb <Double-1> Tables::loadPermissions
-	scrollbar $base.f3.vsb \
-		-borderwidth 1 -command {.pgaw:TableInfo.f3.plb yview} -orient vert -width 14 
-	label $base.lline \
-		-borderwidth 0 \
-		-relief raised -text {   } 
-	frame $base.f0 \
-		-borderwidth 2 -height 75 -relief groove -width 125 
-	frame $base.f0.fi \
-		-borderwidth 2 -height 75 -relief groove -width 125 
-	label $base.f0.fi.l1 \
-		-borderwidth 0 \
-		-relief raised -text [intlmsg {Table name}]
-	label $base.f0.fi.l2 \
-		-anchor w -borderwidth 1 \
-		-relief sunken -text {} -textvariable PgAcVar(tblinfo,tablename) \
-		-width 200 
-	label $base.f0.fi.l3 \
-		-borderwidth 0 \
-		-relief raised -text [intlmsg {Table OID}]
-	label $base.f0.fi.l4 \
-		-anchor w -borderwidth 1 \
-		-relief sunken -text {} -textvariable PgAcVar(tblinfo,tableoid) \
-		-width 200 
-	label $base.f0.fi.l5 \
-		-borderwidth 0 \
-		-relief raised -text [intlmsg Owner]
-	label $base.f0.fi.l6 \
-		-anchor w -borderwidth 1 \
-		-relief sunken -text {} -textvariable PgAcVar(tblinfo,owner) \
-		-width 200 
-	label $base.f0.fi.l7 \
-		-borderwidth 0 \
-		-relief raised -text [intlmsg {Owner ID}]
-	label $base.f0.fi.l8 \
-		-anchor w -borderwidth 1 \
-		-relief sunken -text {} -textvariable PgAcVar(tblinfo,ownerid) \
-		-width 200 
-	label $base.f0.fi.l9 \
-		-borderwidth 0 \
-		-relief raised -text [intlmsg {Has primary key ?}]
-	label $base.f0.fi.l10 \
-		-anchor w -borderwidth 1 \
-		-relief sunken -text {} \
-		-textvariable PgAcVar(tblinfo,hasprimarykey) -width 200 
-	label $base.f0.fi.l11 \
-		-borderwidth 0 \
-		-relief raised -text [intlmsg {Has rules ?}]
-	label $base.f0.fi.l12 \
-		-anchor w -borderwidth 1 \
-		-relief sunken -text {} -textvariable PgAcVar(tblinfo,hasrules) \
-		-width 200 
-	label $base.f0.fi.last \
-		-borderwidth 0 \
-		-relief raised -text {         } 
-	frame $base.f0.fs \
-		-borderwidth 2 -height 75 -relief groove -width 125 
-	label $base.f0.fs.l1 \
-		-borderwidth 0 \
-		-relief raised -text [intlmsg {Number of tuples}]
-	label $base.f0.fs.l2 \
-		-anchor e -borderwidth 1 \
-		-relief sunken -text 0 -textvariable PgAcVar(tblinfo,numtuples) \
-		-width 200 
-	label $base.f0.fs.l3 \
-		-borderwidth 0 \
-		-relief raised -text [intlmsg {Number of pages}]
-	label $base.f0.fs.l4 \
-		-anchor e -borderwidth 1 \
-		-relief sunken -text 0 -textvariable PgAcVar(tblinfo,numpages) \
-		-width 200 
-	label $base.f0.fs.last \
-		-borderwidth 0 \
-		-relief raised -text { } 
-	label $base.f0.lstat \
-		-borderwidth 0 -font $PgAcVar(pref,font_bold) -relief raised \
-		-text " [intlmsg Statistics] "
-	label $base.f0.lid \
-		-borderwidth 0 -font $PgAcVar(pref,font_bold) -relief raised \
-		-text " [intlmsg Identification] "
-	place $base.l0 \
-		-x 15 -y 13 -width 96 -height 23 -anchor nw -bordermode ignore 
-	place $base.l1 \
-		-x 111 -y 15 -width 96 -height 23 -anchor nw -bordermode ignore 
-	place $base.l2 \
-		-x 207 -y 15 -width 96 -height 23 -anchor nw -bordermode ignore 
-	place $base.l3 \
-		-x 303 -y 15 -width 96 -height 23 -anchor nw -bordermode ignore 
-	place $base.l \
-		-x 5 -y 35 -width 511 -height 357 -anchor nw -bordermode ignore 
-	place $base.btnclose \
-		-x 425 -y 5 -width 91 -height 26 -anchor nw -bordermode ignore 
-	place $base.f1 \
-		-x 15 -y 500 -width 490 -height 335 -anchor nw -bordermode ignore 
-	pack $base.f1.ft \
-		-in .pgaw:TableInfo.f1 -anchor center -expand 0 -fill x -side top 
-	pack $base.f1.ft.t1 \
-		-in .pgaw:TableInfo.f1.ft -anchor center -expand 1 -fill x -side left 
-	pack $base.f1.ft.t2 \
-		-in .pgaw:TableInfo.f1.ft -anchor center -expand 0 -fill none -side left 
-	pack $base.f1.ft.t3 \
-		-in .pgaw:TableInfo.f1.ft -anchor center -expand 0 -fill none -side left 
-	pack $base.f1.ft.lnn \
-		-in .pgaw:TableInfo.f1.ft -anchor center -expand 0 -fill none -side left 
-	pack $base.f1.ft.ls \
-		-in .pgaw:TableInfo.f1.ft -anchor center -expand 0 -fill none -side top 
-	pack $base.f1.fb \
-		-in .pgaw:TableInfo.f1 -anchor center -expand 0 -fill x -side bottom 
-	grid $base.f1.fb.addcolbtn \
-		-in .pgaw:TableInfo.f1.fb -column 0 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.f1.fb.rencolbtn \
-		-in .pgaw:TableInfo.f1.fb -column 1 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.f1.fb.addidxbtn \
-		-in .pgaw:TableInfo.f1.fb -column 2 -row 0 -columnspan 1 -rowspan 1 
-	pack $base.f1.lb \
-		-in .pgaw:TableInfo.f1 -anchor center -expand 1 -fill both -pady 1 -side left 
-	pack $base.f1.vsb \
-		-in .pgaw:TableInfo.f1 -anchor center -expand 0 -fill y -side right 
-	place $base.f2 \
-		-x 15 -y 500 -width 490 -height 335 -anchor nw -bordermode ignore 
-	pack $base.f2.fl \
-		-in .pgaw:TableInfo.f2 -anchor center -expand 0 -fill both -side left 
-	pack $base.f2.fl.t \
-		-in .pgaw:TableInfo.f2.fl -anchor center -expand 0 -fill x -pady 1 -side top 
-	pack $base.f2.fl.delidxbtn \
-		-in .pgaw:TableInfo.f2.fl -anchor center -expand 0 -fill none -side bottom 
-	pack $base.f2.fl.ilb \
-		-in .pgaw:TableInfo.f2.fl -anchor center -expand 1 -fill both -pady 1 -side left 
-	pack $base.f2.fl.vsb \
-		-in .pgaw:TableInfo.f2.fl -anchor center -expand 0 -fill y -side right 
-	pack $base.f2.fr \
-		-in .pgaw:TableInfo.f2 -anchor center -expand 1 -fill both -padx 1 -side right 
-	pack $base.f2.fr.t \
-		-in .pgaw:TableInfo.f2.fr -anchor center -expand 0 -fill x -pady 1 -side top 
-	pack $base.f2.fr.clusterbtn \
-		-in .pgaw:TableInfo.f2.fr -anchor center -expand 0 -fill none -side bottom 
-	pack $base.f2.fr.fp \
-		-in .pgaw:TableInfo.f2.fr -anchor center -expand 0 -fill x -pady 1 -side top 
-	grid $base.f2.fr.fp.lu \
-		-in .pgaw:TableInfo.f2.fr.fp -column 0 -row 0 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f2.fr.fp.vu \
-		-in .pgaw:TableInfo.f2.fr.fp -column 1 -row 0 -columnspan 1 -rowspan 1 -padx 5 \
-		-sticky w 
-	grid $base.f2.fr.fp.lc \
-		-in .pgaw:TableInfo.f2.fr.fp -column 0 -row 2 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f2.fr.fp.vc \
-		-in .pgaw:TableInfo.f2.fr.fp -column 1 -row 2 -columnspan 1 -rowspan 1 -padx 5 \
-		-sticky w 
-	pack $base.f2.fr.lic \
-		-in .pgaw:TableInfo.f2.fr -anchor center -expand 0 -fill x -side top 
-	pack $base.f2.fr.lb \
-		-in .pgaw:TableInfo.f2.fr -anchor center -expand 1 -fill both -pady 1 -side left 
-	pack $base.f2.fr.vsb \
-		-in .pgaw:TableInfo.f2.fr -anchor center -expand 0 -fill y -side right 
-	place $base.f3 \
-		-x 15 -y 500 -width 490 -height 335 -anchor nw -bordermode ignore 
-	pack $base.f3.ft \
-		-in .pgaw:TableInfo.f3 -anchor center -expand 0 -fill x -pady 1 -side top 
-	pack $base.f3.ft.luser \
-		-in .pgaw:TableInfo.f3.ft -anchor center -expand 1 -fill x -side left 
-	pack $base.f3.ft.lselect \
-		-in .pgaw:TableInfo.f3.ft -anchor center -expand 0 -fill none -side left 
-	pack $base.f3.ft.lupdate \
-		-in .pgaw:TableInfo.f3.ft -anchor center -expand 0 -fill none -side left 
-	pack $base.f3.ft.linsert \
-		-in .pgaw:TableInfo.f3.ft -anchor center -expand 0 -fill none -side left 
-	pack $base.f3.ft.lrule \
-		-in .pgaw:TableInfo.f3.ft -anchor center -expand 0 -fill none -side left 
-	pack $base.f3.ft.ls \
-		-in .pgaw:TableInfo.f3.ft -anchor center -expand 0 -fill none -side top 
-	pack $base.f3.fb \
-		-in .pgaw:TableInfo.f3 -anchor center -expand 0 -fill x -side bottom 
-	grid $base.f3.fb.adduserbtn \
-		-in .pgaw:TableInfo.f3.fb -column 0 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.f3.fb.chguserbtn \
-		-in .pgaw:TableInfo.f3.fb -column 1 -row 0 -columnspan 1 -rowspan 1 
-	pack $base.f3.plb \
-		-in .pgaw:TableInfo.f3 -anchor center -expand 1 -fill both -pady 1 -side left 
-	pack $base.f3.vsb \
-		-in .pgaw:TableInfo.f3 -anchor center -expand 0 -fill y -side right 
-	place $base.lline \
-		-x 16 -y 32 -width 94 -height 6 -anchor nw -bordermode ignore 
-	place $base.f0 \
-		-x 15 -y 45 -width 490 -height 335 -anchor nw -bordermode ignore 
-	place $base.f0.fi \
-		-x 5 -y 15 -width 300 -height 140 -anchor nw -bordermode ignore 
-	grid columnconf $base.f0.fi 1 -weight 1
-	grid rowconf $base.f0.fi 6 -weight 1
-	grid $base.f0.fi.l1 \
-		-in .pgaw:TableInfo.f0.fi -column 0 -row 0 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f0.fi.l2 \
-		-in .pgaw:TableInfo.f0.fi -column 1 -row 0 -columnspan 1 -rowspan 1 -padx 2 \
-		-pady 2 
-	grid $base.f0.fi.l3 \
-		-in .pgaw:TableInfo.f0.fi -column 0 -row 1 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f0.fi.l4 \
-		-in .pgaw:TableInfo.f0.fi -column 1 -row 1 -columnspan 1 -rowspan 1 -padx 2 \
-		-pady 2 
-	grid $base.f0.fi.l5 \
-		-in .pgaw:TableInfo.f0.fi -column 0 -row 2 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f0.fi.l6 \
-		-in .pgaw:TableInfo.f0.fi -column 1 -row 2 -columnspan 1 -rowspan 1 -padx 2 \
-		-pady 2 
-	grid $base.f0.fi.l7 \
-		-in .pgaw:TableInfo.f0.fi -column 0 -row 3 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f0.fi.l8 \
-		-in .pgaw:TableInfo.f0.fi -column 1 -row 3 -columnspan 1 -rowspan 1 -padx 2 \
-		-pady 2 
-	grid $base.f0.fi.l9 \
-		-in .pgaw:TableInfo.f0.fi -column 0 -row 4 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f0.fi.l10 \
-		-in .pgaw:TableInfo.f0.fi -column 1 -row 4 -columnspan 1 -rowspan 1 -padx 2 \
-		-pady 2 
-	grid $base.f0.fi.l11 \
-		-in .pgaw:TableInfo.f0.fi -column 0 -row 5 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f0.fi.l12 \
-		-in .pgaw:TableInfo.f0.fi -column 1 -row 5 -columnspan 1 -rowspan 1 -padx 2 \
-		-pady 2 
-	grid $base.f0.fi.last \
-		-in .pgaw:TableInfo.f0.fi -column 0 -row 6 -columnspan 1 -rowspan 1 
-	place $base.f0.fs \
-		-x 310 -y 15 -width 175 -height 50 -anchor nw -bordermode ignore 
-	grid columnconf $base.f0.fs 1 -weight 1
-	grid rowconf $base.f0.fs 2 -weight 1
-	grid $base.f0.fs.l1 \
-		-in .pgaw:TableInfo.f0.fs -column 0 -row 0 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f0.fs.l2 \
-		-in .pgaw:TableInfo.f0.fs -column 1 -row 0 -columnspan 1 -rowspan 1 -padx 2 \
-		-pady 2 -sticky w 
-	grid $base.f0.fs.l3 \
-		-in .pgaw:TableInfo.f0.fs -column 0 -row 1 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f0.fs.l4 \
-		-in .pgaw:TableInfo.f0.fs -column 1 -row 1 -columnspan 1 -rowspan 1 -padx 2 \
-		-pady 2 -sticky w 
-	grid $base.f0.fs.last \
-		-in .pgaw:TableInfo.f0.fs -column 0 -row 2 -columnspan 1 -rowspan 1 
-	place $base.f0.lstat \
-		-x 315 -y 5 -height 18 -anchor nw -bordermode ignore 
-	place $base.f0.lid \
-		-x 10 -y 5 -height 16 -anchor nw -bordermode ignore 
-}
-
-
-proc vTclWindow.pgaw:AddIndex {base} {
-	if {$base == ""} {
-		set base .pgaw:AddIndex
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 334x203+265+266
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Add new index"]
-	frame $base.f \
-		-borderwidth 2 -height 75 -relief groove -width 125 
-	frame $base.f.fin \
-		-height 75 -relief groove -width 125 
-	label $base.f.fin.lin \
-		-borderwidth 0 -relief raised -text [intlmsg {Index name}]
-	entry $base.f.fin.ein \
-		-background #fefefe -borderwidth 1 -width 28 -textvariable PgAcVar(addindex,indexname) 
-	checkbutton $base.f.cbunique -borderwidth 1 \
-		-offvalue { } -onvalue unique -text [intlmsg {Is unique ?}] -variable PgAcVar(addindex,unique)
-	label $base.f.ls1 \
-		-anchor w -background #dfdbdf -borderwidth 0 -foreground #000086 \
-		-justify left -relief raised -textvariable PgAcVar(addindex,indexfields) \
-		-wraplength 300 
-	label $base.f.lif \
-		-borderwidth 0 -relief raised -text "[intlmsg {Index fields}]:"
-	label $base.f.ls2 \
-		-borderwidth 0 -relief raised -text { } 
-	label $base.f.ls3 \
-		-borderwidth 0 -relief raised -text { } 
-	frame $base.fb \
-		-height 75 -relief groove -width 125 
-	button $base.fb.btncreate -command Tables::createNewIndex \
-		-padx 9 -pady 3 -text [intlmsg Create]
-	button $base.fb.btncancel \
-		-command {Window destroy .pgaw:AddIndex} -padx 9 -pady 3 -text [intlmsg Cancel]
-	pack $base.f \
-		-in .pgaw:AddIndex -anchor center -expand 1 -fill both -side top 
-	grid $base.f.fin \
-		-in .pgaw:AddIndex.f -column 0 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.f.fin.lin \
-		-in .pgaw:AddIndex.f.fin -column 0 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.f.fin.ein \
-		-in .pgaw:AddIndex.f.fin -column 1 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.f.cbunique \
-		-in .pgaw:AddIndex.f -column 0 -row 5 -columnspan 1 -rowspan 1 
-	grid $base.f.ls1 \
-		-in .pgaw:AddIndex.f -column 0 -row 3 -columnspan 1 -rowspan 1 
-	grid $base.f.lif \
-		-in .pgaw:AddIndex.f -column 0 -row 2 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f.ls2 \
-		-in .pgaw:AddIndex.f -column 0 -row 1 -columnspan 1 -rowspan 1 
-	grid $base.f.ls3 \
-		-in .pgaw:AddIndex.f -column 0 -row 4 -columnspan 1 -rowspan 1 
-	pack $base.fb \
-		-in .pgaw:AddIndex -anchor center -expand 0 -fill x -side bottom 
-	grid $base.fb.btncreate \
-		-in .pgaw:AddIndex.fb -column 0 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.fb.btncancel \
-		-in .pgaw:AddIndex.fb -column 1 -row 0 -columnspan 1 -rowspan 1 
-}
-
-
-proc vTclWindow.pgaw:AddField {base} {
-	if {$base == ""} {
-		set base .pgaw:AddField
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 302x114+195+175
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Add new column"]
-	label $base.l1 \
-		-borderwidth 0 -text [intlmsg {Field name}]
-	entry $base.e1 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(addfield,name) 
-	bind $base.e1 <Key-KP_Enter> {
-		focus .pgaw:AddField.e2
-	}
-	bind $base.e1 <Key-Return> {
-		focus .pgaw:AddField.e2
-	}
-	label $base.l2 \
-		-borderwidth 0 \
-		-text [intlmsg {Field type}]
-	entry $base.e2 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(addfield,type) 
-	bind $base.e2 <Key-KP_Enter> {
-		Tables::addNewColumn
-	}
-	bind $base.e2 <Key-Return> {
-		Tables::addNewColumn
-	}
-	button $base.b1 \
-		-borderwidth 1 -command Tables::addNewColumn -text [intlmsg {Add field}]
-	button $base.b2 \
-		-borderwidth 1 -command {Window destroy .pgaw:AddField} -text [intlmsg Cancel]
-	place $base.l1 \
-		-x 25 -y 10 -anchor nw -bordermode ignore 
-	place $base.e1 \
-		-x 98 -y 7 -width 178 -height 22 -anchor nw -bordermode ignore 
-	place $base.l2 \
-		-x 25 -y 40 -anchor nw -bordermode ignore 
-	place $base.e2 \
-		-x 98 -y 37 -width 178 -height 22 -anchor nw -bordermode ignore 
-	place $base.b1 \
-		-x 70 -y 75 -anchor nw -bordermode ignore 
-	place $base.b2 \
-		-x 160 -y 75 -anchor nw -bordermode ignore 
-}
-
-
-proc vTclWindow.pgaw:RenameField {base} {
-	if {$base == ""} {
-		set base .pgaw:RenameField
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 215x75+258+213
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Rename column"]
-	label $base.l1 \
-		-borderwidth 0 -text [intlmsg {New name}]
-	entry $base.e1 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(tblinfo,new_cn)
-	bind $base.e1 <Key-KP_Enter> "Tables::renameColumn"
-	bind $base.e1 <Key-Return> "Tables::renameColumn"
-	frame $base.f \
-		-height 75 -relief groove -width 147 
-	button $base.f.b1 \
-		-borderwidth 1 -command Tables::renameColumn -text [intlmsg Rename]
-	button $base.f.b2 \
-		-borderwidth 1 -command {Window destroy .pgaw:RenameField} -text [intlmsg Cancel]
-	label $base.l2 -borderwidth 0 
-	grid $base.l1 \
-		-in .pgaw:RenameField -column 0 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.e1 \
-		-in .pgaw:RenameField -column 1 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.f \
-		-in .pgaw:RenameField -column 0 -row 4 -columnspan 2 -rowspan 1 
-	grid $base.f.b1 \
-		-in .pgaw:RenameField.f -column 0 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.f.b2 \
-		-in .pgaw:RenameField.f -column 1 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.l2 \
-		-in .pgaw:RenameField -column 0 -row 3 -columnspan 1 -rowspan 1 
-}
-
-proc vTclWindow.pgaw:Permissions {base} {
-	if {$base == ""} {
-		set base .pgaw:Permissions
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 273x147+256+266
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Permissions"]
-	frame $base.f1 \
-		-height 103 -relief groove -width 125 
-	label $base.f1.l \
-		-borderwidth 0 -relief raised -text [intlmsg {User name}]
-	entry $base.f1.ename -textvariable PgAcVar(permission,username) \
-		-background #fefefe -borderwidth 1 
-	label $base.f1.l2 \
-		-borderwidth 0 -relief raised -text { } 
-	label $base.f1.l3 \
-		-borderwidth 0 -relief raised -text { } 
-	frame $base.f2 \
-		-height 75 -relief groove -borderwidth 2 -width 125 
-	checkbutton $base.f2.cb1 -borderwidth 1 -padx 4 -pady 4 \
-		-text [intlmsg select] -variable PgAcVar(permission,select) 
-	checkbutton $base.f2.cb2 -borderwidth 1 -padx 4 -pady 4 \
-		-text [intlmsg update] -variable PgAcVar(permission,update)
-	checkbutton $base.f2.cb3 -borderwidth 1 -padx 4 -pady 4 \
-		-text [intlmsg insert] -variable PgAcVar(permission,insert)
-	checkbutton $base.f2.cb4 -borderwidth 1 -padx 4 -pady 4 \
-		-text [intlmsg rule] -variable PgAcVar(permission,rule)
-	frame $base.fb \
-		-height 75 -relief groove -width 125 
-	button $base.fb.btnsave -command Tables::savePermissions \
-		-padx 9 -pady 3 -text [intlmsg Save]
-	button $base.fb.btncancel -command {Window destroy .pgaw:Permissions} \
-		-padx 9 -pady 3 -text [intlmsg Cancel]
-	pack $base.f1 \
-		-in .pgaw:Permissions -anchor center -expand 0 -fill none -side top 
-	grid $base.f1.l \
-		-in .pgaw:Permissions.f1 -column 0 -row 1 -columnspan 1 -rowspan 1 
-	grid $base.f1.ename \
-		-in .pgaw:Permissions.f1 -column 1 -row 1 -columnspan 1 -rowspan 1 -padx 2 
-	grid $base.f1.l2 \
-		-in .pgaw:Permissions.f1 -column 0 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.f1.l3 \
-		-in .pgaw:Permissions.f1 -column 0 -row 2 -columnspan 1 -rowspan 1 
-	pack $base.f2 \
-		-in .pgaw:Permissions -anchor center -expand 0 -fill none -side top 
-	grid $base.f2.cb1 \
-		-in .pgaw:Permissions.f2 -column 0 -row 1 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f2.cb2 \
-		-in .pgaw:Permissions.f2 -column 1 -row 1 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f2.cb3 \
-		-in .pgaw:Permissions.f2 -column 0 -row 2 -columnspan 1 -rowspan 1 -sticky w 
-	grid $base.f2.cb4 \
-		-in .pgaw:Permissions.f2 -column 1 -row 2 -columnspan 1 -rowspan 1 -sticky w 
-	pack $base.fb \
-		-in .pgaw:Permissions -anchor center -expand 0 -fill none -pady 3 -side bottom 
-	grid $base.fb.btnsave \
-		-in .pgaw:Permissions.fb -column 0 -row 0 -columnspan 1 -rowspan 1 
-	grid $base.fb.btncancel \
-		-in .pgaw:Permissions.fb -column 1 -row 0 -columnspan 1 -rowspan 1 
-}
-
-#
-# NOTE: following two procedures _kinput_trace_root and _kinput_trace_over 
-# were originaly part of kinput.tcl.
-# -- Tatuso Ishii 2000/08/18
-
-# kinput.tcl --
-#
-# This file contains Tcl procedures used to input Japanese text.
-#
-# $Header: /cvsroot/pgsql/src/bin/pgaccess/lib/Attic/tables.tcl,v 1.13 2002/07/02 06:11:23 momjian Exp $
-#
-# Copyright (c) 1993  Software Research Associates, Inc.
-#
-# Permission to use, copy, modify, and distribute this software and its
-# documentation for any purpose and without fee is hereby granted, provided
-# that the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of Software Research Associates not be
-# used in advertising or publicity pertaining to distribution of the
-# software without specific, written prior permission.  Software Research
-# Associates makes no representations about the suitability of this software
-# for any purpose.  It is provided "as is" without express or implied
-# warranty.
-#
-
-# The procedure below is invoked in order to start Japanese text input
-# for the specified widget.  It sends a request to the input server to
-# start conversion on that widget.
-# Second argument specifies input style.  Valid values are "over" (for
-# over-the-spot style) and "root" (for root window style). See X11R5
-# Xlib manual for the meaning of these styles). The default is root
-# window style.
-
-proc pgaccess_kinput_start {w {style root}} {
-    global _kinput_priv
-    catch {unset _kinput_priv($w)}
-    if {$style=="over"} then {
- 	set spot [_kinput_spot $w]
-	if {"$spot" != ""} then {
-	    trace variable _kinput_priv($w) w _pgaccess_kinput_trace_$style
-	    kanjiInput start $w \
-		-variable _kinput_priv($w) \
-		-inputStyle over \
-		-foreground [_kinput_attr $w -foreground] \
-		-background [_kinput_attr $w -background] \
-		-fonts [list [_kinput_attr $w -font] \
-			    [_kinput_attr $w -kanjifont]] \
-		-clientArea [_kinput_area $w] \
-		-spot $spot
-	    return
-	}
-    }
-    trace variable _kinput_priv($w) w _pgaccess_kinput_trace_root
-    kanjiInput start $w -variable _kinput_priv($w) -inputStyle root
-}
-
-# for root style
-proc _pgaccess_kinput_trace_root {name1 name2 op} {
-    global PgAcVar
-    set wn [string trimright $name2 ".c"]
-    upvar #0 $name1 trvar
-    set c $trvar($name2)
-    Tables::editText $wn $c $c
-    unset $trvar($name2)
-}
-
-# for over-the-spot style
-proc _pgaccess_kinput_trace_over {name1 name2 op} {
-    global PgAcVar
-    set wn [string trimright $name2 ".c"]
-    upvar #0 $name1 trvar
-    set c $trvar($name2)
-    Tables::editText $wn $c $c
-    kinput_send_spot $name2
-    unset $trvar($name2)
-}
diff --git a/src/bin/pgaccess/lib/users.tcl b/src/bin/pgaccess/lib/users.tcl
deleted file mode 100644
index 8d64ac9bf10..00000000000
--- a/src/bin/pgaccess/lib/users.tcl
+++ /dev/null
@@ -1,155 +0,0 @@
-namespace eval Users {
-
-proc {new} {} {
-global PgAcVar
-	Window show .pgaw:User
-	wm transient .pgaw:User .pgaw:Main
-	set PgAcVar(user,action) "CREATE"
-	set PgAcVar(user,name) {}
-	set PgAcVar(user,password) {}
-	set PgAcVar(user,createdb) NOCREATEDB
-	set PgAcVar(user,createuser) NOCREATEUSER
-	set PgAcVar(user,verifypassword) {}
-	set PgAcVar(user,validuntil) {}
-	focus .pgaw:User.e1
-}
-
-proc {design} {username} {
-global PgAcVar CurrentDB
-	Window show .pgaw:User
-	tkwait visibility .pgaw:User
-	wm transient .pgaw:User .pgaw:Main
-	wm title .pgaw:User [intlmsg "Change user"]
-	set PgAcVar(user,action) "ALTER"
-	set PgAcVar(user,name) $username
-	set PgAcVar(user,password) {} ; set PgAcVar(user,verifypassword) {}
-	pg_select $CurrentDB "select *,date(valuntil) as valdata from pg_user where usename='$username'" tup {
-		if {$tup(usesuper)=="t"} {
-			set PgAcVar(user,createuser) CREATEUSER
-		} else {
-			set PgAcVar(user,createuser) NOCREATEUSER
-		}
-		if {$tup(usecreatedb)=="t"} {
-			set PgAcVar(user,createdb) CREATEDB
-		} else {
-			set PgAcVar(user,createdb) NOCREATEDB
-		}
-		if {$tup(valuntil)!=""} {
-			set PgAcVar(user,validuntil) $tup(valdata)
-		} else {
-			set PgAcVar(user,validuntil) {}
-		}
-	}
-	.pgaw:User.e1 configure -state disabled
-	.pgaw:User.b1 configure -text [intlmsg Save]
-	focus .pgaw:User.e2
-}
-
-proc {save} {} {
-global PgAcVar CurrentDB
-	set PgAcVar(user,name) [string trim $PgAcVar(user,name)]
-	set PgAcVar(user,password) [string trim $PgAcVar(user,password)]
-	set PgAcVar(user,verifypassword) [string trim $PgAcVar(user,verifypassword)]
-	if {$PgAcVar(user,name)==""} {
-		showError [intlmsg "User without name?"]
-		focus .pgaw:User.e1
-		return
-	}
-	if {$PgAcVar(user,password)!=$PgAcVar(user,verifypassword)} {
-		showError [intlmsg "Passwords do not match!"]
-		set PgAcVar(user,password) {} ; set PgAcVar(user,verifypassword) {}
-		focus .pgaw:User.e2
-		return
-	}
-	set cmd "$PgAcVar(user,action) user \"$PgAcVar(user,name)\""
-	if {$PgAcVar(user,password)!=""} {
-		set cmd "$cmd WITH PASSWORD '$PgAcVar(user,password)' "
-	}
-	set cmd "$cmd $PgAcVar(user,createdb) $PgAcVar(user,createuser)"
-	if {$PgAcVar(user,validuntil)!=""} {
-		set cmd "$cmd VALID UNTIL '$PgAcVar(user,validuntil)'"
-	}
-	if {[sql_exec noquiet $cmd]} {
-		Window destroy .pgaw:User
-		Mainlib::cmd_Users
-	}
-}
-
-}
-
-proc vTclWindow.pgaw:User {base} {
-	if {$base == ""} {
-		set base .pgaw:User
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 263x220+233+165
-	wm maxsize $base 1009 738
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 0 0
-	wm deiconify $base
-	wm title $base [intlmsg "Define new user"]
-	label $base.l1 \
-		-borderwidth 0 -anchor w -text [intlmsg "User name"]
-	entry $base.e1 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(user,name) 
-	bind $base.e1 <Key-Return> "focus .pgaw:User.e2"
-	bind $base.e1 <Key-KP_Enter> "focus .pgaw:User.e2"
-	label $base.l2 \
-		-borderwidth 0 -text [intlmsg Password]
-	entry $base.e2 \
-		-background #fefefe -borderwidth 1 -show * -textvariable PgAcVar(user,password) 
-	bind $base.e2 <Key-Return> "focus .pgaw:User.e3"
-	bind $base.e2 <Key-KP_Enter> "focus .pgaw:User.e3"
-	label $base.l3 \
-		-borderwidth 0 -text [intlmsg {verify password}]
-	entry $base.e3 \
-		-background #fefefe -borderwidth 1 -show * -textvariable PgAcVar(user,verifypassword) 
-	bind $base.e3 <Key-Return> "focus .pgaw:User.cb1"
-	bind $base.e3 <Key-KP_Enter> "focus .pgaw:User.cb1"
-	checkbutton $base.cb1 \
-		-borderwidth 1 -offvalue NOCREATEDB -onvalue CREATEDB \
-		-text [intlmsg {Allow user to create databases}] -variable PgAcVar(user,createdb) 
-	checkbutton $base.cb2 \
-		-borderwidth 1 -offvalue NOCREATEUSER -onvalue CREATEUSER \
-		-text [intlmsg {Allow user to create other users}] -variable PgAcVar(user,createuser) 
-	label $base.l4 \
-		-borderwidth 0 -anchor w -text [intlmsg {Valid until (date)}]
-	entry $base.e4 \
-		-background #fefefe -borderwidth 1 -textvariable PgAcVar(user,validuntil)
-	bind $base.e4 <Key-Return> "focus .pgaw:User.b1"
-	bind $base.e4 <Key-KP_Enter> "focus .pgaw:User.b1"
-	button $base.b1 \
-		-borderwidth 1 -command Users::save -text [intlmsg Create]
-	button $base.b2 \
-		-borderwidth 1 -command {Window destroy .pgaw:User} -text [intlmsg Cancel]
-	place $base.l1 \
-		-x 5 -y 7 -height 16 -anchor nw -bordermode ignore 
-	place $base.e1 \
-		-x 109 -y 5 -width 146 -height 20 -anchor nw -bordermode ignore 
-	place $base.l2 \
-		-x 5 -y 35 -anchor nw -bordermode ignore 
-	place $base.e2 \
-		-x 109 -y 32 -width 146 -height 20 -anchor nw -bordermode ignore 
-	place $base.l3 \
-		-x 5 -y 60 -anchor nw -bordermode ignore 
-	place $base.e3 \
-		-x 109 -y 58 -width 146 -height 20 -anchor nw -bordermode ignore 
-	place $base.cb1 \
-		-x 5 -y 90 -anchor nw -bordermode ignore 
-	place $base.cb2 \
-		-x 5 -y 115 -anchor nw -bordermode ignore 
-	place $base.l4 \
-		-x 5 -y 145 -height 16 -anchor nw -bordermode ignore 
-	place $base.e4 \
-		-x 110 -y 143 -width 146 -height 20 -anchor nw -bordermode ignore 
-	place $base.b1 \
-		-x 45 -y 185 -anchor nw -width 70 -height 25 -bordermode ignore 
-	place $base.b2 \
-		-x 140 -y 185 -anchor nw -width 70 -height 25 -bordermode ignore 
-}
-
diff --git a/src/bin/pgaccess/lib/views.tcl b/src/bin/pgaccess/lib/views.tcl
deleted file mode 100644
index dc520a5b746..00000000000
--- a/src/bin/pgaccess/lib/views.tcl
+++ /dev/null
@@ -1,45 +0,0 @@
-namespace eval Views {
-
-proc {new} {} {
-global PgAcVar
-	set PgAcVar(query,oid) 0
-	set PgAcVar(query,name) {}
-	Window show .pgaw:QueryBuilder
-	set PgAcVar(query,asview) 1
-	.pgaw:QueryBuilder.saveAsView configure -state disabled
-}
-
-
-proc {open} {viewname} {
-global PgAcVar
-	if {$viewname==""} return;
-	set wn [Tables::getNewWindowName]
-	Tables::createWindow
-	set PgAcVar(mw,$wn,query) "select * from \"$viewname\""
-	set PgAcVar(mw,$wn,isaquery) 0
-	set PgAcVar(mw,$wn,updatable) 0
-	Tables::loadLayout $wn $viewname
-	Tables::selectRecords $wn $PgAcVar(mw,$wn,query)
-}
-
-
-proc {design} {viewname} {
-global PgAcVar CurrentDB
-	set vd {}
-	wpg_select $CurrentDB "select pg_get_viewdef('$viewname')as vd" tup {
-		set vd $tup(vd)
-	}
-	if {$vd==""} {
-		showError "[intlmsg {Error retrieving view definition for}] '$viewname'!"
-		return
-	}
-	Window show .pgaw:QueryBuilder
-	.pgaw:QueryBuilder.text1 delete 0.0 end
-	.pgaw:QueryBuilder.text1 insert end $vd
-	set PgAcVar(query,asview) 1
-	.pgaw:QueryBuilder.saveAsView configure -state disabled
-	set PgAcVar(query,name) $viewname
-}
-
-
-}
diff --git a/src/bin/pgaccess/lib/visualqb.tcl b/src/bin/pgaccess/lib/visualqb.tcl
deleted file mode 100644
index 563d5437f5a..00000000000
--- a/src/bin/pgaccess/lib/visualqb.tcl
+++ /dev/null
@@ -1,776 +0,0 @@
-namespace eval VisualQueryBuilder {
-
-# The following array will hold all the local variables
-
-variable vqb
-
-proc {addNewTable} {{tabx 0} {taby 0} {alias -1}} {
-global PgAcVar CurrentDB
-variable vqb
-if {$vqb(newtablename)==""} return
-set fldlist {}
-setCursor CLOCK
-wpg_select $CurrentDB "select attnum,attname from pg_class,pg_attribute where (pg_class.relname='$vqb(newtablename)') and (pg_class.oid=pg_attribute.attrelid) and (attnum>0) order by attnum" rec {
-		lappend fldlist $rec(attname)
-}
-setCursor DEFAULT
-if {$fldlist==""} {
-	showError [format [intlmsg "Table '%s' not found!"] $vqb(newtablename)]
-	return
-}
-if {$alias==-1} {
-	set tabnum $vqb(ntables)
-} else {
-	regsub t $alias "" tabnum
-}
-set vqb(tablename$tabnum) $vqb(newtablename)
-set vqb(tablestruct$tabnum) $fldlist
-set vqb(tablealias$tabnum) "t$tabnum"
-set vqb(ali_t$tabnum) $vqb(newtablename)
-set vqb(tablex$tabnum) $tabx
-set vqb(tabley$tabnum) $taby
-
-incr vqb(ntables)
-if {$vqb(ntables)==1} {
-	repaintAll
-} else {
-	drawTable [expr $vqb(ntables)-1]
-}
-set vqb(newtablename) {}
-focus .pgaw:VisualQuery.fb.entt
-}
-
-proc {computeSQL} {} {
-global PgAcVar
-variable vqb
-set sqlcmd "select "
-#rjr 8Mar1999 added logical return state for results
-for {set i 0} {$i<[llength $vqb(resfields)]} {incr i} {
-	if {[lindex $vqb(resreturn) $i]==[intlmsg Yes]} {
-		if {$sqlcmd!="select "} {set sqlcmd "$sqlcmd, "}
-		set sqlcmd "$sqlcmd[lindex $vqb(restables) $i].\"[lindex $vqb(resfields) $i]\""
-	}
-}
-set tables {}
-for {set i 0} {$i<$vqb(ntables)} {incr i} {
-	set thename {}
-	catch {set thename $vqb(tablename$i)}
-	if {$thename!=""} {lappend tables "\"$vqb(tablename$i)\" $vqb(tablealias$i)"}
-}
-set sqlcmd "$sqlcmd from [join $tables ,] "
-set sup1 {}
-if {[llength $vqb(links)]>0} {
-	set sup1 "where "
-	foreach link $vqb(links) {
-		if {$sup1!="where "} {set sup1 "$sup1 and "}
-		set sup1 "$sup1 ([lindex $link 0].\"[lindex $link 1]\"=[lindex $link 2].\"[lindex $link 3]\")"
-	}
-}
-for {set i 0} {$i<[llength $vqb(resfields)]} {incr i} {
-	set crit [lindex $vqb(rescriteria) $i]
-	if {$crit!=""} {
-		if {$sup1==""} {set sup1 "where "}
-		if {[string length $sup1]>6} {set sup1 "$sup1 and "}
-		set sup1 "$sup1 ([lindex $vqb(restables) $i].\"[lindex $vqb(resfields) $i]\" $crit) "        
-	}        
-}
-set sqlcmd "$sqlcmd $sup1"
-set sup2 {}
-for {set i 0} {$i<[llength $vqb(ressort)]} {incr i} {
-	set how [lindex $vqb(ressort) $i]
-	if {$how!="unsorted"} {
-		if {$how=="Ascending"} {set how asc} else {set how desc}
-		if {$sup2==""} {set sup2 " order by "} else {set sup2 "$sup2,"}
-		set sup2 "$sup2 [lindex $vqb(restables) $i].\"[lindex $vqb(resfields) $i]\" $how "
-	}
-}
-set sqlcmd "$sqlcmd $sup2"
-set vqb(qcmd) $sqlcmd
-return $sqlcmd
-}
-
-proc {deleteObject} {} {
-global PgAcVar
-variable vqb
-# Checking if there is a highlighted object (i.e. is selected)
-set obj [.pgaw:VisualQuery.c find withtag hili]
-if {$obj==""} return
-#
-# Is object a link ?
-if {[getTagInfo $obj link]=="s"} {
-	if {[tk_messageBox -title [intlmsg Warning] -icon question -parent .pgaw:VisualQuery -message [intlmsg "Remove link ?"] -type yesno -default no]=="no"} return
-	set linkid [getTagInfo $obj lkid]
-	set vqb(links) [lreplace $vqb(links) $linkid $linkid]
-	.pgaw:VisualQuery.c delete links
-	drawLinks
-	return
-}
-#
-# Is object a result field ?
-if {[getTagInfo $obj res]=="f"} {
-	set col [getTagInfo $obj col]
-	if {$col==""} return
-	if {[tk_messageBox -title [intlmsg Warning] -icon question -parent .pgaw:VisualQuery -message [intlmsg "Remove field from result ?"] -type yesno -default no]=="no"} return
-	set vqb(resfields) [lreplace $vqb(resfields) $col $col]
-	set vqb(ressort) [lreplace $vqb(ressort) $col $col]
-	set vqb(resreturn) [lreplace $vqb(resreturn) $col $col]
-	set vqb(restables) [lreplace $vqb(restables) $col $col]
-	set vqb(rescriteria) [lreplace $vqb(rescriteria) $col $col]
-	drawResultPanel
-	return
-}
-#
-# Is object a table ?
-set tablealias [getTagInfo $obj tab]
-set tablename $vqb(ali_$tablealias)
-if {"$tablename"==""} return
-if {[tk_messageBox -title [intlmsg Warning] -icon question -parent .pgaw:VisualQuery -message [format [intlmsg "Remove table %s from query?"] $tablename] -type yesno -default no]=="no"} return
-for {set i [expr [llength $vqb(restables)]-1]} {$i>=0} {incr i -1} {
-	if {"$tablealias"==[lindex $vqb(restables) $i]} {
-	   set vqb(resfields) [lreplace $vqb(resfields) $i $i]
-	   set vqb(ressort) [lreplace $vqb(ressort) $i $i]
-	   set vqb(resreturn) [lreplace $vqb(resreturn) $i $i]
-	   set vqb(restables) [lreplace $vqb(restables) $i $i]
-	   set vqb(rescriteria) [lreplace $vqb(rescriteria) $i $i]
-	}
-}
-for {set i [expr [llength $vqb(links)]-1]} {$i>=0} {incr i -1} {
-	set thelink [lindex $vqb(links) $i]
-	if {($tablealias==[lindex $thelink 0]) || ($tablealias==[lindex $thelink 2])} {
-		set vqb(links) [lreplace $vqb(links) $i $i]
-	}
-}
-for {set i 0} {$i<$vqb(ntables)} {incr i} {
-	set temp {}
-	catch {set temp $vqb(tablename$i)}
-	if {"$temp"=="$tablename"} {
-		unset vqb(tablename$i)
-		unset vqb(tablestruct$i)
-		unset vqb(tablealias$i)
-		break
-	}
-}
-unset vqb(ali_$tablealias)
-#incr vqb(ntables) -1
-.pgaw:VisualQuery.c delete tab$tablealias
-.pgaw:VisualQuery.c delete links
-drawLinks
-drawResultPanel
-}
-
-
-proc {dragObject} {w x y} {
-global PgAcVar
-variable vqb
-	if {"$PgAcVar(draginfo,obj)" == ""} {return}
-	set dx [expr $x - $PgAcVar(draginfo,x)]
-	set dy [expr $y - $PgAcVar(draginfo,y)]
-	if {$PgAcVar(draginfo,is_a_table)} {
-		$w move $PgAcVar(draginfo,tabletag) $dx $dy
-		drawLinks
-	} else {
-		$w move $PgAcVar(draginfo,obj) $dx $dy
-	}
-	set PgAcVar(draginfo,x) $x
-	set PgAcVar(draginfo,y) $y
-}
-
-
-proc {dragStart} {w x y} {
-global PgAcVar
-variable vqb
-PgAcVar:clean draginfo,*
-set PgAcVar(draginfo,obj) [$w find closest $x $y]
-if {[getTagInfo $PgAcVar(draginfo,obj) r]=="ect"} {
-	# If it'a a rectangle, exit
-	set PgAcVar(draginfo,obj) {}
-	return
-}
-.pgaw:VisualQuery configure -cursor hand1
-.pgaw:VisualQuery.c raise $PgAcVar(draginfo,obj)
-set PgAcVar(draginfo,table) 0
-if {[getTagInfo $PgAcVar(draginfo,obj) table]=="header"} {
-	set PgAcVar(draginfo,is_a_table) 1
-	set taglist [.pgaw:VisualQuery.c gettags $PgAcVar(draginfo,obj)]
-	set PgAcVar(draginfo,tabletag) [lindex $taglist [lsearch -regexp $taglist "^tab\[0-9\]*"]]
-	.pgaw:VisualQuery.c raise $PgAcVar(draginfo,tabletag)
-	.pgaw:VisualQuery.c itemconfigure [.pgaw:VisualQuery.c find withtag hili] -fill black
-	.pgaw:VisualQuery.c dtag [.pgaw:VisualQuery.c find withtag hili] hili
-	.pgaw:VisualQuery.c addtag hili withtag $PgAcVar(draginfo,obj)
-	.pgaw:VisualQuery.c itemconfigure hili -fill blue
-} else {
-	set PgAcVar(draginfo,is_a_table) 0
-}
-set PgAcVar(draginfo,x) $x
-set PgAcVar(draginfo,y) $y
-set PgAcVar(draginfo,sx) $x
-set PgAcVar(draginfo,sy) $y
-}
-
-
-proc {dragStop} {x y} {
-global PgAcVar
-variable vqb
-# when click Close, ql window is destroyed but event ButtonRelease-1 is fired
-if {![winfo exists .pgaw:VisualQuery]} return;
-.pgaw:VisualQuery configure -cursor left_ptr
-set este {}
-catch {set este $PgAcVar(draginfo,obj)}
-if {$este==""} return
-# Re-establish the normal paint order so
-# information won't be overlapped by table rectangles
-# or link lines
-.pgaw:VisualQuery.c lower $PgAcVar(draginfo,obj)
-.pgaw:VisualQuery.c lower rect
-.pgaw:VisualQuery.c lower links
-set vqb(panstarted) 0
-if {$PgAcVar(draginfo,is_a_table)} {
-	set tabnum [getTagInfo $PgAcVar(draginfo,obj) tabt]
-	foreach w [.pgaw:VisualQuery.c find withtag $PgAcVar(draginfo,tabletag)] {
-		if {[lsearch [.pgaw:VisualQuery.c gettags $w] outer] != -1} {
-			foreach [list vqb(tablex$tabnum) vqb(tabley$tabnum) x1 y1] [.pgaw:VisualQuery.c coords $w] {}
-		}
-	}
-	set PgAcVar(draginfo,obj) {}
-	.pgaw:VisualQuery.c delete links
-	drawLinks
-	return
-}
-.pgaw:VisualQuery.c move $PgAcVar(draginfo,obj) [expr $PgAcVar(draginfo,sx)-$x] [expr $PgAcVar(draginfo,sy)-$y]
-if {($y>$vqb(yoffs)) && ($x>$vqb(xoffs))} {
-	# Drop position : inside the result panel
-	# Compute the offset of the result panel due to panning
-	set resoffset [expr [lindex [.pgaw:VisualQuery.c bbox resmarker] 0]-$vqb(xoffs)]
-	set newfld [.pgaw:VisualQuery.c itemcget $PgAcVar(draginfo,obj) -text]
-	set tabtag [getTagInfo $PgAcVar(draginfo,obj) tab]
-	set col [expr int(($x-$vqb(xoffs)-$resoffset)/$vqb(reswidth))]
-	set vqb(resfields) [linsert $vqb(resfields) $col $newfld]
-	set vqb(ressort) [linsert $vqb(ressort) $col unsorted]
-	set vqb(rescriteria) [linsert $vqb(rescriteria) $col {}]
-	set vqb(restables) [linsert $vqb(restables) $col $tabtag]
-	set vqb(resreturn) [linsert $vqb(resreturn) $col [intlmsg Yes]]
-	drawResultPanel    
-} else {
-	# Drop position : in the table panel
-	set droptarget [.pgaw:VisualQuery.c find overlapping $x $y $x $y]
-	set targettable {}
-	foreach item $droptarget {
-		set targettable [getTagInfo $item tab]
-		set targetfield [getTagInfo $item f-]
-		if {($targettable!="") && ($targetfield!="")} {
-			set droptarget $item
-			break
-		}
-	}
-	# check if target object isn't a rectangle
-	if {[getTagInfo $droptarget rec]=="t"} {set targettable {}}
-	if {$targettable!=""} {
-		# Target has a table
-		# See about originate table
-		set sourcetable [getTagInfo $PgAcVar(draginfo,obj) tab]
-		if {$sourcetable!=""} {
-			# Source has also a tab .. tag
-			set sourcefield [getTagInfo $PgAcVar(draginfo,obj) f-]
-			if {$sourcetable!=$targettable} {
-				lappend vqb(links) [list $sourcetable $sourcefield $targettable $targetfield]
-				drawLinks
-			}
-		}
-	}
-}
-# Erase information about onbject beeing dragged
-set PgAcVar(draginfo,obj) {}
-}
-
-
-proc {getTableList} {} {
-global PgAcVar
-variable vqb
-	set tablelist {}
-	foreach name [array names vqb tablename*] {
-		regsub tablename $name "" num
-		lappend tablelist $vqb($name) $vqb(tablex$num) $vqb(tabley$num) t$num
-	}
-	return $tablelist
-}
-
-
-proc {getLinkList} {} {
-global PgAcVar
-variable vqb
-	set linklist {}
-	foreach l $vqb(links) {
-		lappend linklist [lindex $l 0] [lindex $l 1] [lindex $l 2] [lindex $l 3] 
-		}
-	return $linklist
-}
-
-
-proc {loadVisualLayout} {} {
-global PgAcVar
-variable vqb
-	init
-	foreach {t x y a} $PgAcVar(query,tables) {set vqb(newtablename) $t; addNewTable $x $y $a}
-	foreach {t0 f0 t1 f1} $PgAcVar(query,links) {lappend vqb(links) [list $t0 $f0 $t1 $f1]}
-	foreach {f t s c r} $PgAcVar(query,results) {addResultColumn $f $t $s $c $r}
-	repaintAll
-}
-
-
-proc {findField} {alias field} {
-	foreach obj [.pgaw:VisualQuery.c find withtag f-${field}] {
-		if {[lsearch [.pgaw:VisualQuery.c gettags $obj] tab$alias] != -1} {return $obj}
-	}
-	return -1
-}
-
-
-proc {getResultList} {} {
-global PgAcVar
-variable vqb
-	set reslist {}
-	for {set i 0} {$i < [llength $vqb(resfields)]} {incr i} {
-		lappend reslist [lindex $vqb(resfields) $i]
-		lappend reslist [lindex $vqb(restables) $i]
-		lappend reslist [lindex $vqb(ressort) $i]
-		lappend reslist [lindex $vqb(rescriteria) $i]
-		lappend reslist [lindex $vqb(resreturn) $i]
-	}
-	return $reslist
-}
-
-
-proc {addResultColumn} {f t s c r} {
-global PgAcVar
-variable vqb
-	lappend vqb(resfields) $f
-	lappend vqb(restables) $t
-	lappend vqb(ressort) $s
-	lappend vqb(rescriteria) $c
-	lappend vqb(resreturn) $r
-}
-
-
-proc {drawLinks} {} {
-global PgAcVar
-variable vqb
-.pgaw:VisualQuery.c delete links
-set i 0
-foreach link $vqb(links) {
-	# Compute the source and destination right edge
-	set sre [lindex [.pgaw:VisualQuery.c bbox tab[lindex $link 0]] 2]
-	set dre [lindex [.pgaw:VisualQuery.c bbox tab[lindex $link 2]] 2]
-	# Compute field bound boxes
-	set sbbox [.pgaw:VisualQuery.c bbox [findField [lindex $link 0] [lindex $link 1]]]
-	set dbbox [.pgaw:VisualQuery.c bbox [findField [lindex $link 2] [lindex $link 3]]]
-	# Compute the auxiliary lines
-	if {[lindex $sbbox 2] < [lindex $dbbox 0]} {
-		# Source object is on the left of target object
-		set x1 $sre
-		set y1 [expr ([lindex $sbbox 1]+[lindex $sbbox 3])/2]
-		.pgaw:VisualQuery.c create line $x1 $y1 [expr $x1+10] $y1 -tags [subst {links lkid$i}] -width 3
-		set x2 [lindex $dbbox 0]
-		set y2 [expr ([lindex $dbbox 1]+[lindex $dbbox 3])/2]
-		.pgaw:VisualQuery.c create line [expr $x2-10] $y2 $x2 $y2 -tags [subst {links lkid$i}] -width 3
-		.pgaw:VisualQuery.c create line [expr $x1+10] $y1 [expr $x2-10] $y2 -tags [subst {links lkid$i}] -width 2
-	} else {
-		# source object is on the right of target object
-		set x1 [lindex $sbbox 0]
-		set y1 [expr ([lindex $sbbox 1]+[lindex $sbbox 3])/2]
-		.pgaw:VisualQuery.c create line $x1 $y1 [expr $x1-10] $y1 -tags [subst {links lkid$i}] -width 3
-		set x2 $dre
-		set y2 [expr ([lindex $dbbox 1]+[lindex $dbbox 3])/2]
-		.pgaw:VisualQuery.c create line $x2 $y2 [expr $x2+10] $y2 -width 3 -tags [subst {links lkid$i}]
-		.pgaw:VisualQuery.c create line [expr $x1-10] $y1 [expr $x2+10] $y2 -tags [subst {links lkid$i}] -width 2
-	}
-	incr i
-}
-.pgaw:VisualQuery.c lower links
-.pgaw:VisualQuery.c bind links <Button-1> {VisualQueryBuilder::linkClick %x %y}
-}
-
-
-proc {repaintAll} {} {
-global PgAcVar
-variable vqb
-.pgaw:VisualQuery.c delete all
-set posx 20
-foreach tn [array names vqb tablename*] {
-	regsub tablename $tn "" it
-	drawTable $it
-}
-.pgaw:VisualQuery.c lower rect
-.pgaw:VisualQuery.c create line 0 $vqb(yoffs) 10000 $vqb(yoffs) -width 3
-.pgaw:VisualQuery.c create rectangle 0 $vqb(yoffs) 10000 5000 -fill #FFFFFF
-for {set i [expr 15+$vqb(yoffs)]} {$i<500} {incr i 15} {
-	.pgaw:VisualQuery.c create line $vqb(xoffs) $i 10000 $i -fill #CCCCCC -tags {resgrid}
-}    
-for {set i $vqb(xoffs)} {$i<10000} {incr i $vqb(reswidth)} {
-	.pgaw:VisualQuery.c create line $i [expr 1+$vqb(yoffs)] $i 10000 -fill #cccccc -tags {resgrid}
-}
-# Make a marker for result panel offset calculations (due to panning)
-.pgaw:VisualQuery.c create line $vqb(xoffs) $vqb(yoffs) $vqb(xoffs) 500 -tags {resmarker resgrid}
-.pgaw:VisualQuery.c create rectangle 0 $vqb(yoffs) $vqb(xoffs) 5000 -fill #EEEEEE -tags {reshdr}
-.pgaw:VisualQuery.c create text 5 [expr 1+$vqb(yoffs)]  -text [intlmsg Field] -anchor nw -font $PgAcVar(pref,font_normal) -tags {reshdr}
-.pgaw:VisualQuery.c create text 5 [expr 16+$vqb(yoffs)] -text [intlmsg Table] -anchor nw -font $PgAcVar(pref,font_normal) -tags {reshdr}
-.pgaw:VisualQuery.c create text 5 [expr 31+$vqb(yoffs)] -text [intlmsg Sort] -anchor nw -font $PgAcVar(pref,font_normal) -tags {reshdr}
-.pgaw:VisualQuery.c create text 5 [expr 46+$vqb(yoffs)] -text [intlmsg Criteria] -anchor nw -font $PgAcVar(pref,font_normal) -tags {reshdr}
-.pgaw:VisualQuery.c create text 5 [expr 61+$vqb(yoffs)] -text [intlmsg Return] -anchor nw -font $PgAcVar(pref,font_normal) -tags {reshdr}
-
-drawLinks
-drawResultPanel
-
-.pgaw:VisualQuery.c bind mov <Button-1> {VisualQueryBuilder::dragStart %W %x %y}
-.pgaw:VisualQuery.c bind mov <B1-Motion> {VisualQueryBuilder::dragObject %W %x %y}
-bind .pgaw:VisualQuery <ButtonRelease-1> {VisualQueryBuilder::dragStop %x %y}
-bind .pgaw:VisualQuery <Button-1> {VisualQueryBuilder::canvasClick %x %y %W}
-bind .pgaw:VisualQuery <B1-Motion> {VisualQueryBuilder::panning %x %y}
-bind .pgaw:VisualQuery <Key-Delete> {VisualQueryBuilder::deleteObject}
-}
-
-
-proc {drawResultPanel} {} {
-global PgAcVar
-variable vqb
-# Compute the offset of the result panel due to panning
-set resoffset [expr [lindex [.pgaw:VisualQuery.c bbox resmarker] 0]-$vqb(xoffs)]
-.pgaw:VisualQuery.c delete resp
-for {set i 0} {$i<[llength $vqb(resfields)]} {incr i} {
-	.pgaw:VisualQuery.c create text [expr $resoffset+4+$vqb(xoffs)+$i*$vqb(reswidth)] [expr 1+$vqb(yoffs)] -text [lindex $vqb(resfields) $i] -anchor nw -tags [subst {resf resp col$i}] -font $PgAcVar(pref,font_normal)
-	.pgaw:VisualQuery.c create text [expr $resoffset+4+$vqb(xoffs)+$i*$vqb(reswidth)] [expr 16+$vqb(yoffs)] -text $vqb(ali_[lindex $vqb(restables) $i]) -anchor nw -tags {resp rest} -font $PgAcVar(pref,font_normal)
-	.pgaw:VisualQuery.c create text [expr $resoffset+4+$vqb(xoffs)+$i*$vqb(reswidth)] [expr 31+$vqb(yoffs)] -text [lindex $vqb(ressort) $i] -anchor nw -tags {resp sort} -font $PgAcVar(pref,font_normal)
-	if {[lindex $vqb(rescriteria) $i]!=""} {
-		.pgaw:VisualQuery.c create text [expr $resoffset+4+$vqb(xoffs)+$i*$vqb(reswidth)]  [expr $vqb(yoffs)+46+15*0] -anchor nw -text [lindex $vqb(rescriteria) $i]  -font $PgAcVar(pref,font_normal) -tags [subst {resp cr-c$i-r0}]
-	}
-	.pgaw:VisualQuery.c create text [expr $resoffset+4+$vqb(xoffs)+$i*$vqb(reswidth)] [expr 61+$vqb(yoffs)] -text [lindex $vqb(resreturn) $i] -anchor nw -tags {resp retval} -font $PgAcVar(pref,font_normal)
-}
-.pgaw:VisualQuery.c raise reshdr
-.pgaw:VisualQuery.c bind resf <Button-1> {VisualQueryBuilder::resultFieldClick %x %y}
-.pgaw:VisualQuery.c bind sort <Button-1> {VisualQueryBuilder::toggleSortMode %W %x %y}
-.pgaw:VisualQuery.c bind retval <Button-1> {VisualQueryBuilder::toggleReturn %W %x %y}
-}
-
-
-proc {drawTable} {it} {
-global PgAcVar
-variable vqb
-if {$vqb(tablex$it)==0} {
-	set posy 10
-	set allbox [.pgaw:VisualQuery.c bbox rect]
-	if {$allbox==""} {set posx 10} else {set posx [expr 20+[lindex $allbox 2]]}
-	set vqb(tablex$it) $posx
-	set vqb(tabley$it) $posy
-} else {
-	set posx [expr int($vqb(tablex$it))]
-	set posy [expr int($vqb(tabley$it))]
-}
-set tablename $vqb(tablename$it)
-set tablealias $vqb(tablealias$it)
-.pgaw:VisualQuery.c create text $posx $posy -text "$tablename" -anchor nw -tags [subst {tab$tablealias f-oid mov tableheader}] -font $PgAcVar(pref,font_bold)
-incr posy 16
-foreach fld $vqb(tablestruct$it) {
-   .pgaw:VisualQuery.c create text $posx $posy -text $fld -fill #010101 -anchor nw -tags [subst {f-$fld tab$tablealias mov}] -font $PgAcVar(pref,font_normal)
-   incr posy 14
-}
-set reg [.pgaw:VisualQuery.c bbox tab$tablealias]
-.pgaw:VisualQuery.c create rectangle [lindex $reg 0] [lindex $reg 1] [lindex $reg 2] [lindex $reg 3] -fill #EEEEEE -tags [subst {rect outer tab$tablealias}]
-.pgaw:VisualQuery.c create line [lindex $reg 0] [expr [lindex $reg 1]+15] [lindex $reg 2] [expr [lindex $reg 1]+15] -tags [subst {rect tab$tablealias}]
-.pgaw:VisualQuery.c lower tab$tablealias
-.pgaw:VisualQuery.c lower rect
-}
-
-
-proc {getTagInfo} {obj prefix} {
-variable vqb
-	set taglist [.pgaw:VisualQuery.c gettags $obj]
-	set tagpos [lsearch -regexp $taglist "^$prefix"]
-	if {$tagpos==-1} {return ""}
-	set thattag [lindex $taglist $tagpos]
-	return [string range $thattag [string length $prefix] end]
-}
-
-proc {init} {} {
-global PgAcVar
-variable vqb
-	catch { unset vqb }
-	set vqb(yoffs) 360
-	set vqb(xoffs) 50
-	set vqb(reswidth) 150
-	set vqb(resfields) {}
-	set vqb(resreturn) {}
-	set vqb(ressort) {}
-	set vqb(rescriteria) {}
-	set vqb(restables) {}
-	set vqb(critedit) 0
-	set vqb(links) {}
-	set vqb(ntables) 0
-	set vqb(newtablename) {}
-}
-
-
-proc {linkClick} {x y} {
-global PgAcVar
-variable vqb
-	set obj [.pgaw:VisualQuery.c find closest $x $y 1 links]
-	if {[getTagInfo $obj link]!="s"} return
-	.pgaw:VisualQuery.c itemconfigure [.pgaw:VisualQuery.c find withtag hili] -fill black
-	.pgaw:VisualQuery.c dtag [.pgaw:VisualQuery.c find withtag hili] hili
-	.pgaw:VisualQuery.c addtag hili withtag $obj
-	.pgaw:VisualQuery.c itemconfigure $obj -fill blue
-}
-
-
-proc {panning} {x y} {
-global PgAcVar
-variable vqb
-	set panstarted 0
-	catch {set panstarted $vqb(panstarted) }
-	if {!$panstarted} return
-	set dx [expr $x-$vqb(panstartx)]
-	set dy [expr $y-$vqb(panstarty)]
-	set vqb(panstartx) $x
-	set vqb(panstarty) $y
-	if {$vqb(panobject)=="tables"} {
-		.pgaw:VisualQuery.c move mov $dx $dy
-		.pgaw:VisualQuery.c move links $dx $dy
-		.pgaw:VisualQuery.c move rect $dx $dy
-	} else {
-		.pgaw:VisualQuery.c move resp $dx 0
-		.pgaw:VisualQuery.c move resgrid $dx 0
-		.pgaw:VisualQuery.c raise reshdr
-	}
-}
-
-
-proc {resultFieldClick} {x y} {
-global PgAcVar
-variable vqb
-	set obj [.pgaw:VisualQuery.c find closest $x $y]
-	if {[getTagInfo $obj res]!="f"} return
-	.pgaw:VisualQuery.c itemconfigure [.pgaw:VisualQuery.c find withtag hili] -fill black
-	.pgaw:VisualQuery.c dtag [.pgaw:VisualQuery.c find withtag hili] hili
-	.pgaw:VisualQuery.c addtag hili withtag $obj
-	.pgaw:VisualQuery.c itemconfigure $obj -fill blue
-}
-
-
-proc {showSQL} {} {
-global PgAcVar
-variable vqb
-	set sqlcmd [computeSQL]
-	.pgaw:VisualQuery.c delete sqlpage
-	.pgaw:VisualQuery.c create rectangle 0 0 2000 [expr $vqb(yoffs)-1] -fill #ffffff -tags {sqlpage}
-	.pgaw:VisualQuery.c create text 10 10 -text $sqlcmd -anchor nw -width 550 -tags {sqlpage} -font $PgAcVar(pref,font_normal)
-	.pgaw:VisualQuery.c bind sqlpage <Button-1> {.pgaw:VisualQuery.c delete sqlpage}
-}
-
-
-proc {toggleSortMode} {w x y} {
-global PgAcVar
-variable vqb
-	set obj [$w find closest $x $y]
-	set taglist [.pgaw:VisualQuery.c gettags $obj]
-	if {[lsearch $taglist sort]==-1} return
-	set how [.pgaw:VisualQuery.c itemcget $obj -text]
-	if {$how=="unsorted"} {
-		set how Ascending
-	} elseif {$how=="Ascending"} {
-		set how Descending
-	} else {
-		set how unsorted
-	}
-	set col [expr int(($x-$vqb(xoffs))/$vqb(reswidth))]
-	set vqb(ressort) [lreplace $vqb(ressort) $col $col $how]
-	.pgaw:VisualQuery.c itemconfigure $obj -text $how
-}
-
-
-#rjr 8Mar1999 toggle logical return state for result
-proc {toggleReturn} {w x y} {
-global PgAcVar
-variable vqb
-	set obj [$w find closest $x $y]
-	set taglist [.pgaw:VisualQuery.c gettags $obj]
-	if {[lsearch $taglist retval]==-1} return
-	set how [.pgaw:VisualQuery.c itemcget $obj -text]
-	if {$how==[intlmsg Yes]} {
-		set how [intlmsg No]
-	} else {
-		set how [intlmsg Yes]
-	} 
-	set col [expr int(($x-$vqb(xoffs))/$vqb(reswidth))]
-	set vqb(resreturn) [lreplace $vqb(resreturn) $col $col $how]
-	.pgaw:VisualQuery.c itemconfigure $obj -text $how
-}
-
-
-proc {canvasClick} {x y w} {
-global PgAcVar
-variable vqb
-set vqb(panstarted) 0
-if {$w==".pgaw:VisualQuery.c"} {
-	set canpan 1
-	if {$y<$vqb(yoffs)} {
-		if {[llength [.pgaw:VisualQuery.c find overlapping $x $y $x $y]]!=0} {set canpan 0}
-			set vqb(panobject) tables
-	} else {
-		set vqb(panobject) result
-	}
-	if {$canpan} {
-		.pgaw:VisualQuery configure -cursor hand1
-		set vqb(panstartx) $x
-		set vqb(panstarty) $y
-		set vqb(panstarted) 1
-	}
-}
-set isedit 0
-catch {set isedit $vqb(critedit)}
-# Compute the offset of the result panel due to panning
-set resoffset [expr [lindex [.pgaw:VisualQuery.c bbox resmarker] 0]-$vqb(xoffs)]
-if {$isedit} {
-	set vqb(rescriteria) [lreplace $vqb(rescriteria) $vqb(critcol) $vqb(critcol) $vqb(critval)]
-	.pgaw:VisualQuery.c delete cr-c$vqb(critcol)-r$vqb(critrow)
-	.pgaw:VisualQuery.c create text [expr $resoffset+4+$vqb(xoffs)+$vqb(critcol)*$vqb(reswidth)] [expr $vqb(yoffs)+46+15*$vqb(critrow)] -anchor nw -text $vqb(critval) -font $PgAcVar(pref,font_normal) -tags [subst {resp cr-c$vqb(critcol)-r$vqb(critrow)}]
-	set vqb(critedit) 0
-}
-catch {destroy .pgaw:VisualQuery.entc}
-if {$y<[expr $vqb(yoffs)+46]} return
-if {$x<[expr $vqb(xoffs)+5]} return
-set col [expr int(($x-$vqb(xoffs)-$resoffset)/$vqb(reswidth))]
-if {$col>=[llength $vqb(resfields)]} return
-set nx [expr $col*$vqb(reswidth)+8+$vqb(xoffs)+$resoffset]
-set ny [expr $vqb(yoffs)+76]
-# Get the old criteria value
-set vqb(critval) [lindex $vqb(rescriteria) $col]
-entry .pgaw:VisualQuery.entc -textvar VisualQueryBuilder::vqb(critval) -borderwidth 0 -background #FFFFFF -highlightthickness 0 -selectborderwidth 0  -font $PgAcVar(pref,font_normal)
-place .pgaw:VisualQuery.entc -x $nx -y $ny -height 14
-focus .pgaw:VisualQuery.entc
-bind .pgaw:VisualQuery.entc <Button-1> {set VisualQueryBuilder::vqb(panstarted) 0}
-set vqb(critcol) $col
-set vqb(critrow) 0
-set vqb(critedit) 1
-}
-
-
-proc {saveToQueryBuilder} {} {
-global PgAcVar
-variable vqb
-	Window show .pgaw:QueryBuilder
-	.pgaw:QueryBuilder.text1 delete 1.0 end
-	set vqb(qcmd) [computeSQL]
-	set PgAcVar(query,tables) [getTableList]
-	set PgAcVar(query,links) [getLinkList]
-	set PgAcVar(query,results) [getResultList]
-	.pgaw:QueryBuilder.text1 insert end $vqb(qcmd)
-	focus .pgaw:QueryBuilder
-}
-
-
-proc {executeSQL} {} {
-global PgAcVar
-variable vqb
-	set vqb(qcmd) [computeSQL]
-	set wn [Tables::getNewWindowName]
-	set PgAcVar(mw,$wn,query) [subst $vqb(qcmd)]
-	set PgAcVar(mw,$wn,updatable) 0
-	set PgAcVar(mw,$wn,isaquery) 1
-	Tables::createWindow
-	Tables::loadLayout $wn nolayoutneeded
-	Tables::selectRecords $wn $PgAcVar(mw,$wn,query)
-}
-
-
-proc {createDropDown} {} {
-global PgAcVar
-variable vqb
-	if {[winfo exists .pgaw:VisualQuery.ddf]} {
-		destroy .pgaw:VisualQuery.ddf
-	} else {
-		create_drop_down .pgaw:VisualQuery 70 27 200
-		focus .pgaw:VisualQuery.ddf.sb
-		foreach tbl [Database::getTablesList] {.pgaw:VisualQuery.ddf.lb insert end $tbl}
-		bind .pgaw:VisualQuery.ddf.lb <ButtonRelease-1> {
-			set i [.pgaw:VisualQuery.ddf.lb curselection]
-			if {$i!=""} {
-				set VisualQueryBuilder::vqb(newtablename) [.pgaw:VisualQuery.ddf.lb get $i]
-				VisualQueryBuilder::addNewTable
-			}
-			destroy .pgaw:VisualQuery.ddf
-			break
-		}
-	}
-}
-
-}
-
-proc vTclWindow.pgaw:VisualQuery {base} {
-global PgAcVar
-	if {$base == ""} {
-		set base .pgaw:VisualQuery
-	}
-	if {[winfo exists $base]} {
-		wm deiconify $base; return
-	}
-	toplevel $base -class Toplevel
-	wm focusmodel $base passive
-	wm geometry $base 759x530+10+13
-	wm maxsize $base 1280 1024
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 1 1
-	wm deiconify $base
-	wm title $base [intlmsg "Visual query designer"]
-	bind $base <B1-Motion> {
-		VisualQueryBuilder::panning %x %y
-	}
-	bind $base <Button-1> {
-		VisualQueryBuilder::canvasClick %x %y %W
-	}
-	bind $base <ButtonRelease-1> {
-		VisualQueryBuilder::dragStop %x %y
-	}
-	bind $base <Key-Delete> {
-		VisualQueryBuilder::deleteObject
-	}
-	bind $base <Key-F1> "Help::load visual_designer"
-	canvas $base.c  -background #fefefe -borderwidth 2 -height 207 -relief ridge  -takefocus 0 -width 295 
-	frame $base.fb -height 75 -width 125 
-	label $base.fb.l12  -borderwidth 0 -text "[intlmsg {Add table}] "
-	entry $base.fb.entt  -background #fefefe -borderwidth 1 -highlightthickness 1 \
-		-selectborderwidth 0 -textvariable VisualQueryBuilder::vqb(newtablename) 
-	bind $base.fb.entt <Key-Return> {
-		VisualQueryBuilder::addNewTable
-	}
-	button $base.fb.bdd  -borderwidth 1 \
-		-command VisualQueryBuilder::createDropDown -image dnarw 
-	button $base.fb.showbtn \
-		-command VisualQueryBuilder::showSQL \
-		-text [intlmsg {Show SQL}]
-	button $base.fb.execbtn \
-		-command VisualQueryBuilder::executeSQL \
-		-text [intlmsg {Execute SQL}]
-	button $base.fb.stoqb \
-		-command VisualQueryBuilder::saveToQueryBuilder \
-		-text [intlmsg {Save to query builder}]
-	button $base.fb.exitbtn \
-		-command {Window destroy .pgaw:VisualQuery} \
-		-text [intlmsg Close]
-	place $base.c  -x 5 -y 30 -width 750 -height 500 -anchor nw -bordermode ignore 
-	place $base.fb \
-		-x 5 -y 0 -width 753 -height 31 -anchor nw -bordermode ignore 
-	pack $base.fb.l12 \
-		-in .pgaw:VisualQuery.fb -anchor center -expand 0 -fill none -side left 
-	pack $base.fb.entt \
-		-in .pgaw:VisualQuery.fb -anchor center -expand 0 -fill none -side left 
-	pack $base.fb.bdd \
-		-in .pgaw:VisualQuery.fb -anchor center -expand 0 -fill none -side left 
-	pack $base.fb.exitbtn \
-		-in .pgaw:VisualQuery.fb -anchor center -expand 0 -fill none -side right 
-	pack $base.fb.stoqb \
-		-in .pgaw:VisualQuery.fb -anchor center -expand 0 -fill none -side right 
-	pack $base.fb.execbtn \
-		-in .pgaw:VisualQuery.fb -anchor center -expand 0 -fill none -side right 
-	pack $base.fb.showbtn \
-		-in .pgaw:VisualQuery.fb -anchor center -expand 0 -fill none -side right 
-}
-
diff --git a/src/bin/pgaccess/main.tcl b/src/bin/pgaccess/main.tcl
deleted file mode 100644
index 3fac71d5b53..00000000000
--- a/src/bin/pgaccess/main.tcl
+++ /dev/null
@@ -1,250 +0,0 @@
-#!/bin/sh
-# the next line restarts using wish \
-exec wish "$0" ${1+"$@"}
-
-image create bitmap dnarw -data  {
-#define down_arrow_width 15
-#define down_arrow_height 15
-static char down_arrow_bits[] = {
-	0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,
-	0x00,0x80,0xf8,0x8f,0xf0,0x87,0xe0,0x83,
-	0xc0,0x81,0x80,0x80,0x00,0x80,0x00,0x80,
-	0x00,0x80,0x00,0x80,0x00,0x80
-	}
-}
-
-
-proc {intlmsg} {msg} {
-global PgAcVar Messages
-	if {$PgAcVar(pref,language)=="english"} { return $msg }
-	if { ! [array exists Messages] } { return $msg }
-	if { ! [info exists Messages($msg)] } { return $msg }
-	return $Messages($msg)
-}
-
-proc {PgAcVar:clean} {prefix} {
-global PgAcVar
-	foreach key [array names PgAcVar $prefix] {
-		set PgAcVar($key) {}
-		unset PgAcVar($key)
-	}
-}
-
-
-proc {find_PGACCESS_HOME} {} {
-global PgAcVar env
-	if {! [info exists env(PGACCESS_HOME)]} {
-		set home [file dirname [info script]]
-		switch [file pathtype $home] {
-			absolute {set env(PGACCESS_HOME) $home}
-			relative {set env(PGACCESS_HOME) [file join [pwd] $home]}
-			volumerelative {
-				set curdir [pwd]
-				cd $home
-				set env(PGACCESS_HOME) [file join [pwd] [file dirname [file join [lrange [file split $home] 1 end]]]]
-				cd $curdir
-			}
-		}
-	}
-	if {![file isdir $env(PGACCESS_HOME)]} {
-		set PgAcVar(PGACCESS_HOME) [pwd]
-	} else {
-		set PgAcVar(PGACCESS_HOME) $env(PGACCESS_HOME)
-	}
-}
-
-
-proc init {argc argv} {
-global PgAcVar CurrentDB
-	find_PGACCESS_HOME
-	# Loading all defined namespaces
-	foreach module {mainlib database tables queries visualqb forms views functions reports scripts users sequences schema help preferences} {
-		source [file join $PgAcVar(PGACCESS_HOME) lib $module.tcl]
-	}
-	set PgAcVar(currentdb,host) localhost
-	set PgAcVar(currentdb,pgport) 5432
-	set CurrentDB {}
-	set PgAcVar(tablist) [list Tables Queries Views Sequences Functions Reports Forms Scripts Users Schema]
-	set PgAcVar(activetab) {}
-	set PgAcVar(query,tables) {}
-	set PgAcVar(query,links) {}
-	set PgAcVar(query,results) {}
-	set PgAcVar(mwcount) 0
-	Preferences::load
-}
-
-proc {wpg_exec} {db cmd} {
-global PgAcVar
-	set PgAcVar(pgsql,cmd) "never executed"
-	set PgAcVar(pgsql,status) "no status yet"
-	set PgAcVar(pgsql,errmsg) "no error message yet"
-	if {[catch {
-		Mainlib::sqlw_display $cmd
-		set PgAcVar(pgsql,cmd) $cmd
-		set PgAcVar(pgsql,res) [pg_exec $db $cmd]
-		set PgAcVar(pgsql,status) [pg_result $PgAcVar(pgsql,res) -status]
-		set PgAcVar(pgsql,errmsg) [pg_result $PgAcVar(pgsql,res) -error]
-	} tclerrmsg]} {
-		showError [format [intlmsg "Tcl error executing pg_exec %s\n\n%s"] $cmd $tclerrmsg]
-		return 0
-	}
-	return $PgAcVar(pgsql,res)
-}
-
-
-proc {wpg_select} {args} {
-	Mainlib::sqlw_display "[lindex $args 1]"
-	uplevel pg_select $args
-}
-
-
-proc {create_drop_down} {base x y w} {
-global PgAcVar
-	if {[winfo exists $base.ddf]} return;
-	frame $base.ddf -borderwidth 1 -height 75 -relief raised -width 55
-	listbox $base.ddf.lb -background #fefefe -foreground #000000 -selectbackground #c3c3c3 -borderwidth 1  -font $PgAcVar(pref,font_normal)  -highlightthickness 0 -selectborderwidth 0 -yscrollcommand [subst {$base.ddf.sb set}]
-	scrollbar $base.ddf.sb -borderwidth 1 -command [subst {$base.ddf.lb yview}] -highlightthickness 0 -orient vert
-	place $base.ddf -x $x -y $y -width $w -height 185 -anchor nw -bordermode ignore
-	place $base.ddf.lb -x 1 -y 1 -width [expr $w-18] -height 182 -anchor nw -bordermode ignore
-	place $base.ddf.sb -x [expr $w-15] -y 1 -width 14 -height 183 -anchor nw -bordermode ignore
-}
-
-
-proc {setCursor} {{type NORMAL}} {
-	if {[lsearch -exact "CLOCK WAIT WATCH" [string toupper $type]] != -1} {
-		set type watch
-	} else {
-		set type left_ptr
-	}
-	foreach wn [winfo children .] {
-		catch {$wn configure -cursor $type}
-	}
-	update ; update idletasks 
-}
-
-
-proc {parameter} {msg} {
-global PgAcVar
-	Window show .pgaw:GetParameter
-	focus .pgaw:GetParameter.e1
-	set PgAcVar(getqueryparam,var) ""
-	set PgAcVar(getqueryparam,flag) 0
-	set PgAcVar(getqueryparam,msg) $msg
-	bind .pgaw:GetParameter <Destroy> "set PgAcVar(getqueryparam,flag) 1"
-	grab .pgaw:GetParameter
-	tkwait variable PgAcVar(getqueryparam,flag)
-	if {$PgAcVar(getqueryparam,result)} {
-		return $PgAcVar(getqueryparam,var)
-	} else {
-		return ""
-	}
-}
-
-
-proc {showError} {emsg} {
-   bell ; tk_messageBox -title [intlmsg Error] -icon error -message $emsg
-}
-
-
-proc {sql_exec} {how cmd} {
-global PgAcVar CurrentDB
-	if {[set pgr [wpg_exec $CurrentDB $cmd]]==0} {
-		return 0
-	}
-	if {($PgAcVar(pgsql,status)=="PGRES_COMMAND_OK") || ($PgAcVar(pgsql,status)=="PGRES_TUPLES_OK")} {
-		pg_result $pgr -clear
-		return 1
-	}	
-	if {$how != "quiet"} {
-		showError [format [intlmsg "Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s"] $cmd $PgAcVar(pgsql,errmsg) $PgAcVar(pgsql,status)]
-	}
-	pg_result $pgr -clear
-	return 0
-}
-
-
-
-proc {main} {argc argv} {
-global PgAcVar CurrentDB tcl_platform
-	load libpgtcl[info sharedlibextension]
-	catch {Mainlib::draw_tabs}
-	set PgAcVar(opendb,username) {}
-	set PgAcVar(opendb,password) {}
-	if {$argc>0} {
-		set PgAcVar(opendb,dbname) [lindex $argv 0]
-		set PgAcVar(opendb,host) localhost
-		set PgAcVar(opendb,pgport) 5432
-		Mainlib::open_database
-	} elseif {$PgAcVar(pref,autoload) && ($PgAcVar(pref,lastdb)!="")} {
-		set PgAcVar(opendb,dbname) $PgAcVar(pref,lastdb)
-		set PgAcVar(opendb,host) $PgAcVar(pref,lasthost)
-		set PgAcVar(opendb,pgport) $PgAcVar(pref,lastport)
-		catch {set PgAcVar(opendb,username) $PgAcVar(pref,lastusername)}
-		if {[set openmsg [Mainlib::open_database]]!=""} {
-			if {[regexp "no password supplied" $openmsg]} {
-				Window show .pgaw:OpenDB
-				focus .pgaw:OpenDB.f1.e5
-				wm transient .pgaw:OpenDB .pgaw:Main
-			}
-		}
-		
-	}
-	wm protocol .pgaw:Main WM_DELETE_WINDOW {
-		catch {pg_disconnect $CurrentDB}
-		exit
-	}
-}
-
-
-proc {Window} {args} {
-global vTcl
-	set cmd [lindex $args 0]
-	set name [lindex $args 1]
-	set newname [lindex $args 2]
-	set rest [lrange $args 3 end]
-	if {$name == "" || $cmd == ""} {return}
-	if {$newname == ""} {
-		set newname $name
-	}
-	set exists [winfo exists $newname]
-	switch $cmd {
-		show {
-			if {$exists == "1" && $name != "."} {wm deiconify $name; return}
-			if {[info procs vTclWindow(pre)$name] != ""} {
-				eval "vTclWindow(pre)$name $newname $rest"
-			}
-			if {[info procs vTclWindow$name] != ""} {
-				eval "vTclWindow$name $newname $rest"
-			}
-			if {[info procs vTclWindow(post)$name] != ""} {
-				eval "vTclWindow(post)$name $newname $rest"
-			}
-		}
-		hide    { if $exists {wm withdraw $newname; return} }
-		iconify { if $exists {wm iconify $newname; return} }
-		destroy { if $exists {destroy $newname; return} }
-	}
-}
-
-proc vTclWindow. {base} {
-	if {$base == ""} {
-		set base .
-	}
-	wm focusmodel $base passive
-	wm geometry $base 1x1+0+0
-	wm maxsize $base 1009 738
-	wm minsize $base 1 1
-	wm overrideredirect $base 0
-	wm resizable $base 1 1
-	wm withdraw $base
-	wm title $base "vt.tcl"
-}
-
-
-init $argc $argv
-
-Window show .
-Window show .pgaw:Main
-
-main $argc $argv
-
diff --git a/src/bin/pgaccess/pgaccess.sh b/src/bin/pgaccess/pgaccess.sh
deleted file mode 100755
index 5c6cba39395..00000000000
--- a/src/bin/pgaccess/pgaccess.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-PATH_TO_WISH='@WISH@'
-PGACCESS_HOME='@PGACCESSHOME@'
-PGLIB='@PGLIB@'
-PGPORT="${PGPORT:-@DEF_PGPORT@}"
-
-export PATH_TO_WISH
-export PGACCESS_HOME
-export PGLIB
-export PGPORT
-
-exec "${PATH_TO_WISH}" "${PGACCESS_HOME}/main.tcl" ${1+"$@"}
-- 
GitLab