mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
84626f52fb
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
1643 lines
70 KiB
Text
1643 lines
70 KiB
Text
8 Tutorial MySQL
|
||
=======================
|
||
|
||
Este cap<61>ítulo ofrece un tutorial de introducci<63>ón a MySQL, mostrando c<>ómo usar el programa cliente
|
||
mysql para crear y usar una simple base de datos. mysql (al que algunas veces nos referimos como
|
||
"monitor terminal" o simplemente "monitor") es un programa interactivo que te permite conectarte a
|
||
un servidor MySQL, ejecutar consultas y observar los resultados. mysql puede ser usado tambi<62>én en
|
||
modo batch: escribes tus consultas en un fichero de texto, para despu<70>és pedirle a mysql que
|
||
ejecute el contenido del fichero. Se cubren aqu<71>í esas dos formas de usar de usar mysql.
|
||
|
||
Para ver una lista de opciones proporcionadas por mysql, l<>ánzalo con las opci<63>ón --help :
|
||
|
||
shell> mysql --help
|
||
|
||
Este cap<61>ítulo asume que mysql est<73>á instalado en tu m<>áquina, y que hay disponible un servidor al que
|
||
te puedes conectar. Si esto no es as<61>í, contacta con tu administrador MySQL. (Si el administrador
|
||
eres t<>ú, necesitar<61>ás consultar otra secci<63>ón de este manual).
|
||
|
||
El cap<61>ítulo describe el proceso completo de configurar y usar una base de datos. Si est<73>ás interesado
|
||
s<EFBFBD>ólo en acceder una base de datos ya existente, querr<72>ás saltar las secciones que describen c<>ómo
|
||
crear la base de datos y las tablas que la contienen.
|
||
|
||
Dado que este cap<61>ítulo es un tutorial b<>ásico, se dejar<61>án en el tintero muchos
|
||
detalles. Consulta las secciones relevantes del manual para m<>ás informaci<63>ón sobre los temas
|
||
aqu<EFBFBD>í cubiertos.
|
||
|
||
|
||
8.1 Conectando y desconectando del servidor
|
||
=============================================
|
||
|
||
|
||
Para conectarse al servidor, generalmente necesitar<61>ás facilitar un nombre de usuario MySQL cuando
|
||
lances el cliente mysql y, lo m<>ás probable, tambi<62>én un password. Si el servidor se est<73>á ejecutando
|
||
en una m<>áquina distinta a la que est<73>ás conectado, necesitar<61>ás especificar tambi<62>én un nombre de
|
||
host. Contacta con tu administrador para averiguar qu<71>é par<61>ámetros de conexi<78>ón necesitas usar para
|
||
conectar (es decir, qu<71>é host, nombre de usuario y password usar). Una vez que conozcas los
|
||
par<EFBFBD>ámetros adecuados, deber<65>ás ser capaz de conectar de la siguiente forma:
|
||
|
||
shell> mysql -h host -u user -p
|
||
Enter password: *******
|
||
Welcome to the MySQL monitor. Commands end with ; or \g.
|
||
Your MySQL connection id is 459 to server version: 3.22.20a-log
|
||
|
||
Type 'help' for help.
|
||
|
||
mysql>
|
||
|
||
El prompt te indica que mysql ya est<73>á listo para la introducci<63>ón de comandos.
|
||
|
||
Algunas instalaciones MySQL permiten a los usuarios conectarse como usuarios "anonymous" (sin
|
||
nombre) al servidor ejecut<75>ándose en el host local. Si este es el caso en tu m<>áquina, deber<65>ías ser
|
||
capaz de conectar a ese servidor invocando mysql sin ninguna opci<63>ón:
|
||
|
||
shell> mysql
|
||
|
||
Una vez que hayas conectado con <20>éxito, puedes desconectarte en cualquier momento tecleando QUIT en
|
||
el prompt mysql> :
|
||
|
||
mysql> QUIT
|
||
Bye
|
||
|
||
Tambi<EFBFBD>én puedes desconectar tecleando control-D.
|
||
|
||
La mayor parte de los ejemplos en las siguientes secciones asumen que est<73>ás conectado al
|
||
servidor. Lo indicar<61>án por el prompt mysql>
|
||
|
||
|
||
8.2 Haciendo consultas
|
||
========================
|
||
|
||
Aseg<EFBFBD>úrate de que est<73>ás conectado al servidor, como se ha discutido en secciones anteriores. El
|
||
hacerlo no implica que tengas seleccionada ninguna base de datos con la que trabajar, pero est<73>á
|
||
bien. En este punto, es m<>ás importante averiguar un poco sobre c<>ómo lanzar consultas que lanzarse
|
||
directamente a la creaci<63>ón de tablas, cargar datos en ellas y recuperar los datos de las
|
||
mismas. Esta secci<63>ón describe los principios b<>ásicos de la entrada de comandos, usando varias
|
||
consultas que puedes probar para familiarizarte con la forma de trabajo de mysql.
|
||
|
||
Aqu<EFBFBD>í presentamos un comando simple que pide al servidor que nos diga su n<>úmero de versi<73>ón y fecha
|
||
actual. Tecl<63>éalo como se muestra a continuaci<63>ón siguiendo el prompt mysql> y pulsa la tecla RETURN:
|
||
|
||
|
||
mysql> SELECT VERSION(), CURRENT_DATE;
|
||
+-----------+--------------+
|
||
| version() | CURRENT_DATE |
|
||
+-----------+--------------+
|
||
| 3.22.23b | 2000-01-05 |
|
||
+-----------+--------------+
|
||
1 row in set (0.06 sec)
|
||
|
||
mysql>
|
||
|
||
Esta consulta ilustra muchas cosas sobre mysql:
|
||
|
||
* Un comando consiste normalmente de una sentencia SQL seguida por un punto y coma. (Existen algunas
|
||
excepciones donde no es necesario el punto y coma. QUIT, mencionado m<>ás adelante, es una de
|
||
ellas. Conoceremos otras m<>ás adelante.)
|
||
|
||
* Cuando lanzas un comando, mysql lo env<6E>ía al servidor para su ejecuci<63>ón y muestra los resultados,
|
||
despu<70>és imprime otro mysql> para indicar que est<73>á listo para otro comando.
|
||
|
||
* mysql muestra la salida de una consulta como una tabla (filas y columnas). La primera fila
|
||
contiene etiquetas para las columnas. Las siguientes filas son el resultado de la
|
||
consulta. Normalmente, las etiquetas de las columnas son los nombres de las columnas que has
|
||
obtenido de la base de datos. Si pides el valor de una expresi<73>ón en vez de una columna de una
|
||
tabla (como en el ejemplo anterior), mysql etiqueta la columna usando la propia expresi<73>ón.
|
||
|
||
* mysql muestra el n<>úmero de filas que se han dado como resultado, y cu<63>ánto tiempo llev<65>ó la
|
||
ejecuci<63>ón de la consulta, lo que te da una idea aproximada del rendimiento del servidor. Estos
|
||
valores son imprecisos porque representan tiempo real (no tiempo de CPU o m<>áquina), y porque est<73>án
|
||
afectados por factores como la carga del servidor y la latencia de la red. (Por cuestiones de
|
||
brevedad, la l<>ínea "rows in set" no se mostrar<61>á en los ejemplos posteriores de este cap<61>ítulo.)
|
||
|
||
Las palabras clave pueden ser tecleadas en cualquier combinaci<63>ón may<61>úscula/min<69>úscula. Las siguientes
|
||
consultas son equivalentes:
|
||
|
||
mysql> SELECT VERSION(), CURRENT_DATE;
|
||
mysql> select version(), current_date;
|
||
mysql> SeLeCt vErSiOn(), current_DATE;
|
||
|
||
He aqu<71>í otra consulta. Demuestra que puedes usar mysql como una calculadora sencilla:
|
||
|
||
mysql> SELECT SIN(PI()/4), (4+1)*5;
|
||
+-------------+---------+
|
||
| SIN(PI()/4) | (4+1)*5 |
|
||
+-------------+---------+
|
||
| 0.707107 | 25 |
|
||
+-------------+---------+
|
||
|
||
Los comandos vistos hasta aqu<71>í han sido relativamente cortos, sentencias de una sola l<>ínea. Tambi<62>én puedes
|
||
insertar m<>últiples sentencias en una sola l<>ínea. Simplemente, termina cada una con un punto y coma:
|
||
|
||
mysql> SELECT VERSION(); SELECT NOW();
|
||
|
||
+-----------+
|
||
| version() |
|
||
+-----------+
|
||
| 3.22.23b |
|
||
+-----------+
|
||
|
||
+---------------------+
|
||
| NOW() |
|
||
+---------------------+
|
||
| 2000-01-05 17:33:16 |
|
||
+---------------------+
|
||
|
||
Un comando no necesita ser dado todo en una s<>óla l<>ínea, as<61>í pues, los comandos largos que requieran
|
||
varias lineas no son un problema. mysql determina cuando termina tu sentencia buscando el punto y
|
||
coma final, no buscando el final de la l<>ínea de entrada. (En otras palabras, mysql acepta entrada de
|
||
libre formato: recoleta las l<>íneas de entrada pero no las ejecutahasta que vea el punto y coma.)
|
||
|
||
Aqu<EFBFBD>í tenemos un simple ejemplo de m<>últiples l<>íneas:
|
||
|
||
mysql> SELECT
|
||
-> USER()
|
||
-> ,
|
||
-> CURRENT_DATE;
|
||
+----------------+--------------+
|
||
| USER() | CURRENT_DATE |
|
||
+----------------+--------------+
|
||
| root@localhost | 2000-01-05 |
|
||
+----------------+--------------+
|
||
|
||
En este ejemplo, observa como cambia el prompt de mysql> a -> una vez que has insertado la primera
|
||
l<EFBFBD>ínea de una consulta multi-l<>ínea. Esta es la forma en que mysql indica que no ha encontrado una
|
||
sentencia completa y que est<73>á esperando por el resto. El prompt es tu amigo, dado que ofrece una
|
||
retroalimentaci<EFBFBD>ón (feedback) significativa. Si usas ese feedback, siempre sabr<62>ás a qu<71>é est<73>á
|
||
esperando mysql.
|
||
|
||
Si decides que no quieres ejecutar un comando que est<73>á en proceso de introducci<63>ón, puedes cancelarlo
|
||
tecleando \c :
|
||
|
||
mysql> SELECT
|
||
-> USER
|
||
-> \c
|
||
mysql>
|
||
|
||
Observa aqu<71>í tambi<62>én el prompt. Ha vuelto a mysql> tras haber tecleado \c, ofreciendo un feedback
|
||
que indica que mysql est<73>á listo para un nuevo comando.
|
||
|
||
La siguiente tabla muestra cada uno de los prompts que puedes ver y resume qu<71>é es lo que significan
|
||
y el estado en el que se encontrar<61>á mysql:
|
||
|
||
Prompt Significado
|
||
mysql> Listo para un nuevo comando
|
||
-> Esperando una nueva l<>ínea de una consulta multi-l<>ínea
|
||
'> Esperando la siguiente l<>ínea, se ha insertado una l<>ínea que comienza con (')
|
||
"> Esperando la siguiente l<>ínea, se ha insertado una l<>ínea que comienza con (")
|
||
|
||
Las sentencias multi-l<>ínea ocurren com<6F>únmente "por accidente" cuando intentas lanzar un comando en
|
||
una <20>única l<>ínea, pero olvidas el punto y coma del final. En este caso, mysql espera m<>ás entrada:
|
||
|
||
mysql> SELECT USER()
|
||
->
|
||
|
||
Si esto es lo que te ocurre (crees que has introducido una sentencia pero la <20>única respuesta es un
|
||
prompt como ->), lo m<>ás probable es que mysql est<73>é esperando por el punto y coma. Si no observas qu<71>é
|
||
es lo que te dice el prompt, podr<64>ías quedarte esperando un buen rato antes de enterarte de qu<71>é es lo
|
||
que sucede. Introduce un punto y coma para completar la sentencia, y mysql la ejecutar<61>á:
|
||
|
||
mysql> SELECT USER()
|
||
-> ;
|
||
+----------------+
|
||
| USER() |
|
||
+----------------+
|
||
| root@localhost |
|
||
+----------------+
|
||
|
||
Los prompts '> y "> ocurren durante la recogida de strings. En MySQL, puedes escribir strings
|
||
encerrados por comillas simples (') o dobles (") (por ejemplo, 'hola' o "adios"), y mysql te permite
|
||
introducir tambi<62>én strings que se cortan en m<>últiples l<>íneas. Cuando veas un prompt como '> <20>ó ">,
|
||
significa que has introducido una l<>ínea que conten<65>ía un string que comenzaba por (') o ("), pero que
|
||
no has introducido a<>ún la comilla (simple o doble) de cierre. Esto est<73>á bien si realmente estabas
|
||
introduciendo un string multi-l<>ínea, pero no es lo m<>ás normal. Lo que s<>í es m<>ás normal, es que los
|
||
prompts '> <20>ó "> indiquen que te has olvidado del caracter de cierre " <20>ó '. Por ejemplo:
|
||
|
||
mysql> SELECT * FROM mi_tabla WHERE nombre ="Garc<72>ía AND edad < 30;
|
||
">
|
||
|
||
Si tecleas esta sentencia SELECT, despu<70>és pulsas ENTER y esperas por el resultado, no suceder<65>á
|
||
nada. En lugar de preocuparte, "<22>¿por qu<71>é tarda tanto esta consulta?", observa la pista que te ofrece
|
||
el prompt "> . Esto te indica que mysql espera ver el resto de un string que a<>ún no ha
|
||
terminado. (<28>¿Ves el error en la sentencia? La cadena "Garc<72>ía ha perdido las comillas de cierre.)
|
||
|
||
Llegados a este punto, <20>¿qu<71>é puedes hacer?. Lo m<>ás f<>ácil es cancelar el comando. Sin embargo, no
|
||
puedes teclear simplemente \c en este ejemplo, dado que mysql <20>¡lo interpretar<61>á como parte del string
|
||
que est<73>á leyendo! En vez de eso, introduce las comillas de cierre (para que mysql sepa que ya has
|
||
terminado de introducir el string), y despu<70>és teclea \c :
|
||
|
||
mysql> SELECT * FROM mi_tabla WHERE nombre ="Garc<72>ía AND edad < 30;
|
||
"> "\c
|
||
mysql>
|
||
|
||
El prompt vuelve a cambiar a mysql>, indicando que mysql est<73>á listo para un nuevo comando.
|
||
|
||
Es importante saber qu<71>é significan los prompts '> y ">, dado que si introduces por error un string
|
||
sin cerrar, cualquier otra l<>ínea que introduzcas ser<65>án ignoradas por mysql - <20>¡incluyendo una l<>ínea
|
||
que contenga QUIT! Esto puede ser bastante confuso, especialmente si no sabes que debes introducir
|
||
la comilla de cierre antes de poder cancelar el comando actual.
|
||
|
||
8.3 Creando y usando una base de datos
|
||
==========================================
|
||
|
||
Ahora que sabes como introducir comandos, es hora de acceder a la base de datos.
|
||
|
||
Supon que tienes varias mascotas en tu casa (tu peque<75>ño "zoo") y que te gustar<61>ía llevar un control
|
||
de varios tipos de informaci<63>ón sobre estos animales. Puedes hacerlo creando tablas que guarden tus
|
||
datos y cargandolas con la informaci<63>ón deseada. Despu<70>és puedes responder a diferentes series de
|
||
preguntas sobre tus animales extrayendo los datos de las tablas. Esta secci<63>ón explica c<>ómo hacer
|
||
todo esto:
|
||
|
||
* C<>ómo crear una base de datos
|
||
* C<>ómo crear una tabla
|
||
* C<>ómo cargar los datos en la tabla
|
||
* C<>ómo extraer informaci<63>ón de la tabla de varias maneras
|
||
* C<>ómo usar m<>últiples tablas
|
||
|
||
La base de datos del zoo ser<65>á simple (deliberadamente), pero no es dif<69>ícil pensar en situaciones del
|
||
mundo real en las que se pudiera utilizar una base de datos similar. Por ejemplo, se podr<64>ía usar una base
|
||
de datos como <20>ésta en una granja para llevar un control del ganado, o por un veterinario para
|
||
controlar el historial de sus pacientes.
|
||
|
||
Usa la sentencia SHOW para averiguar qu<71>é bases de datos existen actualmente en el servidor:
|
||
|
||
mysql> SHOW DATABASES;
|
||
+----------+
|
||
| Database |
|
||
+----------+
|
||
| mysql |
|
||
| test |
|
||
+----------+
|
||
|
||
Probablemente, la lista de las bases de datos ser<65>á diferente en tu m<>áquina, pero las bases de datos
|
||
mysql y test es probable que se encuentren en esa lista. Se requiere la base de datos mysql pues
|
||
describe los privilegios de acceso de los usuarios. La base de datos test se ofrece como campo de
|
||
pruebas para que los usuarios prueben ah<61>í sus teor<6F>ías.
|
||
|
||
Si la base de datos test existe, intenta acceder a ella:
|
||
|
||
mysql> USE test
|
||
Database changed
|
||
|
||
Observa que USE, como QUIT, no requiere un punto y coma. (Puedes terminar este tipo de sentencias
|
||
con un punto y coma si quieres, pero no es necesario.) La sentencia USE es especial en otro sentido,
|
||
tambi<EFBFBD>én: debe ser tecleada en una sola l<>ínea.
|
||
|
||
Puedes usar la base de datos test (si tienes acceso a ella) para los ejemplos que siguen, pero
|
||
cualquier cosa que crees en dicha base de datos puede ser eliminada por cualquiera que tenga acceso
|
||
a ella. Por esta raz<61>ón, deber<65>ías pedir a tu administrador MySQL permisos para usar una base de datos
|
||
propia. Suponte que le quieres llamar zoo. El administrador necesitar<61>á ejecutar entonces la
|
||
siguiente orden:
|
||
|
||
mysql> GRANT ALL ON zoo.* TO tu_nombre;
|
||
|
||
donde tu_nombre es el nombre de usuario MySQL que tengas asignado.
|
||
|
||
ejemplo:
|
||
|
||
mysql> GRANT ALL ON zoo.* TO chessy@localhost;
|
||
Query OK, 0 rows affected (0.08 sec)
|
||
|
||
|
||
8.3.1 Creando y seleccionando una base de datos
|
||
==================================================
|
||
|
||
Si el administrador cre<72>ó la base de datos para t<>í cuando te configur<75>ó los permisos, puedes comenzar
|
||
a usarla. En otro caso, deber<65>ás crearla t<>ú mismo:
|
||
|
||
[chessy@bishito chessy]$ mysql -u chessy
|
||
Welcome to the MySQL monitor. Commands end with ; or \g.
|
||
Your MySQL connection id is 6 to server version: 3.22.23b
|
||
|
||
Type 'help' for help.
|
||
|
||
mysql> CREATE DATABASE zoo;
|
||
Query OK, 1 row affected (0.02 sec)
|
||
|
||
|
||
Bajo Unix, los nombres de bases de datos son sensibles a las may<61>úsculas/min<69>úsculas (a diferencia de
|
||
los comandos SQL), as<61>í que deber<65>ás referirte siempre a tu base de datos con el nombre zoo, no como
|
||
Zoo, ZOO o cualquier otra variante. Es es as<61>í tambi<62>én para las tablas. (Bajo Windows, esta
|
||
restricci<EFBFBD>ón desaparece, aunque deber<65>ías referirte a las bases de datos y a las tablas usando la
|
||
misma sintaxis en tus consultas.)
|
||
|
||
Crear una base de datos no la selecciona para su uso, debes hacerlo expl<70>ícitamente. Para hacer que
|
||
la base de datos zoo sea tu base de datos de trabajo, usa el comando:
|
||
|
||
mysql> USE zoo;
|
||
Database changed
|
||
|
||
Tu base de datos s<>ólo necesita ser creada una vez, pero debes seleccionarla para usarla cada vez que
|
||
comiences una sesi<73>ón mysql. Puedes hacerlo lanzando un comando USE como se ha visto en el
|
||
ejemplo. Alternativamente, puedes seleccionar la base de datos desde la l<>ínea de comandos cuando
|
||
lanzas mysql. Simplemente especifica su nombre tras los par<61>ámetros de conexi<78>ón que hayas
|
||
escrito. Por ejemplo:
|
||
|
||
shell> mysql -h host -u user -p zoo
|
||
Enter password: ********
|
||
|
||
Observa que en la l<>ínea de comandos del ejemplo, zoo no es tu password. Si quieres introducir tu
|
||
password como par<61>ámetro en la l<>ínea de comandos tras la opci<63>ón -p, debes hacerlo sin teclear un
|
||
espacio en blanco intermedio (es decir, como -pmi_password, no como -p mi_password). Sin embargo, no
|
||
es recomendable poner tu password en la l<>ínea de comandos, pues hacerlo lo expone a posibles
|
||
miradas de otros usuarios conectados a tu m<>áquina.
|
||
|
||
8.3.2 Creando una tabla
|
||
============================
|
||
|
||
Crear una tabla es la parte f<>ácil, pero hasta este momento est<73>á vac<61>ía, como te dice la orden SHOW
|
||
TABLES:
|
||
|
||
mysql> SHOW TABLES;
|
||
Empty set (0.00 sec)
|
||
|
||
La parte m<>ás dura consiste en decidir cual va a ser la estructura de tu base de datos: qu<71>é tablas
|
||
necesitar<EFBFBD>ás, y qu<71>é columnas tendr<64>á cada una de ellas.
|
||
|
||
Querr<EFBFBD>ás seguramente una tabla que contenga un registro por cada una de tus mascotas. Esta tabla
|
||
puede llamarse mascotas, y deber<65>ía contener, como m<>ínimo, el nombre de cada animal. Dado que el
|
||
nombre por s<>í solo no es muy interesante, la tabla deber<65>ía contener otra informaci<63>ón. Por ejemplo,
|
||
si m<>ás de una persona de tu familia tiene mascotas, probablemente quieras listar el propietario de
|
||
cada animal. Tambi<62>én querr<72>ás guardar informaci<63>ón descriptiva b<>ásica como puede ser la especie y el
|
||
sexo de cada mascota.
|
||
|
||
<EFBFBD>¿Qu<EFBFBD>é pasa con la edad? Podr<64>ía ser de inter<65>és, pero no es una buena cosa a guardar en una base de
|
||
datos. La edad cambia a medida que pasa el tiempo, lo que significa que tendr<64>ás que actualizar tus
|
||
registros a menudo. En vez de eso, es mejor almacenar un valor fijo como la edad de
|
||
nacimiento. Despu<70>és, cada vez que necesites saber la edad, puedes calcularla como la diferencia
|
||
entre la fecha actual y la fecha de nacimiento. MySQL ofrece funciones para realizar c<>álculos
|
||
aritm<EFBFBD>éticos entre fechas, por lo que esto no es dif<69>ícil. Almacenar la fecha de nacimiento en lugar
|
||
de la edad tiene tambi<62>én otras ventajas:
|
||
|
||
* Puedes usar la base de datos para generar recordatorios de cumplea<65>ños de mascotas. (Si crees que
|
||
este tipo de consulta es algo tonta, observa que es la misma pregunta que necesitar<61>ás hacer en el
|
||
contexto de una base de datos de un negocio para identificar clientes a los que pronto necesitar<61>ás
|
||
mandar un saludo por su cumplea<65>ños, para ese toque personal asistido por ordenador :-)
|
||
|
||
* Puedes calcular la edad en relaci<63>ón a fechas distintas a la fecha actual. Por ejemplo, si
|
||
almacenas la fecha de muerte en la base de datos, puedes calcular f<>ácilmente lo vieja que era una
|
||
mascota cuando muri<72>ó.
|
||
|
||
Seguramente puedas pensar en otros tipos de informaci<63>ón que ser<65>ía <20>útil en la tabla mascota, pero los
|
||
identificados hasta ahora son suficientes por el momento: nombre, propietarios, especie, sexo, fecha
|
||
de nacimiento y muerte.
|
||
|
||
Usa una sentencia CREATE TABLE para especificar la estructura de tu tabla:
|
||
|
||
mysql> CREATE TABLE mascota (nombre VARCHAR(20), propietario VARCHAR(20),
|
||
-> especie VARCHAR(20), sexo CHAR(1), nacimiento DATE, muerte DATE);
|
||
|
||
VARCHAR es una buena elecci<63>ón para las columnas nombre, propietario y especie dado que los valores
|
||
de estas columnas variar<61>án su longitud. Las longitudes de estas columnas no necesitan ser iguales, y
|
||
no necesitan ser 20. Puedes elegir cualquier longitud entre 1 y 255, cualquiera que te parezca
|
||
razonable. (Si realizar una elecci<63>ón pobre y resulta que m<>ás adelante necesitas un campo mayor,
|
||
MySQL ofrece una sentencia ALTER TABLE.)
|
||
|
||
El sexo del animal puede ser representado en una variedad de formas, por ejemplo, "m" y "f", o
|
||
quiz<EFBFBD>ás "masculino" y "femenino". Es m<>ás simple usar un <20>único caracter, "m" <20>ó "f".
|
||
|
||
El uso del tipo de datos DATE para las columnas de nacimiento y muerte es una opci<63>ón bastante
|
||
obvia.
|
||
|
||
Ahora que ya has creado una tabla, SHOW TABLES deber<65>ía producir alguna salida:
|
||
|
||
mysql> SHOW TABLES;
|
||
+---------------+
|
||
| Tables in zoo |
|
||
+---------------+
|
||
| mascota |
|
||
+---------------+
|
||
|
||
Para verificar que tu tabla fue creada de la forma que esperabas, usa una sentencia DESCRIBE:
|
||
|
||
mysql> DESCRIBE mascota;
|
||
+-------------+-------------+------+-----+---------+-------+
|
||
| Field | Type | Null | Key | Default | Extra |
|
||
+-------------+-------------+------+-----+---------+-------+
|
||
| nombre | varchar(20) | YES | | NULL | |
|
||
| propietario | varchar(20) | YES | | NULL | |
|
||
| especie | varchar(20) | YES | | NULL | |
|
||
| sexo | char(1) | YES | | NULL | |
|
||
| nacimiento | date | YES | | NULL | |
|
||
| muerte | date | YES | | NULL | |
|
||
+-------------+-------------+------+-----+---------+-------+
|
||
|
||
Puedes usar DESCRIBE en cualquier momento, por ejemplo, si olvidas los nombres de las columnas de tu
|
||
tabla o a qu<71>é tipo de datos pertenecen.
|
||
|
||
8.3.3 Cargando datos en una tabla
|
||
=====================================
|
||
|
||
Una vez creada tu tabla, necesitas poblarla. Las sentencias LOAD DATA e INSERT son <20>útiles para esto.
|
||
|
||
Suponte que tus registros de mascotas pueden ser descritos como se muestra m<>ás abajo. (Observa que
|
||
MySQL espera que las fechas se introduzcan en formato AAAA-MM-DD; esto podr<64>ía ser diferente a lo que
|
||
est<EFBFBD>ás acostumbrado.)
|
||
|
||
nombre propietario especie sexo nacimiento muerte
|
||
Fluffy Harold gato f 1993-02-04
|
||
Claws Gwen gato m 1994-03-17
|
||
Buffy Harold perro f 1989-05-13
|
||
Fang Benny perro m 1990-08-27
|
||
Bowser Diane perro m 1998-08-31 1995-07-29
|
||
Chirpy Gwen p<>ájaro f 1998-09-11
|
||
Whistler Gwen p<>ájaro 1997-12-09
|
||
Slim Benny serpiente m 1996-04-29
|
||
|
||
Dado que est<73>ás comenzando con una tabla vac<61>ía, una forma sencilla de poblarla consiste en crear un
|
||
fichero de texto conteniendo una fila para cada uno de tus animales, y despu<70>és cargar el contenido del
|
||
fichero en la tabla con una sola sentencia.
|
||
|
||
Puedes crear un fichero de texto "mascota.txt" conteniendo un registro por l<>ínea, con valores separados
|
||
por tabuladores, y dados en el orden en el que las columnas fueron listadas en la sentencia CREATE
|
||
TABLE. Para valores perdidos (como sexos desconocidos, o fechas de muerte de animales que a<>ún est<73>án
|
||
vivos), puedes usar valores NULL. Para representar estos en tu fichero de texto, use \N. Por
|
||
ejemplo, el registro para Whistler el p<>ájaro ser<65>ía algo como esto (donde el espacio en blanco entre
|
||
valores es un simple caracter de tabulaci<63>ón):
|
||
|
||
Whistler Gwen p<>ájaro \N 1997-12-09 \N
|
||
|
||
Para cargar el fichero de texto "mascota.txt" en la tabla mascota, usa este comando:
|
||
|
||
mysql> LOAD DATA LOCAL INFILE "mascota.txt" INTO TABLE mascota;
|
||
|
||
Puedes especificar el valor de separaci<63>ón de columna y el marcador de final de l<>ínea expl<70>ícitamente
|
||
en la sentencia LOAD DATA si lo deseas, pero por defecto equivalen a TAB y LF (intro). Estos valores
|
||
por defecto son suficientes para que la sentencia que lee el fichero "mascota.txt" funcione
|
||
correctamente.
|
||
|
||
Cuando quieras a<>ñadir nuevos registros uno a uno, la sentencia INSERT es muy <20>útil. En su forma m<>ás
|
||
simple, ofreces valores para cada columna, en el orden en el que las columnas fueron listadas en la
|
||
sentencia CREATE TABLE. Sup<75>ón que Diane consige un nuevo hamster llamado Puffball. Podr<64>ías a<>ñadir un
|
||
nuevo registro usando una sentencia INSERT como esta:
|
||
|
||
mysql> INSERT INTO mascota
|
||
-> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
|
||
|
||
Observa que los valores string y fecha se espefican encerrados entre comillas. Observa tambi<62>én que,
|
||
con INSERT, puedes insertar NULL directamente para representar un valor perdido. No usamos \N como
|
||
hac<EFBFBD>íamos con LOAD DATA.
|
||
|
||
De este ejemplo, deber<65>ías ser capaz de ver que hubiera dido mucho m<>ás costoso teclear todos los
|
||
datos necesarios en la tabla mascota con sentencias INSERT que hacerlo como lo hemos hecho con una
|
||
<EFBFBD>única sentencia LOAD DATA.
|
||
|
||
|
||
8.3.4 Extrayendo informaci<63>ón de una tabla
|
||
===============================================
|
||
|
||
|
||
La sentencia SELECT se usa para recabar informaci<63>ón de una tabla. La forma
|
||
general de la sentencia es:
|
||
|
||
SELECT qu<71>é_seleccionar
|
||
FROM de_qu<71>é_tabla
|
||
WHERE condiciones_a_satisfacer
|
||
|
||
qu<EFBFBD>é_seleccionar indica qu<71>é es lo que quieres seleccionar. Puede ser una lista de
|
||
columnas, o * para indicar "todas las columnas". de_qu<71>é_tabla indica la tabla de
|
||
la que quieres extraer datos. La cla<6C>úsula WHERE es opcional. Si est<73>á presente,
|
||
condiciones_a_satisfacer especifica las codiciones que las filas deben cumplir
|
||
para estar presentes en el resultado de la selecci<63>ón.
|
||
|
||
8.3.4.1 Seleccionando todos los datos
|
||
=======================================
|
||
|
||
La forma m<>ás simplede SELECT recoge toda la informaci<63>ón de una tabla:
|
||
|
||
mysql> SELECT * FROM mascota;
|
||
+----------+-------------+-----------+------+------------+------------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+----------+-------------+-----------+------+------------+------------+
|
||
| Bluffy | Harold | gato | f | 1993-02-04 | NULL |
|
||
| Claws | Gwen | gato | m | 1994-03-17 | NULL |
|
||
| Buffy | Harold | perro | f | 1989-05-13 | NULL |
|
||
| Fang | Benny | perro | m | 1990-08-27 | NULL |
|
||
| Bowser | Diane | perro | m | 1998-08-31 | 1995-07-29 |
|
||
| Chirpy | Gwen | p<>ájaro | f | 1998-09-11 | NULL |
|
||
| Whistler | Gwen | p<>ájaro | NULL | 1997-12-09 | NULL |
|
||
| Slim | Benny | serpiente | m | 1996-04-29 | NULL |
|
||
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
|
||
+----------+-------------+-----------+------+------------+------------+
|
||
|
||
Esta forma de SELECT es <20>útil si quieres revisar tu tabla al completo, por
|
||
ejemplo, tras haberla cargado con tu conjunto inicial de datos. Como suele
|
||
suceder, la salida ya muestra un error en tu fichero de datos: Bowser <20>¡parece
|
||
haber nacido tras su muerte! Consultando tus papeles originales sobre el
|
||
pedigree del perro, descubres que la fecha correcta de nacimiento es 1989, no
|
||
1998.
|
||
|
||
Existen al menos un par de maneras de arreglar esto:
|
||
|
||
* Edita el fichero "mascota.txt" para corregir el error, despu<70>és vac<61>ía la tabla
|
||
y vuelve a cargarla usando DELETE y LOAD DATA:
|
||
|
||
mysql> DELETE from mascota;
|
||
mysql> LOAD DATA LOCAL INFILE "mascota.txt" INTO TABLE mascota;
|
||
|
||
Sin embargo, si haces esto, debes re-escribir el registro para Puffball.
|
||
|
||
* Arreglar s<>ólo el registro err<72>óneo con la sentencia UPDATE:
|
||
|
||
mysql> UPDATE mascota SET nacimiento="1989-08-31" WHERE nombre="Bowser";
|
||
|
||
Como se muestra m<>ás arriba, es f<>ácil recuperar el cuerpo de una data. Pero
|
||
t<EFBFBD>ípicamente no querr<72>ás hacer eso, en particular cuando la tabla sea muy
|
||
larga. Generalmente, estar<61>ás m<>ás interesado en responder a una pregunta en
|
||
particular, en cuyo caso deber<65>ás especificar algunas restricciones en la
|
||
informaci<EFBFBD>ón que deseas. Veamos algunas consultas de selecci<63>ón en t<>érminos de
|
||
preguntas sobre tus mascotas que se deben responder.
|
||
|
||
8.3.4.2 Seleccionando filas en particular
|
||
=============================================
|
||
|
||
Puedes seleccionar s<>ólo filas en particular de tu tabla. Por ejemplo, si quieres
|
||
verificar el cambio que has realizado a la fecha de nacimiento de Bowser,
|
||
selecciona el registro de Bowser de la siguiente forma:
|
||
|
||
mysql> SELECT * FROM mascota WHERE nombre="Bowser";
|
||
+--------+-------------+---------+------+------------+------------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+--------+-------------+---------+------+------------+------------+
|
||
| Bowser | Diane | perro | m | 1989-08-31 | 1995-07-29 |
|
||
+--------+-------------+---------+------+------------+------------+
|
||
|
||
La salida confirma que el a<>ño est<73>á correctamente registrado como 1989, no 1998.
|
||
|
||
Las comparaciones de cadenas de texto son normalmente insensibles a las
|
||
may<EFBFBD>úsculas/min<69>úsculas, por lo que puedes especificar el nombre como "bowser",
|
||
"BOWSER", etc. El resultado de la consulta ser<65>á el mismo.
|
||
|
||
Puedes especificar condiciones en cualquier columna, no s<>ólo el nombre. Por
|
||
ejemplo, si quisieras saber qu<71>é animales nacieron a partir de 1998, examina la
|
||
columna nacimiento:
|
||
|
||
mysql> SELECT * FROM mascota WHERE nacimiento >= "1998-1-1";
|
||
+----------+-------------+---------+------+------------+--------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+----------+-------------+---------+------+------------+--------+
|
||
| Chirpy | Gwen | p<>ájaro | f | 1998-09-11 | NULL |
|
||
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
|
||
+----------+-------------+---------+------+------------+--------+
|
||
|
||
Puedes combinar condiciones, por ejemplo, para localizar los perros hembra:
|
||
|
||
mysql> SELECT * FROM mascota WHERE especie="perro" AND sexo="f";
|
||
+--------+-------------+---------+------+------------+--------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+--------+-------------+---------+------+------------+--------+
|
||
| Buffy | Harold | perro | f | 1989-05-13 | NULL |
|
||
+--------+-------------+---------+------+------------+--------+
|
||
|
||
La consulta anterior usa el operador l<>ógico AND. Existe tambi<62>én un operador OR:
|
||
|
||
mysql> SELECT * FROM mascota WHERE especie="serpiente" OR especie="p<>ájaro";
|
||
+----------+-------------+-----------+------+------------+--------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+----------+-------------+-----------+------+------------+--------+
|
||
| Chirpy | Gwen | p<>ájaro | f | 1998-09-11 | NULL |
|
||
| Whistler | Gwen | p<>ájaro | NULL | 1997-12-09 | NULL |
|
||
| Slim | Benny | serpiente | m | 1996-04-29 | NULL |
|
||
+----------+-------------+-----------+------+------------+--------+
|
||
|
||
AND y OR pueden entremezclarse. Si lo haces, es una buena idea el utilizar
|
||
par<EFBFBD>éntesis para indicar c<>ómo deber<65>ían agruparse las condiciones:
|
||
|
||
mysql> SELECT * FROM mascota WHERE (especie="gato" AND sexo="m")
|
||
-> OR (especie="perro" AND sexo="f");
|
||
+--------+-------------+---------+------+------------+--------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+--------+-------------+---------+------+------------+--------+
|
||
| Claws | Gwen | gato | m | 1994-03-17 | NULL |
|
||
| Buffy | Harold | perro | f | 1989-05-13 | NULL |
|
||
+--------+-------------+---------+------+------------+--------+
|
||
|
||
8.3.4.3 Seleccionando columnas en particular
|
||
===================================================
|
||
|
||
Si no quieres ver filas completas de tu tabla, simplemente nombra las columnas
|
||
en las cuales est<73>ás interesado, separadas por comas. Por ejemplo, si quieres
|
||
saber cu<63>ándo nacieron tus animales, selecciona las columnas nombre y nacimiento:
|
||
|
||
mysql> SELECT nombre, nacimiento FROM mascota;
|
||
+----------+------------+
|
||
| nombre | nacimiento |
|
||
+----------+------------+
|
||
| Bluffy | 1993-02-04 |
|
||
| Claws | 1994-03-17 |
|
||
| Buffy | 1989-05-13 |
|
||
| Fang | 1990-08-27 |
|
||
| Bowser | 1989-08-31 |
|
||
| Chirpy | 1998-09-11 |
|
||
| Whistler | 1997-12-09 |
|
||
| Slim | 1996-04-29 |
|
||
| Puffball | 1999-03-30 |
|
||
+----------+------------+
|
||
|
||
Para averiguar qui<75>én posee mascotas, usa esta consulta:
|
||
|
||
mysql> SELECT propietario FROM mascota;
|
||
+-------------+
|
||
| propietario |
|
||
+-------------+
|
||
| Harold |
|
||
| Gwen |
|
||
| Harold |
|
||
| Benny |
|
||
| Diane |
|
||
| Gwen |
|
||
| Gwen |
|
||
| Benny |
|
||
| Diane |
|
||
+-------------+
|
||
|
||
Sin embargo, observa que la consulta simplemente obtiene el campo propietario de
|
||
cada registro, y algunos de ellos aparecen m<>ás de una vez. Para minimizar la
|
||
salida, obt<62>én cada registro de salida <20>único una sola vez a<>ñadiendo la palabra
|
||
reservada DISTINCT:
|
||
|
||
mysql> SELECT DISTINCT propietario FROM mascota;
|
||
+-------------+
|
||
| propietario |
|
||
+-------------+
|
||
| Benny |
|
||
| Diane |
|
||
| Gwen |
|
||
| Harold |
|
||
+-------------+
|
||
|
||
Puedes usar una cla<6C>úsula WHERE para combinar la selecci<63>ón de filas con la
|
||
selecci<EFBFBD>ón de columnas. Por ejemplo, para conseguir s<>ólo las fechas de nacimiento
|
||
de perros y gatos, usa esta consulta:
|
||
|
||
mysql> SELECT nombre, especie, nacimiento FROM mascota
|
||
-> WHERE especie = "perro" OR especie = "gato";
|
||
+--------+---------+------------+
|
||
| nombre | especie | nacimiento |
|
||
+--------+---------+------------+
|
||
| Bluffy | gato | 1993-02-04 |
|
||
| Claws | gato | 1994-03-17 |
|
||
| Buffy | perro | 1989-05-13 |
|
||
| Fang | perro | 1990-08-27 |
|
||
| Bowser | perro | 1989-08-31 |
|
||
+--------+---------+------------+
|
||
|
||
8.3.4.4 Ordenando filas
|
||
===========================
|
||
|
||
Tal vez hayas observado que en los ejemplos anteriores las filas del resultado
|
||
se muestran sin ning<6E>ún tipo de orden en particular. Sin embargo, a menudo es m<>ás
|
||
f<EFBFBD>ácil de examinar la salida de una consulta cuando las filas est<73>án ordenadas de
|
||
alguna manera en particular. Para ordenar un resultado, usa la cla<6C>úsula ORDER
|
||
BY.
|
||
|
||
Aqu<EFBFBD>í mostramos las fechas de nacimiento de los animales, ordenadas por fecha:
|
||
|
||
mysql> SELECT nombre, nacimiento FROM mascota ORDER BY nacimiento;
|
||
+----------+------------+
|
||
| nombre | nacimiento |
|
||
+----------+------------+
|
||
| Buffy | 1989-05-13 |
|
||
| Bowser | 1989-08-31 |
|
||
| Fang | 1990-08-27 |
|
||
| Bluffy | 1993-02-04 |
|
||
| Claws | 1994-03-17 |
|
||
| Slim | 1996-04-29 |
|
||
| Whistler | 1997-12-09 |
|
||
| Chirpy | 1998-09-11 |
|
||
| Puffball | 1999-03-30 |
|
||
+----------+------------+
|
||
|
||
Para ordenar de forma inversa, a<>ñade la palabra reservada DESC (descendente) al
|
||
nombre de la columna por la que est<73>ás ordenando:
|
||
|
||
mysql> SELECT nombre, nacimiento FROM mascota ORDER BY nacimiento DESC;
|
||
+----------+------------+
|
||
| nombre | nacimiento |
|
||
+----------+------------+
|
||
| Puffball | 1999-03-30 |
|
||
| Chirpy | 1998-09-11 |
|
||
| Whistler | 1997-12-09 |
|
||
| Slim | 1996-04-29 |
|
||
| Claws | 1994-03-17 |
|
||
| Bluffy | 1993-02-04 |
|
||
| Fang | 1990-08-27 |
|
||
| Bowser | 1989-08-31 |
|
||
| Buffy | 1989-05-13 |
|
||
+----------+------------+
|
||
|
||
Puedes ordenar por m<>últiples columnas. Por ejemplo, para ordenar por tipo de
|
||
animal, despu<70>és por fecha de nacimiento dentro del mismo tipo de animal estando
|
||
los animales m<>ás j<>óvenes primero, usa la siguiente consulta:
|
||
|
||
mysql> SELECT nombre, especie, nacimiento FROM mascota ORDER BY especie, nacimiento DESC;
|
||
+----------+-----------+------------+
|
||
| nombre | especie | nacimiento |
|
||
+----------+-----------+------------+
|
||
| Claws | gato | 1994-03-17 |
|
||
| Bluffy | gato | 1993-02-04 |
|
||
| Puffball | hamster | 1999-03-30 |
|
||
| Chirpy | p<>ájaro | 1998-09-11 |
|
||
| Whistler | p<>ájaro | 1997-12-09 |
|
||
| Fang | perro | 1990-08-27 |
|
||
| Bowser | perro | 1989-08-31 |
|
||
| Buffy | perro | 1989-05-13 |
|
||
| Slim | serpiente | 1996-04-29 |
|
||
+----------+-----------+------------+
|
||
|
||
Observa que la palabra reservada DESC se aplica s<>ólo al nombre de columna que
|
||
preceda a la palabra reservada (nacimiento); los valores especie siguen siendo
|
||
ordenados en forma ascendente.
|
||
|
||
8.3.4.5 C<>álculos de fecha
|
||
============================
|
||
|
||
MySQL ofrece muchas funciones que puedes usar para realizar c<>álculos con fechas,
|
||
por ejemplo, para calcular edades o extraer partes de fechas.
|
||
|
||
Para determinar cuantos a<>ños tiene cada una de tus mascotas, puedes calcular la
|
||
edad como la diferencia entre la fecha de nacimiento y la fecha actual. Puedes
|
||
hacerlo convirtiendo las dos fechas a dias, coge la diferencia, y div<69>ídela por
|
||
365 (el n<>úmero de dias en un a<>ño):
|
||
|
||
mysql> select nombre, (TO_DAYS(NOW())-TO_DAYS(nacimiento))/365 FROM mascota;
|
||
+----------+------------------------------------------+
|
||
| nombre | (TO_DAYS(NOW())-TO_DAYS(nacimiento))/365 |
|
||
+----------+------------------------------------------+
|
||
| Bluffy | 6.94 |
|
||
| Claws | 5.83 |
|
||
| Buffy | 10.68 |
|
||
| Fang | 9.39 |
|
||
| Bowser | 10.38 |
|
||
| Chirpy | 1.34 |
|
||
| Whistler | 2.10 |
|
||
| Slim | 3.71 |
|
||
| Puffball | 0.79 |
|
||
+----------+------------------------------------------+
|
||
|
||
Aunque la consulta funcione, existen algunos puntos que podr<64>ían ser
|
||
mejorados. Primero, el resultado podr<64>ía ser revisado m<>ás f<>ácilmente si las filas
|
||
se presentaran ordenadas de alguna manera. Segundo, la cabecera de la columna
|
||
edad no es muy significativa.
|
||
|
||
El primer problema puede ser solucionado a<>ñadiendo una cl<63>áusula ORDER BY nombre
|
||
para ordenar la salida por nombre. Para arreglar el tema del encabezamiento de
|
||
columna, puedes darle un nombre a dicha columna de tal forma que aparezca una
|
||
etiqueta diferente en la salida (esto es lo que se llama un alias de columna):
|
||
|
||
mysql> select nombre, (TO_DAYS(NOW())-TO_DAYS(nacimiento))/365 AS edad
|
||
-> FROM mascota ORDER BY nombre;
|
||
+----------+-------+
|
||
| nombre | edad |
|
||
+----------+-------+
|
||
| Bluffy | 6.94 |
|
||
| Bowser | 10.38 |
|
||
| Buffy | 10.68 |
|
||
| Chirpy | 1.34 |
|
||
| Claws | 5.83 |
|
||
| Fang | 9.39 |
|
||
| Puffball | 0.79 |
|
||
| Slim | 3.71 |
|
||
| Whistler | 2.10 |
|
||
+----------+-------+
|
||
|
||
Para ordenar la salida por edad en lugar de por nombre, puedes hacerlo usando
|
||
s<EFBFBD>ímplemente una cl<63>áusula ORDER BY diferente:
|
||
|
||
mysql> select nombre, (TO_DAYS(NOW())-TO_DAYS(nacimiento))/365 AS edad
|
||
-> FROM mascota ORDER BY edad;
|
||
+----------+-------+
|
||
| nombre | edad |
|
||
+----------+-------+
|
||
| Puffball | 0.79 |
|
||
| Chirpy | 1.34 |
|
||
| Whistler | 2.10 |
|
||
| Slim | 3.71 |
|
||
| Claws | 5.83 |
|
||
| Bluffy | 6.94 |
|
||
| Fang | 9.39 |
|
||
| Bowser | 10.38 |
|
||
| Buffy | 10.68 |
|
||
+----------+-------+
|
||
|
||
Puede usarse una consulta similar para determinar la edad de la muerte para los
|
||
animales que hayan muerto. Puedes determinar qu<71>é animales son estos comprobando
|
||
si el valor muerte es NULL o no. Despu<70>és, para aquellos que no tengan un valor
|
||
NULL, calcular la diferencia entre los valores muerte y nacimiento:
|
||
|
||
mysql> select nombre, nacimiento, muerte,
|
||
-> (TO_DAYS(NOW())-TO_DAYS(nacimiento))/365 AS edad
|
||
-> FROM mascota WHERE muerte IS NOT NULL ORDER BY edad;
|
||
+--------+------------+------------+-------+
|
||
| nombre | nacimiento | muerte | edad |
|
||
+--------+------------+------------+-------+
|
||
| Bowser | 1989-08-31 | 1995-07-29 | 10.38 |
|
||
+--------+------------+------------+-------+
|
||
|
||
La consulta usa muerte IS NOT NULL en lugar de muerte != NULL dado que NULL es
|
||
un valor especial. Esto se explica m<>ás adelante. [Puedes consultar la secci<63>ón
|
||
[Working with NULL] del manual de MySQL.
|
||
|
||
<EFBFBD>¿Qu<EFBFBD>é har<61>ías si quisieras saber qu<71>é animales cumplen a<>ños el mes que viene? Para
|
||
este tipo de c<>álculos, a<>ño y d<>ía son irrelevantes, simplemente querr<72>ás extraer
|
||
la parte mes de la columna nacimiento. MySQL ofrece muchas funciones de
|
||
extracci<EFBFBD>ón de parte-de-fecha, como YEAR(),MONTH() y DAY(). La funci<63>ón apropiada
|
||
para nuestro problema es MONTH(). Para ver c<>ómo funciona, ejecuta una consulta
|
||
r<EFBFBD>ápida que muestre el valor de la fecha de nacimiento y el mes de nacimiento
|
||
(MONTH(nacimiento)):
|
||
|
||
mysql> SELECT nombre, nacimiento, MONTH(nacimiento) FROM mascota;
|
||
+----------+------------+-------------------+
|
||
| nombre | nacimiento | MONTH(nacimiento) |
|
||
+----------+------------+-------------------+
|
||
| Bluffy | 1993-02-04 | 2 |
|
||
| Claws | 1994-03-17 | 3 |
|
||
| Buffy | 1989-05-13 | 5 |
|
||
| Fang | 1990-08-27 | 8 |
|
||
| Bowser | 1989-08-31 | 8 |
|
||
| Chirpy | 1998-09-11 | 9 |
|
||
| Whistler | 1997-12-09 | 12 |
|
||
| Slim | 1996-04-29 | 4 |
|
||
| Puffball | 1999-03-30 | 3 |
|
||
+----------+------------+-------------------+
|
||
|
||
Buscar animales que hayan nacido en el mes pr<70>óximo es tambi<62>én sencillo de
|
||
realizar. Suponte que Abril es el mes actual. Entonces el valor del mes es 4 y
|
||
lo que buscas son animales nacidos en Mayo (mes 5):
|
||
|
||
mysql> SELECT nombre, nacimiento FROM mascota WHERE MONTH(nacimiento) = 5;
|
||
+--------+------------+
|
||
| nombre | nacimiento |
|
||
+--------+------------+
|
||
| Buffy | 1989-05-13 |
|
||
+--------+------------+
|
||
|
||
Existe una peque<75>ña complicaci<63>ón si el mes actual es Diciembre, por supuesto. No
|
||
puedes a<>ñadir simplemente uno al n<>úmero de mes (12) y buscar animales nacidos en
|
||
el mes 13, dado que no existe tal mes. En lugar de eso, debes buscar animales
|
||
nacidos en Enero (mes 1).
|
||
|
||
Puedes escribir la consulta de tal forma que funcione independientemente del mes
|
||
en el que estemos. De esa forma no tendr<64>ás que usar un n<>úmero de mes en
|
||
particular en la consulta. DATE_ADD() te permite a<>ñadir un intervalo de tiempo a
|
||
una fecha dada. Si a<>ñades un mes al valor de NOW(), y despu<70>és extraes la parte
|
||
del mes con MONTH(), el resultado produce el mes del cumplea<65>ños que buscamos:
|
||
|
||
|
||
mysql> select NOW();
|
||
+---------------------+
|
||
| NOW() |
|
||
+---------------------+
|
||
| 2000-01-13 18:13:09 |
|
||
+---------------------+
|
||
|
||
mysql> SELECT nombre, nacimiento FROM mascota
|
||
-> WHERE MONTH(nacimiento) = MONTH(DATE_ADD(NOW(),INTERVAL 1 MONTH));
|
||
+--------+------------+
|
||
| nombre | nacimiento |
|
||
+--------+------------+
|
||
| Bluffy | 1993-02-04 |
|
||
+--------+------------+
|
||
|
||
Una manera difente de conseguir los mismos resultados es a<>ñadir 1 al mes actual
|
||
para conseguir el mes siguiente (tras usar la funci<63>ón m<>ódulo (MOD) para
|
||
convertir el valor de mes actual en 0 si estamos en Diciembre (mes 12)):
|
||
|
||
mysql> SELECT nombre, nacimiento FROM mascota
|
||
-> WHERE MONTH(nacimiento) = MOD(MONTH(NOW()),12) +1;
|
||
+--------+------------+
|
||
| nombre | nacimiento |
|
||
+--------+------------+
|
||
| Bluffy | 1993-02-04 |
|
||
+--------+------------+
|
||
|
||
|
||
8.3.4.6 Trabajando con valores NULL
|
||
=======================================
|
||
|
||
Los valores NULL pueden ser sorprenderte hasta que te acostumbras a
|
||
usarlos. Conceptualmente, NULL significa "valor perdido" o "valor desconocido" y
|
||
se trata de forma diferente que otros valores. Para realizar comparaciones
|
||
respecto a NULL, no puedes utilizar los operadores de comparaci<63>ón aritm<74>éticos
|
||
como =, < o != . Puedes realizar una demostraci<63>ón de esto, prueba la siguiente consulta:
|
||
|
||
mysql> SELECT 1 = NULL, 1 != NULL, 1 < NULL, 1 > NULL;
|
||
+----------+-----------+----------+----------+
|
||
| 1 = NULL | 1 != NULL | 1 < NULL | 1 > NULL |
|
||
+----------+-----------+----------+----------+
|
||
| NULL | NULL | NULL | NULL |
|
||
+----------+-----------+----------+----------+
|
||
|
||
Ciertamente, de estas comparaciones no se pueden extraer resultados
|
||
significativos. Para conseguirlo, usa los operadores IS NULL y IS NOT NULL:
|
||
|
||
mysql> SELECT 1 IS NULL, 1 IS NOT NULL;
|
||
+-----------+---------------+
|
||
| 1 IS NULL | 1 IS NOT NULL |
|
||
+-----------+---------------+
|
||
| 0 | 1 |
|
||
+-----------+---------------+
|
||
|
||
En MySQL, 0 significa falso y 1 significa VERDADERO.
|
||
|
||
Este tratamiento especial de NULL fue la causa de que en la secci<63>ón anterior
|
||
fuera necesario determinar qu<71>é animales ya no viv<69>ían usando "muerte IS NOT NULL"
|
||
en lugar de "muerte != NULL".
|
||
|
||
8.3.4.7 Asociaci<63>ón/Coincidencia de patrones (PATTERN MATCHING)
|
||
================================================================
|
||
|
||
MySQL ofrece las caracter<65>ísticas de asociaci<63>ón de patrones est<73>ándar as<61>í como
|
||
una forma de coincidencia de patrones basadas en expresiones regulares
|
||
extendidas similares a las usadas por utilidades UNIX como vi, grep y sed.
|
||
|
||
La asociaci<63>ón de patrones SQL te permite usar '_' para asociar cualquier
|
||
caracter simple, y '%' para asociar un n<>úmero arbitrario de caracteres
|
||
(incluyendo cero caracteres). Los patrones SQL no toman en cuenta las
|
||
diferencias entre may<61>úsculas y min<69>úsculas. Se muestran debajo algunos
|
||
ejemplos. Observa que no se utiliza = o != en el trabajo con patrones SQL;
|
||
utiliza en su lugar los operadores de comparaci<63>ón LIKE o NOT LIKE.
|
||
|
||
Para buscar nombres que comienzan por "b":
|
||
|
||
mysql> SELECT * FROM mascota WHERE nombre LIKE "b%";
|
||
+--------+-------------+---------+------+------------+------------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+--------+-------------+---------+------+------------+------------+
|
||
| Bluffy | Harold | gato | f | 1993-02-04 | NULL |
|
||
| Buffy | Harold | perro | f | 1989-05-13 | NULL |
|
||
| Bowser | Diane | perro | m | 1989-08-31 | 1995-07-29 |
|
||
+--------+-------------+---------+------+------------+------------+
|
||
|
||
Para buscar nombres que terminen por "fy":
|
||
|
||
mysql> SELECT * FROM mascota WHERE nombre LIKE "%fy";
|
||
+--------+-------------+---------+------+------------+--------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+--------+-------------+---------+------+------------+--------+
|
||
| Bluffy | Harold | gato | f | 1993-02-04 | NULL |
|
||
| Buffy | Harold | perro | f | 1989-05-13 | NULL |
|
||
+--------+-------------+---------+------+------------+--------+
|
||
|
||
Para buscar nombres que contengan una "w":
|
||
|
||
mysql> SELECT * FROM mascota WHERE nombre LIKE "%w%";
|
||
+----------+-------------+---------+------+------------+------------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+----------+-------------+---------+------+------------+------------+
|
||
| Claws | Gwen | gato | m | 1994-03-17 | NULL |
|
||
| Bowser | Diane | perro | m | 1989-08-31 | 1995-07-29 |
|
||
| Whistler | Gwen | p<>ájaro | NULL | 1997-12-09 | NULL |
|
||
+----------+-------------+---------+------+------------+------------+
|
||
|
||
Para buscar nombres de longitud cinco caracteres, usa el patr<74>ón "_" :
|
||
|
||
mysql> SELECT * FROM mascota WHERE nombre LIKE "_____";
|
||
+--------+-------------+---------+------+------------+--------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+--------+-------------+---------+------+------------+--------+
|
||
| Claws | Gwen | gato | m | 1994-03-17 | NULL |
|
||
| Buffy | Harold | perro | f | 1989-05-13 | NULL |
|
||
+--------+-------------+---------+------+------------+--------+
|
||
|
||
El otro tipo de asociaci<63>ón de patrones ofrecido por MySQL utiliza expresiones
|
||
regulares extendidas. Cuando se realiza una comprobaci<63>ón buscando una coincidencia
|
||
para este tipo de patr<74>ón, se deben usar los operadores REGEXP y NOT REGEXP (o
|
||
RLIKE y NOT RLIKE, dado que son sin<69>ónimos).
|
||
|
||
Algunas caracter<65>ísticas de las expresiones regulares extendidas son:
|
||
|
||
* `.' se asocia con cualquier caracter (pero s<>ólo uno)
|
||
|
||
* Una clase de caracteres `[...]' se asocia con culquier caracter contenido
|
||
dentro de los corchetes. Por ejemplo, `[abc]' se asocia con 'a', 'b' <20>ó
|
||
|
||
* 'c'. Para nombrar un rango de caracteres, usa un gui<75>ón. `[a-z]' se asocia con
|
||
cualquier letra en min<69>úscula, donde '[0-9]' se asocia con cualquier d<>ígito.
|
||
|
||
* '*' se asocia con 0 o m<>ás instancias de lo que preceda al asterisco. Por
|
||
ejemplo,'a*' coincide con cualquier n<>úmero de a's,'[0-9]*' se asocia con
|
||
cualquier n<>úmero de d<>ígitos, y '.*' se asocia con cualquier cosa.
|
||
|
||
* Las expresiones regulares son sensibles a las may<61>úsculas/min<69>úsculas, pero
|
||
puedes utilizar una clase caracter para asociar ambos casos si los deseas. Por
|
||
ejemplo, '[aA]' coincide tanto con la letra a min<69>úscula como con la letra A
|
||
may<61>úscula y '[a-zA-Z]' coincide con cualquier letra en cualquier modo
|
||
may<61>úscula/min<69>úscula.
|
||
|
||
* El patr<74>ón se asocia si ocurre en cualquier lugar dentro del valor a ser
|
||
probado (los patrones SQL coinciden s<>ólo si se asocian con el valor
|
||
completo).
|
||
|
||
* Para anclar un patr<74>ón de manera que se busque la coincidencia bien al comienzo
|
||
o bien al final del valor a ser comprobado, usa '^' al comienzo del patr<74>ón o
|
||
'$' al final del patr<74>ón, respectivamente.
|
||
|
||
Para demostrar c<>ómo funcionan las expresiones regulares, las consultas LIKE
|
||
mostradas antes son reescritas debajo para usar REGEXP:
|
||
|
||
Para buscar nombres que comiencen por "b", usa '^' para buscar la coincidencia
|
||
al comienzo del nombre y '[bB]' para buscar la asociaci<63>ón tanto con la b
|
||
min<EFBFBD>úscula como con la b may<61>úscula:
|
||
|
||
mysql> SELECT * FROM mascota WHERE nombre REGEXP "^[bB]";
|
||
+--------+-------------+---------+------+------------+------------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+--------+-------------+---------+------+------------+------------+
|
||
| Bluffy | Harold | gato | f | 1993-02-04 | NULL |
|
||
| Buffy | Harold | perro | f | 1989-05-13 | NULL |
|
||
| Bowser | Diane | perro | m | 1989-08-31 | 1995-07-29 |
|
||
+--------+-------------+---------+------+------------+------------+
|
||
|
||
Para buscar nombres que terminen por "fy", usa "$" para buscar la coincidencia
|
||
al final del nombre:
|
||
|
||
mysql> SELECT * FROM mascota WHERE nombre REGEXP "fy$";
|
||
+--------+-------------+---------+------+------------+--------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+--------+-------------+---------+------+------------+--------+
|
||
| Bluffy | Harold | gato | f | 1993-02-04 | NULL |
|
||
| Buffy | Harold | perro | f | 1989-05-13 | NULL |
|
||
+--------+-------------+---------+------+------------+--------+
|
||
|
||
Para buscar nombres que contengan una "w", utiliza "[wW]" para buscar la
|
||
asociaci<EFBFBD>ón tanto en may<61>úsculas como min<69>úsculas:
|
||
|
||
mysql> SELECT * FROM mascota WHERE nombre REGEXP "[wW]";
|
||
+----------+-------------+---------+------+------------+------------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+----------+-------------+---------+------+------------+------------+
|
||
| Claws | Gwen | gato | m | 1994-03-17 | NULL |
|
||
| Bowser | Diane | perro | m | 1989-08-31 | 1995-07-29 |
|
||
| Whistler | Gwen | p<>ájaro | NULL | 1997-12-09 | NULL |
|
||
+----------+-------------+---------+------+------------+------------+
|
||
|
||
Dado que un patr<74>ón de una expresi<73>ón regular se asocia si ocurre en cualquier
|
||
lugar del valor, no es necesario poner un caracter comod<6F>ín en ning<6E>ún lado del
|
||
patr<EFBFBD>ón para conseguir que se asocie con el valor completo como har<61>ías si usaras
|
||
un patr<74>ón SQL.
|
||
|
||
Para buscar nombres conteniendo exactamente cinco caracteres, usa "^" y "$" para
|
||
asociar el comienzo y el final de un nombre, y cinco instancias de "." entre
|
||
ellos:
|
||
|
||
mysql> SELECT * FROM mascota WHERE nombre REGEXP "^.....$";
|
||
+--------+-------------+---------+------+------------+--------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+--------+-------------+---------+------+------------+--------+
|
||
| Claws | Gwen | gato | m | 1994-03-17 | NULL |
|
||
| Buffy | Harold | perro | f | 1989-05-13 | NULL |
|
||
+--------+-------------+---------+------+------------+--------+
|
||
|
||
Tambi<EFBFBD>én podr<64>ías haber escrito la consulta anterior usando el operador '{n}'
|
||
"repetir n veces":
|
||
|
||
mysql> SELECT * FROM mascota WHERE nombre REGEXP "^.{5}$";
|
||
+--------+-------------+---------+------+------------+--------+
|
||
| nombre | propietario | especie | sexo | nacimiento | muerte |
|
||
+--------+-------------+---------+------+------------+--------+
|
||
| Claws | Gwen | gato | m | 1994-03-17 | NULL |
|
||
| Buffy | Harold | perro | f | 1989-05-13 | NULL |
|
||
+--------+-------------+---------+------+------------+--------+
|
||
|
||
|
||
8.3.4.8 Contando filas
|
||
=======================
|
||
|
||
Las bases de datos son usadas a menudo para responder a la pregunta, "<22>¿cuantas
|
||
veces aparece un determinado tipo de datos en una tabla?". Por ejemplo, podr<64>ías
|
||
querer saber cu<63>ántas mascotas tienes, o cu<63>ántas mascotas tiene cada propietario,
|
||
o podr<64>ías querer realizar varios tipos de censos respecto a tus animales.
|
||
|
||
Contar el n<>úmero total de animales que tienes es lo mismo que preguntar
|
||
"<22>¿cu<63>ántas filas hay en la tabla mascota?", dado que hay s<>ólo una fila por
|
||
mascota. La funci<63>ón COUNT() cuenta el n<>úmero de resultados no-NULL , as<61>í pues,
|
||
la consulta a realizar para contar el n<>úmero de animales tiene la siguiente forma:
|
||
|
||
mysql> SELECT COUNT(*) FROM mascota;
|
||
+----------+
|
||
| COUNT(*) |
|
||
+----------+
|
||
| 9 |
|
||
+----------+
|
||
|
||
Antes, conseguiste los nombres de las personas que poseen una mascota. Puedes
|
||
usar COUNT() para averiguar cu<63>ántas mascotas tiene cada propietario:
|
||
|
||
mysql> SELECT propietario, COUNT(*) FROM mascota GROUP BY propietario;
|
||
+-------------+----------+
|
||
| propietario | COUNT(*) |
|
||
+-------------+----------+
|
||
| Benny | 2 |
|
||
| Diane | 2 |
|
||
| Gwen | 3 |
|
||
| Harold | 2 |
|
||
+-------------+----------+
|
||
|
||
Observa el uso de GROUP BY para agrupar todos los registros de cada
|
||
propietario. Si no lo hubi<62>éramos puesto, todo lo que conseguirias ser<65>ía un
|
||
mensaje de error:
|
||
|
||
mysql> SELECT propietario, COUNT(propietario) FROM mascota;
|
||
ERROR 1140: Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP
|
||
columns is illegal if there is no GROUP BY clause
|
||
|
||
COUNT() y GROUP BY son <20>útiles para la caracterizaci<63>ón de tus datos de varias
|
||
formas. Los siguientes ejemplos muestran difentes maneras para realizar
|
||
operaciones de censo animal.
|
||
|
||
N<EFBFBD>úmero de animales por especies:
|
||
|
||
mysql> SELECT especie, COUNT(*) FROM mascota GROUP BY especie;
|
||
+-----------+----------+
|
||
| especie | COUNT(*) |
|
||
+-----------+----------+
|
||
| gato | 2 |
|
||
| hamster | 1 |
|
||
| p<>ájaro | 2 |
|
||
| perro | 3 |
|
||
| serpiente | 1 |
|
||
+-----------+----------+
|
||
|
||
N<EFBFBD>úmero de animales por sexo:
|
||
|
||
mysql> SELECT sexo , COUNT(*) FROM mascota GROUP BY sexo;
|
||
+------+----------+
|
||
| sexo | COUNT(*) |
|
||
+------+----------+
|
||
| NULL | 1 |
|
||
| f | 4 |
|
||
| m | 4 |
|
||
+------+----------+
|
||
|
||
(En este resultado, NULL indica "sexo desconocido")
|
||
|
||
El n<>úmero de animales por combinaci<63>ón de especies y sexo:
|
||
|
||
mysql> SELECT especie , sexo, COUNT(*) FROM mascota GROUP BY especie, sexo;
|
||
+-----------+------+----------+
|
||
| especie | sexo | COUNT(*) |
|
||
+-----------+------+----------+
|
||
| gato | f | 1 |
|
||
| gato | m | 1 |
|
||
| hamster | f | 1 |
|
||
| p<>ájaro | NULL | 1 |
|
||
| p<>ájaro | f | 1 |
|
||
| perro | f | 1 |
|
||
| perro | m | 2 |
|
||
| serpiente | m | 1 |
|
||
+-----------+------+----------+
|
||
|
||
No necesitas recuperar una tabla completa cuando uses COUNT(). Por ejemplo, la
|
||
consulta anterior, cuando se realiza s<>ólo sobre perros y gatos, se escribe as<61>í:
|
||
|
||
mysql> SELECT especie , sexo, COUNT(*) FROM mascota
|
||
-> WHERE especie = "perro" OR especie = "gato"
|
||
-> GROUP BY especie, sexo;
|
||
+---------+------+----------+
|
||
| especie | sexo | COUNT(*) |
|
||
+---------+------+----------+
|
||
| gato | f | 1 |
|
||
| gato | m | 1 |
|
||
| perro | f | 1 |
|
||
| perro | m | 2 |
|
||
+---------+------+----------+
|
||
|
||
O, si quieres conocer el n<>úmero de animales por sexo s<>ólo para animales de sexo
|
||
conocido:
|
||
|
||
mysql> SELECT especie , sexo, COUNT(*) FROM mascota
|
||
-> WHERE sexo IS NOT NULL
|
||
-> GROUP BY especie, sexo;
|
||
+-----------+------+----------+
|
||
| especie | sexo | COUNT(*) |
|
||
+-----------+------+----------+
|
||
| gato | f | 1 |
|
||
| gato | m | 1 |
|
||
| hamster | f | 1 |
|
||
| p<>ájaro | f | 1 |
|
||
| perro | f | 1 |
|
||
| perro | m | 2 |
|
||
| serpiente | m | 1 |
|
||
+-----------+------+----------+
|
||
|
||
|
||
8.3.5 Usando m<>ás de una tabla
|
||
===============================
|
||
|
||
La tabla mascota guarda datos sobre las mascotas que posees. Si quieres guardar
|
||
otra informaci<63>ón sobre ellos, como eventos en sus vidas, visitas al veterinario
|
||
o cu<63>ándo han tenido hermanos, necesitas otra tabla. <20>¿C<C2BF>ómo deber<65>ía ser esta otra
|
||
tabla?
|
||
|
||
* Deber<65>á contener el nombre de la mascota de tal forma que pudieras saber a qu<71>é
|
||
animal corresponde cada evento almacenado en la misma.
|
||
|
||
* Necesitar<61>á una fecha para conocer cu<63>ándo ocurri<72>ó el evento.
|
||
|
||
* Necesitar<61>á un campo para describir el evento
|
||
|
||
* Si quieres ser capaz de categorizar los eventos, ser<65>ía <20>útil tener un campo de
|
||
tipo evento.
|
||
|
||
Dadas estas consideraciones, la sentencia CREATE TABLE para la tabla "evento" se
|
||
parecer<EFBFBD>ía a esto:
|
||
|
||
mysql> CREATE TABLE evento (nombre VARCHAR(20), fecha DATE,
|
||
-> tipo VARCHAR(15), anotaci<63>ón VARCHAR(255));
|
||
|
||
Como ocurr<72>ía con la tabla mascota, es m<>ás f<>ácil cargar los registros iniciales
|
||
creando un fichero de texto delimitado por tabuladores conteniendo la
|
||
informaci<EFBFBD>ón:
|
||
|
||
Fluffy 1995-05-15 parto 4 cachorros, 3 hembras, 1 macho
|
||
Buffy 1993-06-23 parto 5 cachorros, 2 hembras, 3 machos
|
||
Buffy 1994-06-19 parto 3 cachorros, 3 hembras
|
||
Chirpy 1999-03-21 veterinario necesit<69>ó enderezamiento de pico
|
||
Slim 1997-08-03 veterinario costilla rota
|
||
Bowser 1991-10-12 perrera
|
||
Fang 1991-10-12 perrera
|
||
Fang 1998-08-28 cumplea<65>ños Se le regala un nuevo juguete de goma
|
||
Claws 1998-03-17 cumplea<65>ños Se le regala un nuevo collar de pulgas
|
||
Whistler 1998-12-09 cumplea<65>ños Primer cumplea<65>ños
|
||
|
||
|
||
Carga los registros as<61>í:
|
||
|
||
mysql> LOAD DATA LOCAL INFILE "evento.txt" INTO TABLE evento;
|
||
|
||
Bas<EFBFBD>ándote en lo que has aprendido de las consultas que has ejecutado em la tabla
|
||
mascota, deber<65>ías ser capaz de realizar recuperaciones de datos en los registros
|
||
de la tabla "evento"; los principios son los mismos. <20>¿Pero qu<71>é hacer cuando la
|
||
tabla evento no sea suficiente por s<>í sola de responder a cuestiones que
|
||
podr<EFBFBD>ías llegar a realizar?
|
||
|
||
Sup<EFBFBD>ón que quisieras averiguar las edades de cada mascota al tener cachorros. La
|
||
tabla evento indica cu<63>ándo ha ocurrido esto, pero para calcular la edad de la
|
||
madre, necesitas su fecha de nacimiento. Dado que eso est<73>á almacenado en la
|
||
tabla mascota, necesitas ambas tablas para la consulta:
|
||
|
||
mysql> SELECT mascota.nombre , (TO_DAYS(fecha) - TO_DAYS(nacimiento))/365 AS edad, anotaci<63>ón
|
||
-> FROM mascota, evento
|
||
-> WHERE mascota.nombre = evento.nombre AND tipo = "parto";
|
||
+--------+------+----------------------------------+
|
||
| nombre | edad | anotaci<63>ón |
|
||
+--------+------+----------------------------------+
|
||
| Fluffy | 2.27 | 4 cachorros, 3 hembras, 1 macho |
|
||
| Buffy | 4.12 | 5 cachorros, 2 hembras, 3 machos |
|
||
| Buffy | 5.10 | 3 cachorros, 3 hembras |
|
||
+--------+------+----------------------------------+
|
||
|
||
Existen varios puntos que anotar sobre esta consulta:
|
||
|
||
* La cl<63>áusula FROM lista dos tablas dado que la consulta necesita extraer
|
||
informaci<63>ón de las dos.
|
||
|
||
* Cuando se combina la informaci<63>ón de m<>últiples tablas, necesitas especificar
|
||
c<>ómo pueden ser asociados los registros de una tabla con los registros de la
|
||
otra. Esto es f<>ácil dado que ambas tienen una columna nombre (N.T.: nombre es
|
||
una clave extranjera). La consulta usa la cl<63>áusula WHERE para combinar los
|
||
registros de las dos tablas bas<61>ándose en los valores de nombre.
|
||
|
||
* Dado que la columna nombre aparece en ambas tablas, debes ser espec<65>ífico sobre
|
||
a qu<71>é tabla te refieres cuando est<73>és hablando de esa columna. Esto se realiza
|
||
poniendo el nombre de la tabla como prefijo de la columna.
|
||
|
||
No necesitas tener dos tablas diferentes para realizar un join. En algunas
|
||
ocasiones es <20>útil realizar un join de una tabla consigo misma, si quieres comparar
|
||
registros de una tabla con otros registros en la misma tabla. Por ejemplo, para buscar
|
||
parejas de sexos entre tus mascotas, puedes enlazar la tabla mascota consigo
|
||
mismo para emaparejar machos y hembras de las mismas especies:
|
||
|
||
mysql> SELECT p1.nombre, p1.sexo, p2.nombre, p2.sexo, p1.especie
|
||
-> FROM mascota AS p1, mascota AS p2
|
||
-> WHERE p1.especie = p2.especie AND p1.sexo = "f" AND p2.sexo = "m";
|
||
+--------+------+--------+------+---------+
|
||
| nombre | sexo | nombre | sexo | especie |
|
||
+--------+------+--------+------+---------+
|
||
| Fluffy | f | Claws | m | gato |
|
||
| Buffy | f | Fang | m | perro |
|
||
| Buffy | f | Bowser | m | perro |
|
||
+--------+------+--------+------+---------+
|
||
|
||
|
||
En esta consulta, especificamos un par de alias para el nombre de las tablas
|
||
y ser capaces as<61>í de referirnos a las columnas y saber en todo momento a qu<71>é
|
||
instancia de qu<71>é tabla se asocia cada referencia de columna.
|
||
|
||
8.4 Obtener informaci<63>ón sobre bases de datos y tablas
|
||
================================================================
|
||
|
||
<EFBFBD>¿Qu<EFBFBD>é ocurre si olvidas el nombre de una base de datos o de una tabla, o cu<63>ál es
|
||
la estructura de una tabla dada (ejm. : <20>¿c<C2BF>ómo se llaman sus columnas?) MySQL
|
||
soluciona este problema a trav<61>és de numerosas sentencias que ofrecen informaci<63>ón
|
||
sobre las bases de datos y las tablas que soporta.
|
||
|
||
Ya hemos visto SHOW DATABASES, que lista las bases de datos gestionadas por el
|
||
servidor. Para averiguar qu<71>é base de datos est<73>á actualmente seleccionada, usa la
|
||
funci<EFBFBD>ón DATABASE():
|
||
|
||
mysql> SELECT DATABASE();
|
||
+------------+
|
||
| DATABASE() |
|
||
+------------+
|
||
| zoo |
|
||
+------------+
|
||
|
||
Si a<>ún no has seleccionado ninguna base de datos, el resultado estar<61>á en blanco.
|
||
|
||
Para averiguar qu<71>é tablas contiene la base de datos actual (por ejemplo, cuando
|
||
no est<73>ás seguro sobre el nombre de una tabla), usa este comando:
|
||
|
||
mysql> SHOW TABLES;
|
||
+---------------+
|
||
| Tables in zoo |
|
||
+---------------+
|
||
| evento |
|
||
| mascota |
|
||
+---------------+
|
||
|
||
Si quieres averiguar la estructura de una tabla, el comando DESCRIBE te ser<65>á
|
||
<EFBFBD>útil; muestra informaci<63>ón sobre cada columna de una tabla:
|
||
|
||
mysql> DESCRIBE mascota;
|
||
+-------------+-------------+------+-----+---------+-------+
|
||
| Field | Type | Null | Key | Default | Extra |
|
||
+-------------+-------------+------+-----+---------+-------+
|
||
| nombre | varchar(20) | YES | | NULL | |
|
||
| propietario | varchar(20) | YES | | NULL | |
|
||
| especie | varchar(20) | YES | | NULL | |
|
||
| sexo | char(1) | YES | | NULL | |
|
||
| nacimiento | date | YES | | NULL | |
|
||
| muerte | date | YES | | NULL | |
|
||
+-------------+-------------+------+-----+---------+-------+
|
||
|
||
Field indica el nombre de la columna, Type es el tipo de datos para la columna,
|
||
Null indica si la columna puede contener o no valores NULL, Key indica si la
|
||
columna est<73>á indexada o no, y Default especifica el valor por defecto para la
|
||
columna.
|
||
|
||
Si tienes <20>índices en una tabla, SHOW INDEX FROM nombre_tabla te mostrar<61>á
|
||
informaci<EFBFBD>ón sobre ellos.
|
||
|
||
8.5 Usando mysql en modo batch
|
||
=================================
|
||
|
||
En las secciones previas, hemos usado mysql interactivamente para introducir
|
||
consultas y observar los resultados. Tambi<62>én puedes ejecutar mysql en modo
|
||
batch. Para realizarlo, escribe los comandos que quieras ejecutar en un fichero,
|
||
despu<EFBFBD>és p<>ídele a mysql que lea su entrada desde el fichero:
|
||
|
||
shell> mysql < fichero-batch
|
||
|
||
(N.T.: en ocasiones se traduce como fichero por lotes)
|
||
|
||
Si necesitas especificar par<61>ámetros de conexi<78>ón en la l<>ínea de comandos, el
|
||
comando podr<64>ía parecerse a esto:
|
||
|
||
shell> mysql -h host -u user -p < fichero-batch
|
||
Enter password: ********
|
||
|
||
Cuando usas MySQL de esta manera, est<73>ás creando un fichero script (de gui<75>ón), y
|
||
despu<EFBFBD>és ejecutando el script.
|
||
|
||
<EFBFBD>¿Por qu<71>é usar un script? He aqu<71>í algunas razones:
|
||
|
||
* Si ejecutas una consulta repetidamente (digamos, cada d<>ía o cada semana), el
|
||
construir un script con esta consulta te permite evitar volver a teclearla
|
||
cada vez que la ejecutes.
|
||
|
||
* Puedes generar nuevas consultas a partir de consultas ya existentes similares
|
||
simplemente copiando y editando los ficheros script.
|
||
|
||
* El modo batch puede ser tambi<62>én muy <20>útil cuando est<73>és desarrollando una
|
||
consulta, particularmente para comandos multi-l<>ínea o m<>últiples secuencias de
|
||
comandos de m<>últiples sentencias. Si cometes un error, no necesitas reescribir
|
||
todo. S<>ímplemente edita el script para corregir el error, y despu<70>és p<>ídele a
|
||
mysql que lo vuelva a ejecutar.
|
||
|
||
* Si tienes una consulta que produce resultados muy largos, puedes usar un
|
||
paginador para filtrar esta salida en lugar de ver c<>ómo se desplaza fuera del
|
||
alcance de tu pantalla:
|
||
|
||
|
||
shell> mysql < fichero_batch | more
|
||
|
||
* Puedes redirigir la salida a un fichero para un procesamiento posterior:
|
||
|
||
shell> mysql < fichero_batch > mysql.out
|
||
|
||
* Puedes distribuir tu script a otras personas para que puedan ejecutar tambi<62>én
|
||
tus comandos.
|
||
|
||
* Algunas situaciones no permiten un uso interactivo, por ejemplo, cuando
|
||
ejecutas una consulta como una tarea de cron. (N.T.: cron es un comando UNIX
|
||
que sirve para planificar y ejecutar comandos UNIX en el tiempo). En este
|
||
caso, debes usar el procesamiento por lotes.
|
||
|
||
El formato de salida por defecto es diferente (m<>ás conciso) cuando ejecutas
|
||
mysql en modo batch que cuando lo usas de manera interactiva. Por ejemplo, la
|
||
salida de SELECT DISTINCT especie FROM mascota es la siguiente cuando se
|
||
ejecuta de manera interactiva:
|
||
|
||
mysql> SELECT DISTINCT especie FROM mascota;
|
||
+-----------+
|
||
| especie |
|
||
+-----------+
|
||
| gato |
|
||
| hamster |
|
||
| p<>ájaro |
|
||
| perro |
|
||
| serpiente |
|
||
+-----------+
|
||
|
||
Y la siguiente si se ejecuta en modo batch:
|
||
|
||
especie
|
||
gato
|
||
hamster
|
||
p<EFBFBD>ájaro
|
||
perro
|
||
serpiente
|
||
|
||
Si quieres obtener el formato de salida del modo interactivo tambi<62>én en modo
|
||
batch, usa mysql -t. Para redirigir a salida est<73>ándar los comandos que se est<73>án
|
||
ejecutando, usa mysql -vvv.
|
||
|
||
|
||
|
||
8.6 Consultas del proyecto gemelos
|
||
|
||
En Analytikerna y Lentus, hemos estado realizando el trabajo de campo y sistemas para
|
||
un gran proyecto de investigaci<63>ón. Este proyecto es una colaboraci<63>ón entre el Instituto de
|
||
Medicina Medioambiental en el Karolinska Institutet Stockholm y la Secci<63>ón en Investigaci<63>ón
|
||
Cl<EFBFBD>ínica en Envejecimiento y Psicolog<6F>ía en la Universidad del Sur de California.
|
||
|
||
El proyecto consisti<74>ó en una parte de selecci<63>ón donde todos los gemelos en Suecia mayores de
|
||
65 a<>ños eran entrevistados por tel<65>éfono. Los gemelos que reun<75>ían ciertos criterios pasaban a la
|
||
siguiente fase. En esta fase posterior, los gemelos que quer<65>ían participar eran visitados por
|
||
un equipo doctor/enfermera. Algunos de los ex<65>ámenes inclu<6C>ían ex<65>ámenes f<>ísicos y neuropsicol<6F>ógicos,
|
||
pruebas de laboratorio, neuroim<69>ágenes, valoraci<63>ón del estado psicol<6F>ógico, y recopilaci<63>ón de la
|
||
historia familiar. Adem<65>ás, se recogieron datos sobre los factores de riesgo m<>édicos y
|
||
medioambientales.
|
||
|
||
Puede encontrarse m<>ás informaci<63>ón sobre los estudios de gemelos en :
|
||
|
||
http://www.imm.ki.se/TWIN/TWINUKW.HTM
|
||
|
||
La <20>última parte del proyecto se administra con un interfaz web escrito usando Perl y MySQL.
|
||
Cada noche, todos los datos de las entrevistas son movidos a una base de datos MySQL.
|
||
|
||
8.6.1 Buscar todos los gemelos no-distribuidos
|
||
|
||
La siguiente consulta se usa para determinar qui<75>én pasa a la segunda parte del proyecto:
|
||
|
||
select
|
||
concat(p1.id, p1.tvab) + 0 as tvid,
|
||
concat(p1.christian_name, " ", p1.surname) as Name,
|
||
p1.postal_code as Code,
|
||
p1.city as City,
|
||
pg.abrev as Area,
|
||
if(td.participation = "Aborted", "A", " ") as A,
|
||
p1.dead as dead1,
|
||
l.event as event1,
|
||
td.suspect as tsuspect1,
|
||
id.suspect as isuspect1,
|
||
td.severe as tsevere1,
|
||
id.severe as isevere1,
|
||
p2.dead as dead2,
|
||
l2.event as event2,
|
||
h2.nurse as nurse2,
|
||
h2.doctor as doctor2,
|
||
td2.suspect as tsuspect2,
|
||
id2.suspect as isuspect2,
|
||
td2.severe as tsevere2,
|
||
id2.severe as isevere2,
|
||
l.finish_date
|
||
from
|
||
twin_project as tp
|
||
/* For Twin 1 */
|
||
left join twin_data as td on tp.id = td.id and tp.tvab = td.tvab
|
||
left join informant_data as id on tp.id = id.id and tp.tvab = id.tvab
|
||
left join harmony as h on tp.id = h.id and tp.tvab = h.tvab
|
||
left join lentus as l on tp.id = l.id and tp.tvab = l.tvab
|
||
/* For Twin 2 */
|
||
left join twin_data as td2 on p2.id = td2.id and p2.tvab = td2.tvab left join informant_data as id2 on p2.id = id2.id and p2.tvab = id2.tvab
|
||
left join harmony as h2 on p2.id = h2.id and p2.tvab = h2.tvab
|
||
left join lentus as l2 on p2.id = l2.id and p2.tvab = l2.tvab,
|
||
person_data as p1,
|
||
person_data as p2,
|
||
postal_groups as pg
|
||
where
|
||
/* p1 gets main twin and p2 gets his/her twin. */
|
||
/* ptvab is a field inverted from tvab */
|
||
p1.id = tp.id and p1.tvab = tp.tvab and
|
||
p2.id = p1.id and p2.ptvab = p1.tvab and
|
||
/* Just the sceening survey */
|
||
tp.survey_no = 5 and
|
||
/* Skip if partner died before 65 but allow emigration (dead=9) */
|
||
(p2.dead = 0 or p2.dead = 9 or
|
||
(p2.dead = 1 and
|
||
(p2.death_date = 0 or
|
||
(((to_days(p2.death_date) - to_days(p2.birthday)) / 365)
|
||
>= 65))))
|
||
and
|
||
(
|
||
/* Twin is suspect */
|
||
(td.future_contact = 'Yes' and td.suspect = 2) or
|
||
/* Twin is suspect - Informant is Blessed */
|
||
(td.future_contact = 'Yes' and td.suspect = 1 and id.suspect = 1) o
|
||
/* No twin - Informant is Blessed */
|
||
(ISNULL(td.suspect) and id.suspect = 1 and id.future_contact = 'Yes') or
|
||
/* Twin broken off - Informant is Blessed */
|
||
(td.participation = 'Aborted'
|
||
and id.suspect = 1 and id.future_contact = 'Yes') or
|
||
/* Twin broken off - No inform - Have partner */
|
||
(td.participation = 'Aborted' and ISNULL(id.suspect) and p2.dead = 0))
|
||
and
|
||
l.event = 'Finished'
|
||
/* Get at area code */
|
||
and substring(p1.postal_code, 1, 2) = pg.code
|
||
/* Not already distributed */
|
||
and (h.nurse is NULL or h.nurse=00 or h.doctor=00)
|
||
/* Has not refused or been aborted */
|
||
and not (h.status = 'Refused' or h.status = 'Aborted'
|
||
or h.status = 'Died' or h.status = 'Other')
|
||
order by
|
||
tvid;
|
||
|
||
Algunas explicaciones:
|
||
|
||
`concat(p1.id, p1.tvab) + 0 as tvid'
|
||
Queremos ordenar por la concatenaci<63>ón de `id' y `tvab' en orden num<75>érico.
|
||
A<>ñadiendo `0' al resultado provocamos que *MySQL* trate el resultado como
|
||
un n<>úmero.
|
||
|
||
column `id'
|
||
Esto identifica un par de gemelos. Es una clave en todas las tablas.
|
||
|
||
column `tvab'
|
||
Esto identifica un gemelo de una pareja. Tiene un valor de `1' <20>ó `2'
|
||
|
||
column `ptvab'
|
||
Esto es la inversa de `tvab'. Cuando `tvab' es `1' esto es `2', y
|
||
vice versa. Esto existe para ahorrarnos teclear y para hacer m<>ás f<>ácil
|
||
la optimizaci<63>ón de la consulta a MySQL.
|
||
|
||
|
||
Esta consulta demuestra, entre otras cosas, c<>ómo realizar b<>úsquedas en una tabla
|
||
enlazada con la misma tabla a trav<61>és de un join (p1 y p2). En el ejemplo, <20>ésto
|
||
se usa para comprobar cu<63>ándo un gemelo de una pareja muri<72>ó antes de cumplir 65.
|
||
En caso afirmativo, la fila no es devuelta.
|
||
|
||
Todo lo anterior existe en todas las tablas con informaci<63>ón relacionada con los gemelos.
|
||
Tenemos una clave tanto en id, tvab (todas las tablas) como en id,ptvab (person_data) para
|
||
construir consultas m<>ás r<>ápidas.
|
||
|
||
En nuestra m<>áquina de producci<63>ón (una UltraSPARC 200MHz), esta consulta devuelve alrededor
|
||
de 150-200 filas y tarda menos de un segundo.
|
||
|
||
El n<>úmero actual de registros en las tablas usadas arriba:
|
||
|
||
Tabla Filas
|
||
|
||
person_data 71074
|
||
lentus 5291
|
||
twin_project 5286
|
||
twin_data 2012
|
||
informant_data 663
|
||
harmony 381
|
||
postal_groups 100
|
||
|
||
|
||
|
||
|
||
8.6.2 Mostrar una tabla con el estado de la pareja de gemelos.
|
||
|
||
Cada entrevista finaliza con un c<>ódigo de estado llamado event. La consulta mostrada
|
||
debajo se usa para imprimir una tabla sobre todas las parejas de gemelos combinadas por evento.
|
||
Esto indica en cu<63>ántas parejas ambos gemelos han finalizado, en cu<63>ántas parejas
|
||
ha finalizado un gemelo y el otro se rechaz<61>ó, etc.
|
||
|
||
select
|
||
t1.event,
|
||
t2.event,
|
||
count(*)
|
||
from
|
||
lentus as t1,
|
||
lentus as t2,
|
||
twin_project as tp
|
||
where
|
||
/* We are looking at one pair at a time */
|
||
t1.id = tp.id
|
||
and t1.tvab=tp.tvab
|
||
and t1.id = t2.id
|
||
/* Just the sceening survey */
|
||
and tp.survey_no = 5
|
||
/* This makes each pair only appear once */
|
||
and t1.tvab='1' and t2.tvab='2'
|
||
group by
|
||
t1.event, t2.event;
|
||
|
||
|
||
|