1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-05 16:59:35 +03:00
mariadb/client/mysql.cc
unknown 84626f52fb Import changeset
Docs/Flags/australia.eps:
  First import - 3.23.10
Docs/Flags/australia.gif:
  First import - 3.23.10
Docs/Flags/australia.txt:
  First import - 3.23.10
Docs/Flags/austria.eps:
  First import - 3.23.10
Docs/Flags/austria.gif:
  First import - 3.23.10
Docs/Flags/austria.txt:
  First import - 3.23.10
Docs/Flags/brazil.eps:
  First import - 3.23.10
Docs/Flags/brazil.gif:
  First import - 3.23.10
Docs/Flags/brazil.txt:
  First import - 3.23.10
Docs/Flags/bulgaria.eps:
  First import - 3.23.10
Docs/Flags/bulgaria.gif:
  First import - 3.23.10
Docs/Flags/bulgaria.txt:
  First import - 3.23.10
Docs/Flags/canada.eps:
  First import - 3.23.10
Docs/Flags/canada.gif:
  First import - 3.23.10
Docs/Flags/canada.txt:
  First import - 3.23.10
Docs/Flags/chile.eps:
  First import - 3.23.10
Docs/Flags/chile.gif:
  First import - 3.23.10
Docs/Flags/chile.txt:
  First import - 3.23.10
Docs/Flags/china.eps:
  First import - 3.23.10
Docs/Flags/china.gif:
  First import - 3.23.10
Docs/Flags/china.txt:
  First import - 3.23.10
Docs/Flags/croatia.eps:
  First import - 3.23.10
Docs/Flags/croatia.gif:
  First import - 3.23.10
Docs/Flags/croatia.txt:
  First import - 3.23.10
Docs/Flags/czech-republic.eps:
  First import - 3.23.10
Docs/Flags/czech-republic.gif:
  First import - 3.23.10
Docs/Flags/czech-republic.txt:
  First import - 3.23.10
Docs/Flags/denmark.eps:
  First import - 3.23.10
Docs/Flags/denmark.gif:
  First import - 3.23.10
Docs/Flags/denmark.txt:
  First import - 3.23.10
Docs/Flags/estonia.eps:
  First import - 3.23.10
Docs/Flags/estonia.gif:
  First import - 3.23.10
Docs/Flags/estonia.txt:
  First import - 3.23.10
Docs/Flags/finland.eps:
  First import - 3.23.10
Docs/Flags/finland.gif:
  First import - 3.23.10
Docs/Flags/finland.txt:
  First import - 3.23.10
Docs/Flags/france.eps:
  First import - 3.23.10
Docs/Flags/france.gif:
  First import - 3.23.10
Docs/Flags/france.txt:
  First import - 3.23.10
Docs/Flags/germany.eps:
  First import - 3.23.10
Docs/Flags/germany.gif:
  First import - 3.23.10
Docs/Flags/germany.txt:
  First import - 3.23.10
Docs/Flags/great-britain.eps:
  First import - 3.23.10
Docs/Flags/great-britain.gif:
  First import - 3.23.10
Docs/Flags/great-britain.txt:
  First import - 3.23.10
Docs/Flags/greece.eps:
  First import - 3.23.10
Docs/Flags/greece.gif:
  First import - 3.23.10
Docs/Flags/greece.txt:
  First import - 3.23.10
Docs/Flags/hungary.eps:
  First import - 3.23.10
Docs/Flags/hungary.gif:
  First import - 3.23.10
Docs/Flags/hungary.txt:
  First import - 3.23.10
Docs/Flags/iceland.eps:
  First import - 3.23.10
Docs/Flags/iceland.gif:
  First import - 3.23.10
Docs/Flags/iceland.txt:
  First import - 3.23.10
Docs/Flags/ireland.eps:
  First import - 3.23.10
Docs/Flags/ireland.gif:
  First import - 3.23.10
Docs/Flags/ireland.txt:
  First import - 3.23.10
Docs/Flags/island.eps:
  First import - 3.23.10
Docs/Flags/island.gif:
  First import - 3.23.10
Docs/Flags/island.txt:
  First import - 3.23.10
Docs/Flags/israel.eps:
  First import - 3.23.10
Docs/Flags/israel.gif:
  First import - 3.23.10
Docs/Flags/israel.txt:
  First import - 3.23.10
Docs/Flags/italy.eps:
  First import - 3.23.10
Docs/Flags/italy.gif:
  First import - 3.23.10
Docs/Flags/italy.txt:
  First import - 3.23.10
Docs/Flags/japan.eps:
  First import - 3.23.10
Docs/Flags/japan.gif:
  First import - 3.23.10
Docs/Flags/japan.txt:
  First import - 3.23.10
Docs/Flags/kroatia.eps:
  First import - 3.23.10
Docs/Flags/kroatia.gif:
  First import - 3.23.10
Docs/Flags/kroatia.txt:
  First import - 3.23.10
Docs/Flags/netherlands.eps:
  First import - 3.23.10
Docs/Flags/netherlands.gif:
  First import - 3.23.10
Docs/Flags/netherlands.txt:
  First import - 3.23.10
Docs/Flags/poland.eps:
  First import - 3.23.10
Docs/Flags/poland.gif:
  First import - 3.23.10
Docs/Flags/poland.txt:
  First import - 3.23.10
Docs/Flags/portugal.eps:
  First import - 3.23.10
Docs/Flags/portugal.gif:
  First import - 3.23.10
Docs/Flags/portugal.txt:
  First import - 3.23.10
Docs/Flags/romania.eps:
  First import - 3.23.10
Docs/Flags/romania.gif:
  First import - 3.23.10
Docs/Flags/romania.txt:
  First import - 3.23.10
Docs/Flags/russia.eps:
  First import - 3.23.10
Docs/Flags/russia.gif:
  First import - 3.23.10
Docs/Flags/russia.txt:
  First import - 3.23.10
Docs/Flags/singapore.eps:
  First import - 3.23.10
Docs/Flags/singapore.gif:
  First import - 3.23.10
Docs/Flags/singapore.txt:
  First import - 3.23.10
Docs/Flags/south-africa.eps:
  First import - 3.23.10
Docs/Flags/south-africa.gif:
  First import - 3.23.10
Docs/Flags/south-africa.txt:
  First import - 3.23.10
Docs/Flags/south-africa1.eps:
  First import - 3.23.10
Docs/Flags/south-africa1.gif:
  First import - 3.23.10
Docs/Flags/south-africa1.txt:
  First import - 3.23.10
Docs/Flags/south-korea.eps:
  First import - 3.23.10
Docs/Flags/south-korea.gif:
  First import - 3.23.10
Docs/Flags/south-korea.txt:
  First import - 3.23.10
Docs/Flags/spain.eps:
  First import - 3.23.10
Docs/Flags/spain.gif:
  First import - 3.23.10
Docs/Flags/spain.txt:
  First import - 3.23.10
Docs/Flags/sweden.eps:
  First import - 3.23.10
Docs/Flags/sweden.gif:
  First import - 3.23.10
Docs/Flags/sweden.txt:
  First import - 3.23.10
Docs/Flags/switzerland.eps:
  First import - 3.23.10
Docs/Flags/switzerland.gif:
  First import - 3.23.10
Docs/Flags/switzerland.txt:
  First import - 3.23.10
Docs/Flags/taiwan.eps:
  First import - 3.23.10
Docs/Flags/taiwan.gif:
  First import - 3.23.10
Docs/Flags/taiwan.txt:
  First import - 3.23.10
Docs/Flags/ukraine.eps:
  First import - 3.23.10
Docs/Flags/ukraine.gif:
  First import - 3.23.10
Docs/Flags/ukraine.txt:
  First import - 3.23.10
Docs/Flags/usa.eps:
  First import - 3.23.10
Docs/Flags/usa.gif:
  First import - 3.23.10
Docs/Flags/usa.txt:
  First import - 3.23.10
Docs/Images/mysql-logo.gif:
  First import - 3.23.10
Docs/To-be-included-in-the-manual/MySQL-for-dummies:
  First import - 3.23.10
README:
  First import - 3.23.10
config.guess:
  First import - 3.23.10
dbug/dbug_long.h:
  First import - 3.23.10
dbug/example1.c:
  First import - 3.23.10
dbug/example2.c:
  First import - 3.23.10
dbug/example3.c:
  First import - 3.23.10
dbug/factorial.c:
  First import - 3.23.10
dbug/main.c:
  First import - 3.23.10
dbug/monty.doc:
  First import - 3.23.10
dbug/readme.prof:
  First import - 3.23.10
dbug/sanity.c:
  First import - 3.23.10
dbug/user.r:
  First import - 3.23.10
heap/ChangeLog:
  First import - 3.23.10
install-sh:
  First import - 3.23.10
ltconfig:
  First import - 3.23.10
ltmain.sh:
  First import - 3.23.10
missing:
  First import - 3.23.10
mit-pthreads/COPYRIGHT:
  First import - 3.23.10
mit-pthreads/FAQ:
  First import - 3.23.10
mit-pthreads/NOTES_OSR5_BUILD_SKUNKWARE97:
  First import - 3.23.10
mit-pthreads/NOTES:
  First import - 3.23.10
mit-pthreads/README:
  First import - 3.23.10
mit-pthreads/TODO-mysql:
  First import - 3.23.10
mit-pthreads/Whats_New:
  First import - 3.23.10
mit-pthreads/bin/Makefile.in:
  First import - 3.23.10
mit-pthreads/bin/finger/Makefile.in:
  First import - 3.23.10
mit-pthreads/bin/finger/finger.c:
  First import - 3.23.10
mit-pthreads/bin/finger/net.c:
  First import - 3.23.10
mit-pthreads/config/COPYING.GNU:
  First import - 3.23.10
mit-pthreads/config/COPYRIGHT:
  First import - 3.23.10
mit-pthreads/config/GNUmakefile.in:
  First import - 3.23.10
mit-pthreads/config/Makefile.in:
  First import - 3.23.10
mit-pthreads/config/acconfig.h:
  First import - 3.23.10
mit-pthreads/config/aclocal.m4:
  First import - 3.23.10
mit-pthreads/config/config.flags.in:
  First import - 3.23.10
mit-pthreads/config/config.guess:
  First import - 3.23.10
mit-pthreads/config/config.sub:
  First import - 3.23.10
mit-pthreads/config/configure.org:
  First import - 3.23.10
mit-pthreads/config/install-sh:
  First import - 3.23.10
mit-pthreads/configure:
  First import - 3.23.10
mit-pthreads/gen/GNUmakefile.inc:
  First import - 3.23.10
mit-pthreads/gen/Makefile.inc:
  First import - 3.23.10
mit-pthreads/gen/ctime.c:
  First import - 3.23.10
mit-pthreads/gen/difftime.c:
  First import - 3.23.10
mit-pthreads/gen/directory.c:
  First import - 3.23.10
mit-pthreads/gen/eprintf.c:
  First import - 3.23.10
mit-pthreads/gen/getcwd.c:
  First import - 3.23.10
mit-pthreads/gen/getpwent.c:
  First import - 3.23.10
mit-pthreads/gen/getpwnamuid.c:
  First import - 3.23.10
mit-pthreads/gen/getwd.c:
  First import - 3.23.10
mit-pthreads/gen/isatty.c:
  First import - 3.23.10
mit-pthreads/gen/popen.c:
  First import - 3.23.10
mit-pthreads/gen/pwd_internal.c:
  First import - 3.23.10
mit-pthreads/gen/pwd_internal.h:
  First import - 3.23.10
mit-pthreads/gen/syslog.c:
  First import - 3.23.10
mit-pthreads/gen/time.c:
  First import - 3.23.10
mit-pthreads/include/Makefile.inc:
  First import - 3.23.10
mit-pthreads/include/arpa/inet.h:
  First import - 3.23.10
mit-pthreads/include/arpa/nameser.h:
  First import - 3.23.10
mit-pthreads/include/dirent.h:
  First import - 3.23.10
mit-pthreads/include/endian.h:
  First import - 3.23.10
mit-pthreads/include/errno.h:
  First import - 3.23.10
mit-pthreads/include/math.h:
  First import - 3.23.10
mit-pthreads/include/netdb.h:
  First import - 3.23.10
mit-pthreads/include/pthread.h:
  First import - 3.23.10
mit-pthreads/include/pthread/cleanup.h:
  First import - 3.23.10
mit-pthreads/include/pthread/debug_out.h:
  First import - 3.23.10
mit-pthreads/include/pthread/fd.h:
  First import - 3.23.10
mit-pthreads/include/pthread/fd_pipe.h:
  First import - 3.23.10
mit-pthreads/include/pthread/kernel.h:
  First import - 3.23.10
mit-pthreads/include/pthread/kthread.h:
  First import - 3.23.10
mit-pthreads/include/pthread/mutex.h:
  First import - 3.23.10
mit-pthreads/include/pthread/prio_queue.h:
  First import - 3.23.10
mit-pthreads/include/pthread/pthread_attr.h:
  First import - 3.23.10
mit-pthreads/include/pthread/pthread_once.h:
  First import - 3.23.10
mit-pthreads/include/pthread/queue.h:
  First import - 3.23.10
mit-pthreads/include/pthread/sleep.h:
  First import - 3.23.10
mit-pthreads/include/pthread/specific.h:
  First import - 3.23.10
mit-pthreads/include/pthread/state.def:
  First import - 3.23.10
mit-pthreads/include/pthread/types.h:
  First import - 3.23.10
mit-pthreads/include/pthread/unistd.h:
  First import - 3.23.10
mit-pthreads/include/pthread/util.h:
  First import - 3.23.10
mit-pthreads/include/pthread/version.h:
  First import - 3.23.10
mit-pthreads/include/pthread/xtypes.h:
  First import - 3.23.10
mit-pthreads/include/pwd.h:
  First import - 3.23.10
mit-pthreads/include/resolv.h:
  First import - 3.23.10
mit-pthreads/include/sched.h:
  First import - 3.23.10
mit-pthreads/include/signal.h:
  First import - 3.23.10
mit-pthreads/include/stdio.h:
  First import - 3.23.10
mit-pthreads/include/stdlib.h:
  First import - 3.23.10
mit-pthreads/include/string.h:
  First import - 3.23.10
mit-pthreads/include/syslog.h:
  First import - 3.23.10
mit-pthreads/include/time.h:
  First import - 3.23.10
mit-pthreads/include/timers.h:
  First import - 3.23.10
mit-pthreads/include/tzfile.h:
  First import - 3.23.10
mit-pthreads/include/unistd.h:
  First import - 3.23.10
mit-pthreads/lib/Makefile.in:
  First import - 3.23.10
mit-pthreads/lib/libpthreadutil/Makefile.in:
  First import - 3.23.10
mit-pthreads/lib/libpthreadutil/pthread_atexit.c:
  First import - 3.23.10
mit-pthreads/lib/libpthreadutil/pthread_tad.c:
  First import - 3.23.10
mit-pthreads/lib/libpthreadutil/pthreadutil.h:
  First import - 3.23.10
mit-pthreads/machdep/alpha-osf1/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/alpha-osf1/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/alpha-osf1/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/alpha-osf1/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/alpha-osf1/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/alpha-osf1/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/alpha-osf1/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/alpha-osf1/cdefs.h:
  First import - 3.23.10
mit-pthreads/machdep/alpha-osf1/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/alpha-osf1/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/alpha-osf1/signal.h:
  First import - 3.23.10
mit-pthreads/machdep/alpha-osf1/socket.h:
  First import - 3.23.10
mit-pthreads/machdep/alpha-osf1/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/alpha-osf1/uio.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-1.1/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-1.1/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-1.1/errno.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-1.1/socket.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-1.1/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-2.0/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-2.0/__path.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-2.0/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-2.0/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-2.0/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-2.0/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-2.0/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-2.0/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-2.0/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-2.0/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-2.0/errno.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-2.0/time.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-2.0/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/bsdi-2.0/wait.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-alpha-netbsd-1.1.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-alpha-netbsd-1.1.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-alpha-netbsd-1.3.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-alpha-netbsd-1.3.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-alpha-osf1.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-alpha-osf1.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-arm32-netbsd-1.3.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-arm32-netbsd-1.3.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-hppa-hpux-10.20.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-hppa-hpux-10.20.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-hppa-hpux-9.03.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-hppa-hpux-9.03.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-bsdi-1.1.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-bsdi-1.1.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-bsdi-2.0.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-bsdi-2.0.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-freebsd-1.1.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-freebsd-1.1.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-freebsd-2.0.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-freebsd-2.0.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-linux-1.0.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-linux-1.0.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-netbsd-0.9.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-netbsd-0.9.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-netbsd-1.0.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-netbsd-1.0.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-netbsd-1.3.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-netbsd-1.3.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-openbsd-2.0.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-openbsd-2.0.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-sco-3.2v5.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-i386-sco-3.2v5.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-ip22-irix-5.2.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-ip22-irix-5.2.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-m68000-netbsd.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-m68000-netbsd.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-r2000-ultrix-4.2.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-r2000-ultrix-4.2.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-romp-bsd.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-romp-bsd.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-sparc-netbsd-1.3.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-sparc-netbsd-1.3.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-sparc-sunos-4.1.3.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-sparc-sunos-4.1.3.h:
  First import - 3.23.10
mit-pthreads/machdep/engine-sparc-sunos-5.3.c:
  First import - 3.23.10
mit-pthreads/machdep/engine-sparc-sunos-5.3.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-1.1/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-1.1/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-1.1/socket.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-1.1/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-2.0/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-2.0/__path.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-2.0/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-2.0/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-2.0/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-2.0/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-2.0/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-2.0/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-2.0/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-2.0/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-2.0/errno.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-2.0/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/freebsd-2.0/wait.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/cdefs.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/socket.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/stdtypes.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/time.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/uio.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-10.20/wait.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/cdefs.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/socket.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/stdtypes.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/time.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/uio.h:
  First import - 3.23.10
mit-pthreads/machdep/hpux-9.03/wait.h:
  First import - 3.23.10
mit-pthreads/machdep/i386-sco-3.2v5/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/i386-sco-3.2v5/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/i386-sco-3.2v5/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/i386-sco-3.2v5/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/i386-sco-3.2v5/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/i386-sco-3.2v5/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/i386-sco-3.2v5/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/i386-sco-3.2v5/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/i386-sco-3.2v5/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/i386-sco-3.2v5/posix/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/i386-sco-3.2v5/socket.h:
  First import - 3.23.10
mit-pthreads/machdep/i386-sco-3.2v5/syscall.h:
  First import - 3.23.10
mit-pthreads/machdep/i386-sco-3.2v5/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/i386-sco-3.2v5/trash.can:
  First import - 3.23.10
mit-pthreads/machdep/irix-5.2/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/irix-5.2/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/irix-5.2/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/irix-5.2/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/irix-5.2/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/irix-5.2/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/irix-5.2/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/irix-5.2/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/irix-5.2/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/irix-5.2/socket.h:
  First import - 3.23.10
mit-pthreads/machdep/irix-5.2/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/irix-5.2/wait.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/__path.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/cdefs.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/errno.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/socket.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/uio.h:
  First import - 3.23.10
mit-pthreads/machdep/linux-1.0/wait.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-0.9/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.0/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.0/__path.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.0/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.0/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.0/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.0/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.0/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.0/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.0/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.0/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.0/errno.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.0/time.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.0/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.0/wait.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.1/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.1/__path.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.1/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.1/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.1/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.1/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.1/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.1/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.1/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.1/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.1/errno.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.1/time.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.1/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/netbsd-1.1/wait.h:
  First import - 3.23.10
mit-pthreads/machdep/openbsd-2.0/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/openbsd-2.0/__path.h:
  First import - 3.23.10
mit-pthreads/machdep/openbsd-2.0/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/openbsd-2.0/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/openbsd-2.0/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/openbsd-2.0/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/openbsd-2.0/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/openbsd-2.0/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/openbsd-2.0/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/openbsd-2.0/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/openbsd-2.0/errno.h:
  First import - 3.23.10
mit-pthreads/machdep/openbsd-2.0/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/openbsd-2.0/wait.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-alpha-osf1.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-bsdi-1.1.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-bsdi-2.0.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-freebsd-1.1.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-freebsd-2.0.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-hpux-10.20.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-hpux-9.03.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-i386-sco-3.2v5.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-irix-5.2.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-linux-1.0.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-netbsd-0.9.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-netbsd-1.0.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-netbsd-1.1.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-openbsd-2.0.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-romp-bsd.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-sco-3.2v5.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-sunos-4.1.3.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-sunos-5.3.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-sunos-5.5.h:
  First import - 3.23.10
mit-pthreads/machdep/posix-ultrix-4.2.h:
  First import - 3.23.10
mit-pthreads/machdep/sco-3.2v5/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/sco-3.2v5/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/sco-3.2v5/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/sco-3.2v5/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/sco-3.2v5/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/sco-3.2v5/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/sco-3.2v5/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/sco-3.2v5/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/sco-3.2v5/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/sco-3.2v5/posix/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/sco-3.2v5/socket.h:
  First import - 3.23.10
mit-pthreads/machdep/sco-3.2v5/syscall.h:
  First import - 3.23.10
mit-pthreads/machdep/sco-3.2v5/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/sco-3.2v5/trash.can:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/__path.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/cdefs.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/fcntlcom.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/signal.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/stat.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/time.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-4.1.3/wait.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.3/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.3/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.3/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.3/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.3/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.3/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.3/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.3/cdefs.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.3/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.3/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.3/socket.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.3/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.3/uio.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.5/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.5/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.5/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.5/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.5/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.5/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.5/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.5/cdefs.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.5/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.5/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.5/socket.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.5/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/sunos-5.5/uio.h:
  First import - 3.23.10
mit-pthreads/machdep/syscall-alpha-netbsd-1.1.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-alpha-netbsd-1.3.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-alpha-osf1.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-arm32-netbsd-1.3.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-hppa-hpux-10.20.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-hppa-hpux-9.03.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-i386-bsdi-1.1.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-i386-bsdi-2.0.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-i386-freebsd-1.1.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-i386-freebsd-2.0.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-i386-linux-1.0.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-i386-netbsd-0.9.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-i386-netbsd-1.0.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-i386-netbsd-1.1.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-i386-netbsd-1.3.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-i386-openbsd-2.0.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-i386-sco-3.2v5.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-ip22-irix-5.2.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-m68000-netbsd.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-r2000-ultrix-4.2.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-romp-bsd.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-sparc-netbsd-1.1.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-sparc-netbsd-1.3.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-sparc-sunos-4.1.3.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-sparc-sunos-5.3.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-sparc-sunos4.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-alpha-netbsd-1.1.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-alpha-netbsd-1.3.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-alpha-osf1.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-arm32-netbsd-1.3.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-hppa-hpux-10.20.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-hppa-hpux-9.03.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-i386-bsdi-2.0.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-i386-freebsd-2.0.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-i386-netbsd-1.1.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-i386-netbsd-1.3.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-i386-netbsd1.0.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-i386-openbsd-2.0.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-i386-sco-3.2v5.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-ip22-irix-5.2.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-m68000-netbsd.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-r2000-ultrix-4.2.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-sparc-netbsd-1.1.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-sparc-netbsd-1.3.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-sparc-sunos-5.3.S:
  First import - 3.23.10
mit-pthreads/machdep/syscall-template-sparc-sunos4.S:
  First import - 3.23.10
mit-pthreads/machdep/ultrix-4.2/__math.h:
  First import - 3.23.10
mit-pthreads/machdep/ultrix-4.2/__signal.h:
  First import - 3.23.10
mit-pthreads/machdep/ultrix-4.2/__stdio.h:
  First import - 3.23.10
mit-pthreads/machdep/ultrix-4.2/__stdlib.h:
  First import - 3.23.10
mit-pthreads/machdep/ultrix-4.2/__string.h:
  First import - 3.23.10
mit-pthreads/machdep/ultrix-4.2/__time.h:
  First import - 3.23.10
mit-pthreads/machdep/ultrix-4.2/__unistd.h:
  First import - 3.23.10
mit-pthreads/machdep/ultrix-4.2/cdefs.h:
  First import - 3.23.10
mit-pthreads/machdep/ultrix-4.2/compat.h:
  First import - 3.23.10
mit-pthreads/machdep/ultrix-4.2/dirent.h:
  First import - 3.23.10
mit-pthreads/machdep/ultrix-4.2/errno.h:
  First import - 3.23.10
mit-pthreads/machdep/ultrix-4.2/time.h:
  First import - 3.23.10
mit-pthreads/machdep/ultrix-4.2/timers.h:
  First import - 3.23.10
mit-pthreads/machdep/ultrix-4.2/wait.h:
  First import - 3.23.10
mit-pthreads/machdep/unistd-i386-freebsd-1.1.h:
  First import - 3.23.10
mit-pthreads/machdep/unistd-i386-linux-1.0.h:
  First import - 3.23.10
mit-pthreads/machdep/unistd-sparc-sunos-4.1.3.h:
  First import - 3.23.10
mit-pthreads/net/GNUmakefile.inc:
  First import - 3.23.10
mit-pthreads/net/gethostbyaddr.c:
  First import - 3.23.10
mit-pthreads/net/gethostbyname.c:
  First import - 3.23.10
mit-pthreads/net/gethostent.c:
  First import - 3.23.10
mit-pthreads/net/getnetbyaddr.c:
  First import - 3.23.10
mit-pthreads/net/getnetbyname.c:
  First import - 3.23.10
mit-pthreads/net/getnetent.c:
  First import - 3.23.10
mit-pthreads/net/getproto.c:
  First import - 3.23.10
mit-pthreads/net/getprotoent.c:
  First import - 3.23.10
mit-pthreads/net/getprotoname.c:
  First import - 3.23.10
mit-pthreads/net/getservbyname.c:
  First import - 3.23.10
mit-pthreads/net/getservbyport.c:
  First import - 3.23.10
mit-pthreads/net/getservent.c:
  First import - 3.23.10
mit-pthreads/net/herror.c:
  First import - 3.23.10
mit-pthreads/net/inet_addr.c:
  First import - 3.23.10
mit-pthreads/net/inet_lnaof.c:
  First import - 3.23.10
mit-pthreads/net/inet_makeaddr.c:
  First import - 3.23.10
mit-pthreads/net/inet_netof.c:
  First import - 3.23.10
mit-pthreads/net/inet_network.c:
  First import - 3.23.10
mit-pthreads/net/inet_ntoa.c:
  First import - 3.23.10
mit-pthreads/net/net_internal.c:
  First import - 3.23.10
mit-pthreads/net/net_internal.h:
  First import - 3.23.10
mit-pthreads/net/proto_internal.c:
  First import - 3.23.10
mit-pthreads/net/proto_internal.h:
  First import - 3.23.10
mit-pthreads/net/res_comp.c:
  First import - 3.23.10
mit-pthreads/net/res_debug.c:
  First import - 3.23.10
mit-pthreads/net/res_init.c:
  First import - 3.23.10
mit-pthreads/net/res_internal.c:
  First import - 3.23.10
mit-pthreads/net/res_internal.h:
  First import - 3.23.10
mit-pthreads/net/res_mkquery.c:
  First import - 3.23.10
mit-pthreads/net/res_query.c:
  First import - 3.23.10
mit-pthreads/net/res_querydomain.c:
  First import - 3.23.10
mit-pthreads/net/res_search.c:
  First import - 3.23.10
mit-pthreads/net/res_send.c:
  First import - 3.23.10
mit-pthreads/net/serv_internal.c:
  First import - 3.23.10
mit-pthreads/net/serv_internal.h:
  First import - 3.23.10
mit-pthreads/patches/Streepy.html:
  First import - 3.23.10
mit-pthreads/patches/Streepy2.html:
  First import - 3.23.10
mit-pthreads/patches/bill_lear:
  First import - 3.23.10
mit-pthreads/patches/chris_demetriou:
  First import - 3.23.10
mit-pthreads/patches/mevans:
  First import - 3.23.10
mit-pthreads/patches/p153:
  First import - 3.23.10
mit-pthreads/patches/p155:
  First import - 3.23.10
mit-pthreads/pg++:
  First import - 3.23.10
mit-pthreads/pgcc:
  First import - 3.23.10
mit-pthreads/pthreads/GNUmakefile.inc:
  First import - 3.23.10
mit-pthreads/pthreads/Makefile.inc:
  First import - 3.23.10
mit-pthreads/pthreads/_exit.c:
  First import - 3.23.10
mit-pthreads/pthreads/cleanup.c:
  First import - 3.23.10
mit-pthreads/pthreads/cond.c:
  First import - 3.23.10
mit-pthreads/pthreads/condattr.c:
  First import - 3.23.10
mit-pthreads/pthreads/dump_state.c:
  First import - 3.23.10
mit-pthreads/pthreads/errno.c:
  First import - 3.23.10
mit-pthreads/pthreads/fd_pipe.c:
  First import - 3.23.10
mit-pthreads/pthreads/file.c:
  First import - 3.23.10
mit-pthreads/pthreads/globals.c:
  First import - 3.23.10
mit-pthreads/pthreads/info.c:
  First import - 3.23.10
mit-pthreads/pthreads/init.cc:
  First import - 3.23.10
mit-pthreads/pthreads/malloc.c:
  First import - 3.23.10
mit-pthreads/pthreads/mutex.c:
  First import - 3.23.10
mit-pthreads/pthreads/mutexattr.c:
  First import - 3.23.10
mit-pthreads/pthreads/panic.c:
  First import - 3.23.10
mit-pthreads/pthreads/prio_queue.c:
  First import - 3.23.10
mit-pthreads/pthreads/process.c:
  First import - 3.23.10
mit-pthreads/pthreads/pthread.c:
  First import - 3.23.10
mit-pthreads/pthreads/pthread_attr.c:
  First import - 3.23.10
mit-pthreads/pthreads/pthread_cancel.c:
  First import - 3.23.10
mit-pthreads/pthreads/pthread_detach.c:
  First import - 3.23.10
mit-pthreads/pthreads/pthread_init.c:
  First import - 3.23.10
mit-pthreads/pthreads/pthread_join.c:
  First import - 3.23.10
mit-pthreads/pthreads/pthread_kill.c:
  First import - 3.23.10
mit-pthreads/pthreads/pthread_once.c:
  First import - 3.23.10
mit-pthreads/pthreads/queue.c:
  First import - 3.23.10
mit-pthreads/pthreads/readv.c:
  First import - 3.23.10
mit-pthreads/pthreads/schedparam.c:
  First import - 3.23.10
mit-pthreads/pthreads/select.c:
  First import - 3.23.10
mit-pthreads/pthreads/sig.c:
  First import - 3.23.10
mit-pthreads/pthreads/sleep.c:
  First import - 3.23.10
mit-pthreads/pthreads/specific.c:
  First import - 3.23.10
mit-pthreads/pthreads/stat.c:
  First import - 3.23.10
mit-pthreads/pthreads/wait.c:
  First import - 3.23.10
mit-pthreads/pthreads/writev.c:
  First import - 3.23.10
mit-pthreads/scripts/GNUmakefile.inc:
  First import - 3.23.10
mit-pthreads/scripts/Makefile.inc:
  First import - 3.23.10
mit-pthreads/scripts/pgcc.sh:
  First import - 3.23.10
mit-pthreads/stdio/GNUmakefile.inc:
  First import - 3.23.10
mit-pthreads/stdio/Makefile.inc:
  First import - 3.23.10
mit-pthreads/stdio/README:
  First import - 3.23.10
mit-pthreads/stdio/clrerr.c:
  First import - 3.23.10
mit-pthreads/stdio/fclose.c:
  First import - 3.23.10
mit-pthreads/stdio/fdopen.c:
  First import - 3.23.10
mit-pthreads/stdio/feof.c:
  First import - 3.23.10
mit-pthreads/stdio/ferror.c:
  First import - 3.23.10
mit-pthreads/stdio/fflush.c:
  First import - 3.23.10
mit-pthreads/stdio/fgetc.c:
  First import - 3.23.10
mit-pthreads/stdio/fgetline.c:
  First import - 3.23.10
mit-pthreads/stdio/fgetpos.c:
  First import - 3.23.10
mit-pthreads/stdio/fgets.c:
  First import - 3.23.10
mit-pthreads/stdio/fileno.c:
  First import - 3.23.10
mit-pthreads/stdio/findfp.c:
  First import - 3.23.10
mit-pthreads/stdio/flags.c:
  First import - 3.23.10
mit-pthreads/stdio/floatio.h:
  First import - 3.23.10
mit-pthreads/stdio/fopen.c:
  First import - 3.23.10
mit-pthreads/stdio/fprintf.c:
  First import - 3.23.10
mit-pthreads/stdio/fpurge.c:
  First import - 3.23.10
mit-pthreads/stdio/fputc.c:
  First import - 3.23.10
mit-pthreads/stdio/fputs.c:
  First import - 3.23.10
mit-pthreads/stdio/fread.c:
  First import - 3.23.10
mit-pthreads/stdio/freopen.c:
  First import - 3.23.10
mit-pthreads/stdio/fscanf.c:
  First import - 3.23.10
mit-pthreads/stdio/fseek.c:
  First import - 3.23.10
mit-pthreads/stdio/fsetpos.c:
  First import - 3.23.10
mit-pthreads/stdio/ftell.c:
  First import - 3.23.10
mit-pthreads/stdio/funopen.c:
  First import - 3.23.10
mit-pthreads/stdio/fvwrite.c:
  First import - 3.23.10
mit-pthreads/stdio/fvwrite.h:
  First import - 3.23.10
mit-pthreads/stdio/fwalk.c:
  First import - 3.23.10
mit-pthreads/stdio/fwrite.c:
  First import - 3.23.10
mit-pthreads/stdio/getc.c:
  First import - 3.23.10
mit-pthreads/stdio/getc_unlocked.c:
  First import - 3.23.10
mit-pthreads/stdio/getchar.c:
  First import - 3.23.10
mit-pthreads/stdio/getchar_unlocked.c:
  First import - 3.23.10
mit-pthreads/stdio/gets.c:
  First import - 3.23.10
mit-pthreads/stdio/getw.c:
  First import - 3.23.10
mit-pthreads/stdio/glue.h:
  First import - 3.23.10
mit-pthreads/stdio/local.h:
  First import - 3.23.10
mit-pthreads/stdio/makebuf.c:
  First import - 3.23.10
mit-pthreads/stdio/mktemp.c:
  First import - 3.23.10
mit-pthreads/stdio/perror.c:
  First import - 3.23.10
mit-pthreads/stdio/printf.c:
  First import - 3.23.10
mit-pthreads/stdio/putc.c:
  First import - 3.23.10
mit-pthreads/stdio/putc_unlocked.c:
  First import - 3.23.10
mit-pthreads/stdio/putchar.c:
  First import - 3.23.10
mit-pthreads/stdio/putchar_unlocked.c:
  First import - 3.23.10
mit-pthreads/stdio/puts.c:
  First import - 3.23.10
mit-pthreads/stdio/putw.c:
  First import - 3.23.10
mit-pthreads/stdio/refill.c:
  First import - 3.23.10
mit-pthreads/stdio/remove.c:
  First import - 3.23.10
mit-pthreads/stdio/rewind.c:
  First import - 3.23.10
mit-pthreads/stdio/rget.c:
  First import - 3.23.10
mit-pthreads/stdio/scanf.c:
  First import - 3.23.10
mit-pthreads/stdio/setbuf.c:
  First import - 3.23.10
mit-pthreads/stdio/setbuffer.c:
  First import - 3.23.10
mit-pthreads/stdio/setvbuf.c:
  First import - 3.23.10
mit-pthreads/stdio/snprintf.c:
  First import - 3.23.10
mit-pthreads/stdio/sprintf.c:
  First import - 3.23.10
mit-pthreads/stdio/sscanf.c:
  First import - 3.23.10
mit-pthreads/stdio/stdio.c:
  First import - 3.23.10
mit-pthreads/stdio/strerror.c:
  First import - 3.23.10
mit-pthreads/stdio/tempnam.c:
  First import - 3.23.10
mit-pthreads/stdio/tmpfile.c:
  First import - 3.23.10
mit-pthreads/stdio/tmpnam.c:
  First import - 3.23.10
mit-pthreads/stdio/ungetc.c:
  First import - 3.23.10
mit-pthreads/stdio/vfprintf.c:
  First import - 3.23.10
mit-pthreads/stdio/vfscanf.c:
  First import - 3.23.10
mit-pthreads/stdio/vprintf.c:
  First import - 3.23.10
mit-pthreads/stdio/vscanf.c:
  First import - 3.23.10
mit-pthreads/stdio/vsnprintf.c:
  First import - 3.23.10
mit-pthreads/stdio/vsprintf.c:
  First import - 3.23.10
mit-pthreads/stdio/vsscanf.c:
  First import - 3.23.10
mit-pthreads/stdio/wbuf.c:
  First import - 3.23.10
mit-pthreads/stdio/wsetup.c:
  First import - 3.23.10
mit-pthreads/stdio/xprintf.c:
  First import - 3.23.10
mit-pthreads/stdlib/GNUmakefile.inc:
  First import - 3.23.10
mit-pthreads/stdlib/Makefile.inc:
  First import - 3.23.10
mit-pthreads/stdlib/abort.c:
  First import - 3.23.10
mit-pthreads/stdlib/atexit.h:
  First import - 3.23.10
mit-pthreads/stdlib/exit.c:
  First import - 3.23.10
mit-pthreads/stdlib/rand.c:
  First import - 3.23.10
mit-pthreads/stdlib/random.c:
  First import - 3.23.10
mit-pthreads/stdlib/strtod.c:
  First import - 3.23.10
mit-pthreads/stdlib/strtol.c:
  First import - 3.23.10
mit-pthreads/stdlib/strtoul.c:
  First import - 3.23.10
mit-pthreads/stdlib/system.c:
  First import - 3.23.10
mit-pthreads/string/GNUmakefile.inc:
  First import - 3.23.10
mit-pthreads/string/Makefile.inc:
  First import - 3.23.10
mit-pthreads/string/strtok.c:
  First import - 3.23.10
mit-pthreads/tests/Makefile.in:
  First import - 3.23.10
mit-pthreads/tests/README:
  First import - 3.23.10
mit-pthreads/tests/bench_fcntl.c:
  First import - 3.23.10
mit-pthreads/tests/bench_pipe.c:
  First import - 3.23.10
mit-pthreads/tests/bench_read.c:
  First import - 3.23.10
mit-pthreads/tests/p_bench_getpid.c:
  First import - 3.23.10
mit-pthreads/tests/p_bench_mutex.c:
  First import - 3.23.10
mit-pthreads/tests/p_bench_pthread_create.c:
  First import - 3.23.10
mit-pthreads/tests/p_bench_read.c:
  First import - 3.23.10
mit-pthreads/tests/p_bench_semaphore.c:
  First import - 3.23.10
mit-pthreads/tests/p_bench_yield.c:
  First import - 3.23.10
mit-pthreads/tests/test_create.c:
  First import - 3.23.10
mit-pthreads/tests/test_cwd.c:
  First import - 3.23.10
mit-pthreads/tests/test_execve.c:
  First import - 3.23.10
mit-pthreads/tests/test_fcntl.c:
  First import - 3.23.10
mit-pthreads/tests/test_fork.c:
  First import - 3.23.10
mit-pthreads/tests/test_netdb.c:
  First import - 3.23.10
mit-pthreads/tests/test_pause.c:
  First import - 3.23.10
mit-pthreads/tests/test_preemption.c:
  First import - 3.23.10
mit-pthreads/tests/test_preemption_float.c:
  First import - 3.23.10
mit-pthreads/tests/test_pthread_cond_timedwait.c:
  First import - 3.23.10
mit-pthreads/tests/test_pthread_join.c:
  First import - 3.23.10
mit-pthreads/tests/test_pthread_mutex.c:
  First import - 3.23.10
mit-pthreads/tests/test_pw.c:
  First import - 3.23.10
mit-pthreads/tests/test_readdir.c:
  First import - 3.23.10
mit-pthreads/tests/test_select.c:
  First import - 3.23.10
mit-pthreads/tests/test_setjmp.c:
  First import - 3.23.10
mit-pthreads/tests/test_sleep.c:
  First import - 3.23.10
mit-pthreads/tests/test_sock_1.c:
  First import - 3.23.10
mit-pthreads/tests/test_sock_2.c:
  First import - 3.23.10
mit-pthreads/tests/test_sock_2a.c:
  First import - 3.23.10
mit-pthreads/tests/test_stdio_1.c:
  First import - 3.23.10
mit-pthreads/tests/test_switch.c:
  First import - 3.23.10
mysys/COPYING.LIB:
  First import - 3.23.10
mysys/getopt.c:
  First import - 3.23.10
readline/COPYING:
  First import - 3.23.10
readline/INSTALL:
  First import - 3.23.10
readline/Makefile.am:
  First import - 3.23.10
readline/README:
  First import - 3.23.10
readline/ansi_stdlib.h:
  First import - 3.23.10
readline/bind.c:
  First import - 3.23.10
readline/callback.c:
  First import - 3.23.10
readline/chardefs.h:
  First import - 3.23.10
readline/configure.in:
  First import - 3.23.10
readline/configure:
  First import - 3.23.10
readline/display.c:
  First import - 3.23.10
readline/emacs_keymap.c:
  First import - 3.23.10
readline/funmap.c:
  First import - 3.23.10
readline/histexpand.c:
  First import - 3.23.10
readline/histfile.c:
  First import - 3.23.10
readline/histlib.h:
  First import - 3.23.10
readline/history.c:
  First import - 3.23.10
readline/history.h:
  First import - 3.23.10
readline/histsearch.c:
  First import - 3.23.10
readline/input.c:
  First import - 3.23.10
readline/isearch.c:
  First import - 3.23.10
readline/keymaps.c:
  First import - 3.23.10
readline/keymaps.h:
  First import - 3.23.10
readline/kill.c:
  First import - 3.23.10
readline/macro.c:
  First import - 3.23.10
readline/nls.c:
  First import - 3.23.10
readline/parens.c:
  First import - 3.23.10
readline/posixdir.h:
  First import - 3.23.10
readline/posixjmp.h:
  First import - 3.23.10
readline/posixstat.h:
  First import - 3.23.10
readline/readline.c:
  First import - 3.23.10
readline/readline.h:
  First import - 3.23.10
readline/rlconf.h:
  First import - 3.23.10
readline/rldefs.h:
  First import - 3.23.10
readline/rltty.c:
  First import - 3.23.10
readline/rltty.h:
  First import - 3.23.10
readline/rlwinsize.h:
  First import - 3.23.10
readline/search.c:
  First import - 3.23.10
readline/shell.c:
  First import - 3.23.10
readline/signals.c:
  First import - 3.23.10
readline/tcap.h:
  First import - 3.23.10
readline/terminal.c:
  First import - 3.23.10
readline/tilde.c:
  First import - 3.23.10
readline/tilde.h:
  First import - 3.23.10
readline/undo.c:
  First import - 3.23.10
readline/util.c:
  First import - 3.23.10
readline/vi_keymap.c:
  First import - 3.23.10
readline/vi_mode.c:
  First import - 3.23.10
readline/xmalloc.c:
  First import - 3.23.10
regex/CHANGES:
  First import - 3.23.10
regex/COPYRIGHT:
  First import - 3.23.10
regex/README:
  First import - 3.23.10
regex/WHATSNEW:
  First import - 3.23.10
regex/cclass.h:
  First import - 3.23.10
regex/cname.h:
  First import - 3.23.10
regex/debug.c:
  First import - 3.23.10
regex/debug.ih:
  First import - 3.23.10
regex/engine.c:
  First import - 3.23.10
regex/engine.ih:
  First import - 3.23.10
regex/main.ih:
  First import - 3.23.10
regex/regcomp.ih:
  First import - 3.23.10
regex/regerror.c:
  First import - 3.23.10
regex/regerror.ih:
  First import - 3.23.10
regex/regex.3:
  First import - 3.23.10
regex/regex.7:
  First import - 3.23.10
regex/regex.h:
  First import - 3.23.10
regex/regfree.c:
  First import - 3.23.10
regex/reginit.c:
  First import - 3.23.10
regex/split.c:
  First import - 3.23.10
regex/tests:
  First import - 3.23.10
scripts/msql2mysql.sh:
  First import - 3.23.10
scripts/mysql_fix_privilege_tables.sh:
  First import - 3.23.10
scripts/mysql_setpermission.sh:
  First import - 3.23.10
scripts/mysqlaccess.conf:
  First import - 3.23.10
scripts/mysqlbug.sh:
  First import - 3.23.10
sql-bench/Data/ATIS/aircraft.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/airline.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/airport.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/airport_service.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/city.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/class_of_service.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/code_description.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/compound_class.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/connect_leg.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/connection.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/date_day.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/day_name.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/dual_carrier.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/fare.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/flight.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/flight_class.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/flight_day.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/flight_fare.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/food_service.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/ground_service.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/month_name.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/restrict_carrier.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/restrict_class.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/restriction.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/state.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/stop.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/stop1.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/time_interval.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/time_zone.txt:
  First import - 3.23.10
sql-bench/Data/ATIS/transport.txt:
  First import - 3.23.10
sql-bench/Data/Wisconsin/onek.data:
  First import - 3.23.10
sql-bench/Data/Wisconsin/tenk.data:
  First import - 3.23.10
sql-bench/README:
  First import - 3.23.10
sql-bench/Results/ATIS-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/ATIS-AdabasD-Linux_2.0.35_i686-cmp-adabasd,mysql:
  First import - 3.23.10
sql-bench/Results/ATIS-msql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/ATIS-mysql-3.21-Linux_2.2.1_i686:
  First import - 3.23.10
sql-bench/Results/ATIS-mysql-HP_UX_B.10.20_9000_778:
  First import - 3.23.10
sql-bench/Results/ATIS-mysql-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/ATIS-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/ATIS-mysql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/ATIS-mysql-Linux_2.2.10_i686:
  First import - 3.23.10
sql-bench/Results/ATIS-mysql-Linux_2.2.1_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/ATIS-mysql-SunOS_5.5.1_sun4u:
  First import - 3.23.10
sql-bench/Results/ATIS-mysql-SunOS_5.6_sun4m:
  ***MISSING WEAVE***
sql-bench/Results/ATIS-mysql-SunOS_5.7_sun4m:
  First import - 3.23.10
sql-bench/Results/ATIS-mysql-SunOS_5.7_sun4u:
  First import - 3.23.10
sql-bench/Results/ATIS-mysql_3.21-Linux_2.0.35_i686:
  First import - 3.23.10
sql-bench/Results/ATIS-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/ATIS-mysql_odbc-win98:
  First import - 3.23.10
sql-bench/Results/ATIS-oracle-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/ATIS-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/ATIS-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/ATIS-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/ATIS-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/RUN-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/RUN-msql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/RUN-mysql-3.21-Linux_2.2.1_i686:
  First import - 3.23.10
sql-bench/Results/RUN-mysql-HP_UX_B.10.20_9000_778:
  First import - 3.23.10
sql-bench/Results/RUN-mysql-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/RUN-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/RUN-mysql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/RUN-mysql-Linux_2.2.10_i686:
  First import - 3.23.10
sql-bench/Results/RUN-mysql-Linux_2.2.1_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/RUN-mysql-SunOS_5.5.1_sun4u:
  First import - 3.23.10
sql-bench/Results/RUN-mysql-SunOS_5.6_sun4m:
  ***MISSING WEAVE***
sql-bench/Results/RUN-mysql-SunOS_5.7_sun4m:
  First import - 3.23.10
sql-bench/Results/RUN-mysql-SunOS_5.7_sun4u:
  First import - 3.23.10
sql-bench/Results/RUN-mysql_3.21-Linux_2.0.35_i686:
  First import - 3.23.10
sql-bench/Results/RUN-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/RUN-mysql_odbc-win98:
  First import - 3.23.10
sql-bench/Results/RUN-oracle-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/RUN-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/RUN-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/RUN-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/RUN-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/alter-table-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/alter-table-AdabasD-Linux_2.0.35_i686-cmp-adabasd,mysql:
  First import - 3.23.10
sql-bench/Results/alter-table-msql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/alter-table-mysql-3.21-Linux_2.2.1_i686:
  First import - 3.23.10
sql-bench/Results/alter-table-mysql-HP_UX_B.10.20_9000_778:
  First import - 3.23.10
sql-bench/Results/alter-table-mysql-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/alter-table-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/alter-table-mysql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/alter-table-mysql-Linux_2.2.10_i686:
  First import - 3.23.10
sql-bench/Results/alter-table-mysql-Linux_2.2.1_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/alter-table-mysql-SunOS_5.5.1_sun4u:
  First import - 3.23.10
sql-bench/Results/alter-table-mysql-SunOS_5.6_sun4m:
  ***MISSING WEAVE***
sql-bench/Results/alter-table-mysql-SunOS_5.7_sun4m:
  First import - 3.23.10
sql-bench/Results/alter-table-mysql-SunOS_5.7_sun4u:
  First import - 3.23.10
sql-bench/Results/alter-table-mysql_3.21-Linux_2.0.35_i686:
  First import - 3.23.10
sql-bench/Results/alter-table-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/alter-table-mysql_odbc-win98:
  First import - 3.23.10
sql-bench/Results/alter-table-oracle-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/alter-table-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/alter-table-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/alter-table-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/alter-table-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/big-tables-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/big-tables-msql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/big-tables-mysql-3.21-Linux_2.2.1_i686:
  First import - 3.23.10
sql-bench/Results/big-tables-mysql-HP_UX_B.10.20_9000_778:
  First import - 3.23.10
sql-bench/Results/big-tables-mysql-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/big-tables-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/big-tables-mysql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/big-tables-mysql-Linux_2.2.10_i686:
  First import - 3.23.10
sql-bench/Results/big-tables-mysql-Linux_2.2.1_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/big-tables-mysql-SunOS_5.5.1_sun4u:
  First import - 3.23.10
sql-bench/Results/big-tables-mysql-SunOS_5.6_sun4m:
  ***MISSING WEAVE***
sql-bench/Results/big-tables-mysql-SunOS_5.7_sun4m:
  First import - 3.23.10
sql-bench/Results/big-tables-mysql-SunOS_5.7_sun4u:
  First import - 3.23.10
sql-bench/Results/big-tables-mysql_3.21-Linux_2.0.35_i686:
  First import - 3.23.10
sql-bench/Results/big-tables-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/big-tables-mysql_odbc-win98:
  First import - 3.23.10
sql-bench/Results/big-tables-oracle-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/big-tables-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/big-tables-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/big-tables-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/big-tables-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/connect-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/connect-msql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/connect-mysql-3.21-Linux_2.2.1_i686:
  First import - 3.23.10
sql-bench/Results/connect-mysql-HP_UX_B.10.20_9000_778:
  First import - 3.23.10
sql-bench/Results/connect-mysql-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/connect-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/connect-mysql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/connect-mysql-Linux_2.2.10_i686:
  First import - 3.23.10
sql-bench/Results/connect-mysql-Linux_2.2.1_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/connect-mysql-SunOS_5.5.1_sun4u:
  First import - 3.23.10
sql-bench/Results/connect-mysql-SunOS_5.6_sun4m:
  ***MISSING WEAVE***
sql-bench/Results/connect-mysql-SunOS_5.7_sun4m:
  First import - 3.23.10
sql-bench/Results/connect-mysql-SunOS_5.7_sun4u:
  First import - 3.23.10
sql-bench/Results/connect-mysql_3.21-Linux_2.0.35_i686:
  First import - 3.23.10
sql-bench/Results/connect-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/connect-mysql_odbc-win98:
  First import - 3.23.10
sql-bench/Results/connect-oracle-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/connect-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/connect-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/connect-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/create-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/create-msql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/create-mysql-3.21-Linux_2.2.1_i686:
  First import - 3.23.10
sql-bench/Results/create-mysql-HP_UX_B.10.20_9000_778:
  First import - 3.23.10
sql-bench/Results/create-mysql-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/create-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/create-mysql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/create-mysql-Linux_2.2.10_i686:
  First import - 3.23.10
sql-bench/Results/create-mysql-Linux_2.2.1_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/create-mysql-SunOS_5.5.1_sun4u:
  First import - 3.23.10
sql-bench/Results/create-mysql-SunOS_5.6_sun4m:
  ***MISSING WEAVE***
sql-bench/Results/create-mysql-SunOS_5.7_sun4m:
  First import - 3.23.10
sql-bench/Results/create-mysql-SunOS_5.7_sun4u:
  First import - 3.23.10
sql-bench/Results/create-mysql_3.21-Linux_2.0.35_i686:
  First import - 3.23.10
sql-bench/Results/create-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/create-mysql_odbc-win98:
  First import - 3.23.10
sql-bench/Results/create-oracle-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/create-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/create-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/create-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/insert-mysql-HP_UX_B.10.20_9000_778:
  First import - 3.23.10
sql-bench/Results/select-mysql-HP_UX_B.10.20_9000_778:
  First import - 3.23.10
sql-bench/Results/wisconsin-mysql-HP_UX_B.10.20_9000_778:
  First import - 3.23.10
sql/md5.c:
  First import - 3.23.10
sql/share/norwegian-ny/.cvsignore:
  First import - 3.23.10
sql/share/norwegian/.cvsignore:
  First import - 3.23.10
stamp-h.in:
  First import - 3.23.10
strings/ChangeLog:
  First import - 3.23.10
strings/bfill.c:
  First import - 3.23.10
strings/bmove.c:
  First import - 3.23.10
strings/strend.c:
  First import - 3.23.10
strings/strstr.c:
  First import - 3.23.10
strings/strxnmov.c:
  First import - 3.23.10
tests/auto_increment.res:
  First import - 3.23.10
tests/auto_increment.tst:
  First import - 3.23.10
tests/function.res:
  First import - 3.23.10
tests/function.tst:
  First import - 3.23.10
tests/grant.res:
  First import - 3.23.10
tests/lock_test.res:
  First import - 3.23.10
tests/table_types.pl:
  First import - 3.23.10
tests/udf_test.res:
  First import - 3.23.10
tests/udf_test:
  First import - 3.23.10
sql-bench/Results-linux/ATIS-mysql-Linux_2.0.33_i586-cmp-access,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/ATIS-mysql-Linux_2.0.33_i586-cmp-ms-sql,mysql,sybase:
  ***MISSING WEAVE***
sql-bench/Results-linux/RUN-mysql-Linux_2.0.33_i586-cmp-access,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/RUN-mysql-Linux_2.0.33_i586-cmp-ms-sql,mysql,sybase:
  ***MISSING WEAVE***
sql-bench/Results-linux/big-tables-mysql-Linux_2.0.33_i586-cmp-access,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/big-tables-mysql-Linux_2.0.33_i586-cmp-ms-sql,mysql,sybase:
  ***MISSING WEAVE***
sql-bench/Results-linux/connect-mysql-Linux_2.0.33_i586-cmp-access,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/connect-mysql-Linux_2.0.33_i586-cmp-ms-sql,mysql,sybase:
  ***MISSING WEAVE***
sql-bench/Results-linux/create-mysql-Linux_2.0.33_i586-cmp-access,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/create-mysql-Linux_2.0.33_i586-cmp-ms-sql,mysql,sybase:
  ***MISSING WEAVE***
sql-bench/Results-linux/insert-mysql-Linux_2.0.33_i586-cmp-access,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/insert-mysql-Linux_2.0.33_i586-cmp-ms-sql,mysql,sybase:
  ***MISSING WEAVE***
sql-bench/Results-linux/select-mysql-Linux_2.0.33_i586-cmp-access,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/select-mysql-Linux_2.0.33_i586-cmp-ms-sql,mysql,sybase:
  ***MISSING WEAVE***
sql-bench/Results-linux/wisconsin-mysql-Linux_2.0.33_i586-cmp-access,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/wisconsin-mysql-Linux_2.0.33_i586-cmp-ms-sql,mysql,sybase:
  ***MISSING WEAVE***
sql-bench/Results-win32/ATIS-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/ATIS-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/ATIS-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/ATIS-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/ATIS-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/ATIS-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/ATIS-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/ATIS-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/RUN-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/RUN-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/RUN-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/RUN-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/RUN-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/RUN-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/RUN-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/RUN-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/alter-table-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/alter-table-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/alter-table-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/alter-table-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/alter-table-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/alter-table-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/alter-table-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/alter-table-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/big-tables-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/big-tables-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/big-tables-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/big-tables-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/big-tables-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/big-tables-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/big-tables-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/big-tables-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/connect-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/connect-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/connect-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/connect-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/connect-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/connect-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/connect-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/connect-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/create-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/create-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/create-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/create-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/create-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/create-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/create-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/create-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/insert-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/insert-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/insert-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/insert-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/insert-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/insert-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/insert-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/insert-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/select-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/select-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/select-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/select-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/select-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/select-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/select-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/wisconsin-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/wisconsin-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/wisconsin-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/wisconsin-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/wisconsin-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/wisconsin-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results-win32/wisconsin-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase:
  First import - 3.23.10
sql-bench/Results/create-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/insert-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/insert-msql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/insert-mysql-3.21-Linux_2.2.1_i686:
  First import - 3.23.10
sql-bench/Results/insert-mysql-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/insert-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/insert-mysql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/insert-mysql-Linux_2.2.10_i686:
  First import - 3.23.10
sql-bench/Results/insert-mysql-Linux_2.2.1_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/insert-mysql-SunOS_5.5.1_sun4u:
  First import - 3.23.10
sql-bench/Results/insert-mysql-SunOS_5.6_sun4m:
  ***MISSING WEAVE***
sql-bench/Results/insert-mysql-SunOS_5.7_sun4m:
  First import - 3.23.10
sql-bench/Results/insert-mysql-SunOS_5.7_sun4u:
  First import - 3.23.10
sql-bench/Results/insert-mysql_3.21-Linux_2.0.35_i686:
  First import - 3.23.10
sql-bench/Results/insert-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/insert-mysql_odbc-win98:
  First import - 3.23.10
sql-bench/Results/insert-oracle-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/insert-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/insert-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/insert-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/insert-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/select-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/select-msql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/select-mysql-3.21-Linux_2.2.1_i686:
  First import - 3.23.10
sql-bench/Results/select-mysql-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/select-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/select-mysql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/select-mysql-Linux_2.2.10_i686:
  First import - 3.23.10
sql-bench/Results/select-mysql-Linux_2.2.1_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/select-mysql-SunOS_5.5.1_sun4u:
  First import - 3.23.10
sql-bench/Results/select-mysql-SunOS_5.6_sun4m:
  ***MISSING WEAVE***
sql-bench/Results/select-mysql-SunOS_5.7_sun4m:
  First import - 3.23.10
sql-bench/Results/select-mysql-SunOS_5.7_sun4u:
  First import - 3.23.10
sql-bench/Results/select-mysql_3.21-Linux_2.0.35_i686:
  First import - 3.23.10
sql-bench/Results/select-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/select-mysql_odbc-win98:
  First import - 3.23.10
sql-bench/Results/select-oracle-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/select-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/select-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/select-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/select-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/wisconsin-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/wisconsin-msql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/wisconsin-mysql-3.21-Linux_2.2.1_i686:
  First import - 3.23.10
sql-bench/Results/wisconsin-mysql-Linux_2.0.35_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/wisconsin-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/wisconsin-mysql-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/wisconsin-mysql-Linux_2.2.10_i686:
  First import - 3.23.10
sql-bench/Results/wisconsin-mysql-Linux_2.2.1_i686-cmp-adabas,mysql:
  First import - 3.23.10
sql-bench/Results/wisconsin-mysql-SunOS_5.5.1_sun4u:
  First import - 3.23.10
sql-bench/Results/wisconsin-mysql-SunOS_5.6_sun4m:
  ***MISSING WEAVE***
sql-bench/Results/wisconsin-mysql-SunOS_5.7_sun4m:
  First import - 3.23.10
sql-bench/Results/wisconsin-mysql-SunOS_5.7_sun4u:
  First import - 3.23.10
sql-bench/Results/wisconsin-mysql_3.21-Linux_2.0.35_i686:
  First import - 3.23.10
sql-bench/Results/wisconsin-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql:
  First import - 3.23.10
sql-bench/Results/wisconsin-mysql_odbc-win98:
  First import - 3.23.10
sql-bench/Results/wisconsin-oracle-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/wisconsin-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle:
  First import - 3.23.10
sql-bench/Results/wisconsin-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/wisconsin-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/Results/wisconsin-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid:
  First import - 3.23.10
sql-bench/limits/Adabas.cfg:
  First import - 3.23.10
sql-bench/limits/Adabas.comment:
  First import - 3.23.10
sql-bench/limits/Informix.cfg:
  First import - 3.23.10
sql-bench/limits/Informix.comment:
  First import - 3.23.10
sql-bench/limits/access.comment:
  First import - 3.23.10
sql-bench/limits/access_odbc.cfg:
  First import - 3.23.10
sql-bench/limits/db2.cfg:
  First import - 3.23.10
sql-bench/limits/empress.cfg:
  First import - 3.23.10
sql-bench/limits/empress.comment:
  First import - 3.23.10
sql-bench/limits/ms-sql65.cfg:
  First import - 3.23.10
sql-bench/limits/msql.cfg:
  First import - 3.23.10
sql-bench/limits/mysql-3.22.cfg:
  First import - 3.23.10
sql-bench/limits/pg.comment:
  First import - 3.23.10
sql-bench/limits/solid-nt4.cfg:
  First import - 3.23.10
sql-bench/limits/solid.cfg:
  First import - 3.23.10
sql-bench/limits/sybase.cfg:
  First import - 3.23.10
support-files/binary-configure.sh:
  First import - 3.23.10
support-files/mysql-log-rotate.sh:
  First import - 3.23.10
mkinstalldirs:
  Update to 3.23.11
Docs/mysqld_error.txt:
  Update to 3.23.11
man/mysql.1:
  Update to 3.23.11
mysys/ChangeLog:
  Update to 3.23.11
scripts/mysqlaccess.sh:
  Update to 3.23.11
strings/Attic/ptr_cmp.c:
  Update to 3.23.11
dbug/dbug_analyze.c:
  Update for 3.23.12
dbug/doinstall.sh:
  Update for 3.23.12
dbug/install.sh:
  Update for 3.23.12
dbug/mklintlib.sh:
  Update for 3.23.12
dbug/qmake.cmd:
  Update for 3.23.12
dbug/vargs.h:
  Update for 3.23.12
isam/test_all.res:
  Update for 3.23.12
isam/test_all:
  Update for 3.23.12
myisam/NEWS:
  Update for 3.23.12
myisam/common_words:
  ***MISSING WEAVE***
myisam/mi_test_all.res:
  Update for 3.23.12
myisam/test_pack:
  Update for 3.23.12
scripts/safe_mysqld-watch.sh:
  Update for 3.23.12
sql/ha_hash.h:
  Update for 3.23.12
sql/nt_servc.h:
  Update for 3.23.12
strings/READ-ME:
  Update for 3.23.12
strings/bzero.c:
  Update for 3.23.12
strings/latin2.def:
  Update for 3.23.12
strings/memset.c:
  Update for 3.23.12
strings/strcat.c:
  Update for 3.23.12
strings/strchr.c:
  Update for 3.23.12
strings/strcmp.c:
  Update for 3.23.12
strings/string.doc:
  Update for 3.23.12
strings/strings-not-used.h:
  Update for 3.23.12
strings/strlen.c:
  Update for 3.23.12
strings/strrchr.c:
  Update for 3.23.12
strings/t_ctype.h:
  Update for 3.23.12
Build-tools/Do-create-perl-rpms:
  Initial checkin of MySQL build environment.
Build-tools/Do-local-patch-file:
  Initial checkin of MySQL build environment.
Build-tools/newest:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-01.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-02.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-03.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-04.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-05.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-06.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-07.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-08.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-09.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-10.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-11.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-12.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-13.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-14.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-15.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-16.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-17.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql-compatible.jpg:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql_anim-01.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql_anim-02.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql_anim-03.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql_anim-04.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql_anim-05.gif:
  Initial checkin of MySQL build environment.
Docs/MySQL-logos/mysql_anim-06.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/afghanistan.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/albania.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/algeria.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/andorra.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/angola.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/antartica.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/antigua-and-barbuda.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/argentina.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/armenia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/australia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/austria.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/azerbaijan.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/bahamas.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/bahrein.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/bangladesh.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/barbados.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/belarus.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/belgium.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/belize.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/benin.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/bermuda.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/bhutan.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/bolivia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/bosnia-and-herzegovina.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/botswana.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/brazil.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/brunei.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/bulgaria.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/burkina-faso.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/burma.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/burundi.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/cambodia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/cameroon.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/canada.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/cape-verde.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/central-african-republic.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/chad.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/chile.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/china.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/colombia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/comoros.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/congo.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/costa-rica.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/cote-d-ivoire.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/croatia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/cuba.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/cyprus.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/czech-republic.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/denmark-original-incorrect.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/denmark.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/djibouti.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/dominica.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/dominican-republic.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/ecuador.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/egypt.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/el-salvador.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/equatorial-guinea.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/eritrea.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/estonia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/ethiopia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/fiji.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/finland.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/france.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/gabon.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/gambia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/georgia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/germany.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/ghana.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/great-britain.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/greece.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/greenland.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/grenada.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/guatemala.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/guinea-bissau.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/guinea.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/guyana.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/haiti.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/honduras.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/hungary.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/iceland.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/india.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/indonesia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/iran.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/iraq.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/ireland.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/israel.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/italy.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/jamaica.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/japan.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/jordan.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/kazakhstan.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/kenya.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/kiribati.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/kuwait.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/kyrgyzstan.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/laos.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/latvia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/lebanon.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/lesotho.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/liberia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/libya.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/liechtenstein.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/lithuania.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/luxembourg.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/macedonia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/madagascar.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/malawi.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/malaysia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/maldives.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/mali.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/malta.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/marshall.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/mauritania.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/mauritius.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/mexico.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/micronesia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/moldova.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/monaco.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/mongolia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/morocco.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/mozambique.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/namibia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/nauru.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/nepal.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/netherlands.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/new-zealand.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/nicaragua.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/niger.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/nigeria.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/north-korea.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/norway.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/oman.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/pakistan.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/panama.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/papua-new-guinea.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/paraguay.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/peru.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/philippines.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/poland.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/portugal.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/qatar.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/romania.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/russia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/rwanda.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/saint-kitts-and-nevis.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/saint-lucia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/samoa.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/sao-tome-and-principe.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/saudi-arabia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/senegal.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/seychelles.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/sierra-leone.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/singapore.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/slovakia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/slovenia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/solomon-islands.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/somalia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/south-africa.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/south-korea.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/spain.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/sri-lanka.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/sudan.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/suriname.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/swaziland.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/sweden.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/sweden2.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/switzerland.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/syria.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/taiwan.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/tajikistan.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/tanzania.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/thailand.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/togo.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/tonga.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/trinidad-and-tobago.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/tunisia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/turkey.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/turkmenistan.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/tuvalu.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/uganda.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/ukraine.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/united-arab-emirates.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/united-states-of-america.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/uruguay.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/usa.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/uzbekistan.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/vanuatu.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/venezuela.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/vietnam.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/vincent-and-grenadines.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/yemen.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/yugoslavia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/zaire.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/zambia.gif:
  Initial checkin of MySQL build environment.
Docs/Raw-Flags/zimbabwe.gif:
  Initial checkin of MySQL build environment.
Docs/Support/generate-flag-images:
  Initial checkin of MySQL build environment.
Docs/Support/generate-mirror-listing.pl:
  Initial checkin of MySQL build environment.
Docs/Support/generate-text-files.pl:
  Initial checkin of MySQL build environment.
Docs/Support/make-makefile:
  Initial checkin of MySQL build environment.
Docs/Support/texinfo.tex:
  Initial checkin of MySQL build environment.
Docs/Translations/myodbc-br.texi:
  Initial checkin of MySQL build environment.
man/.cvsignore:
  Initial checkin of MySQL build environment.
mit-pthreads/include/pthread/config.h:
  Initial checkin of MySQL build environment.
readline/.cvsignore:
  Initial checkin of MySQL build environment.
sql/share/.cvsignore:
  Initial checkin of MySQL build environment.
tests/.cvsignore:
  Initial checkin of MySQL build environment.
libmysql/acconfig.h:
  ***MISSING WEAVE***
libmysql/acinclude.m4:
  Configure stuff for libmysql.
libmysql/configure.in:
  Configure stuff for libmysql.
mit-pthreads/.cvsignore:
  More work on initial build
mit-pthreads/include/pthread/cond.h:
  Update to 3.23.12
mit-pthreads/machdep/engine-i386-linux-2.0.c:
  Update to 3.23.12
mit-pthreads/machdep/engine-i386-linux-2.0.h:
  Update to 3.23.12
mit-pthreads/machdep/posix-linux-2.0.h:
  Update to 3.23.12
mit-pthreads/machdep/unistd-i386-linux-2.0.h:
  Update to 3.23.12
sql/add_errmsg:
  Update to 3.23.12
sql/watchdog_mysqld:
  Update to 3.23.12
strings/Attic/memory.h:
  Update to 3.23.12
dbug/.cvsignore:
  Update to 3.23.12
heap/.cvsignore:
  Update to 3.23.12
merge/.cvsignore:
  Update to 3.23.12
mit-pthreads/bin/.cvsignore:
  Update to 3.23.12
mit-pthreads/bin/finger/.cvsignore:
  Update to 3.23.12
mit-pthreads/lib/.cvsignore:
  Update to 3.23.12
mit-pthreads/lib/libpthreadutil/.cvsignore:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/__math.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/__path.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/__signal.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/__stdio.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/__stdlib.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/__string.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/__time.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/cdefs.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/compat.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/dirent.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/errno.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/socket.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/socketcall.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/timers.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/uio.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/wait.h:
  Update to 3.23.12
mit-pthreads/tests/.cvsignore:
  Update to 3.23.12
myisammrg/.cvsignore:
  Update to 3.23.12
regex/.cvsignore:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/extra/bits/local_lim.h:
  Update to 3.23.12
mit-pthreads/machdep/linux-2.0/extra/bits/socket.h:
  Update to 3.23.12
vio/.cvsignore:
  Update for 3.23.12
vio/Vio.cc:
  Update for 3.23.12
vio/VioAcceptorFd.cc:
  Update for 3.23.12
vio/VioAcceptorFd.h:
  Update for 3.23.12
vio/VioConnectorFd.cc:
  Update for 3.23.12
vio/VioConnectorFd.h:
  Update for 3.23.12
vio/VioFd.cc:
  Update for 3.23.12
vio/VioFd.h:
  Update for 3.23.12
vio/VioPipe.cc:
  Update for 3.23.12
vio/VioSSL.cc:
  Update for 3.23.12
vio/VioSSL.h:
  Update for 3.23.12
vio/VioSSLAcceptorFd.cc:
  Update for 3.23.12
vio/VioSSLFactoriesFd.cc:
  Update for 3.23.12
vio/VioSSLFactoriesFd.h:
  Update for 3.23.12
vio/VioSocket.cc:
  Update for 3.23.12
vio/VioSocket.h:
  Update for 3.23.12
vio/version.cc:
  Update for 3.23.12
vio/vio-global.h:
  Update for 3.23.12
vio/vioelitexx.cc:
  Update for 3.23.12
vio/viotest-ssl.cc:
  Update for 3.23.12
vio/viotest-sslconnect.cc:
  Update for 3.23.12
vio/viotest.cc:
  Update for 3.23.12
vio/viotypes.h:
  Update for 3.23.12
strings/strxmov.c:
  Update to 3.23.12a
sql/md5.h:
  Lots of patches for Alpha-Linux
Docs/Images/empty.png:
  *** empty log message ***
Docs/Images/flag-background.pnm:
  *** empty log message ***
NEW-RPMS/.cvsignore:
  Changes for new build environment
sql-bench/example.bat:
  Update for 3.23.12a
sql-bench/pwd.bat:
  Update for 3.23.12a
sql-bench/uname.bat:
  Update for 3.23.12a
sql-bench/Results/Attic/ATIS-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results/Attic/RUN-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results/Attic/alter-table-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results/Attic/big-tables-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results/Attic/connect-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results/Attic/create-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results/Attic/insert-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results/Attic/select-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results/Attic/wisconsin-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/ATIS-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/ATIS-mysql-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/ATIS-mysql-Linux_dynamic:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/ATIS-mysql-Linux_pgcc:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/ATIS-mysql-Linux_static:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/ATIS-mysql_fast-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/ATIS-mysql_local_tcp-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/ATIS-mysql_new-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/RUN-mysql-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/RUN-mysql-Linux_dynamic:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/RUN-mysql-Linux_pgcc:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/RUN-mysql-Linux_static:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/RUN-mysql_fast-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/RUN-mysql_local_tcp-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/RUN-mysql_new-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/big-tables-mysql-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/big-tables-mysql-Linux_dynamic:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/big-tables-mysql-Linux_pgcc:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/big-tables-mysql-Linux_static:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/big-tables-mysql_fast-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/big-tables-mysql_local_tcp-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/big-tables-mysql_new-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/connect-mysql-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/connect-mysql-Linux_dynamic:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/connect-mysql-Linux_pgcc:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/connect-mysql-Linux_static:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/connect-mysql_fast-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/connect-mysql_local_tcp-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/connect-mysql_new-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/create-mysql-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/create-mysql-Linux_dynamic:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/create-mysql-Linux_pgcc:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/create-mysql-Linux_static:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/create-mysql_fast-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/create-mysql_local_tcp-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/create-mysql_new-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/insert-mysql-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/insert-mysql-Linux_dynamic:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/insert-mysql-Linux_pgcc:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/insert-mysql-Linux_static:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/insert-mysql_fast-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/insert-mysql_local_tcp-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/insert-mysql_new-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/select-mysql-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/select-mysql-Linux_dynamic:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/select-mysql-Linux_pgcc:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/select-mysql-Linux_static:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/select-mysql_fast-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/select-mysql_local_tcp-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/select-mysql_new-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/wisconsin-mysql-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/wisconsin-mysql-Linux_dynamic:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/wisconsin-mysql-Linux_pgcc:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/wisconsin-mysql-Linux_static:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/wisconsin-mysql_fast-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/wisconsin-mysql_local_tcp-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/Attic/wisconsin-mysql_new-Linux_2.0.33_i586:
  ***MISSING WEAVE***
sql-bench/Results-linux/alter-table-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/big-tables-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/connect-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/insert-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/select-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/wisconsin-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/.cvsignore:
  Update of benchmarks
sql-bench/Results-win32/ATIS-access_odbc-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/ATIS-mysql-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/RUN-access_odbc-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/RUN-mysql-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/alter-table-access_odbc-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/alter-table-mysql-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/big-tables-access_odbc-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/big-tables-mysql-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/connect-access_odbc-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/connect-mysql-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/create-access_odbc-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/create-mysql-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/insert-access_odbc-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/insert-mysql-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/select-access_odbc-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/select-mysql-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/wisconsin-access_odbc-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-win32/wisconsin-mysql-win98-cmp-access,mysql:
  Update of benchmarks
sql-bench/Results-linux/RUN-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/create-mysql-Linux_2.2.12_20smp_i686:
  ***MISSING WEAVE***
Docs/Images/Attic/mysql5.gif:
  Second copy
Docs/Images/Attic/html-fs.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-01.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-02.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-03.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-04.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-05.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-06.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-07.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-08.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-09.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-10.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-11.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-12.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-13.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-14.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-15.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-16.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-17.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-18.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-19.gif:
  Moved to web...icons
Docs/Images/Attic/mysql-compatible.jpg:
  Moved to web...icons
Docs/Images/Attic/mysql_anim-01.gif:
  Moved to web...icons
Docs/Images/Attic/mysql_anim-02.gif:
  Moved to web...icons
Docs/Images/Attic/mysql_anim-03.gif:
  Moved to web...icons
Docs/Images/Attic/mysql_anim-04.gif:
  Moved to web...icons
Docs/Images/Attic/mysql_anim-05.gif:
  Moved to web...icons
Docs/Images/Attic/mysql_anim-06.gif:
  Moved to web...icons
Docs/Images/Attic/powered-by-MySQL-transparent.gif:
  Moved to web...icons
scripts/mysql_zap.sh:
  Fixes from the Debian maintainer
Build-tools/Do-patch-file:
  Update at work
myisam/TODO:
  Fixes for raid + other things
regex/utils.h:
  Renamed some portability defines
heap/make-ccc:
  First version
isam/make-ccc:
  First version
merge/make-ccc:
  First version
myisam/make-ccc:
  First version
myisammrg/make-ccc:
  First version
mysys/make-ccc:
  First version
regex/make-ccc:
  First version
strings/make-ccc:
  First version
sql/share/romanian/errmsg.sys:
  ***MISSING WEAVE***
Docs/manual-license-spanish.texi:
  Update to 3.23.13
BUILD/test-alpha-ccc:
  Bug patches from mailing list
sql-bench/Results-win32/ATIS-mysql-win98:
  Bug patches from mailing list
sql-bench/Results-win32/RUN-mysql-win98:
  Bug patches from mailing list
sql-bench/Results-win32/alter-table-mysql-win98:
  Bug patches from mailing list
sql-bench/Results-win32/big-tables-mysql-win98:
  Bug patches from mailing list
sql-bench/Results-win32/connect-mysql-win98:
  Bug patches from mailing list
sql-bench/Results-win32/create-mysql-win98:
  Bug patches from mailing list
sql-bench/Results-win32/insert-mysql-win98:
  Bug patches from mailing list
sql-bench/Results-win32/select-mysql-win98:
  Bug patches from mailing list
sql-bench/Results-win32/wisconsin-mysql-win98:
  Bug patches from mailing list
mit-pthreads/Changes-mysql:
  Updated for Linux
mit-pthreads/config/config.h.in:
  Updated for Linux
mit-pthreads/config/configure.in:
  Updated for Linux
mit-pthreads/config/configure:
  Updated for Linux
mit-pthreads/gen/ttyname.c:
  Updated for Linux
mit-pthreads/machdep/syscall-i386-linux-2.0.S:
  Updated for Linux
mit-pthreads/machdep/linux-2.0/__unistd.h:
  Updated for Linux
mit-pthreads/net/Makefile.inc:
  Updated for Linux
mit-pthreads/pthreads/fd.c:
  Updated for Linux
mit-pthreads/pthreads/fd_kern.c:
  Updated for Linux
mit-pthreads/pthreads/fd_sysv.c:
  Updated for Linux
mit-pthreads/pthreads/signal.c:
  Updated for Linux
mit-pthreads/pthreads/wrapper.c:
  Updated for Linux
mit-pthreads/stdlib/getopt.c:
  Updated for Linux
sql/share/charsets/cp1251.conf:
  Updates for 3.23.14
sql/share/charsets/croat.conf:
  Updates for 3.23.14
sql/share/charsets/danish.conf:
  Updates for 3.23.14
sql/share/charsets/dec8.conf:
  Updates for 3.23.14
sql/share/charsets/dos.conf:
  Updates for 3.23.14
sql/share/charsets/german1.conf:
  Updates for 3.23.14
sql/share/charsets/greek.conf:
  Updates for 3.23.14
sql/share/charsets/hebrew.conf:
  Updates for 3.23.14
sql/share/charsets/hp8.conf:
  Updates for 3.23.14
sql/share/charsets/hungarian.conf:
  Updates for 3.23.14
sql/share/charsets/koi8_ru.conf:
  Updates for 3.23.14
sql/share/charsets/koi8_ukr.conf:
  Updates for 3.23.14
sql/share/charsets/latin1.conf:
  Updates for 3.23.14
sql/share/charsets/latin2.conf:
  Updates for 3.23.14
sql/share/charsets/swe7.conf:
  Updates for 3.23.14
sql/share/charsets/usa7.conf:
  Updates for 3.23.14
sql/share/charsets/win1251.conf:
  Updates for 3.23.14
sql/share/charsets/win1251ukr.conf:
  Updates for 3.23.14
sql/Attic/mybinlogdump.cc:
  Fix for binary log
include/Attic/m_ctype.h.in:
  Update for dynamic character sets
strings/Attic/ct_init.c:
  Update for dynamic character sets
strings/Attic/ctype-cp1251.c:
  Update for dynamic character sets
strings/Attic/ctype-cp1257.c:
  Update for dynamic character sets
strings/Attic/ctype-croat.c:
  Update for dynamic character sets
strings/Attic/ctype-danish.c:
  Update for dynamic character sets
strings/Attic/ctype-dec8.c:
  Update for dynamic character sets
strings/Attic/ctype-dos.c:
  Update for dynamic character sets
strings/Attic/ctype-estonia.c:
  Update for dynamic character sets
strings/Attic/ctype-german1.c:
  Update for dynamic character sets
strings/Attic/ctype-greek.c:
  Update for dynamic character sets
strings/Attic/ctype-hebrew.c:
  Update for dynamic character sets
strings/Attic/ctype-hp8.c:
  Update for dynamic character sets
strings/Attic/ctype-hungarian.c:
  Update for dynamic character sets
strings/Attic/ctype-koi8_ru.c:
  Update for dynamic character sets
strings/Attic/ctype-koi8_ukr.c:
  Update for dynamic character sets
strings/Attic/ctype-latin1.c:
  Update for dynamic character sets
strings/Attic/ctype-latin2.c:
  Update for dynamic character sets
strings/Attic/ctype-swe7.c:
  Update for dynamic character sets
strings/Attic/ctype-usa7.c:
  Update for dynamic character sets
strings/Attic/ctype-win1250.c:
  Update for dynamic character sets
strings/Attic/ctype-win1251.c:
  Update for dynamic character sets
strings/Attic/ctype-win1251ukr.c:
  Update for dynamic character sets
mysys/.cvsignore:
  Update for dynamic character set handling
client/Attic/libmysql.c:
  Update of new character sets.
sql/share/charsets/Index:
  Update to 3.23.14
sql/share/charsets/README:
  Update to 3.23.14
sql/share/charsets/cp1257.conf:
  Update to 3.23.14
sql/share/charsets/estonia.conf:
  Update to 3.23.14
sql/share/charsets/win1250.conf:
  Update to 3.23.14
strings/.cvsignore:
  Update to 3.23.14
strings/Attic/bootstrap-ctype.c:
  Update to 3.23.14
strings/Attic/ctype.c.in:
  Update to 3.23.14
strings/ctype-ujis.c:
  Update to 3.23.14
BUILD/.cvsignore:
  Portability changes
libmysql/.cvsignore:
  Portability changes
mit-pthreads/GNUmakefile:
  Modifications to get MySQL 3.23.14 to build
mit-pthreads/config.flags:
  ***MISSING WEAVE***
mit-pthreads/include/pthread/ac-types.h:
  Modifications to get MySQL 3.23.14 to build
mit-pthreads/include/pthread/paths.h:
  Modifications to get MySQL 3.23.14 to build
regex/main.c:
  Portability fixes
sql/Attic/mini_client_errors.c:
  fixed up dependencies and symlinking in mini_client
Build-tools/cvs-sanity-check:
  added a script to do a build from fresh CVS for sanity checking - make Tim, Tonu, and everybody else who has had problems with the stuff out of CVS not compiling happy
include/t_ctype.h:
  Small updates by monty
include/.cvsignore:
  Update to 3.23.15
include/mysql_version.h.in:
  Update to 3.23.15
isam/ChangeLog:
  Update to 3.23.15
sql-bench/limits/interbase.cfg:
  character sets patches + fix of order by
sql-bench/Results-linux/ATIS-interbase-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/RUN-interbase-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/alter-table-interbase-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/big-tables-interbase-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/create-interbase-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/insert-interbase-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/select-interbase-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/wisconsin-interbase-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
Docs/net_doc.txt:
  Fixes for Win32
sql/share/Makefile.am:
  Update at work to get MySQL to configure
include/Attic/mysql_com.h.in:
  Update of benchmarks and other small stuff
sql-bench/Results-linux/ATIS-interbase-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/ATIS-mysql-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/RUN-interbase-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/RUN-mysql-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/alter-table-interbase-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/alter-table-mysql-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/big-tables-interbase-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/big-tables-mysql-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/connect-interbase-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/connect-interbase-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results-linux/connect-mysql-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/create-interbase-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/create-mysql-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/insert-interbase-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/insert-mysql-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/select-interbase-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/select-mysql-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/wisconsin-interbase-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/Results-linux/wisconsin-mysql-Linux_2.2.14_5.0_i686-cmp-interbase,mysql:
  ***MISSING WEAVE***
sql-bench/limits/mimer.cfg:
  Update of benchmarks and other small stuff
sql/Attic/mini_client.c:
  Update to get Berkeley db to work.
sql/Attic/net_serv.c:
  Update to get Berkeley db to work.
sql/Attic/lex_hash.h:
  lex_hash.h is a pain in the neck for cvs diff
scripts/mysql_convert_table_format.sh:
  Update for 3.23.16
include/getopt.h:
  Update for 3.23.16
Docs/Support/.cvsignore:
  Update for build
scripts/mysqlhotcopy.sh:
  Update for 3.23.16
Docs/Attic/myisam.doc:
  Mirror addition, Broken Image fix, renamed myisam.doc -> myisam.txt (because it's really text. :).
Docs/myisam.txt:
  Mirror addition, Broken Image fix, renamed myisam.doc -> myisam.txt (because it's really text. :).
sql-bench/ChangeLog:
  Updates for 3.23.17
tests/big_record.pl:
  Updates for 3.23.17
tests/export.pl:
  Updates for 3.23.17
tests/fork2_test.pl:
  Updates for 3.23.17
tests/fork3_test.pl:
  Updates for 3.23.17
tests/fork_test.pl:
  Updates for 3.23.17
tests/grant.pl:
  Updates for 3.23.17
tests/insert_and_repair.pl:
  Updates for 3.23.17
tests/lock_test.pl:
  Updates for 3.23.17
tests/pmail.pl:
  Updates for 3.23.17
sql/.cvsignore:
  Update for 3.23.17
sql-bench/Results/Attic/ATIS-mysql-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/ATIS-mysql-Linux_2.2.1_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/ATIS-mysql_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/ATIS-pg-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/ATIS-pg_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/RUN-mysql-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/RUN-mysql-Linux_2.2.1_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/RUN-mysql_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/RUN-pg-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/RUN-pg_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/alter-table-mysql-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/alter-table-mysql-Linux_2.2.1_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/alter-table-mysql_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/alter-table-pg-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/alter-table-pg_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/big-tables-mysql-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/big-tables-mysql-Linux_2.2.1_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/big-tables-mysql_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/big-tables-pg-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/big-tables-pg_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/connect-mysql-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/connect-mysql-Linux_2.2.1_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/connect-mysql_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/connect-pg-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/connect-pg_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/create-mysql-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/create-mysql-Linux_2.2.1_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/create-mysql_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/create-pg-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/create-pg_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/insert-mysql-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/insert-mysql-Linux_2.2.1_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/insert-mysql_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/insert-pg-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/insert-pg_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/select-mysql-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/select-mysql-Linux_2.2.1_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/select-mysql_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/select-pg-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/select-pg_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/wisconsin-mysql-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/wisconsin-mysql-Linux_2.2.1_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/wisconsin-mysql_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/wisconsin-pg-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/Attic/wisconsin-pg_fast-Linux_2.2.10_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/ATIS-pg-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/RUN-pg-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/alter-table-pg-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/big-tables-pg-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/connect-pg-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/create-pg-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/insert-pg-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/select-pg-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/wisconsin-pg-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
support-files/Attic/my-example.cnf.sh:
  Updates to 3.23.17
support-files/Attic/my-huge.cfg.sh:
  Update for 3.23.17
support-files/Attic/my-large.cfg.sh:
  Update for 3.23.17
support-files/Attic/my-medium.cfg.sh:
  Update for 3.23.17
support-files/Attic/my-small.cfg.sh:
  Update for 3.23.17
sql-bench/limits/pg.cfg:
  Updates to 3.23.17
support-files/my-small.cnf.sh:
  Updates to 3.23.17
dbug/dbug.c:
  update 3.23.17 for Monty
mysys/getopt1.c:
  update 3.23.17 for Monty
readline/complete.c:
  update 3.23.17 for Monty
regex/regcomp.c:
  update 3.23.17 for Monty
regex/regex2.h:
  update 3.23.17 for Monty
regex/regexec.c:
  update 3.23.17 for Monty
regex/regexp.c:
  update 3.23.17 for Monty
sql-bench/Results/ATIS-mysql-win98:
  update 3.23.17 for Monty
sql-bench/Results/RUN-mysql-win98:
  update 3.23.17 for Monty
sql-bench/Results/alter-table-mysql-win98:
  update 3.23.17 for Monty
sql-bench/Results/big-tables-mysql-win98:
  update 3.23.17 for Monty
sql-bench/Results/connect-mysql-win98:
  update 3.23.17 for Monty
sql-bench/Results/create-mysql-win98:
  update 3.23.17 for Monty
sql-bench/Results/insert-mysql-win98:
  update 3.23.17 for Monty
sql-bench/Results/select-mysql-win98:
  update 3.23.17 for Monty
sql-bench/Results/wisconsin-mysql-win98:
  update 3.23.17 for Monty
sql-bench/Results-linux/ATIS-mysql_fast-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/alter-table-mysql_fast-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/big-tables-mysql_fast-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/create-mysql_fast-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/insert-mysql_fast-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/wisconsin-mysql_fast-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
tests/test_delayed_insert.pl:
  update 3.23.17 for Monty
vio/Vio.h:
  update 3.23.17 for Monty
vio/VioPipe.h:
  update 3.23.17 for Monty
vio/violite.h:
  update 3.23.17 for Monty
sql-bench/limits/access.cfg:
  Update for 3.23.17
sql-bench/limits/ms-sql.cfg:
  Update for 3.23.17
sql-bench/limits/oracle.cfg:
  Update for 3.23.17
BUILD/compile-alpha-ccc:
  Update to 3.23.18
BUILD/compile-alpha-debug:
  Update to 3.23.18
BUILD/compile-alpha:
  Update to 3.23.18
BUILD/compile-pentium-gcov:
  Update to 3.23.18
BUILD/compile-pentium-myodbc:
  Update to 3.23.18
BUILD/compile-pentium:
  Update to 3.23.18
BUILD/compile-solaris-sparc-purify:
  Update to 3.23.18
BUILD/compile-solaris-sparc:
  Update to 3.23.18
client/Attic/net.c:
  Update to 3.23.18
sql-bench/Results/ATIS-mysql-Linux_2.2.14_i686_xeon:
  Update to 3.23.18
sql-bench/Results/RUN-mysql-Linux_2.2.14_i686_xeon:
  Update to 3.23.18
sql-bench/Results/alter-table-mysql-Linux_2.2.14_i686_xeon:
  Update to 3.23.18
sql-bench/Results/big-tables-mysql-Linux_2.2.14_i686_xeon:
  Update to 3.23.18
sql-bench/Results/connect-mysql-Linux_2.2.14_i686_xeon:
  Update to 3.23.18
sql-bench/Results/create-mysql-Linux_2.2.14_i686_xeon:
  Update to 3.23.18
sql-bench/Results/insert-mysql-Linux_2.2.14_i686_xeon:
  Update to 3.23.18
sql-bench/Results/select-mysql-Linux_2.2.14_i686_xeon:
  Update to 3.23.18
sql-bench/Results/wisconsin-mysql-Linux_2.2.14_i686_xeon:
  Update to 3.23.18
sql-bench/Results-linux/RUN-mysql_fast-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/connect-mysql_fast-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/select-mysql_fast-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
mysql-test/mybin/mysql-test_install_db:
  Initial checkin of mysql-test subdir.
mysql-test/mysql-test-run:
  Quick commit before I checkout a new tree.
Docs/Tutorial-MySQL-final.txt:
  Update for 3.23.19-beta
Build-tools/Do-rpm:
  Fix of wrong CVS update
sql-bench/Results/ATIS-mysql-NT_4.0:
  Fix of wrong CVS update
sql-bench/Results/RUN-mysql-NT_4.0:
  Fix of wrong CVS update
sql-bench/Results/alter-table-mysql-NT_4.0:
  Fix of wrong CVS update
sql-bench/Results/big-tables-mysql-NT_4.0:
  Fix of wrong CVS update
sql-bench/Results/connect-mysql-NT_4.0:
  Fix of wrong CVS update
sql-bench/Results/create-mysql-NT_4.0:
  Fix of wrong CVS update
sql-bench/Results/insert-mysql-NT_4.0:
  Fix of wrong CVS update
sql-bench/Results/select-mysql-NT_4.0:
  Fix of wrong CVS update
sql-bench/Results/wisconsin-mysql-NT_4.0:
  Fix of wrong CVS update
acconfig.h:
  Change of copyright to GPL/LGPL
client/.cvsignore:
  Change of copyright to GPL/LGPL
client/completion_hash.h:
  Change of copyright to GPL/LGPL
client/connect_test.c:
  Change of copyright to GPL/LGPL
client/errmsg.c:
  Change of copyright to GPL/LGPL
client/insert_test.c:
  Change of copyright to GPL/LGPL
client/list_test.c:
  Change of copyright to GPL/LGPL
client/my_readline.h:
  Change of copyright to GPL/LGPL
client/password.c:
  Change of copyright to GPL/LGPL
client/readline.cc:
  Change of copyright to GPL/LGPL
client/select_test.c:
  Change of copyright to GPL/LGPL
client/showdb_test.c:
  Change of copyright to GPL/LGPL
client/sql_string.cc:
  Change of copyright to GPL/LGPL
client/sql_string.h:
  Change of copyright to GPL/LGPL
client/ssl_test.c:
  Change of copyright to GPL/LGPL
client/thread_test.c:
  Change of copyright to GPL/LGPL
client/violite.c:
  Change of copyright to GPL/LGPL
dbug/Makefile.am:
  Change of copyright to GPL/LGPL
extra/comp_err.c:
  Change of copyright to GPL/LGPL
extra/perror.c:
  Change of copyright to GPL/LGPL
extra/replace.c:
  Change of copyright to GPL/LGPL
extra/resolveip.c:
  Change of copyright to GPL/LGPL
heap/Makefile.am:
  Change of copyright to GPL/LGPL
heap/_check.c:
  Change of copyright to GPL/LGPL
heap/_rectest.c:
  Change of copyright to GPL/LGPL
heap/heapdef.h:
  Change of copyright to GPL/LGPL
heap/hp_block.c:
  Change of copyright to GPL/LGPL
heap/hp_clear.c:
  Change of copyright to GPL/LGPL
heap/hp_close.c:
  Change of copyright to GPL/LGPL
heap/hp_create.c:
  Change of copyright to GPL/LGPL
heap/hp_delete.c:
  Change of copyright to GPL/LGPL
heap/hp_extra.c:
  Change of copyright to GPL/LGPL
heap/hp_hash.c:
  Change of copyright to GPL/LGPL
heap/hp_info.c:
  Change of copyright to GPL/LGPL
heap/hp_open.c:
  Change of copyright to GPL/LGPL
heap/hp_panic.c:
  Change of copyright to GPL/LGPL
heap/hp_rename.c:
  Change of copyright to GPL/LGPL
heap/hp_rfirst.c:
  Change of copyright to GPL/LGPL
heap/hp_rlast.c:
  Change of copyright to GPL/LGPL
heap/hp_rnext.c:
  Change of copyright to GPL/LGPL
heap/hp_rprev.c:
  Change of copyright to GPL/LGPL
heap/hp_rrnd.c:
  Change of copyright to GPL/LGPL
heap/hp_rsame.c:
  Change of copyright to GPL/LGPL
heap/hp_scan.c:
  Change of copyright to GPL/LGPL
heap/hp_static.c:
  Change of copyright to GPL/LGPL
heap/hp_test1.c:
  Change of copyright to GPL/LGPL
heap/hp_test2.c:
  Change of copyright to GPL/LGPL
heap/hp_update.c:
  Change of copyright to GPL/LGPL
heap/hp_write.c:
  Change of copyright to GPL/LGPL
include/dbug.h:
  Change of copyright to GPL/LGPL
include/hash.h:
  Change of copyright to GPL/LGPL
include/heap.h:
  Change of copyright to GPL/LGPL
include/m_ctype.h:
  Change of copyright to GPL/LGPL
include/m_string.h:
  Change of copyright to GPL/LGPL
include/merge.h:
  Change of copyright to GPL/LGPL
include/my_alarm.h:
  Change of copyright to GPL/LGPL
include/my_dir.h:
  Change of copyright to GPL/LGPL
include/my_list.h:
  Change of copyright to GPL/LGPL
include/my_net.h:
  Change of copyright to GPL/LGPL
include/my_no_pthread.h:
  Change of copyright to GPL/LGPL
include/my_nosys.h:
  Change of copyright to GPL/LGPL
include/my_pthread.h:
  Change of copyright to GPL/LGPL
include/my_sys.h:
  Change of copyright to GPL/LGPL
include/my_tree.h:
  Change of copyright to GPL/LGPL
include/myisammrg.h:
  Change of copyright to GPL/LGPL
include/myisampack.h:
  Change of copyright to GPL/LGPL
include/mysys_err.h:
  Change of copyright to GPL/LGPL
include/nisam.h:
  Change of copyright to GPL/LGPL
include/queues.h:
  Change of copyright to GPL/LGPL
include/raid.h:
  Change of copyright to GPL/LGPL
include/sslopt-case.h:
  Change of copyright to GPL/LGPL
include/sslopt-longopts.h:
  Change of copyright to GPL/LGPL
include/sslopt-usage.h:
  Change of copyright to GPL/LGPL
include/sslopt-vars.h:
  Change of copyright to GPL/LGPL
include/thr_alarm.h:
  Change of copyright to GPL/LGPL
include/thr_lock.h:
  Change of copyright to GPL/LGPL
include/violite.h:
  Change of copyright to GPL/LGPL
isam/Makefile.am:
  Change of copyright to GPL/LGPL
isam/_cache.c:
  Change of copyright to GPL/LGPL
isam/_dynrec.c:
  Change of copyright to GPL/LGPL
isam/_key.c:
  Change of copyright to GPL/LGPL
isam/_locking.c:
  Change of copyright to GPL/LGPL
isam/_packrec.c:
  Change of copyright to GPL/LGPL
isam/_page.c:
  Change of copyright to GPL/LGPL
isam/_search.c:
  Change of copyright to GPL/LGPL
isam/_statrec.c:
  Change of copyright to GPL/LGPL
isam/changed.c:
  Change of copyright to GPL/LGPL
isam/close.c:
  Change of copyright to GPL/LGPL
isam/create.c:
  Change of copyright to GPL/LGPL
isam/delete.c:
  Change of copyright to GPL/LGPL
isam/extra.c:
  Change of copyright to GPL/LGPL
isam/isamchk.c:
  Change of copyright to GPL/LGPL
isam/isamlog.c:
  Change of copyright to GPL/LGPL
isam/log.c:
  Change of copyright to GPL/LGPL
isam/open.c:
  Change of copyright to GPL/LGPL
isam/pack_isam.c:
  Change of copyright to GPL/LGPL
isam/panic.c:
  Change of copyright to GPL/LGPL
isam/range.c:
  Change of copyright to GPL/LGPL
isam/rfirst.c:
  Change of copyright to GPL/LGPL
isam/rkey.c:
  Change of copyright to GPL/LGPL
isam/rlast.c:
  Change of copyright to GPL/LGPL
isam/rnext.c:
  Change of copyright to GPL/LGPL
isam/rprev.c:
  Change of copyright to GPL/LGPL
isam/rrnd.c:
  Change of copyright to GPL/LGPL
isam/rsame.c:
  Change of copyright to GPL/LGPL
isam/rsamepos.c:
  Change of copyright to GPL/LGPL
isam/sort.c:
  Change of copyright to GPL/LGPL
isam/static.c:
  Change of copyright to GPL/LGPL
isam/test1.c:
  Change of copyright to GPL/LGPL
isam/test3.c:
  Change of copyright to GPL/LGPL
libmysql/Makefile.am:
  Change of copyright to GPL/LGPL
libmysql/conf_to_src.c:
  Change of copyright to GPL/LGPL
libmysql/dll.c:
  Change of copyright to GPL/LGPL
libmysql/get_password.c:
  Change of copyright to GPL/LGPL
libmysql/password.c:
  Change of copyright to GPL/LGPL
libmysql/violite.c:
  Change of copyright to GPL/LGPL
man/Makefile.am:
  Change of copyright to GPL/LGPL
merge/Makefile.am:
  Change of copyright to GPL/LGPL
merge/_locking.c:
  Change of copyright to GPL/LGPL
merge/close.c:
  Change of copyright to GPL/LGPL
merge/create.c:
  Change of copyright to GPL/LGPL
merge/delete.c:
  Change of copyright to GPL/LGPL
merge/extra.c:
  Change of copyright to GPL/LGPL
merge/info.c:
  Change of copyright to GPL/LGPL
merge/mrgdef.h:
  Change of copyright to GPL/LGPL
merge/open.c:
  Change of copyright to GPL/LGPL
merge/panic.c:
  Change of copyright to GPL/LGPL
merge/rrnd.c:
  Change of copyright to GPL/LGPL
merge/rsame.c:
  Change of copyright to GPL/LGPL
merge/static.c:
  Change of copyright to GPL/LGPL
merge/update.c:
  Change of copyright to GPL/LGPL
myisam/ft_eval.c:
  Change of copyright to GPL/LGPL
myisam/ft_eval.h:
  Change of copyright to GPL/LGPL
myisam/ft_parser.c:
  Change of copyright to GPL/LGPL
myisam/ft_static.c:
  Change of copyright to GPL/LGPL
myisam/ft_stem.c:
  Change of copyright to GPL/LGPL
myisam/ft_stopwords.c:
  Change of copyright to GPL/LGPL
myisam/ft_test1.c:
  Change of copyright to GPL/LGPL
myisam/ft_test1.h:
  Change of copyright to GPL/LGPL
myisam/ftdefs.h:
  Change of copyright to GPL/LGPL
myisam/fulltext.h:
  Change of copyright to GPL/LGPL
myisam/mi_cache.c:
  Change of copyright to GPL/LGPL
myisam/mi_changed.c:
  Change of copyright to GPL/LGPL
myisam/mi_checksum.c:
  Change of copyright to GPL/LGPL
myisam/mi_dbug.c:
  Change of copyright to GPL/LGPL
myisam/mi_delete_all.c:
  Change of copyright to GPL/LGPL
myisam/mi_delete_table.c:
  Change of copyright to GPL/LGPL
myisam/mi_dynrec.c:
  Change of copyright to GPL/LGPL
myisam/mi_info.c:
  Change of copyright to GPL/LGPL
myisam/mi_key.c:
  Change of copyright to GPL/LGPL
myisam/mi_packrec.c:
  Change of copyright to GPL/LGPL
myisam/mi_page.c:
  Change of copyright to GPL/LGPL
myisam/mi_range.c:
  Change of copyright to GPL/LGPL
myisam/mi_rename.c:
  Change of copyright to GPL/LGPL
myisam/mi_rfirst.c:
  Change of copyright to GPL/LGPL
myisam/mi_rkey.c:
  Change of copyright to GPL/LGPL
myisam/mi_rlast.c:
  Change of copyright to GPL/LGPL
myisam/mi_rnext.c:
  Change of copyright to GPL/LGPL
myisam/mi_rprev.c:
  Change of copyright to GPL/LGPL
myisam/mi_rrnd.c:
  Change of copyright to GPL/LGPL
myisam/mi_rsame.c:
  Change of copyright to GPL/LGPL
myisam/mi_rsamepos.c:
  Change of copyright to GPL/LGPL
myisam/mi_scan.c:
  Change of copyright to GPL/LGPL
myisam/mi_static.c:
  Change of copyright to GPL/LGPL
myisam/mi_statrec.c:
  Change of copyright to GPL/LGPL
myisam/mi_test1.c:
  Change of copyright to GPL/LGPL
myisam/mi_test2.c:
  Change of copyright to GPL/LGPL
myisam/mi_test3.c:
  Change of copyright to GPL/LGPL
myisam/mi_unique.c:
  Change of copyright to GPL/LGPL
myisam/myisamlog.c:
  Change of copyright to GPL/LGPL
myisam/sort.c:
  Change of copyright to GPL/LGPL
myisammrg/Makefile.am:
  Change of copyright to GPL/LGPL
myisammrg/mymrgdef.h:
  Change of copyright to GPL/LGPL
myisammrg/myrg_close.c:
  Change of copyright to GPL/LGPL
myisammrg/myrg_create.c:
  Change of copyright to GPL/LGPL
myisammrg/myrg_delete.c:
  Change of copyright to GPL/LGPL
myisammrg/myrg_extra.c:
  Change of copyright to GPL/LGPL
myisammrg/myrg_info.c:
  Change of copyright to GPL/LGPL
myisammrg/myrg_locking.c:
  Change of copyright to GPL/LGPL
myisammrg/myrg_open.c:
  Change of copyright to GPL/LGPL
myisammrg/myrg_panic.c:
  Change of copyright to GPL/LGPL
myisammrg/myrg_rrnd.c:
  Change of copyright to GPL/LGPL
myisammrg/myrg_rsame.c:
  Change of copyright to GPL/LGPL
myisammrg/myrg_static.c:
  Change of copyright to GPL/LGPL
myisammrg/myrg_update.c:
  Change of copyright to GPL/LGPL
mysys/Makefile.am:
  Change of copyright to GPL/LGPL
mysys/array.c:
  Change of copyright to GPL/LGPL
mysys/charset.c:
  Change of copyright to GPL/LGPL
mysys/checksum.c:
  Change of copyright to GPL/LGPL
mysys/default.c:
  Change of copyright to GPL/LGPL
mysys/errors.c:
  Change of copyright to GPL/LGPL
mysys/getvar.c:
  Change of copyright to GPL/LGPL
mysys/hash.c:
  Change of copyright to GPL/LGPL
mysys/list.c:
  Change of copyright to GPL/LGPL
mysys/make-conf.c:
  Change of copyright to GPL/LGPL
mysys/mf_brkhant.c:
  Change of copyright to GPL/LGPL
mysys/mf_cache.c:
  Change of copyright to GPL/LGPL
mysys/mf_casecnv.c:
  Change of copyright to GPL/LGPL
mysys/mf_dirname.c:
  Change of copyright to GPL/LGPL
mysys/mf_fn_ext.c:
  Change of copyright to GPL/LGPL
mysys/mf_format.c:
  Change of copyright to GPL/LGPL
mysys/mf_getdate.c:
  Change of copyright to GPL/LGPL
mysys/mf_iocache.c:
  Change of copyright to GPL/LGPL
mysys/mf_keycache.c:
  Change of copyright to GPL/LGPL
mysys/mf_loadpath.c:
  Change of copyright to GPL/LGPL
mysys/mf_pack2.c:
  Change of copyright to GPL/LGPL
mysys/mf_path.c:
  Change of copyright to GPL/LGPL
mysys/mf_qsort.c:
  Change of copyright to GPL/LGPL
mysys/mf_qsort2.c:
  Change of copyright to GPL/LGPL
mysys/mf_radix.c:
  Change of copyright to GPL/LGPL
mysys/mf_reccache.c:
  ***MISSING WEAVE***
mysys/mf_same.c:
  Change of copyright to GPL/LGPL
mysys/mf_sleep.c:
  Change of copyright to GPL/LGPL
mysys/mf_sort.c:
  Change of copyright to GPL/LGPL
mysys/mf_soundex.c:
  Change of copyright to GPL/LGPL
mysys/mf_stripp.c:
  Change of copyright to GPL/LGPL
mysys/mf_unixpath.c:
  Change of copyright to GPL/LGPL
mysys/mf_util.c:
  Change of copyright to GPL/LGPL
mysys/mf_wcomp.c:
  Change of copyright to GPL/LGPL
mysys/mf_wfile.c:
  Change of copyright to GPL/LGPL
mysys/mulalloc.c:
  Change of copyright to GPL/LGPL
mysys/my_alarm.c:
  Change of copyright to GPL/LGPL
mysys/my_alloc.c:
  Change of copyright to GPL/LGPL
mysys/my_append.c:
  Change of copyright to GPL/LGPL
mysys/my_chsize.c:
  Change of copyright to GPL/LGPL
mysys/my_clock.c:
  Change of copyright to GPL/LGPL
mysys/my_compress.c:
  Change of copyright to GPL/LGPL
mysys/my_copy.c:
  Change of copyright to GPL/LGPL
mysys/my_create.c:
  Change of copyright to GPL/LGPL
mysys/my_delete.c:
  Change of copyright to GPL/LGPL
mysys/my_div.c:
  Change of copyright to GPL/LGPL
mysys/my_error.c:
  Change of copyright to GPL/LGPL
mysys/my_fopen.c:
  Change of copyright to GPL/LGPL
mysys/my_fstream.c:
  Change of copyright to GPL/LGPL
mysys/my_getwd.c:
  Change of copyright to GPL/LGPL
mysys/my_init.c:
  Change of copyright to GPL/LGPL
mysys/my_lib.c:
  Change of copyright to GPL/LGPL
mysys/my_lock.c:
  Change of copyright to GPL/LGPL
mysys/my_lockmem.c:
  Change of copyright to GPL/LGPL
mysys/my_lread.c:
  Change of copyright to GPL/LGPL
mysys/my_lwrite.c:
  Change of copyright to GPL/LGPL
mysys/my_malloc.c:
  Change of copyright to GPL/LGPL
mysys/my_messnc.c:
  Change of copyright to GPL/LGPL
mysys/my_mkdir.c:
  Change of copyright to GPL/LGPL
mysys/my_net.c:
  Change of copyright to GPL/LGPL
mysys/my_once.c:
  Change of copyright to GPL/LGPL
mysys/my_open.c:
  Change of copyright to GPL/LGPL
mysys/my_pread.c:
  Change of copyright to GPL/LGPL
mysys/my_pthread.c:
  Change of copyright to GPL/LGPL
mysys/my_quick.c:
  Change of copyright to GPL/LGPL
mysys/my_read.c:
  Change of copyright to GPL/LGPL
mysys/my_realloc.c:
  Change of copyright to GPL/LGPL
mysys/my_redel.c:
  Change of copyright to GPL/LGPL
mysys/my_rename.c:
  Change of copyright to GPL/LGPL
mysys/my_seek.c:
  Change of copyright to GPL/LGPL
mysys/my_static.c:
  Change of copyright to GPL/LGPL
mysys/my_static.h:
  Change of copyright to GPL/LGPL
mysys/my_tempnam.c:
  Change of copyright to GPL/LGPL
mysys/my_vsnprintf.c:
  Change of copyright to GPL/LGPL
mysys/my_wincond.c:
  Change of copyright to GPL/LGPL
mysys/my_winthread.c:
  Change of copyright to GPL/LGPL
mysys/my_write.c:
  Change of copyright to GPL/LGPL
mysys/mysys_priv.h:
  Change of copyright to GPL/LGPL
mysys/ptr_cmp.c:
  Change of copyright to GPL/LGPL
mysys/queues.c:
  Change of copyright to GPL/LGPL
mysys/raid.cc:
  Change of copyright to GPL/LGPL
mysys/safemalloc.c:
  Change of copyright to GPL/LGPL
mysys/string.c:
  Change of copyright to GPL/LGPL
mysys/test_charset.c:
  Change of copyright to GPL/LGPL
mysys/test_dir.c:
  Change of copyright to GPL/LGPL
mysys/test_fn.c:
  Change of copyright to GPL/LGPL
mysys/test_vsnprintf.c:
  Change of copyright to GPL/LGPL
mysys/testhash.c:
  Change of copyright to GPL/LGPL
mysys/thr_alarm.c:
  Change of copyright to GPL/LGPL
mysys/thr_lock.c:
  Change of copyright to GPL/LGPL
mysys/thr_mutex.c:
  Change of copyright to GPL/LGPL
mysys/thr_rwlock.c:
  Change of copyright to GPL/LGPL
mysys/tree.c:
  Change of copyright to GPL/LGPL
mysys/typelib.c:
  Change of copyright to GPL/LGPL
regex/Makefile.am:
  Change of copyright to GPL/LGPL
sql/cache_manager.cc:
  Change of copyright to GPL/LGPL
sql/cache_manager.h:
  Change of copyright to GPL/LGPL
sql/convert.cc:
  Change of copyright to GPL/LGPL
sql/custom_conf.h:
  Change of copyright to GPL/LGPL
sql/derror.cc:
  Change of copyright to GPL/LGPL
sql/field_conv.cc:
  Change of copyright to GPL/LGPL
sql/frm_crypt.cc:
  Change of copyright to GPL/LGPL
sql/ha_heap.cc:
  Change of copyright to GPL/LGPL
sql/ha_heap.h:
  Change of copyright to GPL/LGPL
sql/ha_isam.cc:
  Change of copyright to GPL/LGPL
sql/ha_isammrg.cc:
  Change of copyright to GPL/LGPL
sql/hash_filo.cc:
  Change of copyright to GPL/LGPL
sql/hash_filo.h:
  Change of copyright to GPL/LGPL
sql/hostname.cc:
  Change of copyright to GPL/LGPL
sql/init.cc:
  Change of copyright to GPL/LGPL
sql/item_buff.cc:
  Change of copyright to GPL/LGPL
sql/item_cmpfunc.h:
  Change of copyright to GPL/LGPL
sql/item_create.cc:
  Change of copyright to GPL/LGPL
sql/item_create.h:
  Change of copyright to GPL/LGPL
sql/item_strfunc.cc:
  Change of copyright to GPL/LGPL
sql/item_strfunc.h:
  Change of copyright to GPL/LGPL
sql/item_sum.cc:
  Change of copyright to GPL/LGPL
sql/item_sum.h:
  Change of copyright to GPL/LGPL
sql/item_uniq.cc:
  Change of copyright to GPL/LGPL
sql/item_uniq.h:
  Change of copyright to GPL/LGPL
sql/key.cc:
  Change of copyright to GPL/LGPL
sql/lex_symbol.h:
  Change of copyright to GPL/LGPL
sql/lock.cc:
  Change of copyright to GPL/LGPL
sql/matherr.c:
  Change of copyright to GPL/LGPL
sql/mf_iocache.cc:
  Change of copyright to GPL/LGPL
sql/mini_client.h:
  Change of copyright to GPL/LGPL
sql/my_lock.c:
  Change of copyright to GPL/LGPL
sql/opt_sum.cc:
  Change of copyright to GPL/LGPL
sql/password.c:
  Change of copyright to GPL/LGPL
sql/procedure.cc:
  Change of copyright to GPL/LGPL
sql/procedure.h:
  Change of copyright to GPL/LGPL
sql/sql_acl.h:
  Change of copyright to GPL/LGPL
sql/sql_analyse.cc:
  Change of copyright to GPL/LGPL
sql/sql_cache.cc:
  Change of copyright to GPL/LGPL
sql/sql_crypt.cc:
  Change of copyright to GPL/LGPL
sql/sql_crypt.h:
  Change of copyright to GPL/LGPL
sql/sql_list.cc:
  Change of copyright to GPL/LGPL
sql/sql_list.h:
  Change of copyright to GPL/LGPL
sql/sql_map.cc:
  Change of copyright to GPL/LGPL
sql/sql_map.h:
  Change of copyright to GPL/LGPL
sql/sql_string.h:
  Change of copyright to GPL/LGPL
sql/sql_test.cc:
  Change of copyright to GPL/LGPL
sql/sql_udf.cc:
  Change of copyright to GPL/LGPL
sql/sql_udf.h:
  Change of copyright to GPL/LGPL
sql/thr_malloc.cc:
  Change of copyright to GPL/LGPL
sql/udf_example.cc:
  Change of copyright to GPL/LGPL
sql/unireg.cc:
  Change of copyright to GPL/LGPL
sql/unireg.h:
  Change of copyright to GPL/LGPL
sql/violite.c:
  Change of copyright to GPL/LGPL
sql-bench/Makefile.am:
  Change of copyright to GPL/LGPL
sql-bench/bench-init.pl.sh:
  Change of copyright to GPL/LGPL
sql-bench/copy-db.sh:
  Change of copyright to GPL/LGPL
sql-bench/run-all-tests.sh:
  Change of copyright to GPL/LGPL
sql-bench/server-cfg.sh:
  Change of copyright to GPL/LGPL
sql-bench/test-ATIS.sh:
  Change of copyright to GPL/LGPL
sql-bench/test-alter-table.sh:
  Change of copyright to GPL/LGPL
sql-bench/test-big-tables.sh:
  Change of copyright to GPL/LGPL
sql-bench/test-connect.sh:
  Change of copyright to GPL/LGPL
sql-bench/test-create.sh:
  Change of copyright to GPL/LGPL
sql-bench/test-insert.sh:
  Change of copyright to GPL/LGPL
sql-bench/test-select.sh:
  Change of copyright to GPL/LGPL
sql-bench/test-wisconsin.sh:
  Change of copyright to GPL/LGPL
sql-bench/Results/ATIS-mysql-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/ATIS-mysql_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/ATIS-pg_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/ATIS-pg_fast-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results/RUN-mysql-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/RUN-mysql_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/RUN-pg_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/RUN-pg_fast-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results/alter-table-mysql-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/alter-table-mysql_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/alter-table-pg_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/alter-table-pg_fast-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results/big-tables-mysql-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/big-tables-mysql_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/big-tables-pg_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/big-tables-pg_fast-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results/connect-mysql-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/connect-mysql_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/connect-pg_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/connect-pg_fast-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results/create-mysql-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/create-mysql_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/create-pg_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/create-pg_fast-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results/insert-mysql-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/insert-mysql_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/insert-pg_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/select-mysql-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/select-mysql_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/select-pg_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/wisconsin-mysql-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/wisconsin-mysql_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
sql-bench/Results/wisconsin-pg_fast-Linux_2.2.14_5.0_i686-cmp-mysql,pg:
  ***MISSING WEAVE***
strings/Makefile.am:
  Change of copyright to GPL/LGPL
strings/README:
  Change of copyright to GPL/LGPL
strings/atof.c:
  Change of copyright to GPL/LGPL
strings/bchange.c:
  Change of copyright to GPL/LGPL
strings/bcmp.c:
  Change of copyright to GPL/LGPL
strings/bcopy-duff.c:
  Change of copyright to GPL/LGPL
strings/bmove512.c:
  Change of copyright to GPL/LGPL
strings/bmove_upp-sparc.s:
  Change of copyright to GPL/LGPL
strings/bmove_upp.c:
  Change of copyright to GPL/LGPL
strings/conf_to_src.c:
  Change of copyright to GPL/LGPL
strings/ctype-big5.c:
  Change of copyright to GPL/LGPL
strings/ctype-euc_kr.c:
  Change of copyright to GPL/LGPL
strings/ctype-gb2312.c:
  Change of copyright to GPL/LGPL
strings/ctype-sjis.c:
  Change of copyright to GPL/LGPL
strings/ctype.c:
  Change of copyright to GPL/LGPL
strings/do_ctype.c:
  Change of copyright to GPL/LGPL
strings/int2str.c:
  Change of copyright to GPL/LGPL
strings/is_prefix.c:
  Change of copyright to GPL/LGPL
strings/llstr.c:
  Change of copyright to GPL/LGPL
strings/longlong2str-x86.s:
  Change of copyright to GPL/LGPL
strings/longlong2str.c:
  Change of copyright to GPL/LGPL
strings/macros.asm:
  Change of copyright to GPL/LGPL
strings/memcmp.c:
  Change of copyright to GPL/LGPL
strings/memcpy.c:
  Change of copyright to GPL/LGPL
strings/ptr_cmp.asm:
  Change of copyright to GPL/LGPL
strings/str2int.c:
  Change of copyright to GPL/LGPL
strings/str_test.c:
  Change of copyright to GPL/LGPL
strings/strappend-sparc.s:
  Change of copyright to GPL/LGPL
strings/strappend.c:
  Change of copyright to GPL/LGPL
strings/strcend.c:
  Change of copyright to GPL/LGPL
strings/strcont.c:
  Change of copyright to GPL/LGPL
strings/strend-sparc.s:
  Change of copyright to GPL/LGPL
strings/strfill.c:
  Change of copyright to GPL/LGPL
strings/strings-x86.s:
  Change of copyright to GPL/LGPL
strings/strings.asm:
  Change of copyright to GPL/LGPL
strings/strinstr-sparc.s:
  Change of copyright to GPL/LGPL
strings/strinstr.c:
  Change of copyright to GPL/LGPL
strings/strmake-sparc.s:
  Change of copyright to GPL/LGPL
strings/strmake.c:
  Change of copyright to GPL/LGPL
strings/strmov-sparc.s:
  Change of copyright to GPL/LGPL
strings/strmov.c:
  Change of copyright to GPL/LGPL
strings/strnmov-sparc.s:
  Change of copyright to GPL/LGPL
strings/strnmov.c:
  Change of copyright to GPL/LGPL
strings/strstr-sparc.s:
  Change of copyright to GPL/LGPL
strings/strto.c:
  Change of copyright to GPL/LGPL
strings/strtol.c:
  Change of copyright to GPL/LGPL
strings/strtoll.c:
  Change of copyright to GPL/LGPL
strings/strtoul.c:
  Change of copyright to GPL/LGPL
strings/strtoull.c:
  Change of copyright to GPL/LGPL
strings/strxmov-sparc.s:
  Change of copyright to GPL/LGPL
strings/strxmov.asm:
  Change of copyright to GPL/LGPL
strings/udiv.c:
  Change of copyright to GPL/LGPL
support-files/Makefile.am:
  Change of copyright to GPL/LGPL
tests/Makefile.am:
  Change of copyright to GPL/LGPL
vio/Makefile.am:
  Change of copyright to GPL/LGPL
isam/.cvsignore:
  Updates for 3.23.19
myisam/.cvsignore:
  Updates for 3.23.19
sql-bench/Results/insert-pg_fast-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results/select-pg_fast-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql-bench/Results/wisconsin-pg_fast-Linux_2.2.14_5.0_i686:
  ***MISSING WEAVE***
sql/sql_analyse.h:
  Fix bug when memory wasn't freed
sql/mysqlbinlog.cc:
  Small fixes
sql/share/romanian/errmsg.txt:
  ***MISSING WEAVE***
include/mysql_com.h:
  Replication update/LOAD TABLE FROM MASTER + other fixes
client/mysql-test.c:
  ***MISSING WEAVE***
myisam/Attic/ft_global.h:
  This file is now in include/
extra/Attic/print_defaults.c:
  Updates for text search + ORDER BY
extra/Makefile.am:
  Updates for text search + ORDER BY
extra/my_print_defaults.c:
  Updates for text search + ORDER BY
include/mysqld_error.h:
  Updates for text search + ORDER BY
sql/item_cmpfunc.cc:
  Updates for text search + ORDER BY
sql/opt_range.h:
  Updates for text search + ORDER BY
sql/sql_lex.cc:
  Updates for text search + ORDER BY
sql-bench/crash-me.sh:
  Updates for text search + ORDER BY
sql-bench/limits/mysql.cfg:
  Updates for text search + ORDER BY
sql/share/czech/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/czech/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/danish/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/danish/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/dutch/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/dutch/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/english/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/english/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/estonia/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/estonia/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/french/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/french/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/german/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/german/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/greek/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/greek/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/hungarian/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/hungarian/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/japanese/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/japanese/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/korean/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/korean/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/norwegian/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/norwegian-ny/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/polish/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/polish/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/portuguese/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/portuguese/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/romania/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/romania/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/russian/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/russian/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/slovak/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/slovak/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/spanish/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/spanish/errmsg.txt:
  Updates for text search + ORDER BY
sql/share/swedish/errmsg.OLD:
  Updates for text search + ORDER BY
sql/share/swedish/errmsg.sys:
  Updates for text search + ORDER BY
sql/share/swedish/errmsg.txt:
  Updates for text search + ORDER BY
support-files/mysql.server-sys5.sh:
  Updates for text search + ORDER BY
extra/.cvsignore:
  Fix for update + BDB tables
isam/_dbug.c:
  Fix for update + BDB tables
myisam/mi_delete.c:
  Fix for update + BDB tables
myisam/mi_rnext_same.c:
  Fix for update + BDB tables
myisam/mi_search.c:
  Fix for update + BDB tables
sql/table.cc:
  Fix of core dump bugs
myisam/Makefile.am:
  Aded missing file
sql/ha_berkeley.h:
  Fix DELETE FROM table_name problem
Build-tools/Do-all-build-steps:
  Update to final 3.23.20
Build-tools/mysql-copyright-2:
  Update to final 3.23.20
Build-tools/mysql-copyright:
  Update to final 3.23.20
Docs/.cvsignore:
  Update to final 3.23.20
scripts/make_binary_distribution.sh:
  Update to final 3.23.20
Docs/internals.texi:
  Fix of licenses issues.
sql/ha_isam.h:
  Added patch by Sergei for MATCH + some bug fixes.
sql/ha_isammrg.h:
  Added patch by Sergei for MATCH + some bug fixes.
sql/ha_myisammrg.h:
  Added patch by Sergei for MATCH + some bug fixes.
myisam/ft_search.c:
  Fix of portability bug
include/ft_global.h:
  Fix of portability bug
sql/log_event.cc:
  One more safety fix
sql/log_event.h:
  One more safety fix
isam/test2.c:
  Update to 3.23.21
isam/update.c:
  Update to 3.23.21
myisam/ChangeLog:
  Update to 3.23.21
myisam/mi_test_all.sh:
  Update to 3.23.21
myisam/mi_update.c:
  Update to 3.23.21
myisam/mi_write.c:
  Update to 3.23.21
scripts/.cvsignore:
  Update to 3.23.21
scripts/mysql_config.sh:
  Update to 3.23.21
sql/filesort.cc:
  Update to 3.23.21
Docs/Support/texi2html:
  removed NOSAVE attrib from TABLE tags, non-standard HTML.
include/Attic/config-win32.h:
  Made update log ASCII 0 safe
myisam/mi_test_all:
  ***MISSING WEAVE***
sql/sql_acl.cc:
  Made update log ASCII 0 safe
sql/sql_db.cc:
  Made update log ASCII 0 safe
sql/sql_delete.cc:
  Made update log ASCII 0 safe
sql/sql_insert.cc:
  Made update log ASCII 0 safe
sql/sql_load.cc:
  Made update log ASCII 0 safe
sql/sql_select.h:
  Made update log ASCII 0 safe
sql/sql_update.cc:
  Made update log ASCII 0 safe
sql/table.h:
  Made update log ASCII 0 safe
strings/ctype-czech.c:
  Made update log ASCII 0 safe
support-files/maxsql.spec.sh:
  Made update log ASCII 0 safe
client/mysqlimport.c:
  Update to 3.23.21
client/mysqlshow.c:
  Update to 3.23.21
include/mysql.h:
  Added mysql_character_set_name()
mit-pthreads/net/gethostname.c:
  Added mysql_character_set_name()
scripts/Makefile.am:
  Added mysql_character_set_name()
client/Makefile.am:
  portability fixes
scripts/mysql_install_db.sh:
  portability fixes
support-files/mysql.spec.sh:
  Added mysql_config
config.h.in:
  ***MISSING WEAVE***
client/mysqldump.c:
  Small fixes
heap/hp_rkey.c:
  Small fixes
sql-bench/compare-results.sh:
  Small fixes
tests/mail_to_db.pl:
  Small fixes
acinclude.m4:
  Configure updates for 3.23.22
BUILD/compile-pentium-debug:
  Configure updates for 3.23.22
Docs/Makefile.am:
  Configure updates for 3.23.22
client/get_password.c:
  Configure updates for 3.23.22
client/mysqladmin.c:
  Configure updates for 3.23.22
include/Makefile.am:
  Configure updates for 3.23.22
include/my_global.h:
  ***MISSING WEAVE***
isam/info.c:
  Configure updates for 3.23.22
isam/isamdef.h:
  Configure updates for 3.23.22
isam/write.c:
  Configure updates for 3.23.22
sql/records.cc:
  Configure updates for 3.23.22
sql-bench/print-limit-table:
  Configure updates for 3.23.22
sql-bench/limits/mysql-3.23.cfg:
  Configure updates for 3.23.22
support-files/my-huge.cnf.sh:
  Configure updates for 3.23.22
support-files/my-large.cnf.sh:
  Configure updates for 3.23.22
support-files/my-medium.cnf.sh:
  Configure updates for 3.23.22
myisam/ft_update.c:
  This is to make ft-code to ignore keyseg.length at all
  and to index the whole VARCHAR/BLOB instead...
Makefile.am:
  Fixed gen_lex_hash recursion
myisam/myisampack.c:
  Fixes for 3.23.22
sql/ChangeLog:
  Fixes for 3.23.22
sql/nt_servc.cc:
  Fixes for 3.23.22
sql/sql_class.cc:
  Fixes for 3.23.22
include/my_base.h:
  Fix for BDB and MERGE tables
sql/ha_myisammrg.cc:
  Fix for BDB and MERGE tables
Docs/LICENSE:
  Update for 3.23.22
config.sub:
  Update for ia64
Build-tools/Do-compile-all:
  ***MISSING WEAVE***
scripts/safe_mysqld.sh:
  Small bug fixes for 3.23.22
support-files/.cvsignore:
  Small bug fixes for 3.23.22
scripts/mysql_find_rows.sh:
  Critical bug fixes
sql/sql_class.h:
  SHOW SLAVE STATUS, change in SHOW MASTER STATUS
repl-tests/include/master-slave.inc:
  Replication test cases
repl-tests/test-dump/run.test:
  Replication test cases
repl-tests/test-dump/table-dump-check.master:
  Replication test cases
repl-tests/test-dump/table-dump-select.master:
  Replication test cases
repl-tests/test-repl-ts/repl-timestamp.master:
  Replication test cases
repl-tests/test-repl-ts/run.test:
  Replication test cases
repl-tests/test-repl/foo-dump-master.master:
  Replication test cases
repl-tests/test-repl/foo-dump-slave.master:
  Replication test cases
repl-tests/test-repl/run.test:
  Replication test cases
repl-tests/test-repl/sum-wlen-master.master:
  Replication test cases
repl-tests/test-repl/sum-wlen-slave.master:
  Replication test cases
Images/.cvsignore:
  Update of div reported bugs
include/config-win.h:
  Update of div reported bugs
mysys/mf_pack.c:
  Update of div reported bugs
sql/field.cc:
  Update of div reported bugs
sql/field.h:
  Update of div reported bugs
sql/ha_myisam.h:
  Update of div reported bugs
sql/handler.h:
  Update of div reported bugs
sql/item.cc:
  Update of div reported bugs
sql/item_func.h:
  Update of div reported bugs
sql/item_timefunc.cc:
  Update of div reported bugs
sql/item_timefunc.h:
  Update of div reported bugs
sql/sql_string.cc:
  Update of div reported bugs
sql/sql_table.cc:
  Update of div reported bugs
sql/structs.h:
  Update of div reported bugs
sql/time.cc:
  Update of div reported bugs
strings/ctype-gbk.c:
  Update of div reported bugs
strings/ctype-tis620.c:
  Update of div reported bugs
strings/r_strinstr.c:
  Update of div reported bugs
strings/strnlen.c:
  Update of div reported bugs
support-files/mysql.server.sh:
  Update of div reported bugs
myisam/mi_locking.c:
  Small bug fixes
myisam/myisamdef.h:
  Small bug fixes
mysys/my_thr_init.c:
  Small bug fixes
myisam/mi_close.c:
  Changed mutex THR_lock_isam -> THR_lock_myisam
myisam/mi_create.c:
  Changed mutex THR_lock_isam -> THR_lock_myisam
myisam/mi_extra.c:
  Changed mutex THR_lock_isam -> THR_lock_myisam
myisam/mi_log.c:
  Changed mutex THR_lock_isam -> THR_lock_myisam
myisam/mi_open.c:
  Changed mutex THR_lock_isam -> THR_lock_myisam
myisam/mi_panic.c:
  Changed mutex THR_lock_isam -> THR_lock_myisam
myisam/myisamchk.c:
  Changed mutex THR_lock_isam -> THR_lock_myisam
sql/item_func.cc:
  
  Don't let MySQL use ft-keys in non-ft way
sql/opt_range.cc:
  
  Don't let MySQL use ft-keys in non-ft way
sql-bench/Results-linux/ATIS-mysql-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/RUN-mysql-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/alter-table-mysql-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/big-tables-mysql-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/connect-mysql-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/create-mysql-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/insert-mysql-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/select-mysql-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql-bench/Results-linux/wisconsin-mysql-Linux_2.2.13_SMP_alpha:
  ***MISSING WEAVE***
sql/share/italian/errmsg.sys:
  new translated error messages
sql/share/italian/errmsg.txt:
  new translated error messages
libmysql/errmsg.c:
  Fix to get 'Too big packet' error + fixes for Ia64
libmysql/libmysql.c:
  Fix to get 'Too big packet' error + fixes for Ia64
libmysql/net.c:
  Fix to get 'Too big packet' error + fixes for Ia64
include/errmsg.h:
  Fix to get 'Too big packet'
mysql.proj:
  Update for 3.23.22
client/mysql.cc:
  Fix for rehash on reconnect (By Jeremey)
readline/rlstdc.h:
  portability fixes
sql/Makefile.am:
  Hack to force lex_hash.h to be generated
sql/ha_berkeley.cc:
  Fixes for Berekely DB
sql/handler.cc:
  Fixes for Berekely DB
sql/item.h:
  Small fixes for 3.23.22
sql/net_serv.cc:
  Small fixes for 3.23.22
client/completion_hash.cc:
  Fixes for Ia64
sql/mini_client.cc:
  Fixes for Ia64
sql/sql_select.cc:
  Fixes for Ia64
.cvsignore:
  Update at work for release
myisam/mi_check.c:
  Fix bug in ANALYZE TABLE
sql/ha_myisam.cc:
  Fix bug in ANALYZE TABLE
include/myisam.h:
  Fix bug in ANALYZE TABLE
configure.in:
  Fix for AIX 4.3
Build-tools/Do-compile:
  Fix for local perl libraries
sql/sql_show.cc:
  Fix for show processlist on SCO
include/global.h:
  Fix for AIX 4.3
BUILD/compile-ia64-O0-sgicc:
  Last minute updates for 3.23.22
BUILD/compile-ia64-O0:
  Last minute updates for 3.23.22
BUILD/compile-ia64-O2-sgicc:
  Last minute updates for 3.23.22
BUILD/compile-ia64-O2:
  Last minute updates for 3.23.22
BUILD/compile-ia64-O6:
  Last minute updates for 3.23.22
Docs/manual.texi:
  Added paragraph in introduction pointing to SQL and MySQL books, for newbies.
sql/gen_lex_hash.cc:
  CHANGE MASTER TO and other fixes
sql/lex.h:
  CHANGE MASTER TO and other fixes
sql/log.cc:
  CHANGE MASTER TO and other fixes
sql/mysql_priv.h:
  CHANGE MASTER TO and other fixes
sql/mysqld.cc:
  CHANGE MASTER TO and other fixes
sql/net_pkg.cc:
  CHANGE MASTER TO and other fixes
sql/slave.cc:
  CHANGE MASTER TO and other fixes
sql/sql_base.cc:
  CHANGE MASTER TO and other fixes
sql/sql_lex.h:
  CHANGE MASTER TO and other fixes
sql/sql_parse.cc:
  CHANGE MASTER TO and other fixes
sql/sql_yacc.yy:
  CHANGE MASTER TO and other fixes
2000-07-31 21:29:14 +02:00

2061 lines
53 KiB
C++

/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* mysql command tool
* Commands compatible with mSQL by David J. Hughes
*
* Written by:
* Michael 'Monty' Widenius
* Andi Gutmans <andi@zend.com>
* Zeev Suraski <zeev@zend.com>
*
**/
#include <global.h>
#include <my_sys.h>
#include <m_string.h>
#include <m_ctype.h>
#include "mysql.h"
#include "errmsg.h"
#include <my_dir.h>
#ifndef __GNU_LIBRARY__
#define __GNU_LIBRARY__ // Skipp warnings in getopt.h
#endif
#include <getopt.h>
#include "my_readline.h"
#include <signal.h>
gptr sql_alloc(unsigned size); // Don't use mysqld alloc for theese
void sql_element_free(void *ptr);
#include "sql_string.h"
extern "C" {
#if defined(HAVE_CURSES_H) && defined(HAVE_TERM_H)
#include <curses.h>
#include <term.h>
#else
#if defined(HAVE_TERMIOS_H)
#include <termios.h>
#include <unistd.h>
#elif defined(HAVE_TERMBITS_H)
#include <termbits.h>
#elif defined(HAVE_ASM_TERMBITS_H) && (!defined __GLIBC__ || !(__GLIBC__ > 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ > 0))
#include <asm/termbits.h> // Standard linux
#endif
#undef VOID
#if defined(HAVE_TERMCAP_H)
#include <termcap.h>
#else
#ifdef HAVE_CURSES_H
#include <curses.h>
#endif
#undef SYSV // hack to avoid syntax error
#ifdef HAVE_TERM_H
#include <term.h>
#endif
#endif
#endif
#undef bcmp // Fix problem with new readline
#undef bzero
#ifdef __WIN__
#include <conio.h>
#else
#include <readline/readline.h>
#define HAVE_READLINE
#endif
//int vidattr(long unsigned int attrs); // Was missing in sun curses
}
#if !defined(HAVE_VIDATTR)
#undef vidattr
#define vidattr(A) {} // Can't get this to work
#endif
#ifdef __WIN__
#define cmp_database(A,B) my_strcasecmp((A),(B))
#else
#define cmp_database(A,B) strcmp((A),(B))
#endif
#include "completion_hash.h"
typedef struct st_status
{
int exit_status;
ulong query_start_line;
char *file_name;
LINE_BUFFER *line_buff;
bool batch,add_to_history;
} STATUS;
static HashTable ht;
enum enum_info_type { INFO_INFO,INFO_ERROR,INFO_RESULT};
typedef enum enum_info_type INFO_TYPE;
static MYSQL mysql; /* The connection */
static bool info_flag=0,ignore_errors=0,wait_flag=0,quick=0,
connected=0,opt_raw_data=0,unbuffered=0,output_tables=0,
no_rehash=0,skip_updates=0,safe_updates=0,one_database=0,
opt_compress=0,
vertical=0,skip_line_numbers=0,skip_column_names=0,opt_html=0,
no_named_cmds=0;
static uint verbose=0,opt_silent=0,opt_mysql_port=0;
static my_string opt_mysql_unix_port=0;
static int connect_flag=CLIENT_INTERACTIVE;
static char *current_host,*current_db,*current_user=0,*opt_password=0,
*default_charset;
static char *histfile;
static String glob_buffer,old_buffer;
static STATUS status;
static ulong select_limit,max_join_size;
#include "sslopt-vars.h"
#ifndef DBUG_OFF
const char *default_dbug_option="d:t:o,/tmp/mysql.trace";
#endif
/* The names of functions that actually do the manipulation. */
static int get_options(int argc,char **argv);
static int com_quit(String *str,char*),
com_go(String *str,char*), com_ego(String *str,char*),
com_edit(String *str,char*), com_print(String *str,char*),
com_help(String *str,char*), com_clear(String *str,char*),
com_connect(String *str,char*), com_status(String *str,char*),
com_use(String *str,char*), com_source(String *str, char*),
com_rehash(String *str, char*);
static int read_lines(bool execute_commands);
static int sql_connect(char *host,char *database,char *user,char *password,
uint silent);
static int put_info(const char *str,INFO_TYPE info,uint error=0);
static void safe_put_field(const char *pos,ulong length);
/* A structure which contains information on the commands this program
can understand. */
typedef struct {
const char *name; /* User printable name of the function. */
char cmd_char; /* msql command character */
int (*func)(String *str,char *); /* Function to call to do the job. */
bool takes_params; /* Max parameters for command */
const char *doc; /* Documentation for this function. */
} COMMANDS;
static COMMANDS commands[] = {
{ "help", 'h',com_help, 0,"Display this text" },
{ "?", 'h',com_help, 0,"Synonym for `help'" },
{ "clear",'c',com_clear,0,"Clear command"},
{ "connect",'r',com_connect,1,
"Reconnect to the server. Optional arguments are db and host" },
{ "edit", 'e',com_edit, 0,"Edit command with $EDITOR"},
{ "exit", 'q', com_quit, 0,"Exit mysql. Same as quit"},
{ "go", 'g',com_go, 0,"Send command to mysql server" },
{ "ego", 'G',com_ego, 0,
"Send command to mysql server; Display result vertically"},
{ "print",'p',com_print,0,"Print current command" },
{ "quit", 'q',com_quit, 0,"Quit mysql" },
{ "rehash", '#', com_rehash, 0, "Rebuild completion hash" },
{ "source", '.', com_source, 1,
"Execute a SQL script file. Takes a file name as an argument"},
{ "status",'s',com_status,0,"Get status information from the server"},
{ "use",'u',com_use,1,
"Use another database. Takes database name as argument" },
{ "create table",0,0,0,""}, /* Get bash expansion for some commmands */
{ "create database",0,0,0,""},
{ "drop",0,0,0,""},
{ "select",0,0,0,""},
{ "insert",0,0,0,""},
{ "replace",0,0,0,""},
{ "update",0,0,0,""},
{ "delete",0,0,0,""},
{ "explain",0,0,0,""},
{ "show databases",0,0,0,""},
{ "show fields from",0,0,0,""},
{ "show keys from",0,0,0,""},
{ "show tables",0,0,0,""},
{ "load data from",0,0,0,""},
{ "alter table",0,0,0,""},
{ "set option",0,0,0,""},
{ "lock tables",0,0,0,""},
{ "unlock tables",0,0,0,""},
{ (char *)NULL, 0,0,0,""},
};
static const char *load_default_groups[]= { "mysql","client",0 };
#ifdef HAVE_READLINE
extern "C" void add_history(char *command); /* From readline directory */
extern "C" int read_history(char *command);
extern "C" int write_history(char *command);
static void initialize_readline (char *name);
#endif
static COMMANDS *find_command (char *name,char cmd_name);
static bool add_line(String &buffer,char *line,char *in_string);
static void remove_cntrl(String &buffer);
static void print_table_data(MYSQL_RES *result);
static void print_table_data_html(MYSQL_RES *result);
static void print_tab_data(MYSQL_RES *result);
static void print_table_data_vertically(MYSQL_RES *result);
static ulong start_timer(void);
static void end_timer(ulong start_time,char *buff);
static void mysql_end_timer(ulong start_time,char *buff);
static void nice_time(double sec,char *buff,bool part_second);
static sig_handler mysql_end(int sig);
int main(int argc,char *argv[])
{
char buff[80];
MY_INIT(argv[0]);
DBUG_ENTER("main");
DBUG_PROCESS(argv[0]);
if (!isatty(0) || !isatty(1))
{
status.batch=1; opt_silent=1;
ignore_errors=0;
}
else
status.add_to_history=1;
status.exit_status=1;
load_defaults("my",load_default_groups,&argc,&argv);
if (get_options(argc,(char **) argv))
{
my_end(0);
exit(1);
}
free_defaults(argv);
if (status.batch && !status.line_buff &&
!(status.line_buff=batch_readline_init(max_allowed_packet+512,stdin)))
exit(1);
glob_buffer.realloc(512);
completion_hash_init(&ht,50);
if (sql_connect(current_host,current_db,current_user,opt_password,
opt_silent))
{
if (connected)
mysql_close(&mysql);
glob_buffer.free();
old_buffer.free();
batch_readline_end(status.line_buff);
my_end(0);
exit(1);
}
if (!status.batch)
ignore_errors=1; // Don't abort monitor
signal(SIGINT, mysql_end); // Catch SIGINT to clean up
/*
** Run in interactive mode like the ingres/postgres monitor
*/
put_info("Welcome to the MySQL monitor. Commands end with ; or \\g.",
INFO_INFO);
sprintf((char*) glob_buffer.ptr(),
"Your MySQL connection id is %ld to server version: %s\n",
mysql_thread_id(&mysql),mysql_get_server_info(&mysql));
put_info((char*) glob_buffer.ptr(),INFO_INFO);
#ifdef HAVE_READLINE
initialize_readline(my_progname);
if (!status.batch && !quick && !opt_html)
{
/*read-history from file, default ~/.mysql_history*/
if (getenv("MYSQL_HISTFILE"))
histfile=my_strdup(getenv("MYSQL_HISTFILE"),MYF(MY_WME));
else if (getenv("HOME"))
{
histfile=(char*) my_malloc(strlen(getenv("HOME"))
+ strlen("/.mysql_history")+2,
MYF(MY_WME));
if (histfile)
sprintf(histfile,"%s/.mysql_history",getenv("HOME"));
}
if (histfile)
{
if (verbose)
printf("Reading history-file %s\n",histfile);
read_history(histfile);
}
}
#endif
sprintf(buff, "Type '%s' for help.\n", no_named_cmds ? "\\h" : "help");
put_info(buff,INFO_INFO);
status.exit_status=read_lines(1); // read lines and execute them
mysql_end(0);
#ifndef _lint
DBUG_RETURN(0); // Keep compiler happy
#endif
}
sig_handler mysql_end(int sig)
{
if (connected)
mysql_close(&mysql);
#ifdef HAVE_READLINE
if (!status.batch && !quick && ! opt_html)
{
/* write-history */
if (verbose)
printf("Writing history-file %s\n",histfile);
write_history(histfile);
}
batch_readline_end(status.line_buff);
completion_hash_free(&ht);
#endif
put_info(sig ? "Aborted" : "Bye", INFO_RESULT);
glob_buffer.free();
old_buffer.free();
my_free(opt_password,MYF(MY_ALLOW_ZERO_PTR));
my_free(opt_mysql_unix_port,MYF(MY_ALLOW_ZERO_PTR));
my_free(histfile,MYF(MY_ALLOW_ZERO_PTR));
my_free(current_db,MYF(MY_ALLOW_ZERO_PTR));
my_free(current_host,MYF(MY_ALLOW_ZERO_PTR));
my_free(current_user,MYF(MY_ALLOW_ZERO_PTR));
my_end(info_flag ? MY_CHECK_ERROR | MY_GIVE_INFO : 0);
exit(status.exit_status);
}
enum options {OPT_CHARSETS_DIR=256, OPT_DEFAULT_CHARSET} ;
static struct option long_options[] =
{
{"i-am-a-dummy", no_argument, 0, 'U'},
{"batch", no_argument, 0, 'B'},
{"character-sets-dir",required_argument,0, OPT_CHARSETS_DIR},
{"compress", no_argument, 0, 'C'},
#ifndef DBUG_OFF
{"debug", optional_argument, 0, '#'},
#endif
{"database", required_argument, 0, 'D'},
{"debug-info", no_argument, 0, 'T'},
{"default-character-set", required_argument, 0, OPT_DEFAULT_CHARSET},
{"execute", required_argument, 0, 'e'},
{"force", no_argument, 0, 'f'},
{"help", no_argument, 0, '?'},
{"html", no_argument, 0, 'H'},
{"host", required_argument, 0, 'h'},
{"ignore-spaces", no_argument, 0, 'i'},
{"no-auto-rehash",no_argument, 0, 'A'},
{"no-named-commands", no_argument, 0, 'g'},
{"one-database", no_argument, 0, 'o'},
{"password", optional_argument, 0, 'p'},
#ifdef __WIN__
{"pipe", no_argument, 0, 'W'},
#endif
{"port", required_argument, 0, 'P'},
{"quick", no_argument, 0, 'q'},
{"set-variable", required_argument, 0, 'O'},
{"raw", no_argument, 0, 'r'},
{"safe-updates", no_argument, 0, 'U'},
{"silent", no_argument, 0, 's'},
{"skip-column-names",no_argument, 0, 'N'},
{"skip-line-numbers",no_argument, 0, 'L'},
{"socket", required_argument, 0, 'S'},
#include "sslopt-longopts.h"
{"table", no_argument, 0, 't'},
#ifndef DONT_ALLOW_USER_CHANGE
{"user", required_argument, 0, 'u'},
#endif
{"unbuffered", no_argument, 0, 'n'},
{"verbose", no_argument, 0, 'v'},
{"version", no_argument, 0, 'V'},
{"vertical", no_argument, 0, 'E'},
{"wait", no_argument, 0, 'w'},
{0, 0, 0, 0}
};
CHANGEABLE_VAR changeable_vars[] = {
{ "max_allowed_packet", (long*) &max_allowed_packet,24*1024L*1024L,4096,
24*1024L*1024L, MALLOC_OVERHEAD,1024},
{ "net_buffer_length",(long*) &net_buffer_length,16384,1024,24*1024*1024L,
MALLOC_OVERHEAD,1024},
{ "select_limit", (long*) &select_limit, 1000L, 1, ~0L, 0, 1},
{ "max_join_size", (long*) &max_join_size, 1000000L, 1, ~0L, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0}
};
static void usage(int version)
{
printf("%s Ver 10.8 Distrib %s, for %s (%s)\n",
my_progname, MYSQL_SERVER_VERSION, SYSTEM_TYPE, MACHINE_TYPE);
if (version)
return;
puts("Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB");
puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,\nand you are welcome to modify and redistribute it under the GPL license\n");
printf("Usage: %s [OPTIONS] [database]\n", my_progname);
printf("\n\
-?, --help Display this help and exit\n\
-A, --no-auto-rehash No automatic rehashing. One has to use 'rehash' to\n\
get table and field completion. This gives a quicker\n\
start of mysql and disables rehashing on reconnect.\n\
-B, --batch Print results with a tab as separator, each row on\n\
a new line. Doesn't use history file\n\
--character-sets-dir=...\n\
Directory where character sets are\n\
-C, --compress Use compression in server/client protocol\n");
#ifndef DBUG_OFF
printf("\
-#, --debug[=...] Debug log. Default is '%s'\n",default_dbug_option);
#endif
printf("\
-D, --database=.. Database to use\n\
--default-character-set=...\n\
Set the default character set\n\
-e, --execute=... Execute command and quit.(Output like with --batch)\n\
-E, --vertical Print the output of a query (rows) vertically\n\
-f, --force Continue even if we get an sql error.\n\
-g, --no-named-commands\n\
Named commands are disabled. Use \\* form only\n\
-i, --ignore-space Ignore space after function names\n\
-h, --host=... Connect to host\n\
-H, --html Produce HTML output\n\
-L, --skip-line-numbers Don't write line number for errors\n\
-n, --unbuffered Flush buffer after each query\n\
-N, --skip-column-names Don't write column names in results\n\
-O, --set-variable var=option\n\
Give a variable an value. --help lists variables\n\
-o, --one-database Only update the default database. This is useful\n\
for skipping updates to other database in the update\n\
log.\n\
-p[password], --password[=...]\n\
Password to use when connecting to server\n\
If password is not given it's asked from the tty.\n");
#ifdef __WIN__
puts(" -W, --pipe Use named pipes to connect to server");
#endif
printf("\n\
-P --port=... Port number to use for connection\n\
-q, --quick Don't cache result, print it row by row. This may\n\
slow down the server if the output is suspended.\n\
Doesn't use history file\n\
-r, --raw Write fields without conversion. Used with --batch\n\
-s, --silent Be more silent.\n\
-S --socket=... Socket file to use for connection\n");
#include "sslopt-usage.h"
printf("\
-t --table Output in table format\n\
-T, --debug-info Print some debug info at exit\n");
#ifndef DONT_ALLOW_USER_CHANGE
printf("\
-u, --user=# User for login if not current user\n");
#endif
printf("\
-U, --safe-updates[=#], --i-am-a-dummy[=#]\n\
Only allow UPDATE and DELETE that uses keys\n\
-v, --verbose Write more (-v -v -v gives the table output format)\n\
-V, --version Output version information and exit\n\
-w, --wait Wait and retry if connection is down\n");
print_defaults("my",load_default_groups);
printf("\nPossible variables for option --set-variable (-O) are:\n");
for (uint i=0 ; changeable_vars[i].name ; i++)
printf("%-20s current value: %lu\n",
changeable_vars[i].name,
(ulong) *changeable_vars[i].varptr);
}
static int get_options(int argc, char **argv)
{
int c,option_index=0;
bool tty_password=0;
set_all_changeable_vars(changeable_vars);
while ((c=getopt_long(argc,argv,"?ABCD:LfgHinNoqrstTUvVwWEe:h:O:P:S:u:#::p::",
long_options, &option_index)) != EOF)
{
switch(c) {
case OPT_DEFAULT_CHARSET:
default_charset= optarg;
break;
case OPT_CHARSETS_DIR:
charsets_dir= optarg;
break;
case 'D':
my_free(current_db,MYF(MY_ALLOW_ZERO_PTR));
current_db=my_strdup(optarg,MYF(MY_WME));
break;
case 'e':
status.batch=1;
status.add_to_history=0;
batch_readline_end(status.line_buff); // If multiple -e
if (!(status.line_buff=batch_readline_command(optarg)))
return 1;
ignore_errors=0;
break;
case 'f':
ignore_errors=1;
break;
case 'h':
my_free(current_host,MYF(MY_ALLOW_ZERO_PTR));
current_host=my_strdup(optarg,MYF(MY_WME));
break;
#ifndef DONT_ALLOW_USER_CHANGE
case 'u':
my_free(current_user,MYF(MY_ALLOW_ZERO_PTR));
current_user= my_strdup(optarg,MYF(MY_WME));
break;
#endif
case 'U':
if (!optarg)
safe_updates=1;
else
safe_updates=atoi(optarg) != 0;
break;
case 'o':
one_database=skip_updates=1;
break;
case 'O':
if (set_changeable_var(optarg, changeable_vars))
{
usage(0);
return(1);
}
break;
case 'p':
if (optarg)
{
my_free(opt_password,MYF(MY_ALLOW_ZERO_PTR));
opt_password=my_strdup(optarg,MYF(MY_FAE));
while (*optarg) *optarg++= 'x'; // Destroy argument
}
else
tty_password=1;
break;
case 't':
output_tables=1;
break;
case 'r':
opt_raw_data=1;
break;
case '#':
DBUG_PUSH(optarg ? optarg : default_dbug_option);
info_flag=1;
break;
case 'q': quick=1; break;
case 's': opt_silent++; break;
case 'T': info_flag=1; break;
case 'n': unbuffered=1; break;
case 'v': verbose++; break;
case 'E': vertical=1; break;
case 'w': wait_flag=1; break;
case 'A': no_rehash=1; break;
case 'g': no_named_cmds=1; break;
case 'H': opt_html=1; break;
case 'i': connect_flag|= CLIENT_IGNORE_SPACE; break;
case 'B':
if (!status.batch)
{
status.batch=1;
status.add_to_history=0;
opt_silent++; // more silent
}
break;
case 'C':
opt_compress=1;
break;
case 'L':
skip_line_numbers=1;
break;
case 'N':
skip_column_names=1;
break;
case 'P':
opt_mysql_port= (unsigned int) atoi(optarg);
break;
case 'S':
my_free(opt_mysql_unix_port,MYF(MY_ALLOW_ZERO_PTR));
opt_mysql_unix_port= my_strdup(optarg,MYF(0));
break;
case 'W':
#ifdef __WIN__
opt_mysql_unix_port=MYSQL_NAMEDPIPE;
#endif
break;
case 'V': usage(1); exit(0);
case 'I':
case '?':
usage(0);
exit(0);
#include "sslopt-case.h"
default:
fprintf(stderr,"illegal option: -%c\n",opterr);
usage(0);
exit(1);
}
}
if (default_charset)
{
if (set_default_charset_by_name(default_charset, MYF(MY_WME)))
exit(1);
}
argc-=optind;
argv+=optind;
if (argc > 1)
{
usage(0);
exit(1);
}
if (argc == 1)
{
my_free(current_db,MYF(MY_ALLOW_ZERO_PTR));
current_db= my_strdup(*argv,MYF(MY_WME));
}
if (!current_host)
{ /* If we don't have a hostname have a look at MYSQL_HOST */
char *tmp=(char *) getenv("MYSQL_HOST");
if (tmp)
current_host = my_strdup(tmp,MYF(MY_WME));
}
if (tty_password)
opt_password=get_tty_password(NullS);
return(0);
}
static int read_lines(bool execute_commands)
{
#ifdef __WIN__
char linebuffer[254];
#endif
char *line;
char in_string=0;
ulong line_number=0;
COMMANDS *com;
status.exit_status=1;
for (;;)
{
if (status.batch || !execute_commands)
{
line=batch_readline(status.line_buff);
line_number++;
if (!glob_buffer.length())
status.query_start_line=line_number;
}
else
#ifdef __WIN__
{
printf(glob_buffer.is_empty() ? "mysql> " :
!in_string ? " -> " :
in_string == '\'' ?
" '> " : " \"> ");
linebuffer[0]=(char) sizeof(linebuffer);
line=_cgets(linebuffer);
}
#else
line=readline((char*) (glob_buffer.is_empty() ? "mysql> " :
!in_string ? " -> " :
in_string == '\'' ?
" '> " : " \"> "));
#endif
if (!line) // End of file
{
status.exit_status=0;
break;
}
if (!in_string && (line[0] == '#' ||
(line[0] == '-' && line[1] == '-') ||
line[0] == 0))
continue; // Skipp comment lines
/* Check if line is a mysql command line */
/* (We want to allow help, print and clear anywhere at line start */
if (execute_commands && !no_named_cmds && !in_string &&
(com=find_command(line,0)))
{
if ((*com->func)(&glob_buffer,line) > 0)
break;
if (glob_buffer.is_empty()) // If buffer was emptied
in_string=0;
#ifdef HAVE_READLINE
if (status.add_to_history)
add_history(line);
#endif
continue;
}
if (add_line(glob_buffer,line,&in_string))
break;
}
/* if in batch mode, send last query even if it doesn't end with \g or go */
if ((status.batch || !execute_commands) && !status.exit_status)
{
remove_cntrl(glob_buffer);
if (!glob_buffer.is_empty())
{
status.exit_status=1;
if (com_go(&glob_buffer,line) <= 0)
status.exit_status=0;
}
}
return status.exit_status;
}
static COMMANDS *find_command (char *name,char cmd_char)
{
uint len;
char *end;
if (!name)
{
len=0;
end=0;
}
else
{
while (isspace(*name))
name++;
if (strchr(name,';') || strstr(name,"\\g"))
return ((COMMANDS *) 0);
if ((end=strcont(name," \t")))
{
len=(uint) (end - name);
while (isspace(*end))
end++;
if (!*end)
end=0; // no arguments to function
}
else
len=strlen(name);
}
for (uint i= 0; commands[i].name; i++)
{
if (commands[i].func &&
((name && !my_casecmp(name,commands[i].name,len) &&
!commands[i].name[len] &&
(!end || (end && commands[i].takes_params))) ||
!name && commands[i].cmd_char == cmd_char))
return (&commands[i]);
}
return ((COMMANDS *) 0);
}
static bool add_line(String &buffer,char *line,char *in_string)
{
uchar inchar;
char buff[80],*pos,*out;
COMMANDS *com;
if (!line[0] && buffer.is_empty())
return 0;
#ifdef HAVE_READLINE
if (status.add_to_history && line[0])
add_history(line);
#endif
#ifdef USE_MB
char *strend=line+strlen(line);
#endif
for (pos=out=line ; (inchar= (uchar) *pos) ; pos++)
{
if (isspace(inchar) && out == line && buffer.is_empty())
continue;
#ifdef USE_MB
int l;
/* if ((l = ismbchar(pos, pos+MBMAXLEN))) { Wei He: I think it's wrong! */
if (use_mb(default_charset_info) &&
(l = my_ismbchar(default_charset_info, pos, strend))) {
while (l--)
*out++ = *pos++;
pos--;
continue;
}
#endif
if (inchar == '\\')
{ // mSQL or postgreSQL style command ?
if (!(inchar = (uchar) *++pos))
break; // readline adds one '\'
if (*in_string || inchar == 'N')
{ // Don't allow commands in string
*out++='\\';
*out++= (char) inchar;
continue;
}
if ((com=find_command(NullS,(char) inchar)))
{
const String tmp(line,(uint) (out-line));
buffer.append(tmp);
if ((*com->func)(&buffer,pos-1) > 0)
return 1; // Quit
if (com->takes_params)
{
for (pos++ ; *pos && *pos != ';' ; pos++) ; // Remove parameters
if (!*pos)
pos--;
}
out=line;
}
else
{
sprintf(buff,"Unknown command '\\%c'.",inchar);
if (put_info(buff,INFO_ERROR) > 0)
return 1;
*out++='\\';
*out++=(char) inchar;
continue;
}
}
else if (inchar == ';' && !*in_string)
{ // ';' is end of command
if (out != line)
buffer.append(line,(uint) (out-line)); // Add this line
if ((com=find_command(buffer.c_ptr(),0)))
{
if ((*com->func)(&buffer,buffer.c_ptr()) > 0)
return 1; // Quit
}
else
{
int error=com_go(&buffer,0);
if (error)
{
return error < 0 ? 0 : 1; // < 0 is not fatal
}
}
buffer.length(0);
out=line;
}
else if (!*in_string && (inchar == '#' ||
inchar == '-' && pos[1] == '-' &&
isspace(pos[2])))
break; // comment to end of line
else
{ // Add found char to buffer
if (inchar == *in_string)
*in_string=0;
else if (!*in_string && (inchar == '\'' || inchar == '"'))
*in_string=(char) inchar;
*out++ = (char) inchar;
}
}
if (out != line || !buffer.is_empty())
{
*out++='\n';
uint length=(uint) (out-line);
if (buffer.length() + length >= buffer.alloced_length())
buffer.realloc(buffer.length()+length+IO_SIZE);
if (buffer.append(line,length))
return 1;
}
return 0;
}
/* **************************************************************** */
/* */
/* Interface to Readline Completion */
/* */
/* **************************************************************** */
#ifdef HAVE_READLINE
static char *new_command_generator(char *text, int);
static char **new_mysql_completion (char *text, int start, int end);
/* Tell the GNU Readline library how to complete. We want to try to complete
on command names if this is the first word in the line, or on filenames
if not. */
char **no_completion (char *text __attribute__ ((unused)),
char *word __attribute__ ((unused)))
{
return 0; /* No filename completion */
}
static void initialize_readline (char *name)
{
/* Allow conditional parsing of the ~/.inputrc file. */
rl_readline_name = name;
/* Tell the completer that we want a crack first. */
/* rl_attempted_completion_function = (CPPFunction *)mysql_completion;*/
rl_attempted_completion_function = (CPPFunction *) new_mysql_completion;
rl_completion_entry_function=(Function *) no_completion;
}
/* Attempt to complete on the contents of TEXT. START and END show the
region of TEXT that contains the word to complete. We can use the
entire line in case we want to do some simple parsing. Return the
array of matches, or NULL if there aren't any. */
static char **new_mysql_completion (char *text,
int start __attribute__((unused)),
int end __attribute__((unused)))
{
if (!status.batch && !quick)
return completion_matches(text, (CPFunction*) new_command_generator);
else
return (char**) 0;
}
static char *new_command_generator(char *text,int state)
{
static int textlen;
char *ptr;
static Bucket *b;
static entry *e;
static uint i;
if (!state) {
textlen=strlen(text);
}
if (textlen>0) { /* lookup in the hash */
if (!state) {
uint len;
b = find_all_matches(&ht,text,strlen(text),&len);
if (!b) {
return NullS;
}
e = b->pData;
}
while (e) {
ptr= strdup(e->str);
e = e->pNext;
return ptr;
}
} else { /* traverse the entire hash, ugly but works */
if (!state) {
i=0;
/* find the first used bucket */
while (i<ht.nTableSize) {
if (ht.arBuckets[i]) {
b = ht.arBuckets[i];
e = b->pData;
break;
}
i++;
}
}
ptr= NullS;
while (e && !ptr) { /* find valid entry in bucket */
if (strlen(e->str)==b->nKeyLength) {
ptr = strdup(e->str);
}
/* find the next used entry */
e = e->pNext;
if (!e) { /* find the next used bucket */
b = b->pNext;
if (!b) {
i++;
while (i<ht.nTableSize) {
if (ht.arBuckets[i]) {
b = ht.arBuckets[i];
e = b->pData;
break;
}
i++;
}
} else {
e = b->pData;
}
}
}
if (ptr) {
return ptr;
}
}
return NullS;
}
/* Build up the completion hash */
static void build_completion_hash(bool skip_rehash,bool write_info)
{
COMMANDS *cmd=commands;
static MYSQL_RES *databases=0,*tables=0,*fields;
static char ***field_names= 0;
MYSQL_ROW database_row,table_row;
MYSQL_FIELD *sql_field;
char buf[NAME_LEN*2+2]; // table name plus field name plus 2
int i,j,num_fields;
DBUG_ENTER("build_completion_hash");
if (status.batch || quick)
DBUG_VOID_RETURN; // We don't need completion in batches
completion_hash_clean(&ht);
if (tables)
{
mysql_free_result(tables);
tables=0;
}
if (databases) {
mysql_free_result(databases);
databases=0;
}
/* hash SQL commands */
while (cmd->name) {
add_word(&ht,(char*) cmd->name);
cmd++;
}
if (skip_rehash)
DBUG_VOID_RETURN;
/* hash MySQL functions (to be implemented) */
/* hash all database names */
if (mysql_query(&mysql,"show databases")==0) {
if (!(databases = mysql_store_result(&mysql)))
put_info(mysql_error(&mysql),INFO_INFO);
else
{
while ((database_row=mysql_fetch_row(databases)))
add_word(&ht,(char*) database_row[0]);
}
}
/* hash all table names */
if (mysql_query(&mysql,"show tables")==0)
{
if (!(tables = mysql_store_result(&mysql)))
put_info(mysql_error(&mysql),INFO_INFO);
else
{
if (mysql_num_rows(tables) > 0 && !opt_silent && write_info)
{
printf("\
Reading table information for completion of table and column names\n\
You can turn off this feature to get a quicker startup with -A\n\n");
}
while ((table_row=mysql_fetch_row(tables)))
{
if (!completion_hash_exists(&ht,(char*) table_row[0],
strlen((const char*) table_row[0])))
add_word(&ht,table_row[0]);
}
}
}
if (field_names) {
for (i=0; field_names[i]; i++) {
for (j=0; field_names[i][j]; j++) {
my_free(field_names[i][j],MYF(0));
}
my_free((gptr) field_names[i],MYF(0));
}
my_free((gptr) field_names,MYF(0));
}
field_names=0;
/* hash all field names, both with the table prefix and without it */
if (!tables) { /* no tables */
DBUG_VOID_RETURN;
}
mysql_data_seek(tables,0);
field_names = (char ***) my_malloc(sizeof(char **) *
(uint) (mysql_num_rows(tables)+1),
MYF(MY_WME));
if (!field_names)
DBUG_VOID_RETURN;
field_names[mysql_num_rows(tables)]='\0';
i=0;
while ((table_row=mysql_fetch_row(tables)))
{
if ((fields=mysql_list_fields(&mysql,(const char*) table_row[0],NullS)))
{
num_fields=mysql_num_fields(fields);
field_names[i] = (char **) my_malloc(sizeof(char *)*(num_fields*2+1),
MYF(0));
if (!field_names[i])
{
continue;
}
field_names[i][num_fields*2]='\0';
j=0;
while ((sql_field=mysql_fetch_field(fields)))
{
sprintf(buf,"%s.%s",table_row[0],sql_field->name);
field_names[i][j] = my_strdup(buf,MYF(0));
add_word(&ht,field_names[i][j]);
field_names[i][num_fields+j] = my_strdup(sql_field->name,MYF(0));
if (!completion_hash_exists(&ht,field_names[i][num_fields+j],
strlen(field_names[i][num_fields+j])))
add_word(&ht,field_names[i][num_fields+j]);
j++;
}
}
else
printf("Didn't find any fields in table '%s'\n",table_row[0]);
i++;
}
DBUG_VOID_RETURN;
}
/* for gnu readline */
#ifndef HAVE_INDEX
#ifdef __cplusplus
extern "C" {
#endif
extern char *index(const char *,pchar c),*rindex(const char *,pchar);
char *index(const char *s,pchar c)
{
for (;;)
{
if (*s == (char) c) return (char*) s;
if (!*s++) return NullS;
}
}
char *rindex(const char *s,pchar c)
{
reg3 char *t;
t = NullS;
do if (*s == (char) c) t = (char*) s; while (*s++);
return (char*) t;
}
#ifdef __cplusplus
}
#endif
#endif
#endif /* HAVE_READLINE */
static int reconnect(void)
{
if (!status.batch)
{
put_info("No connection. Trying to reconnect...",INFO_INFO);
(void) com_connect((String *) 0, 0);
if(!no_rehash) com_rehash(NULL, NULL);
}
if (!connected)
return put_info("Can't connect to the server\n",INFO_ERROR);
return 0;
}
/***************************************************************************
The different commands
***************************************************************************/
static int
com_help (String *buffer __attribute__((unused)),
char *line __attribute__((unused)))
{
reg1 int i;
put_info("\nMySQL commands:",INFO_INFO);
for (i = 0; commands[i].name; i++)
{
if (commands[i].func)
printf("%s\t(\\%c)\t%s\n", commands[i].name,commands[i].cmd_char,
commands[i].doc);
}
if (connected)
printf("\nConnection id: %ld (Can be used with mysqladmin kill)\n\n",
mysql_thread_id(&mysql));
else
printf("Not connected! Reconnect with 'connect'!\n\n");
return 0;
}
/* ARGSUSED */
static int
com_clear(String *buffer,char *line __attribute__((unused)))
{
buffer->length(0);
return 0;
}
/*
** Execute command
** Returns: 0 if ok
** -1 if not fatal error
** 1 if fatal error
*/
static int
com_go(String *buffer,char *line __attribute__((unused)))
{
char buff[160],time_buff[32];
MYSQL_RES *result;
ulong timer;
uint error=0;
if (!status.batch)
{
old_buffer= *buffer; // Save for edit command
old_buffer.copy();
}
/* Remove garbage for nicer messages */
LINT_INIT(buff[0]);
remove_cntrl(*buffer);
if (buffer->is_empty())
{
if (status.batch) // Ignore empty quries
return 0;
return put_info("No query specified\n",INFO_ERROR);
}
if (!connected && reconnect())
{
buffer->length(0); // Remove query on error
return status.batch ? 1 : -1; // Fatal error
}
if (verbose)
(void) com_print(buffer,0);
if (skip_updates &&
(buffer->length() < 4 || my_sortcmp(buffer->ptr(),"SET ",4)))
{
(void) put_info("Ignoring query to other database",INFO_INFO);
return 0;
}
timer=start_timer();
for (uint retry=0;; retry++)
{
if (!mysql_real_query(&mysql,buffer->ptr(),buffer->length()))
break;
error=put_info(mysql_error(&mysql),INFO_ERROR, mysql_errno(&mysql));
if (mysql_errno(&mysql) != CR_SERVER_GONE_ERROR || retry > 1 || status.batch)
{
buffer->length(0); // Remove query on error
return error;
}
if (reconnect())
{
buffer->length(0); // Remove query on error
return error;
}
}
error=0;
buffer->length(0);
if (quick)
{
if (!(result=mysql_use_result(&mysql)) && mysql_field_count(&mysql))
{
return put_info(mysql_error(&mysql),INFO_ERROR,mysql_errno(&mysql));
}
}
else
{
if (!(result=mysql_store_result(&mysql)))
{
if (mysql_error(&mysql)[0])
{
return put_info(mysql_error(&mysql),INFO_ERROR,mysql_errno(&mysql));
}
}
}
if (verbose >= 3 || !opt_silent)
mysql_end_timer(timer,time_buff);
else
time_buff[0]=0;
if (result)
{
if (!mysql_num_rows(result) && ! quick)
{
sprintf(buff,"Empty set%s",time_buff);
}
else
{
if (opt_html)
print_table_data_html(result);
else if (vertical)
print_table_data_vertically(result);
else if (opt_silent && verbose <= 2 && !output_tables)
print_tab_data(result);
else
print_table_data(result);
sprintf(buff,"%ld %s in set%s",
(long) mysql_num_rows(result),
(long) mysql_num_rows(result) == 1 ? "row" : "rows",
time_buff);
}
}
else if (mysql_affected_rows(&mysql) == ~(ulonglong) 0)
sprintf(buff,"Query OK%s",time_buff);
else
sprintf(buff,"Query OK, %ld %s affected%s",
(long) mysql_affected_rows(&mysql),
(long) mysql_affected_rows(&mysql) == 1 ? "row" : "rows",
time_buff);
put_info(buff,INFO_RESULT);
if (mysql_info(&mysql))
put_info(mysql_info(&mysql),INFO_RESULT);
put_info("",INFO_RESULT); // Empty row
if (result && !mysql_eof(result)) /* Something wrong when using quick */
error=put_info(mysql_error(&mysql),INFO_ERROR,mysql_errno(&mysql));
else if (unbuffered)
fflush(stdout);
mysql_free_result(result);
return error; /* New command follows */
}
static int
com_ego(String *buffer,char *line)
{
int result;
bool oldvertical=vertical;
vertical=1;
result=com_go(buffer,line);
vertical=oldvertical;
return result;
}
static void
print_table_data(MYSQL_RES *result)
{
String separator(256);
MYSQL_ROW cur;
MYSQL_FIELD *field;
bool *num_flag;
num_flag=(bool*) my_alloca(sizeof(bool)*mysql_num_fields(result));
separator.copy("+",1);
while ((field = mysql_fetch_field(result)))
{
uint length=skip_column_names ? 0 : strlen(field->name);
if (quick)
length=max(length,field->length);
else
length=max(length,field->max_length);
if (length < 4 && !IS_NOT_NULL(field->flags))
length=4; // Room for "NULL"
field->max_length=length+1;
separator.fill(separator.length()+length+2,'-');
separator.append('+');
}
puts(separator.c_ptr());
if (!skip_column_names)
{
mysql_field_seek(result,0);
(void) fputs("|",stdout);
for (uint off=0; (field = mysql_fetch_field(result)) ; off++)
{
printf(" %-*s|",field->max_length,field->name);
num_flag[off]= IS_NUM(field->type);
}
(void) fputc('\n',stdout);
puts(separator.c_ptr());
}
while ((cur = mysql_fetch_row(result)))
{
(void) fputs("|",stdout);
mysql_field_seek(result,0);
for (uint off=0 ; off < mysql_num_fields(result); off++)
{
field = mysql_fetch_field(result);
uint length=field->max_length;
printf(num_flag[off] ? "%*s |" : " %-*s|",
length,cur[off] ? (char*) cur[off] : "NULL");
}
(void) fputc('\n',stdout);
}
puts(separator.c_ptr());
my_afree((gptr) num_flag);
}
static void
print_table_data_html(MYSQL_RES *result)
{
MYSQL_ROW cur;
MYSQL_FIELD *field;
mysql_field_seek(result,0);
printf("<TABLE BORDER=1>\n");
printf("<TR>\n");
if (!skip_column_names)
{
while((field = mysql_fetch_field(result)))
{
printf("<TH>%s</TH>",field->name ? (field->name[0] ? field->name:" &nbsp; "):"NULL");
}
puts("\n</TR>");
}
while ((cur = mysql_fetch_row(result)))
{
puts("<TR>");
for (uint i=0; i < mysql_num_fields(result); i++)
{
ulong *lengths=mysql_fetch_lengths(result);
fputs("<TD>",stdout);
safe_put_field(cur[i],lengths[i]);
fputs("</TD>",stdout);
}
puts("\n</TR>");
}
puts("</TABLE>");
}
static void
print_table_data_vertically(MYSQL_RES *result)
{
MYSQL_ROW cur;
uint max_length=0;
MYSQL_FIELD *field;
while ((field = mysql_fetch_field(result)))
{
uint length=strlen(field->name);
if (length > max_length)
max_length= length;
field->max_length=length;
}
mysql_field_seek(result,0);
for (uint row_count=1; (cur= mysql_fetch_row(result)); row_count++)
{
mysql_field_seek(result,0);
printf("*************************** %d. row ***************************\n",
row_count);
for (uint off=0; off < mysql_num_fields(result); off++)
{
field= mysql_fetch_field(result);
printf("%*s: ",(int) max_length,field->name);
printf("%s\n",cur[off] ? (char*) cur[off] : "NULL");
}
}
}
static void
safe_put_field(const char *pos,ulong length)
{
if (!pos)
fputs("NULL",stdout);
else
{
if (opt_raw_data)
fputs(pos,stdout);
else for (const char *end=pos+length ; pos != end ; pos++)
{
#ifdef USE_MB
int l;
if (use_mb(default_charset_info) &&
(l = my_ismbchar(default_charset_info, pos, end))) {
while (l--)
putchar(*pos++);
pos--;
continue;
}
#endif
if (!*pos)
fputs("\\0",stdout); // This makes everything hard
else if (*pos == '\t')
fputs("\\t",stdout); // This would destroy tab format
else if (*pos == '\n')
fputs("\\n",stdout); // This too
else if (*pos == '\\')
fputs("\\\\",stdout);
else
putchar(*pos);
}
}
}
static void
print_tab_data(MYSQL_RES *result)
{
MYSQL_ROW cur;
MYSQL_FIELD *field;
ulong *lengths;
if (opt_silent < 2 && !skip_column_names)
{
int first=0;
while ((field = mysql_fetch_field(result)))
{
if (first++)
(void) fputc('\t',stdout);
(void) fputs(field->name,stdout);
}
(void) fputc('\n',stdout);
}
while ((cur = mysql_fetch_row(result)))
{
lengths=mysql_fetch_lengths(result);
safe_put_field(cur[0],lengths[0]);
for (uint off=1 ; off < mysql_num_fields(result); off++)
{
(void) fputc('\t',stdout);
safe_put_field(cur[off],lengths[off]);
}
(void) fputc('\n',stdout);
}
}
static int
com_edit(String *buffer,char *line __attribute__((unused)))
{
#ifdef __WIN__
put_info("Sorry, you can't send the result to an editor in Win32",
INFO_ERROR);
#else
char *filename,buff[160];
int fd,tmp;
const char *editor;
filename = my_tempnam(NullS,"sql",MYF(MY_WME));
if ((fd = my_create(filename,0,O_CREAT | O_WRONLY, MYF(MY_WME))) < 0)
goto err;
if (buffer->is_empty() && !old_buffer.is_empty())
(void) my_write(fd,(byte*) old_buffer.ptr(),old_buffer.length(),
MYF(MY_WME));
else
(void) my_write(fd,(byte*) buffer->ptr(),buffer->length(),MYF(MY_WME));
(void) my_close(fd,MYF(0));
if (!(editor = (char *)getenv("EDITOR")) &&
!(editor = (char *)getenv("VISUAL")))
editor = "vi";
strxmov(buff,editor," ",filename,NullS);
(void) system(buff);
MY_STAT stat_arg;
if (!my_stat(filename,&stat_arg,MYF(MY_WME)))
goto err;
if ((fd = my_open(filename,O_RDONLY, MYF(MY_WME))) < 0)
goto err;
(void) buffer->alloc((uint) stat_arg.st_size);
if ((tmp=read(fd,(char*) buffer->ptr(),buffer->alloced_length())) >= 0L)
buffer->length((uint) tmp);
else
buffer->length(0);
(void) my_close(fd,MYF(0));
(void) my_delete(filename,MYF(MY_WME));
err:
free(filename);
#endif
return 0;
}
/* If arg is given, exit without errors. This happens on command 'quit' */
static int
com_quit(String *buffer __attribute__((unused)),
char *line __attribute__((unused)))
{
status.exit_status=0;
return 1;
}
static int
com_rehash(String *buffer __attribute__((unused)),
char *line __attribute__((unused)))
{
#ifdef HAVE_READLINE
build_completion_hash(0,0);
#endif
return 0;
}
static int
com_print(String *buffer,char *line __attribute__((unused)))
{
puts("--------------");
(void) fputs(buffer->c_ptr(),stdout);
if (!buffer->length() || (*buffer)[buffer->length()-1] != '\n')
putchar('\n');
puts("--------------\n");
return 0; /* If empty buffer */
}
/* ARGSUSED */
static int
com_connect(String *buffer, char *line)
{
char *tmp,buff[256];
bool save_rehash=no_rehash;
int error;
if (buffer)
{
while (isspace(*line))
line++;
strnmov(buff,line,sizeof(buff)-1); // Don't destroy history
if (buff[0] == '\\') // Short command
buff[1]=' ';
tmp=(char *) strtok(buff," \t"); // Skipp connect command
if (tmp && (tmp=(char *) strtok(NullS," \t;")))
{
my_free(current_db,MYF(MY_ALLOW_ZERO_PTR));
current_db=my_strdup(tmp,MYF(MY_WME));
if ((tmp=(char *) strtok(NullS," \t;")))
{
my_free(current_host,MYF(MY_ALLOW_ZERO_PTR));
current_host=my_strdup(tmp,MYF(MY_WME));
}
}
else
no_rehash=1; // Quick re-connect
buffer->length(0); // command used
}
else
no_rehash=1;
error=sql_connect(current_host,current_db,current_user,opt_password,0);
no_rehash=save_rehash;
if (connected)
{
sprintf(buff,"Connection id: %ld",mysql_thread_id(&mysql));
put_info(buff,INFO_INFO);
sprintf(buff,"Current database: %s\n",
current_db ? current_db : "*** NO ONE ***");
put_info(buff,INFO_INFO);
}
return error;
}
static int com_source(String *buffer, char *line)
{
char source_name[FN_REFLEN], *end, *param;
LINE_BUFFER *line_buff;
int error;
STATUS old_status;
FILE *sql_file;
/* Skip space from file name */
while (isspace(*line))
line++;
if (!(param = strchr(line, ' '))) // Skipp command name
return put_info("Usage: \\. <filename> | source <filename>", INFO_ERROR, 0);
while (isspace(*param))
param++;
end=strmake(source_name,param,sizeof(source_name)-1);
while (end > source_name && (isspace(end[-1]) || iscntrl(end[-1])))
end--;
end[0]=0;
/* open file name */
if (!(sql_file = my_fopen(source_name, O_RDONLY,MYF(0))))
{
char buff[FN_REFLEN+60];
sprintf(buff,"Failed to open file '%s', error: %d", source_name,errno);
return put_info(buff, INFO_ERROR, 0);
}
if (!(line_buff=batch_readline_init(max_allowed_packet+512,sql_file)))
{
my_fclose(sql_file,MYF(0));
return put_info("Can't initialize batch_readline", INFO_ERROR, 0);
}
/* Save old status */
old_status=status;
bfill((char*) &status,sizeof(status),(char) 0);
status.batch=old_status.batch; // Run in batch mode
status.line_buff=line_buff;
status.file_name=source_name;
glob_buffer.length(0); // Empty command buffer
error=read_lines(0); // Read lines from file
status=old_status; // Continue as before
my_fclose(sql_file,MYF(0));
batch_readline_end(line_buff);
return error;
}
/* ARGSUSED */
static int
com_use(String *buffer __attribute__((unused)), char *line)
{
char *tmp;
char buff[256];
while (isspace(*line))
line++;
strnmov(buff,line,sizeof(buff)-1); // Don't destroy history
if (buff[0] == '\\') // Short command
buff[1]=' ';
tmp=(char *) strtok(buff," \t;"); // Skipp connect command
if (!tmp || !(tmp=(char *) strtok(NullS," \t;")))
{
put_info("USE must be followed by a database name",INFO_ERROR);
return 0;
}
if (!current_db || cmp_database(current_db,tmp))
{
if (one_database)
skip_updates=1;
else
{
/*
reconnect once if connection is down or if connection was found to
be down during query
*/
if (!connected && reconnect())
return status.batch ? 1 : -1; // Fatal error
if (mysql_select_db(&mysql,tmp))
{
if (mysql_errno(&mysql) != CR_SERVER_GONE_ERROR)
return put_info(mysql_error(&mysql),INFO_ERROR,mysql_errno(&mysql));
if (reconnect())
return status.batch ? 1 : -1; // Fatal error
if (mysql_select_db(&mysql,tmp))
return put_info(mysql_error(&mysql),INFO_ERROR,mysql_errno(&mysql));
}
#ifdef HAVE_READLINE
build_completion_hash(no_rehash,1);
#endif
my_free(current_db,MYF(MY_ALLOW_ZERO_PTR));
current_db=my_strdup(tmp,MYF(MY_WME));
}
}
else
skip_updates=0;
put_info("Database changed",INFO_INFO);
return 0;
}
static int
sql_real_connect(char *host,char *database,char *user,char *password,
uint silent)
{
if (connected)
{ /* if old is open, close it first */
mysql_close(&mysql);
connected= 0;
}
mysql_init(&mysql);
if (opt_compress)
mysql_options(&mysql,MYSQL_OPT_COMPRESS,NullS);
#ifdef HAVE_OPENSSL
if (opt_use_ssl)
mysql_ssl_set(&mysql, opt_ssl_key, opt_ssl_cert, opt_ssl_ca,
opt_ssl_capath);
#endif
if (safe_updates)
{
char init_command[100];
sprintf(init_command,
"SET SQL_SAFE_UPDATES=1,SQL_SELECT_LIMIT=%lu,SQL_MAX_JOIN_SIZE=%lu",
select_limit,max_join_size);
mysql_options(&mysql, MYSQL_INIT_COMMAND, init_command);
}
if (!mysql_real_connect(&mysql,host,user,password,
database,opt_mysql_port,opt_mysql_unix_port,
connect_flag))
{
if (!silent ||
(mysql_errno(&mysql) != CR_CONN_HOST_ERROR &&
mysql_errno(&mysql) != CR_CONNECTION_ERROR))
{
put_info(mysql_error(&mysql),INFO_ERROR,mysql_errno(&mysql));
(void) fflush(stdout);
return ignore_errors ? -1 : 1; // Abort
}
return -1; // Retryable
}
connected=1;
mysql.reconnect=info_flag ? 1 : 0; // We want to know if this happens
#ifdef HAVE_READLINE
build_completion_hash(no_rehash,1);
#endif
return 0;
}
static int
sql_connect(char *host,char *database,char *user,char *password,uint silent)
{
bool message=0;
uint count=0;
int error;
for (;;)
{
if ((error=sql_real_connect(host,database,user,password,wait_flag)) >= 0)
{
if (count)
{
fputs("\n",stderr);
(void) fflush(stderr);
}
return error;
}
if (!wait_flag)
return ignore_errors ? -1 : 1;
if (!message && !silent)
{
message=1;
fputs("Waiting",stderr); (void) fflush(stderr);
}
(void) sleep(5);
if (!silent)
{
putc('.',stderr); (void) fflush(stderr);
count++;
}
}
}
static int
com_status(String *buffer __attribute__((unused)),
char *line __attribute__((unused)))
{
char *status;
puts("--------------");
usage(1); /* Print version */
if (connected)
{
MYSQL_RES *result;
LINT_INIT(result);
printf("\nConnection id:\t\t%ld\n",mysql_thread_id(&mysql));
if (!mysql_query(&mysql,"select DATABASE(),USER()") &&
(result=mysql_use_result(&mysql)))
{
MYSQL_ROW cur=mysql_fetch_row(result);
printf("Current database:\t%s\n",cur[0]);
printf("Current user:\t\t%s\n",cur[1]);
(void) mysql_fetch_row(result); // Read eof
}
}
else
{
vidattr(A_BOLD);
printf("\nNo connection\n");
vidattr(A_NORMAL);
return 0;
}
if (skip_updates)
{
vidattr(A_BOLD);
printf("\nAll updates ignored to this database\n");
vidattr(A_NORMAL);
}
printf("Server version\t\t%s\n", mysql_get_server_info(&mysql));
printf("Protocol version\t%d\n", mysql_get_proto_info(&mysql));
printf("Connection\t\t%s\n", mysql_get_host_info(&mysql));
printf("Language\t\t%s\n", mysql.charset->name);
if (strstr(mysql_get_host_info(&mysql),"TCP/IP") || ! mysql.unix_socket)
printf("TCP port\t\t%d\n", mysql.port);
else
printf("UNIX socket\t\t%s\n", mysql.unix_socket);
if ((status=mysql_stat(&mysql)) && !mysql_error(&mysql)[0])
{
char *pos,buff[40];
ulong sec;
pos=strchr(status,' ');
*pos++=0;
printf("%s\t\t\t",status); /* print label */
if ((status=str2int(pos,10,0,LONG_MAX,(long*) &sec)))
{
nice_time((double) sec,buff,0);
puts(buff); /* print nice time */
while (*status == ' ') status++; /* to next info */
}
if (status)
{
putchar('\n');
puts(status);
}
}
if (safe_updates)
{
vidattr(A_BOLD);
printf("\nNote that we are running in safe_update_mode:\n");
vidattr(A_NORMAL);
printf("\
UPDATE and DELETE that doesn't use a key in the WHERE clause are not allowed\n\
(One can force UPDATE/DELETE by adding LIMIT # at the end of the command)\n\
SELECT has an automatic 'LIMIT %lu' if LIMIT is not used\n\
Max number of examined row combination in a join is set to: %lu\n\n",
select_limit,max_join_size);
}
puts("--------------\n");
return 0;
}
static int
put_info(const char *str,INFO_TYPE info_type,uint error)
{
static int inited=0;
if (status.batch)
{
if (info_type == INFO_ERROR)
{
(void) fflush(stdout);
fprintf(stderr,"ERROR");
if (error)
(void) fprintf(stderr," %d",error);
if (status.query_start_line && ! skip_line_numbers)
{
(void) fprintf(stderr," at line %lu",status.query_start_line);
if (status.file_name)
(void) fprintf(stderr," in file: '%s'", status.file_name);
}
(void) fprintf(stderr,": %s\n",str);
(void) fflush(stderr);
if (!ignore_errors)
return 1;
}
else if (info_type == INFO_RESULT && verbose > 1)
puts(str);
if (unbuffered)
fflush(stdout);
return info_type == INFO_ERROR ? -1 : 0;
}
if (!opt_silent || info_type == INFO_ERROR)
{
if (!inited)
{
inited=1;
#ifdef HAVE_SETUPTERM
(void) setupterm((char *)0, 1, (int *) 0);
#endif
}
if (info_type == INFO_ERROR)
{
putchar('\007'); /* This should make a bell */
vidattr(A_STANDOUT);
if (error)
(void) fprintf(stderr,"ERROR %d: ",error);
else
fputs("ERROR: ",stdout);
}
else
vidattr(A_BOLD);
(void) puts(str);
vidattr(A_NORMAL);
}
if (unbuffered)
fflush(stdout);
return info_type == INFO_ERROR ? -1 : 0;
}
static void remove_cntrl(String &buffer)
{
char *start,*end;
end=(start=(char*) buffer.ptr())+buffer.length();
while (start < end && !isgraph(end[-1]))
end--;
buffer.length((uint) (end-start));
}
#ifdef __WIN__
#include <time.h>
#else
#include <sys/times.h>
#undef CLOCKS_PER_SEC
#define CLOCKS_PER_SEC (sysconf(_SC_CLK_TCK))
#endif
static ulong start_timer(void)
{
#ifdef __WIN__
return clock();
#else
struct tms tms_tmp;
return times(&tms_tmp);
#endif
}
static void nice_time(double sec,char *buff,bool part_second)
{
ulong tmp;
if (sec >= 3600.0*24)
{
tmp=(ulong) floor(sec/(3600.0*24));
sec-=3600.0*24*tmp;
buff=int2str((long) tmp,buff,10);
buff=strmov(buff,tmp > 1 ? " days " : " day ");
}
if (sec >= 3600.0)
{
tmp=(ulong) floor(sec/3600.0);
sec-=3600.0*tmp;
buff=int2str((long) tmp,buff,10);
buff=strmov(buff,tmp > 1 ? " hours " : " hour ");
}
if (sec >= 60.0)
{
tmp=(ulong) floor(sec/60.0);
sec-=60.0*tmp;
buff=int2str((long) tmp,buff,10);
buff=strmov(buff," min ");
}
if (part_second)
sprintf(buff,"%.2f sec",sec);
else
sprintf(buff,"%d sec",(int) sec);
}
static void end_timer(ulong start_time,char *buff)
{
nice_time((double) (start_timer() - start_time) /
CLOCKS_PER_SEC,buff,1);
}
static void mysql_end_timer(ulong start_time,char *buff)
{
buff[0]=' ';
buff[1]='(';
end_timer(start_time,buff+2);
strmov(strend(buff),")");
}
/* Keep sql_string library happy */
gptr sql_alloc(unsigned int Size)
{
return my_malloc(Size,MYF(MY_WME));
}
void sql_element_free(void *ptr)
{
my_free((gptr) ptr,MYF(0));
}