Commit 0653326e authored by monty@bitch.mysql.fi's avatar monty@bitch.mysql.fi

Merge hundin:/my/mysql-4.0 into bitch.mysql.fi:/my/mysql-4.0

parents 26875c9c 544f95c4

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -38,9 +38,11 @@ COPYING.LIB
Docs/#manual.texi#
Docs/INSTALL-BINARY
Docs/include.texi
Docs/internals.info
Docs/manual.aux
Docs/manual.cp
Docs/manual.cps
Docs/manual.de.log
Docs/manual.dvi
Docs/manual.fn
Docs/manual.fns
......@@ -58,6 +60,8 @@ Docs/manual_letter.ps
Docs/manual_toc.html
Docs/my_sys.doc
Docs/mysql.info
Docs/mysql.xml
Docs/safe-mysql.xml
Docs/tex.fmt
Docs/texi2dvi.out
INSTALL-SOURCE
......@@ -327,6 +331,8 @@ linked_libmysqldex_sources
linked_server_sources
linked_tools_sources
locked
mit-pthreads/config.flags
mit-pthreads/syscall.S
myisam/FT1.MYD
myisam/FT1.MYI
myisam/ft_dump
......@@ -341,10 +347,14 @@ myisam/myisamlog
myisam/myisampack
myisam/test1.MYD
myisam/test1.MYI
mysql-4.0.2-alpha-pc-linux-gnu-i686.tar.gz
mysql-4.0.2-alpha.tar.gz
mysql-max-4.0.2-alpha-pc-linux-gnu-i686.tar.gz
mysql-test/gmon.out
mysql-test/install_test_db
mysql-test/mysql-test-run
mysql-test/r/*.reject
mysql-test/r/rpl000001.eval
mysql-test/r/rpl000002.eval
mysql-test/r/rpl000014.eval
mysql-test/r/rpl000015.eval
......@@ -364,6 +374,7 @@ mysys/test_dir
mysys/test_io_cache
mysys/test_thr_alarm
mysys/test_thr_lock
mysys/test_vsnprintf
mysys/testhash
regex/re
repl-tests/test-repl-ts/repl-timestamp.master.reject
......@@ -458,8 +469,5 @@ vio/test-ssl
vio/test-sslclient
vio/test-sslserver
vio/viotest-ssl
Docs/mysql.xml
mysql-test/r/rpl000001.eval
Docs/safe-mysql.xml
mysys/test_vsnprintf
Docs/manual.de.log
mysys/getopt.c
mysys/getopt1.c
......@@ -34,10 +34,10 @@ AM_MAKEFLAGS="-j 4"
# The following warning flag will give too many warnings:
# -Wshadow -Wunused -Winline (The later isn't usable in C++ as
# __attribute()__ doesn't work with gnu C++)
global_warnings="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings"
global_warnings="-Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings"
#debug_extra_warnings="-Wuninitialized"
c_warnings="$global_warnings -Wunused"
cxx_warnings="$global_warnings -Woverloaded-virtual -Wextern-inline -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor"
cxx_warnings="$global_warnings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor"
alpha_cflags="-mcpu=ev6 -Wa,-mev6" # Not used yet
pentium_cflags="-mcpu=pentiumpro"
......@@ -71,11 +71,4 @@ else
make=make
fi
if gcc -v 2>&1 | grep 'version 3' > /dev/null 2>&1
then
CXX="gcc -DUSE_MYSYS_NEW"
CXXLDFLAGS="-Wl,--defsym -Wl,__cxa_pure_virtual=0"
else
CXX=gcc
CXXLDFLAGS=""
fi
CXX=gcc
......@@ -3,7 +3,8 @@
path=`dirname $0`
. "$path/SETUP.sh"
extra_flags="$pentium_cflags -O2 -fprofile-arcs -ftest-coverage"
extra_flags="$pentium_cflags -fprofile-arcs -ftest-coverage"
extra_configs="$pentium_configs $debug_configs --disable-shared $static_link"
extra_configs="$extra_configs --with-innodb --with-berkeley-db"
. "$path/FINISH.sh"
......@@ -8,6 +8,7 @@ extra_configs="$pentium_configs"
strip=yes
extra_configs="$extra_configs --with-innodb --with-berkeley-db \
--enable-thread-safe-client --with-openssl --with-vio"
--with-embedded-server --enable-thread-safe-client \
--with-openssl --with-vio"
. "$path/FINISH.sh"
......@@ -11,6 +11,6 @@ then
(cd gemini && aclocal && autoheader && aclocal && automake && autoconf)
fi
CFLAGS="-g -Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa" CXX=gcc CXXFLAGS="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wextern-inline -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa -g" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client
CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa" CXX=gcc CXXFLAGS="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa -g" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client
gmake -j 4
......@@ -11,6 +11,6 @@ then
(cd gemini && aclocal && autoheader && aclocal && automake && autoconf)
fi
CFLAGS="-g -Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa" CXX=gcc CXXFLAGS="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wextern-inline -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa -g" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-debug
CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa" CXX=gcc CXXFLAGS="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa -g" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-debug
gmake -j 4
......@@ -6,7 +6,7 @@ aclocal && autoheader && aclocal && automake && autoconf
(cd bdb/dist && sh s_all)
(cd innobase && aclocal && autoheader && aclocal && automake && autoconf)
CFLAGS="-g -Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -DHAVE_purify -DEXTRA_DEBUG -O2" CXX=gcc CXXLD=g++ CXXFLAGS="-g -Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wextern-inline -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DHAVE_purify -DEXTRA_DEBUG -O2" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-berkeley-db --with-innodb
CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -DHAVE_purify -DEXTRA_DEBUG -O2" CXX=gcc CXXLD=g++ CXXFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DHAVE_purify -DEXTRA_DEBUG -O2" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-berkeley-db --with-innodb
gmake -j 4
......
This diff is collapsed.
......@@ -4,34 +4,50 @@ Administrator@fred.
Miguel@light.local
Sinisa@sinisa.nasamreza.org
ahlentz@co3064164-a.rochd1.qld.optusnet.com.au
akishkin@work.mysql.com
arjen@co3064164-a.bitbike.com
arjen@fred.bitbike.com
arjen@george.bitbike.com
bell@sanja.is.com.ua
davida@isil.mysql.com
heikki@donna.mysql.fi
heikki@hundin.mysql.fi
jani@dsl-jkl1657.dial.inet.fi
jani@hynda.(none)
jani@hynda.mysql.fi
jani@janikt.pp.saunalahti.fi
jani@rhols221.adsl.netsonic.fi
jani@rhols221.arenanet.fi
jcole@abel.spaceapes.com
jcole@main.burghcom.com
jcole@mugatu.spaceapes.com
jcole@sarvik.tfr.cafe.ee
jcole@tetra.spaceapes.com
jorge@linux.jorge.mysql.com
kaj@work.mysql.com
lenz@kallisto.mysql.com
lenz@mysql.com
miguel@hegel.local
miguel@light.local
monty@bitch.mysql.fi
monty@donna.mysql.fi
monty@hundin.mysql.fi
monty@narttu.
monty@narttu.mysql.fi
monty@tik.
monty@tik.mysql.fi
monty@tramp.mysql.fi
monty@work.mysql.com
mwagner@cash.mwagner.org
mwagner@evoq.mwagner.org
nick@nick.leippe.com
paul@central.snake.net
paul@teton.kitebird.com
root@x3.internalnet
sasha@mysql.sashanet.com
serg@serg.mysql.com
serg@sergbook.mysql.com
sinisa@rhols221.adsl.netsonic.fi
tfr@sarvik.tfr.cafe.ee
tim@bitch.mysql.fi
tim@black.box
......@@ -45,6 +61,6 @@ tonu@volk.internalnet
tonu@x153.internalnet
tonu@x3.internalnet
venu@work.mysql.com
worm@altair.is.lan
zak@balfor.local
zak@linux.local
jcole@mugatu.spaceapes.com
arjen@fred.bitbike.com
......@@ -59,8 +59,9 @@ EOF
#++
# docs-commit@ mail
# Picks up anything under the Docs subdirectory (relevant for docs team).
#--
bk changes -v -r+ | grep -q Docs/manual.texi
bk changes -v -r+ | grep -q " Docs/"
if [ $? -eq 0 ]
then
echo "Notifying docs list at $DOCS"
......
......@@ -92,7 +92,7 @@ if ($opt_stage == 0)
{
system("mkdir $host") if (! -d $host);
system("touch $host/mysql-fix-for-glob");
rm_all(<$host/mysql-*>);
rm_all(<$host/mysql*>);
system("mkdir $host/bin") if (! -d "$host/bin");
}
rm_all("$host/test");
......
#! /bin/sh
set -e -x
# Only use the "--with-other-libc" parameter, if another libc actually
# exists, since this will also force static linking, which does not work
# together with OpenSSL
OTHER_LIBC_DIR=/usr/local/mysql-glibc
OTHER_LIBC=""
if [ -d OTHER_LIBC_DIR ] ; then
OTHER_LIBC="--with-other-libc=$OTHER_LIBC_DIR"
fi
BUILD/compile-pentium-max --with-other-libc=$OTHER_LIBC_DIR \
BUILD/compile-pentium-max $OTHER_LIBC \
--with-comment="Official MySQL Binary" \
--prefix=/usr/local/mysql --with-extra-charset=complex \
--enable-thread-safe-client --enable-local-infile \
......
......@@ -13,8 +13,8 @@ NEW="mysql-$VER.tar.gz"
OLD="mysql-$PVER.tar.gz"
RESULT="mysql-$PVER-$VER.patch.gz"
PATCH_DIR=/my/web/Downloads-live/Patches
RESULT_DIR=/my/web/Downloads-live/MySQL-3.23
RESULT_DIR_MAX=/my/web/Downloads-live/MySQL-Max-3.23
RESULT_DIR=/my/web/Downloads-live/MySQL-4.0
RESULT_DIR_MAX=/my/web/Downloads-live/MySQL-Max-4.0
if test ! -f $NEWDIR/$NEW
then
......
......@@ -159,7 +159,11 @@ cat > $logdir/$TMP_SCRIPT_MYSQL <<END
set -x
# Check environment
export MYSQL_BUILD_PATH="/usr/cygnus/redhat-980810/H-i386-pc-linux-gnu/bin/:/usr/bin:/bin"
#export MYSQL_BUILD_PATH="/usr/local/bin:/my/gnu/bin:/usr/bin:/bin"
#export MYSQL_BUILD_CFLAGS="-O6 -fno-omit-frame-pointer -mcpu=pentiumpro"
#export MYSQL_BUILD_CXXFLAGS="-O6 -fno-omit-frame-pointer \
# -felide-constructors -fno-exceptions -fno-rtti -mcpu=pentiumpro"
export MYSQL_BUILD_PATH="/usr/bin:/bin"
export MYSQL_BUILD_CFLAGS="-O6 -fno-omit-frame-pointer -mpentium"
export MYSQL_BUILD_CXXFLAGS="-O6 -fno-omit-frame-pointer \
-felide-constructors -fno-exceptions -fno-rtti -mpentium"
......
This diff is collapsed.
%!PS-Adobe-2.0 EPSF-2.0
%%Creator: pnmtops
%%Title: new-zealand.ps
%%Pages: 1
%%BoundingBox: 290 385 321 407
%%EndComments
/readstring {
currentfile exch readhexstring pop
} bind def
/rpicstr 32 string def
/gpicstr 32 string def
/bpicstr 32 string def
%%EndProlog
%%Page: 1 1
gsave
290.64 385.44 translate
30.72 21.12 scale
32 22 8
[ 32 0 0 -22 0 22 ]
{ rpicstr readstring }
{ gpicstr readstring }
{ bpicstr readstring }
true 3
colorimage
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
00000000000000ce770d08080874c6770808080c77ce0808080808080808
0808080808080800003e58050000004d005000000005583e000000000000
000000000000000000000042b4b6b5b5b5aa00abb5b5b5b6b442b5b5b5b5
b5b5b5b5b5b5b5b5b5b5b50000aed2b433080874c677080833b4d2ae0808
0808080808080808080808080800008a3d5e2b00004d005000002b5e3d8a
0000000000000000000000000000000000bb3d81bfb5b5aa00abb5b5bf81
3dbbb5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000967d3ce770d74c6770c77
ced36709080808080808083e230808080808080000015f733e58054d0050
05583e735f0100000000000000341c0000000000000000b5cb7d42b4b6aa
00abb6b4427dcbb5b5b5b5b5b5b5b5bfbcb5b5b5b5b5b50000080825aed2
b49bc69db3d2ae25080808080808080a65a49a5a0808080808000000001e
893d5e7400765d3d8a1e000000000000000253444c4d00000000000000b5
b5bdbb3d81b300b4813dbbbdb5b5b5b5b5b5b5b6bf7285c3b5b5b5b5b500
00d3d3d3d3d6d5d3c6d3d5d6d3d3d3d30808080808081ccfc01308080808
0800004d4d4d4d4f4d4200424d4f4d4d4d4d00000000000015484a0b0000
00000000004f4f4f4f4f4d4200424d4f4f4f4f4fb5b5b5b5b5b5ba4e5fb8
b5b5b5b5b50000d6d6d6d6d6d6d3c6d3d6d6d6d6d6d60808080808082c59
6b1808080808080000505050505050420042505050505050000000000000
25475a1000000000000000505050505050420042505050505050b5b5b5b5
b5b5bfbdc2b9b5b5b5b5b50000080825aed2b49bc69db4d2ae2508080808
08080908080808080832080808000000001e8a3d5e7400775e3d8a1e0000
00000000010000000000002c0000000000b5b5bdbb3d81b300b4813dbbbd
b5b5b5b5b5b5b5b5b5b5b5b5b5c1b5b5b500000967d3ce770d74c6770c77
ced36709080808086408080808183eb14528080000015f733e58054d0050
05583e735f010000000058000000001138714021000000b5cb7d42b4b6aa
00abb6b4427dcbb5b5b5b5b5c6b5b5b5b5b9c49bc6beb50000aed2b43308
0874c677080833b4d2ae08083188c8821e08080a7ec8a6190800008a3d5e
2b00004d005000002b5e3d8a00002b534b591700000252074912000000bb
3d81bfb5b5aa00abb5b5bf813dbbb5b5c09f58abbbb5b5b6a70776bab500
00ce770d08080874c6770808080c77ce08080882cd5f0808080861798a08
0800003e58050000004d005000000005583e0000004b2649000000005249
660000000042b4b6b5b5b5aa00abb5b5b5b6b442b5b5b59a26b9b5b5b5b5
c2a1b3b5b50000080808080808080808080808080808080808622d540808
080810081008080000000000000000000000000000000000000000552548
0000000008000800000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5c4
bec2b5b5b5b5b7b5b7b5b500000808080808080808080808080808080808
080808080808080808080808080000000000000000000000000000000000
0000000000000000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5
b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808080808080808
080808080808080808080808080808080808080000000000000000000000
0000000000000000000000000000000000000000000000b5b5b5b5b5b5b5
b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808
080808080808080808080808080808080808080808080808080000000000
0000000000000000000000000000000000000000000000000000000000b5
b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
00080808080808080808080808080808080808080808081c080808080808
080000000000000000000000000000000000000000000000001400000000
0000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5bab5b5
b5b5b5b5b500000808080808080808080808080808080808080808080886
200808080808080000000000000000000000000000000000000000000000
005f190000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
b5b5b5adbcb5b5b5b5b5b500000808080808080808080808080808080808
0808081196cdc94808080808080000000000000000000000000000000000
00000000000a7728674100000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5
b5b5b5b5b5b5b5b8bc2978c5b5b5b5b5b500000808080808080808080808
080808080808080808083dada00808080808080000000000000000000000
0000000000000000000000003555670000000000000000b5b5b5b5b5b5b5
b5b5b5b5b5b5b5b5b5b5b5b5b5b5c17e9fb5b5b5b5b5b500000808080808
08080808080808080808080808080808240a250908080808080000000000
0000000000000000000000000000000000001d021e0100000000000000b5
b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5bdb5bdb5b5b5b5b5b500
000808080808080808080808080808080808080808080808080808080808
080000000000000000000000000000000000000000000000000000000000
0000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
b5b5b5b5b500000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000
grestore
showpage
%%Trailer
......@@ -157,6 +157,53 @@ manual_letter.de.ps: manual.de.texi include.texi
touch $@
#
# Internals Manual
#
# GNU Info
internals.info: internals.texi include.texi
cd $(srcdir) && $(MAKEINFO) --no-split -I $(srcdir) $<
# Plain Text
internals.txt: internals.texi include.texi
cd $(srcdir) && \
$(MAKEINFO) -I $(srcdir) --no-headers --no-split --output $@ $<
# HTML, all in one file
internals.html: internals.texi include.texi $(srcdir)/Support/texi2html
cd $(srcdir) && @PERL@ $(srcdir)/Support/texi2html $(TEXI2HTML_FLAGS) $<
internals_toc.html: internals.html
# PDF, Portable Document Format
internals.pdf: internals.texi
sed -e 's|@image{[^}]*} *||g' <$< >internals-tmp.texi
pdftex --interaction=nonstopmode internals-tmp.texi
texindex internals-tmp.??
pdftex --interaction=nonstopmode internals-tmp.texi
texindex internals-tmp.??
pdftex --interaction=nonstopmode internals-tmp.texi
mv internals-tmp.pdf $@
rm -f internals-tmp.*
touch $@
# Postscript, A4 Paper
internals_a4.ps: internals.texi include.texi
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' \
$(TEXI2DVI) --batch --texinfo --quiet '@afourpaper' $<
$(DVIPS) -t a4 internals.dvi -o $@
touch $@
# Postscript, US Letter Paper
internals_letter.ps: internals.texi include.texi
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' \
$(TEXI2DVI) --batch $<
$(DVIPS) -t letter internals.dvi -o $@
touch $@
#
# Miscellaneous
#
......
OriginalAuthor: PaulDuBois
!!! ManualStyleGuidelines
''Version 1.0''
!! Revision History
* 2002-05-17 ArjenLentz - Version 1.0, Posted to Wiki
!! MySQL Manual Style Guidelines
Paul DuBois <paul@snake.net>
The following list of guidelines contains items that I've been jotting
down over time as style questions have come up in relation to the
MySQL manual. I wouldn't say they're exactly "official", but they
do reflect current working practice. Arjen asked me to post this
on the list some time ago so that it can be discussed with a view
to adding it (or something like it) to the source tree. So here it is!
Present in the mysql-4.0 source tree: Docs/ManualStyleGuidelines.wiki
The manual is written in UK English, not American English. This means:
colour, not color
behaviour, not behavior
authorise, not authorize
optimise, not optimize
etc.
Write MySQL, not @strong{MySQL} (the manual used to use the latter, but no
more).
Write Unix, not UNIX.
Use uppercase for SQL keywords, functions names, etc., when writing
SQL statement examples.
To write a list of items, add commas after all items preceding the last one:
Correct: Features, products, and services
Incorrect: Features, products and services
How to pluralize keywords that are enclosed in @code:
Correct: @code{SELECT}s
Incorrect: @code{SELECTs} or @code{SELECT}'s or @code{SELECT}:s
Use "its" and "it's" correctly. These words are exceptions to
the normal use of "'s" to indicate possession:
it's = it is (e.g., "one of the strengths of MySQL is that it's fast")
its = possession (e.g., "MySQL is fast, which is one of its strengths")
"a lot" is two words. "alot" is rebarbative.
Write lowercase, not lower case
Write uppercase, not upper case
Write lettercase, not letter case
Write "web site" (two words), not "website", and "web page" rather
than "webpage".
The word "data" is problematic. It's commonly used both in plural and in
singular form. The manual uses it as plural, which means you use "data are"
rather than "data is". It's unfortunate that no matter which form we use, it
will look incorrect to some people. But we can at least be internally
consistent.
(Paul: I think that the O'Reilly proofread might have caught one or two of these; could you please pick up on these but don't change them back straight away until the book is finished? Thanks; Arjen).
Write "press Enter", not "hit Return" or "hit Enter".
When reproducing program output, reproduce it exactly, even if it contains
typos. Don't "fix" it. (If the output is produced by a MySQL program, then
fix the source for the program to write the output correctly without the
typo, then update the manual to match.)
Use "okay" rather than "ok" or "Ok" or "OK" in sentences. Exceptions:
* When describing instructions for a GUI with buttons that say "OK", then use "OK". That is, use the label that the GUI uses.
* When showing the output from a program, show the output exactly; don't change "ok" to "okay", etc.
Write "Open Source" (inside @code{}), not "open source".
To put something in quotes, do it ``like this,'' not "like this"
or 'like this.' In the latter two cases, the quotes will come
out looking rotten in printed formats.
Exception: quotes in code examples should be written using whatever
contention the program language requires.
Table types should be written using @code{}; write @code{MyISAM}, not
MyISAM.
When possible, use table names that are singular, not plural.
For example, use "item" rather than "items", or "person" rather than
"people". Sometimes you can add "_list" (as in "item_list") to make it
more clear that the name refers to a collection of items.
Some commonly occurring misspelling:
Correct Incorrect
---------------------------
publicly publically
statically staticly
dynamically dynamicly
automatically automaticly
There is no hyphen after "ly" words. Write statically linked, not
statically-linked.
To refer to ASCII codes, use ASCII n, not ASCII(n), unless you're
referring to the ASCII() function, which case you use @code{ASCII()}.
ASCII 13 indicates ASCII character code 13
@code{ASCII(13)} indicates a function call
backup is a noun or adjective (as in "a backup file"), back up is a verb
(as in "to back up a database")
rollback is a noun or adjective (as in "a rollback operation"), roll back
is a verb (as in "roll back a transaction")
core dump is a noun or a verb (as in "a core dump file" or "a program
core dumps when it fails"). In the latter case, however, it's better say
say "a program dumps core when it fails").
Write character set names in @code{}, e.g., @code{latin1}, @code{win1251}.
To prevent problems with various output formats, there should be no link
titles in a @uref{}. So @uref{url} is allowed, @uref{url,blabla} is not.
Use this format:
@uref{url} (WWW)
Not this format:
@uref{url, WWW}
Similarly for FTP sites.
URLs ending in a domain name or directory should have a "/" at the end.
(For example, the URLs for all mirror sites should be written that way.)
Privilege names are written using @strong and lowercase, as in "the
@strong{process} privilege". Column names in the grant tables are
written using @code and the lettercase found in the table definition,
as in "the @code{Process_priv} column".
Write "e-mail", not "email". Exceptions are the @email{} construct, and
the Email attribute name in X509 certificate strings.
Write thread-safe, transaction-safe, replication-safe, not thread safe,
transaction safe, replication safe.
Write wildcard, not wild card or wild-card.
Use "indexes", not "indices": Adding indexes to a table will improve the
performance of SELECT statements.
Exception: when returning to array elements, use "indices": The elements
of the array may be accessed using numeric indices, where the index
values ranges from 0 to n.
Write "heavy-load production systems" (used as an adjective),
but "...used under heavy load" (used on its own).
Write PostScript, not Postscript.
When writing a list like "A, B, and C", include a comma before the last and.
Write case-sensitive and case-insensitive (hyphenated).
Write runtime, not run time.
Write backward-compatible, not backward compatible or backwards compatible.
Write application-related, not application related.
Write filesystem, not file system.
Write file-size, not file size.
Write datafile, not data file.
Write power-start, not power start.
Write percent, not per cent.
Write "toward", "and onward", not "towards", "onwards".
Write third-party, not third party.
Write turnkey, not turn-key.
Write "the Net" (capitalised) if referring to the Internet in that way.
Write long-awaited, not long awaited.
Write natural-language, not natural language.
Write low-volume <something> (when used as an adjective).
Write platform-dependent, not platform dependent.
Write something like "mentioned previously" instead of "above", and "later in this section" instead of "below" when making such relative references in your text.
Write "... shown here", not "... shown below".
Write "following some", not "something [shown] below".
Write high-priority <something> (when used as an adjective), not high priority.
Write "whether", not "whether or not".
Write hand-held, not hand held.
Write rewriting, not re-writing.
Write re-issue(ing), not reissue(ing).
Write command-line, not command line.
Write server-side, not server side.
Write "<blabla> only", not "only <blabla>".
Write floating-point, not floating point.
Write heavy-duty, not heavy duty.
Write online, not on-line.
Write user-defined, not user defined.
Write multi-user, not multi user.
Write multi-thread(ed), not multithread(ed).
Write memory-based, not memory based.
Write long-time <something> (when used as an adjective), not long time.
Write 32-bit, not 32 bit or 32 bits. (Same goes for 64-bit, of course! ;-)
Write "different from [what] ...", not "different than ...".
Write "@-e.g., " instead of " e.g. " in the middle of a sentence. (The @- will be turned into a dash, or &mdash; for DocBook output.)
Following "e.g." by a comma, not a space or a colon.
Write "@-" if you need to put a dash in a text, no surrounding spaces.
Similar story for "for example" as for "e.g."
Write CPU, not cpu (it's an acronym, not a word! ;-)
Write "... uses ... CPU time", not "... uses ... CPU" (unless you're referring the processor itself.)
If a (comment) is at the end of a sentence, start the comment with lowercase and put the . after the closing ), such as (like this).
If a comment is separate, start with uppercase and put the . inside the closing ). (Like this.)
Write "something cannot do something", not "something can not something".
Write "otherwise, ..." (with the comma) at the start of a sentence.
Paul, could you please check "honoring"... is this proper British English? Thanks, Arjen.
Write "byte-swapping", not "byte swapping".
Write "Note:", not "NOTE:". And then continue with lowercase, it is not the start of a new sentence.
Write "single-CPU" and "multiple-CPU", not "single CPU" and "multiple CPU".
Paul, I think we should also decide whether to write Version or version, and in what situation. I am not changing much now because there's lots of funny instances and I don't want to risk getting it wrong. Thanks, Arjen.
After a semicolon, don't use uppercase. It is NOT the start of a new sentence!
It's "unstable", not "instable". ;-)
It's "full-text", not "fulltext".
Logical NOT/OR/AND are operators, not functions, so they take operands, not arguments.
It's NetWare, not Netware (as per Novell's trademark guidelines).
......@@ -8,10 +8,10 @@
use strict;
my $table_width = 12.75; # cm
my $gutter_width = 0.09; # cm
my $table_width = 12.75; # Specify the max width of the table in cm
my $gutter_width = 0.55; # Specify the width of the gutters in cm
my $str = join '', <>;
my $str = join '', <>; # Push stdin (or file)
$str =~ s{([\t ]*(<colspec colwidth=\".+?\" />\s*)+)}
{&rel2abs($1)}ges;
......@@ -29,11 +29,17 @@ sub msg {
sub rel2abs {
my $str = shift;
my $colnum = 1;
my @widths = ();
my $total = 0;
my $output = '';
my $gutters;
my $content_width;
my $total_width;
my @num_cache;
$str =~ /^(\s+)/;
my $ws = $1;
......@@ -42,10 +48,30 @@ sub rel2abs {
push @widths, $1;
}
my $unit = ($table_width - ($#widths * $gutter_width)) / ($total);
msg("!!! WARNING: Total Percent > 100%: $total%") if $total > 100;
if (! $total) {
die 'Something bad has happened - the script believes that there are no columns';
}
$gutters = $#widths * $gutter_width;
$content_width = $table_width - $gutters;
# Don't forget that $#... is the last offset not the count
foreach (@widths) {
$output .= $ws . '<colspec colwidth="'. sprintf ("%0.2f", $_ * $unit) .'cm" />' . "\n";
my $temp = sprintf ("%0.2f", $_/100 * $content_width);
$total_width += $temp;
if ($total_width > $content_width) {
$temp -= $total_width - $content_width;
msg("!!! WARNING: Column width reduced from " .
($temp + ($total_width - $content_width)) . " to $temp !!!");
$total_width -= $total_width - $content_width;
}
$output .= $ws . '<colspec colnum="'. $colnum .'" colwidth="'. $temp .'cm" />' . "\n";
++$colnum;
push @num_cache, $temp;
}
return $output . "\n$ws";
......
......@@ -3,7 +3,7 @@
# Fix the output of `makeinfo --docbook` version 4.0c
# Convert the broken docbook output to well-formed XML that conforms to the O'Reilly idiom
# See code for detailed comments
# Authors: Arjen Lentz and Zak Greant
# Authors: Arjen Lentz and Zak Greant (original code by Jeremy Cole)
use strict;
......@@ -13,7 +13,7 @@ my $apx = '';
my @nodes = ();
my $nodes = '';
msg ("\n-- Post-processing `makeinfo --docbook` output --");
msg ("-- Post-processing `makeinfo --docbook` output --");
msg ("** Written to work with makeinfo version 4.0c **\n");
msg ("Discarding DTD - not required by subsequent scripts");
......@@ -31,6 +31,26 @@ msg ("Add missing <bookinfo> and <abstract> opening tags");
# ...as soon as we find the first instance, we can stop looking.
$data =~ s/<book lang="en">/<book lang="en"><bookinfo><abstract>/;
# arjen 2002-05-01
msg ("Processing docbook-prefix special strings");
$data =~ s/FIXUPmdashFIXUP/\&mdash\;/g;
$data =~ s/FIXUPdoubledashFIXUP/--/g;
$data =~ s/FIXUPstrongFIXUP/<emphasis\ role\=bold>/g;
$data =~ s/FIXUPendstrongFIXUP/<\/emphasis>/g;
$data =~ s/FIXUPemphFIXUP/<emphasis>/g;
$data =~ s/FIXUPendemphFIXUP/<\/emphasis>/g;
$data =~ s/FIXUPfileFIXUP/<filename>/g;
$data =~ s/FIXUPendfileFIXUP/<\/filename>/g;
$data =~ s/FIXUPsampFIXUP/<literal>/g;
$data =~ s/FIXUPendsampFIXUP/<\/literal>/g;
msg ("Removing mailto: from email addresses...");
$data =~ s/mailto://g;
......@@ -38,9 +58,19 @@ msg ("Removing INFORMALFIGURE...");
$data =~ s{<informalfigure>.+?</informalfigure>}
{}gs;
msg ("Convert ampersands to XML escape sequences ");
msg ("Convert ampersand to XML escape sequence...");
$data =~ s/&(?!\w+;)/&amp;/g;
# arjen 2002-05-01
msg ("Changing (TM) to XML escape sequence...");
$data =~ s/MySQL \(TM\)/MySQL&trade;/g;
$data =~ s{<command>TM</command>}
{&trade;}g;
# arjen 2002-05-01
msg ("Changing ' -- ' to XML escape sequence...");
$data =~ s/ -- /&mdash;/g;
msg ("Changing @@ to @...");
$data =~ s/@@/@/g;
......@@ -68,6 +98,11 @@ msg ("Adding closing / to XREF and COLSPEC tags...");
$data =~ s{<(xref|colspec) (.+?)>}
{<$1 $2 />}gs;
# arjen 2002-04-26
msg ("Removing separate target titles from LINKs and make them XREFs...");
$data =~ s{<link (linkend=.+?)>.+?</link>}
{<xref $1 />}gs;
# Probably need to strip these
msg ('Adding "See " to XREFs that used to be @xref...');
$data =~ s{([.'!)])\s*<xref }
......@@ -137,7 +172,7 @@ exit;
#
sub msg {
print STDERR shift, "\n";
print STDERR "docbook-fixup:", shift, "\n";
}
sub strip_tag($$) {
......
#!/usr/bin/perl -w
# Preprocess the input of `makeinfo --docbook` version 4.0c
# Authors: Arjen Lentz and Zak Greant (started by arjen 2002-05-01)
use strict;
my $data = '';
msg ("-- Pre-processing `makeinfo --docbook` input --");
msg ("** Written to work with makeinfo version 4.0c **\n");
# <> is a magic filehandle - either reading lines from stdin or from file(s) specified on the command line
msg ("Get the data");
$data = join "", <>;
msg ("Replacing '\@-' with FIXUPmdashFIXUP");
$data =~ s/\@-/FIXUPmdashFIXUP/g;
msg ("Replacing '--' with FIXUPdoubledashFIXUP");
$data =~ s/--/FIXUPdoubledashFIXUP/g;
msg ("Turning \@strong{} into LITERAL blocks");
$data =~ s/\@strong\{(.*?)\}/FIXUPstrongFIXUP$1FIXUPendstrongFIXUP/gs;
msg ("Turning \@emph{} into LITERAL blocks");
$data =~ s/\@emph\{(.*?)\}/FIXUPemphFIXUP$1FIXUPendemphFIXUP/gs;
msg ("Turning \@file{} into LITERAL blocks");
$data =~ s/\@file\{(.*?)\}/FIXUPfileFIXUP$1FIXUPendfileFIXUP/gs;
msg ("Turning \@samp{} into LITERAL blocks");
$data =~ s/\@samp\{\@\{\}/FIXUPsampFIXUP\@\{FIXUPendsampFIXUP/g;
$data =~ s/\@samp\{\@\}\}/FIXUPsampFIXUP\@\}FIXUPendsampFIXUP/g;
$data =~ s/\@samp\{\@\{n\@\}\}/FIXUPsampFIXUP\@\{n\@\}FIXUPendsampFIXUP/g;
$data =~ s/\@samp\{(.*?)\}/FIXUPsampFIXUP$1FIXUPendsampFIXUP/gs;
msg ("Write the data");
print STDOUT $data;
exit;
#
# Definitions for helper sub-routines
#
sub msg {
print STDERR "docbook-prefix: ", shift, "\n";
}
......@@ -6,14 +6,19 @@
#create include.texi with version/port #
echo "@c This file is autogenerated by the Makefile" > include.texi
echo -n "@set mysql_version " >> include.texi
# grep "AM_INIT_AUTOMAKE(mysql, " ../configure.in | \
# sed -e 's;AM_INIT_AUTOMAKE(mysql, ;;' -e 's;);;' >> include.texi
# 2002-04-26 arjen - the below just picks #.# instead of #.#.#-alpha
# (code by mwagner - tnx)
grep "AM_INIT_AUTOMAKE(mysql, " ../configure.in | \
sed -e 's;AM_INIT_AUTOMAKE(mysql, ;;' -e 's;);;' >> include.texi
perl -p -e 's/AM_INIT_AUTOMAKE\(mysql,\s(\d+\.\d+)\..+/$1/' >> include.texi
echo -n "@set default_port " >> include.texi
grep "MYSQL_TCP_PORT_DEFAULT=" ../configure.in | \
sed -e 's;MYSQL_TCP_PORT_DEFAULT=;;' >> include.texi
# produce DocBook XML
makeinfo --force --no-ifinfo --docbook -o - manual.texi |\
Support/docbook-prefix.pl < manual.texi |\
makeinfo --force --no-ifinfo --docbook -o - |\
Support/docbook-fixup.pl > mysql.xml
# See if the XML output is well-formed
......
--- alt-multi.c Sun Apr 14 10:03:19 2002
+++ multi.c Tue May 22 20:52:33 2001
@@ -287,7 +287,7 @@
&& *params != '\n' && *params != '@')
params++;
setup_output_environment (i,
- (int) ((columnfrac * 100.00) + 0.49));
+ (int) (columnfrac * (fill_column - current_indent) + .5));
}
}
......@@ -4,6 +4,8 @@
# Implemented in Perl by jeremy@mysql.com
# 2001-11-20 Fixups by arjen@mysql.com, 2 keywords and 15 synonyms were missing
# 2001-12-07 Fixup by arjen@mysql.com, add column headings for multitable.
# 2002-05-01 Fixup by arjen@mysql.com, use 3 columns instead of 4.
# 2002-05-03 Fixup by arjen@mysql.com, fill last row to full # of columns.
print STDERR "Scanning lex.h for symbols..\n";
open LEX, "<../sql/lex.h";
......@@ -27,11 +29,6 @@ while(($line = <YACC>) =~ /[\s|]+([A-Z_]+)/) {
close YACC;
$list = sprintf("\@c Reserved word list updated %s by %s.\n".
"\@c To regenerate, use Support/update-reserved-words.pl.\n\n",
&pretty_date, $ENV{USER});
print STDERR "Copying reserved words to an array...\n";
foreach(keys %words) { push @words, $words{$_}; };
......@@ -40,12 +37,16 @@ print STDERR "Sorting array...\n";
printf STDERR "There are %i reserved words.\n", scalar @words;
@pre = ("\@item", "\@tab", " \@tab", "\@tab");
@post = ("", "\n", "", "\n");
@pre = ("\@item", " \@tab", " \@tab");
$list = "";
for($i=0; $word = shift(@words); $i++) {
$list .= sprintf "%s %-30s %s", $pre[$i%4], "\@code\{$word\}", $post[$i%4];
}; $list .= "\n";
$list .= sprintf "%s %s\n", $pre[$i%3], "\@code\{$word\}";
}
# Fill last row to full # of columns.
for( ; $i%3; $i++) {
$list .= sprintf "%s\n", $pre[$i%3];
}
open OLD, "<manual.texi";
open NEW, ">manual-tmp.texi";
......@@ -53,9 +54,14 @@ open NEW, ">manual-tmp.texi";
print STDERR "Copying beginning of manual.texi...\n";
while(($line = <OLD>) !~ /START_OF_RESERVED_WORDS/) { print NEW $line; };
print NEW "\@c START_OF_RESERVED_WORDS\n\n";
printf NEW "\@c Reserved word list updated %s by %s.\n".
"\@c To regenerate, use Support/update-reserved-words.pl.\n\n",
&pretty_date, $ENV{USER};
print STDERR "Inserting list of reserved words...\n";
print NEW "\@multitable \@columnfractions .25 .25 .25 .25\n";
print NEW "\@item \@strong{Word} \@tab \@strong{Word} \@tab \@strong{Word} \@tab \@strong{Word}\n";
# Ensure the fractions add up to 100% otherwise it looks funny in print:
print NEW "\@multitable \@columnfractions .33 .33 .34\n";
print NEW "\@item \@strong{Word}\n \@tab \@strong{Word}\n \@tab \@strong{Word}\n";
print NEW $list;
print NEW "\@end multitable\n";
print STDERR "Skipping over old list...\n";
......
diff -Nur --exclude=SCCS --exclude=BitKeeper --exclude=ChangeSet ../glibc-2.2.5/linuxthreads/internals.h ./linuxthreads/internals.h
--- ../glibc-2.2.5/linuxthreads/internals.h Thu Nov 29 00:44:16 2001
+++ ./linuxthreads/internals.h Fri Feb 22 21:18:09 2002
@@ -343,7 +343,7 @@
diff -r -c --exclude='*.info*' glibc-2.2.5.org/linuxthreads/internals.h glibc-2.2.5/linuxthreads/internals.h
*** glibc-2.2.5.org/linuxthreads/internals.h Thu Nov 29 08:44:16 2001
--- glibc-2.2.5/linuxthreads/internals.h Tue May 21 10:51:53 2002
***************
*** 343,349 ****
THREAD_SELF implementation is used, this must be a power of two and
a multiple of PAGE_SIZE. */
#ifndef STACK_SIZE
-#define STACK_SIZE (2 * 1024 * 1024)
+#define STACK_SIZE (128 * 1024)
! #define STACK_SIZE (2 * 1024 * 1024)
#endif
/* The initial size of the thread stack. Must be a multiple of PAGE_SIZE. */
diff -Nur --exclude=SCCS --exclude=BitKeeper --exclude=ChangeSet ../glibc-2.2.5/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h ./linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h
--- ../glibc-2.2.5/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h Thu Jun 8 13:49:49 2000
+++ ./linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h Fri Feb 22 21:18:09 2002
@@ -64,7 +64,7 @@
--- 343,349 ----
THREAD_SELF implementation is used, this must be a power of two and
a multiple of PAGE_SIZE. */
#ifndef STACK_SIZE
! #define STACK_SIZE (128 * 1024)
#endif
/* The initial size of the thread stack. Must be a multiple of PAGE_SIZE. */
diff -r -c --exclude='*.info*' glibc-2.2.5.org/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h glibc-2.2.5/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h
*** glibc-2.2.5.org/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h Thu Jun 8 21:49:49 2000
--- glibc-2.2.5/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h Tue May 21 10:52:58 2002
***************
*** 64,70 ****
/* The number of threads per process. */
#define _POSIX_THREAD_THREADS_MAX 64
/* This is the value this implementation supports. */
-#define PTHREAD_THREADS_MAX 1024
+#define PTHREAD_THREADS_MAX 4096
! #define PTHREAD_THREADS_MAX 1024
/* Maximum amount by which a process can descrease its asynchronous I/O
priority level. */
diff -Nur --exclude=SCCS --exclude=BitKeeper --exclude=ChangeSet ../glibc-2.2.5/nss/nsswitch.c ./nss/nsswitch.c
--- ../glibc-2.2.5/nss/nsswitch.c Tue Jul 17 02:21:36 2001
+++ ./nss/nsswitch.c Fri Feb 22 21:18:09 2002
@@ -515,8 +515,16 @@
+ (line - name + 1));
--- 64,70 ----
/* The number of threads per process. */
#define _POSIX_THREAD_THREADS_MAX 64
/* This is the value this implementation supports. */
! #define PTHREAD_THREADS_MAX 4096
/* Maximum amount by which a process can descrease its asynchronous I/O
priority level. */
diff -r -c --exclude='*.info*' glibc-2.2.5.org/nss/nsswitch.c glibc-2.2.5/nss/nsswitch.c
*** glibc-2.2.5.org/nss/nsswitch.c Tue Jul 17 10:21:36 2001
--- glibc-2.2.5/nss/nsswitch.c Tue May 21 10:59:55 2002
***************
*** 496,501 ****
--- 496,502 ----
{
service_user *new_service;
const char *name;
+ int name_alloc_len;
while (isspace (line[0]))
++line;
***************
*** 510,522 ****
if (name == line)
return result;
new_service = (service_user *) malloc (sizeof (service_user)
! + (line - name + 1));
if (new_service == NULL)
return result;
-
+#ifdef DO_STATIC_NSS
+ if (strncmp(name,"files",5) == 0 ||
+ strncmp(name,"dns",3) == 0)
+#endif
*((char *) __mempcpy (new_service->name, name, line - name)) = '\0';
+#ifdef DO_STATIC_NSS
+ else
+ *((char *) __mempcpy (new_service->name, "files", 5)) = '\0';
+#endif
! *((char *) __mempcpy (new_service->name, name, line - name)) = '\0';
/* Set default actions. */
new_service->actions[2 + NSS_STATUS_TRYAGAIN] = NSS_ACTION_CONTINUE;
--- 511,534 ----
if (name == line)
return result;
+ name_alloc_len = line - name + 1;
+
+ #ifdef DO_STATIC_NSS
+ if (!((name_alloc_len == 6 && strncmp(name,"files",5) == 0) ||
+ (name_alloc_len == 4 && strncmp(name,"dns",3) == 0)))
+ {
+ name = (char*) "files";
+ name_alloc_len = 6;
+ }
+ #endif
new_service = (service_user *) malloc (sizeof (service_user)
! + name_alloc_len);
if (new_service == NULL)
return result;
! *((char *) __mempcpy (new_service->name, name, name_alloc_len-1)) = '\0';
!
/* Set default actions. */
new_service->actions[2 + NSS_STATUS_TRYAGAIN] = NSS_ACTION_CONTINUE;
diff -Nur --exclude=SCCS --exclude=BitKeeper --exclude=ChangeSet ../glibc-2.2.5/time/Makefile ./time/Makefile
--- ../glibc-2.2.5/time/Makefile Fri Feb 22 21:27:19 2002
+++ ./time/Makefile Fri Feb 22 21:26:47 2002
@@ -37,8 +37,8 @@
diff -r -c --exclude='*.info*' glibc-2.2.5.org/time/Makefile glibc-2.2.5/time/Makefile
*** glibc-2.2.5.org/time/Makefile Fri Aug 10 01:59:41 2001
--- glibc-2.2.5/time/Makefile Tue May 21 11:01:11 2002
***************
*** 37,44 ****
include ../Rules
-tz-cflags = -DTZDIR='"$(zonedir)"' \
- -DTZDEFAULT='"$(localtime-file)"' \
+tz-cflags = -DTZDIR='"/usr/share/zoneinfo/"' \
+ -DTZDEFAULT='"/etc/localtime"' \
! tz-cflags = -DTZDIR='"$(zonedir)"' \
! -DTZDEFAULT='"$(localtime-file)"' \
-DTZDEFRULES='"$(posixrules-file)"'
CFLAGS-tzfile.c = $(tz-cflags)
diff -Nur --exclude=SCCS --exclude=BitKeeper --exclude=ChangeSet ../glibc-2.2.5/timezone/Makefile ./timezone/Makefile
--- ../glibc-2.2.5/timezone/Makefile Wed Aug 29 16:45:25 2001
+++ ./timezone/Makefile Fri Feb 22 21:18:09 2002
@@ -159,8 +159,8 @@
--- 37,44 ----
include ../Rules
! tz-cflags = -DTZDIR='"/usr/share/zoneinfo/"' \
! -DTZDEFAULT='"/etc/localtime"' \
-DTZDEFRULES='"$(posixrules-file)"'
CFLAGS-tzfile.c = $(tz-cflags)
diff -r -c --exclude='*.info*' glibc-2.2.5.org/timezone/Makefile glibc-2.2.5/timezone/Makefile
*** glibc-2.2.5.org/timezone/Makefile Thu Aug 30 00:45:25 2001
--- glibc-2.2.5/timezone/Makefile Tue May 21 11:01:57 2002
***************
*** 159,166 ****
$(objpfx)zic: $(objpfx)scheck.o $(objpfx)ialloc.o
! tz-cflags = -DTZDIR='"$(zonedir)"' \
! -DTZDEFAULT='"$(localtime-file)"' \
-DTZDEFRULES='"$(posixrules-file)"' \
-DTM_GMTOFF=tm_gmtoff -DTM_ZONE=tm_zone
--- 159,166 ----
$(objpfx)zic: $(objpfx)scheck.o $(objpfx)ialloc.o
-tz-cflags = -DTZDIR='"$(zonedir)"' \
- -DTZDEFAULT='"$(localtime-file)"' \
+tz-cflags = -DTZDIR='"/usr/share/zoneinfo/"' \
+ -DTZDEFAULT='"/etc/localtime"' \
! tz-cflags = -DTZDIR='"/usr/share/zoneinfo/"' \
! -DTZDEFAULT='"/etc/localtime"' \
-DTZDEFRULES='"$(posixrules-file)"' \
-DTM_GMTOFF=tm_gmtoff -DTM_ZONE=tm_zone
......@@ -57,6 +57,7 @@ This is a manual about @strong{MySQL} internals.
* mysys functions:: Functions In The @code{mysys} Library
* DBUG:: DBUG Tags To Use
* protocol:: MySQL Client/Server Protocol
* Fulltext Search:: Fulltext Search in MySQL
@end menu
......@@ -184,7 +185,7 @@ Now the code in @file{sql/records.cc} will be used to read through them
in sorted order by using the row pointers in the result file.
To optimize this, we read in a big block of row pointers, sort these
and then we read the rows in the sorted order into a row buffer
(@code{record_buffer}) .
(@code{record_buffer}).
@end itemize
......@@ -287,7 +288,7 @@ Put the @samp{@{} after a @code{switch} on the same line, as this gives
better overall indentation for the switch statement:
@example
switch (arg) {
switch (arg) @{
@end example
@item
......@@ -304,7 +305,7 @@ Put a space after @samp{,} for function arguments
Functions return @samp{0} on success, and non-zero on error, so you can do:
@example
if(a() || b() || c()) { error("something went wrong"); }
if(a() || b() || c()) @{ error("something went wrong"); @}
@end example
@item
......@@ -489,6 +490,8 @@ Remember to lock databases for optimal caching.
@item void end_key_cache _A((void));
End key caching.
@end table
@node DBUG, protocol, mysys functions, Top
......@@ -533,7 +536,7 @@ Print query.
@end table
@node protocol, , DBUG, Top
@node protocol, Fulltext Search, DBUG, Top
@chapter MySQL Client/Server Protocol
@menu
......@@ -548,48 +551,57 @@ Print query.
@section Raw Packet Without Compression
@example
-------------------------------------------------
+-----------------------------------------------+
| Packet Length | Packet no | Data |
| 3 Bytes | 1 Byte | n Bytes |
-------------------------------------------------
+-----------------------------------------------+
@end example
3 Byte packet length
The length is calculated with int3store
See include/global.h for details.
The max packetsize can be 16 MB.
1 Byte packet no
@table @asis
@item 3 Byte packet length
The length is calculated with int3store
See include/global.h for details.
The max packetsize can be 16 MB.
If no compression is used the first 4 bytes of each paket
is the header of the paket.
The packet number is incremented for each sent packet. The first
packet starts with 0
@item 1 Byte packet no
If no compression is used the first 4 bytes of each packet is the header
of the packet. The packet number is incremented for each sent packet.
The first packet starts with 0.
@item n Byte data
n Byte data
@end table
The packet length can be recalculated with:
@example
length = byte1 + (256 * byte2) + (256 * 256 * byte3)
@end example
@node raw packet with compression, basic packets, raw packet without compression, protocol
@section Raw Packet With Compression
@example
-----------------------------------------------------
+---------------------------------------------------+
| Packet Length | Packet no | Uncomp. Packet Length |
| 3 Bytes | 1 Byte | 3 Bytes |
-----------------------------------------------------
+---------------------------------------------------+
@end example
3 Byte packet length
The length is calculated with int3store
See include/global.h for details.
The max packetsize can be 16 MB.
1 Byte packet no
3 Byte uncompressed packet length
@table @asis
@item 3 Byte packet length
The length is calculated with int3store
See include/global.h for details.
The max packetsize can be 16 MB.
@item 1 Byte packet no
@item 3 Byte uncompressed packet length
@end table
If compression is used the first 7 bytes of each packet
is the header of the packet.
@node basic packets, communication, raw packet with compression, protocol
@section Basic Packets
......@@ -598,52 +610,57 @@ is the header of the packet.
* error packet::
@end menu
@node ok packet, error packet, basic packets, basic packets
@subsection OK Packet
For details see sql/net_pkg.cc
function send_ok
For details, see @file{sql/net_pkg.cc::send_ok()}.
@example
-------------------------------------------------
| Header | No of Rows | Affected Rows |
| | 1 Byte | 1-8 Byte |
-------------------------------------------------
| ID (last_insert_id) | Status | Length |
| 1-8 Byte | 2 Byte | 1-8 Byte |
-------------------------------------------------
| Messagetext |
| n Byte |
-------------------------------------------------
+-----------------------------------------------+
| Header | No of Rows | Affected Rows |
| | 1 Byte | 1-8 Byte |
|-----------------------------------------------|
| ID (last_insert_id) | Status | Length |
| 1-8 Byte | 2 Byte | 1-8 Byte |
|-----------------------------------------------|
| Messagetext |
| n Byte |
+-----------------------------------------------+
@end example
Header
1 byte number of rows ? (always 0 ?)
1-8 bytes affected rows
1-8 byte id (last_insert_id)
2 byte Status (usually 0)
If the OK-packege includes a message:
1-8 bytes length of message
n bytes messagetext
@table @asis
@item Header
@item 1 byte number of rows ? (always 0 ?)
@item 1-8 bytes affected rows
@item 1-8 byte id (last_insert_id)
@item 2 byte Status (usually 0)
@item If the OK-packege includes a message:
@item 1-8 bytes length of message
@item n bytes messagetext
@end table
@node error packet, , ok packet, basic packets
@subsection Error Packet
@example
-------------------------------------------------
| Header | Statuscode | Error no |
| | 1 Byte | 2 Byte |
-------------------------------------------------
| Messagetext | 0x00 |
| n Byte | 1 Byte |
-------------------------------------------------
+-----------------------------------------------+
| Header | Status code | Error no |
| | 1 Byte | 2 Byte |
|-----------------------------------------------|
| Messagetext | 0x00 |
| n Byte | 1 Byte |
+-----------------------------------------------+
@end example
Header
1 byte status code (0xFF = ERROR)
2 byte error number (is only sent to new 3.23 clients.
n byte errortext
1 byte 0x00
@table @asis
@item Header
@item 1 byte status code (0xFF = ERROR)
@item 2 byte error number (is only sent to new 3.23 clients.
@item n byte errortext
@item 1 byte 0x00
@end table
@node communication, fieldtype codes, basic packets, protocol
......@@ -769,6 +786,48 @@ Date 03 0A 00 00 |01 0A |03 00 00 00
@c @printindex fn
@node Fulltext Search, , protocol, Top
@chapter Fulltext Search in MySQL
Hopefully, sometime there will be complete description of
fulltext search algorithms.
Now it's just unsorted notes.
@menu
* Weighting in boolean mode::
@end menu
@node Weighting in boolean mode, , , Fulltext Search
@section Weighting in boolean mode
The basic idea is as follows: in expression
@code{A or B or (C and D and E)}, either @code{A} or @code{B} alone
is enough to match the whole expression. While @code{C},
@code{D}, and @code{E} should @strong{all} match. So it's
reasonable to assign weight 1 to @code{A}, @code{B}, and
@code{(C and D and E)}. And @code{C}, @code{D}, and @code{E}
should get a weight of 1/3.
Things become more complicated when considering boolean
operators, as used in MySQL FTB. Obvioulsy, @code{+A +B}
should be treated as @code{A and B}, and @code{A B} -
as @code{A or B}. The problem is, that @code{+A B} can @strong{not}
be rewritten in and/or terms (that's the reason why this - extended -
set of operators was chosen). Still, aproximations can be used.
@code{+A B C} can be approximated as @code{A or (A and (B or C))}
or as @code{A or (A and B) or (A and C) or (A and B and C)}.
Applying the above logic (and omitting mathematical
transformations and normalization) one gets that for
@code{+A_1 +A_2 ... +A_N B_1 B_2 ... B_M} the weights
should be: @code{A_i = 1/N}, @code{B_j=1} if @code{N==0}, and,
otherwise, in the first rewritting approach @code{B_j = 1/3},
and in the second one - @code{B_j = (1+(M-1)*2^M)/(M*(2^(M+1)-1))}.
The second expression gives somewhat steeper increase in total
weight as number of matched B's increases, because it assigns
higher weights to individual B's. Also the first expression in
much simplier. So it is the first one, that is implemented in MySQL.
@summarycontents
@contents
......
This diff is collapsed.
This diff is collapsed.
......@@ -2,6 +2,11 @@
@itemize @bullet
@item
@image{Flags/armenia} Armenia [AbideWeb Technologies] @@
WWW (@uref{http://mysql.abideweb.com/})
FTP (@uref{ftp://mysql.abideweb.com/mirrors/MySQL/})
@item
@image{Flags/austria} Austria [Univ. of Technology/Vienna] @@
WWW (@uref{http://gd.tuwien.ac.at/db/mysql/})
......@@ -57,10 +62,24 @@ WWW (@uref{http://mysql.tonnikala.org/})
WWW (@uref{http://mysql-mirror.free.fr/})
FTP (@uref{ftp://ftp.free.fr/pub/MySQL/})
@item
@image{Flags/france} France [mir2.ovh.net/] @@
WWW (@uref{http://mir2.ovh.net/ftp.mysql.com/})
FTP (@uref{ftp://mir1.ovh.net/ftp.mysql.com/})
@item
@image{Flags/france} France [Netsample] @@
WWW (@uref{http://www.mysql.netsample.com/})
@item
@image{Flags/france} France [Omegatomic] @@
WWW (@uref{http://mysql.omegatomic.com/})
@item
@image{Flags/france} France [Universite Paris 10] @@
WWW (@uref{http://ftp.u-paris10.fr/mysql.com})
FTP (@uref{ftp://ftp.u-paris10.fr/mysql.com})
@item
@image{Flags/germany} Germany [GWDG] @@
WWW (@uref{http://ftp.gwdg.de/pub/misc/mysql/})
......@@ -71,6 +90,11 @@ FTP (@uref{ftp://ftp.gwdg.de/pub/misc/mysql/})
WWW (@uref{http://sunsite.informatik.rwth-aachen.de/mysql/})
FTP (@uref{ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/www.mysql.com/})
@item
@image{Flags/germany} Germany [Tiscali] @@
WWW (@uref{http://filepile.tiscali.de/mirror/mysql/})
FTP (@uref{ftp://filepile.tiscali.de/mirror/mysql/})
@item
@image{Flags/germany} Germany [Wolfenbuettel] @@
WWW (@uref{http://www.fh-wolfenbuettel.de/ftp/pub/database/mysql/})
......@@ -96,15 +120,22 @@ WWW (@uref{http://mysql.sote.hu/})
FTP (@uref{ftp://xenia.sote.hu/pub/mirrors/www.mysql.com/})
@item
@image{Flags/iceland} Iceland [GM] @@
WWW (@uref{http://mysql.gm.is/})
FTP (@uref{ftp://ftp.gm.is/pub/mysql/})
@image{Flags/iceland} Iceland [Tvund] @@
WWW (@uref{http://mysql.tviund.is/})
@item
@image{Flags/ireland} Ireland [Esat Net] @@
WWW (@uref{http://ftp.esat.net/mirrors/download.sourceforge.net/pub/mirrors/mysql/})
FTP (@uref{ftp://ftp.esat.net/mirrors/download.sourceforge.net/pub/mirrors/mysql/})
@item
@image{Flags/ireland} Ireland [MD NMTB Media] @@
WWW (@uref{http://mirrors.nmtbmedia.com/mysql/})
@item
@image{Flags/israel} Israel [fresh.co.il] @@
WWW (@uref{http://mysql.fresh.co.il/})
@item
@image{Flags/italy} Italy [feelinglinux.com] @@
WWW (@uref{http://mysql.feelinglinux.com/})
......@@ -121,10 +152,6 @@ WWW (@uref{http://mysql.tzone.it/})
@image{Flags/latvia} Latvia [linux.lv] @@
FTP (@uref{ftp://ftp.linux.lv/pub/software/mysql/})
@item
@image{Flags/netherlands} Netherlands [Compukos] @@
WWW (@uref{http://mysql.compukos.nl/})
@item
@image{Flags/netherlands} Netherlands [OMS-Net] @@
WWW (@uref{http://mysql.oms-net.nl/})
......@@ -157,9 +184,14 @@ WWW (@uref{http://darkstar.ist.utl.pt/mysql/})
FTP (@uref{ftp://darkstar.ist.utl.pt/pub/mysql/})
@item
@image{Flags/portugal} Portugal [Netc] @@
WWW (@uref{http://ftp.netc.pt/pub/mysql/})
FTP (@uref{ftp://ftp.netc.pt/pub/mysql/})
@image{Flags/portugal} Portugal [Netviso] @@
WWW (@uref{http://mysql.netvisao.pt/})
FTP (@uref{ftp://mirrors2.netvisao.pt/pub/mysql/})
@item
@image{Flags/portugal} Portugal [VIZZAVI] @@
WWW (@uref{http://ftp.vizzavi.pt/pub/mysql/})
FTP (@uref{ftp://ftp.vizzavi.pt/pub/mysql/})
@item
@image{Flags/romania} Romania [roedu.net/Bucharest] @@
......@@ -179,11 +211,6 @@ FTP (@uref{ftp://ftp.chg.ru/pub/databases/mysql/})
WWW (@uref{http://ftp.arnes.si/mysql/})
FTP (@uref{ftp://ftp.arnes.si/packages/mysql/})
@item
@image{Flags/spain} Spain [GMC Control Systems] @@
WWW (@uref{http://mysql.neptuno2000.com/})
FTP (@uref{ftp://ftp.neptuno2000.com/pub/mysql/})
@item
@image{Flags/sweden} Sweden [Sunet] @@
WWW (@uref{http://ftp.sunet.se/pub/unix/databases/relational/mysql/})
......@@ -243,9 +270,8 @@ FTP (@uref{ftp://mysql.unam.mx/pub/mysql/})
WWW (@uref{http://mysql.adgrafix.com/})
@item
@image{Flags/usa} USA [Ahaza Systems / Seattle, WA] @@
WWW (@uref{http://mysql.mirrortree.com/})
FTP (@uref{ftp://mysql.mirrortree.com/pub/mysql/})
@image{Flags/usa} USA [Fast Mirror / Englewood, CO] @@
WWW (@uref{http://mysql.fastmirror.com/})
@item
@image{Flags/usa} USA [Hurricane Electric / San Jose, CA] @@
......@@ -275,11 +301,6 @@ FTP (@uref{ftp://mirror.sit.wisc.edu/mirrors/mysql/})
WWW (@uref{http://mysql.secsup.org/})
FTP (@uref{ftp://mysql.secsup.org/pub/software/mysql/})
@item
@image{Flags/usa} USA [ValueClick / Los Angeles, CA] @@
WWW (@uref{http://mysql.valueclick.com/})
FTP (@uref{ftp://mysql.valueclick.com/pub/mysql/})
@end itemize
@strong{South America:}
......@@ -315,11 +336,6 @@ FTP (@uref{ftp://mysql.ogmios.co.cr/pub/mysql/})
@itemize @bullet
@item
@image{Flags/china} China [Gremlins/Hong Kong] @@
WWW (@uref{http://mysql.gremlins.com.hk/})
FTP (@uref{ftp://ftp.mirrors.gremlins.com.hk/mysql/})
@item
@image{Flags/china} China [HKLPG/Hong Kong] @@
WWW (@uref{http://mysql.hklpg.org/})
......@@ -333,6 +349,10 @@ FTP (@uref{http://www2.linuxforum.net/mirror/mysql/})
WWW (@uref{http://mysql.shellhung.org/})
FTP (@uref{ftp://ftp.shellhung.org/pub/Mirror/mysql/})
@item
@image{Flags/indonesia} Indonesia [CBN] @@
WWW (@uref{http://mysql.cbn.net.id/})
@item
@image{Flags/indonesia} Indonesia [incaf.net] @@
WWW (@uref{http://mysql.incaf.net/})
......@@ -341,6 +361,7 @@ FTP (@uref{ftp://mysql.incaf.net/})
@item
@image{Flags/indonesia} Indonesia [M-Web] @@
WWW (@uref{http://mysql.mweb.net.id/})
FTP (@uref{ftp://mysql.mweb.net.id/pub/database/mysql/})
@item
@image{Flags/indonesia} Indonesia [web.id] @@
......@@ -391,6 +412,10 @@ WWW (@uref{http://mysql.ttn.net/})
WWW (@uref{http://mysql.planetmirror.com/})
FTP (@uref{ftp://planetmirror.com/pub/mysql/})
@item
@image{Flags/new-zealand} New Zealand [Cubalan] @@
WWW (@uref{http://mysql.soa.co.nz/})
@end itemize
@strong{Africa:}
......
This diff is collapsed.
......@@ -17,14 +17,14 @@
# Process this file with automake to create Makefile.in
AUTOMAKE_OPTIONS = foreign
TAR = gtar
# These are built from source in the Docs directory
EXTRA_DIST = INSTALL-SOURCE README \
COPYING COPYING.LIB MIRRORS
SUBDIRS = include @docs_dirs@ @readline_dir@ \
@thread_dirs@ pstack @sql_client_dirs@ \
@sql_server_dirs@ @libmysqld_dirs@ scripts man \
tests BUILD \
tests BUILD os2 \
@bench_dirs@ support-files @fs_dirs@ @tools_dirs@
# Relink after clean
......
This is a release of MySQL, a GPL (free) SQL database server (more
licence information in the PUBLIC file and in the reference manual).
Please read the Upgrading section in the manual if emigration from
3.20.# to 3.21.#. Otherwise it wont work!!
Please read the "Upgrading from..." section in the manual first, if you are
migrating from older versions of MySQL!
The latest information about MySQL can be found at:
http://www.mysql.com
......@@ -24,12 +24,10 @@ For examples of SQL and benchmarking information see the bench
directory.
The manual mentioned above can be found in the Docs directory. The
manual is available in the following formats: as text in
Docs/manual.txt, as HTML in Docs/manual_toc.html, as GNU Info in
manual is available in the following formats: as plain ASCII text in
Docs/manual.txt, in HTML format in Docs/manual_toc.html, as GNU Info in
Docs/mysql.info and as PostScript in Docs/manual.ps.
For a contributed user manual see http://www.turbolift.com/mysql.
MySQL is brought to you by the MySQL team at MySQL AB
For a list of developers and other contributors, see the Credits appendix
......@@ -48,7 +46,7 @@ and start your editor with a form in which you can describe your
problem. Bug reports might be silently ignored by the MySQL
maintainers if there is not a good reason included in the report as to
why mysqlbug has not been used. A report that says 'MySQL does not
work for me. Why?' is not consider a valid bug report.
work for me. Why?' is not considered a valid bug report.
The mysqlbug script can be found in the 'scripts' directory in the
distribution, that is 'there-you-installed-mysql/scripts'.
The mysqlbug script can be found in the 'scripts' directory of the
distribution, that is '<where-you-installed-mysql>/scripts'.
......@@ -148,6 +148,9 @@
/* crypt */
#undef HAVE_CRYPT
/* If we want to have query cache */
#undef HAVE_QUERY_CACHE
/* Solaris define gethostbyaddr_r with 7 arguments. glibc2 defines
this with 8 arguments */
#undef HAVE_SOLARIS_STYLE_GETHOST
......
......@@ -703,14 +703,14 @@ AC_DEFUN(MYSQL_CHECK_VIO, [
AC_DEFUN(MYSQL_FIND_OPENSSL, [
for d in /usr/ssl/include /usr/local/ssl/include /usr/include/openssl \
/usr/include/ssl /opt/ssl/include /opt/openssl/include \
/usr/local/ssl/include/openssl ; do
/usr/local/ssl/include/openssl /usr/local/include/openssl ; do
if test -f $d/ssl.h ; then
OPENSSL_INCLUDE=$d
fi
done
for d in /usr/ssl/lib /usr/local/ssl/lib /usr/lib/openssl \
/usr/lib /opt/ssl/lib /opt/openssl/lib ; do
/usr/lib /opt/ssl/lib /opt/openssl/lib /usr/local/lib/ ; do
if test -f $d/libssl.a ; then
OPENSSL_LIB=$d
fi
......
......@@ -26,7 +26,7 @@ bdb_build = build_unix
files = LICENSE Makefile Makefile.in README
subdirs = btree build_vxworks build_win32 clib common cxx db db185 \
db_archive db_checkpoint db_deadlock db_dump db_dump185 db_load \
db_printlog db_recover db_stat db_upgrade db_verify dbm dist docs \
db_printlog db_recover db_stat db_upgrade db_verify dbm dist \
env examples_c examples_cxx hash hsearch include java libdb_java \
lock log mp mutex os os_vxworks os_win32 perl.BerkeleyDB \
perl.DB_File qam rpc_client rpc_server tcl test txn xa
......
This diff is collapsed.
This diff is collapsed.
<!--$Id: db_close.so,v 10.27 2000/09/08 15:20:28 bostic Exp $-->
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<html>
<head>
<title>Berkeley DB: DB-&gt;close</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table><tr valign=top>
<td>
<h1>DB-&gt;close</h1>
</td>
<td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db.h&gt;
<p>
int
DB-&gt;close(DB *db, u_int32_t flags);
</pre></h3>
<h1>Description</h1>
<p>The DB-&gt;close function flushes any cached database information to disk,
closes any open cursors, frees any allocated resources, and closes any
underlying files. Since key/data pairs are cached in memory, failing to
sync the file with the DB-&gt;close or <a href="../api_c/db_sync.html">DB-&gt;sync</a> function may result
in inconsistent or lost information.
<p>The <b>flags</b> parameter must be set to 0 or the following value:
<p><dl compact>
<p><dt><a name="DB_NOSYNC">DB_NOSYNC</a><dd>Do not flush cached information to disk.
<p>The <a href="../api_c/db_close.html#DB_NOSYNC">DB_NOSYNC</a> flag is a dangerous option. It should only be set
if the application is doing logging (with transactions) so that the
database is recoverable after a system or application crash, or if the
database is always generated from scratch after any system or application
crash.
<p><b>It is important to understand that flushing cached information to disk
only minimizes the window of opportunity for corrupted data.</b>
While unlikely, it is possible for database corruption to happen if a
system or application crash occurs while writing data to the database.
To ensure that database corruption never occurs, applications must either:
use transactions and logging with automatic recovery, use logging and
application-specific recovery, or edit a copy of the database,
and, once all applications using the database have successfully called
DB-&gt;close, atomically replace the original database with the
updated copy.
</dl>
<p>When multiple threads are using the Berkeley DB handle concurrently, only a single
thread may call the DB-&gt;close function.
<p>Once DB-&gt;close has been called, regardless of its return, the
DB handle may not be accessed again.
<a name="3"><!--meow--></a>
<p>The DB-&gt;close function returns a non-zero error value on failure, 0 on success, and returns <a href="../api_c/memp_fsync.html#DB_INCOMPLETE">DB_INCOMPLETE</a> if the underlying database still has
dirty pages in the cache. (The only reason to return
<a href="../api_c/memp_fsync.html#DB_INCOMPLETE">DB_INCOMPLETE</a> is if another thread of control was writing pages
in the underlying database file at the same time as the
DB-&gt;close function was called. For this reason, a return of
<a href="../api_c/memp_fsync.html#DB_INCOMPLETE">DB_INCOMPLETE</a> can normally be ignored, or, in cases where it is
a possible return value, the <a href="../api_c/db_close.html#DB_NOSYNC">DB_NOSYNC</a> option should probably
have been specified.)
<p>The DB-&gt;close function returns a non-zero error value on failure and 0 on success.
<h1>Errors</h1>
<p>The DB-&gt;close function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
If a catastrophic error has occurred, the DB-&gt;close function may fail and return
<a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a>, in which case all subsequent Berkeley DB calls will fail
in the same way.
<h1>See Also</h1>
<a href="../api_c/db_create.html">db_create</a>,
<a href="../api_c/db_close.html">DB-&gt;close</a>,
<a href="../api_c/db_cursor.html">DB-&gt;cursor</a>,
<a href="../api_c/db_del.html">DB-&gt;del</a>,
<a href="../api_c/db_err.html">DB-&gt;err</a>,
<a href="../api_c/db_fd.html">DB-&gt;fd</a>,
<a href="../api_c/db_get.html">DB-&gt;get</a>,
<a href="../api_c/db_get_byteswapped.html">DB-&gt;get_byteswapped</a>,
<a href="../api_c/db_get_type.html">DB-&gt;get_type</a>,
<a href="../api_c/db_join.html">DB-&gt;join</a>,
<a href="../api_c/db_key_range.html">DB-&gt;key_range</a>,
<a href="../api_c/db_open.html">DB-&gt;open</a>,
<a href="../api_c/db_put.html">DB-&gt;put</a>,
<a href="../api_c/db_remove.html">DB-&gt;remove</a>,
<a href="../api_c/db_set_bt_compare.html">DB-&gt;set_bt_compare</a>,
<a href="../api_c/db_set_bt_minkey.html">DB-&gt;set_bt_minkey</a>,
<a href="../api_c/db_set_bt_prefix.html">DB-&gt;set_bt_prefix</a>,
<a href="../api_c/db_set_cachesize.html">DB-&gt;set_cachesize</a>,
<a href="../api_c/db_set_dup_compare.html">DB-&gt;set_dup_compare</a>,
<a href="../api_c/db_set_errcall.html">DB-&gt;set_errcall</a>,
<a href="../api_c/db_set_errfile.html">DB-&gt;set_errfile</a>,
<a href="../api_c/db_set_errpfx.html">DB-&gt;set_errpfx</a>,
<a href="../api_c/db_set_flags.html">DB-&gt;set_flags</a>,
<a href="../api_c/db_set_h_ffactor.html">DB-&gt;set_h_ffactor</a>,
<a href="../api_c/db_set_h_hash.html">DB-&gt;set_h_hash</a>,
<a href="../api_c/db_set_h_nelem.html">DB-&gt;set_h_nelem</a>,
<a href="../api_c/db_set_lorder.html">DB-&gt;set_lorder</a>,
<a href="../api_c/db_set_malloc.html">DB-&gt;set_malloc</a>,
<a href="../api_c/db_set_pagesize.html">DB-&gt;set_pagesize</a>,
<a href="../api_c/db_set_paniccall.html">DB-&gt;set_paniccall</a>,
<a href="../api_c/db_set_q_extentsize.html">DB-&gt;set_q_extentsize</a>,
<a href="../api_c/db_set_realloc.html">DB-&gt;set_realloc</a>,
<a href="../api_c/db_set_re_delim.html">DB-&gt;set_re_delim</a>,
<a href="../api_c/db_set_re_len.html">DB-&gt;set_re_len</a>,
<a href="../api_c/db_set_re_pad.html">DB-&gt;set_re_pad</a>,
<a href="../api_c/db_set_re_source.html">DB-&gt;set_re_source</a>,
<a href="../api_c/db_stat.html">DB-&gt;stat</a>,
<a href="../api_c/db_sync.html">DB-&gt;sync</a>,
<a href="../api_c/db_upgrade.html">DB-&gt;upgrade</a>
and
<a href="../api_c/db_verify.html">DB-&gt;verify</a>.
</tt>
<table><tr><td><br></td><td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
<!--$Id: db_create.so,v 10.12 2000/10/25 18:51:08 bostic Exp $-->
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<html>
<head>
<title>Berkeley DB: db_create</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table><tr valign=top>
<td>
<h1>db_create</h1>
</td>
<td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db.h&gt;
<p>
int
db_create(DB **dbp, DB_ENV *dbenv, u_int32_t flags);
</pre></h3>
<h1>Description</h1>
<p>The db_create function creates a DB structure which is the
handle for a Berkeley DB database. A pointer to this structure is returned
in the memory referenced by <b>db</b>.
<p>If the <b>dbenv</b> argument is NULL, the database is standalone, i.e.,
it is not part of any Berkeley DB environment.
<p>If the <b>dbenv</b> argument is not NULL, the database is created within
the specified Berkeley DB environment. The database access methods
automatically make calls to the other subsystems in Berkeley DB based on the
enclosing environment. For example, if the environment has been
configured to use locking, then the access methods will automatically
acquire the correct locks when reading and writing pages of the database.
<p>The <b>flags</b> parameter must be set to 0 or one of the following
values:
<p><dl compact>
<p><dt><a name="DB_XA_CREATE">DB_XA_CREATE</a><dd>Instead of creating a standalone database, create a database intended to
be accessed via applications running under a X/Open conformant Transaction
Manager. The database will be opened in the environment specified by the
OPENINFO parameter of the GROUPS section of the ubbconfig file. See the
<a href="../ref/xa/intro.html">XA Resource Manager</a> chapter in the
Reference Guide for more information.
</dl>
<p>The DB handle contains a special field, "app_private", which
is declared as type "void *". This field is provided for the use of
the application program. It is initialized to NULL and is not further
used by Berkeley DB in any way.
<p>The db_create function returns a non-zero error value on failure and 0 on success.
<h1>Errors</h1>
<p>The db_create function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
If a catastrophic error has occurred, the db_create function may fail and return
<a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a>, in which case all subsequent Berkeley DB calls will fail
in the same way.
<h1>See Also</h1>
<a href="../api_c/db_create.html">db_create</a>,
<a href="../api_c/db_close.html">DB-&gt;close</a>,
<a href="../api_c/db_cursor.html">DB-&gt;cursor</a>,
<a href="../api_c/db_del.html">DB-&gt;del</a>,
<a href="../api_c/db_err.html">DB-&gt;err</a>,
<a href="../api_c/db_fd.html">DB-&gt;fd</a>,
<a href="../api_c/db_get.html">DB-&gt;get</a>,
<a href="../api_c/db_get_byteswapped.html">DB-&gt;get_byteswapped</a>,
<a href="../api_c/db_get_type.html">DB-&gt;get_type</a>,
<a href="../api_c/db_join.html">DB-&gt;join</a>,
<a href="../api_c/db_key_range.html">DB-&gt;key_range</a>,
<a href="../api_c/db_open.html">DB-&gt;open</a>,
<a href="../api_c/db_put.html">DB-&gt;put</a>,
<a href="../api_c/db_remove.html">DB-&gt;remove</a>,
<a href="../api_c/db_set_bt_compare.html">DB-&gt;set_bt_compare</a>,
<a href="../api_c/db_set_bt_minkey.html">DB-&gt;set_bt_minkey</a>,
<a href="../api_c/db_set_bt_prefix.html">DB-&gt;set_bt_prefix</a>,
<a href="../api_c/db_set_cachesize.html">DB-&gt;set_cachesize</a>,
<a href="../api_c/db_set_dup_compare.html">DB-&gt;set_dup_compare</a>,
<a href="../api_c/db_set_errcall.html">DB-&gt;set_errcall</a>,
<a href="../api_c/db_set_errfile.html">DB-&gt;set_errfile</a>,
<a href="../api_c/db_set_errpfx.html">DB-&gt;set_errpfx</a>,
<a href="../api_c/db_set_flags.html">DB-&gt;set_flags</a>,
<a href="../api_c/db_set_h_ffactor.html">DB-&gt;set_h_ffactor</a>,
<a href="../api_c/db_set_h_hash.html">DB-&gt;set_h_hash</a>,
<a href="../api_c/db_set_h_nelem.html">DB-&gt;set_h_nelem</a>,
<a href="../api_c/db_set_lorder.html">DB-&gt;set_lorder</a>,
<a href="../api_c/db_set_malloc.html">DB-&gt;set_malloc</a>,
<a href="../api_c/db_set_pagesize.html">DB-&gt;set_pagesize</a>,
<a href="../api_c/db_set_paniccall.html">DB-&gt;set_paniccall</a>,
<a href="../api_c/db_set_q_extentsize.html">DB-&gt;set_q_extentsize</a>,
<a href="../api_c/db_set_realloc.html">DB-&gt;set_realloc</a>,
<a href="../api_c/db_set_re_delim.html">DB-&gt;set_re_delim</a>,
<a href="../api_c/db_set_re_len.html">DB-&gt;set_re_len</a>,
<a href="../api_c/db_set_re_pad.html">DB-&gt;set_re_pad</a>,
<a href="../api_c/db_set_re_source.html">DB-&gt;set_re_source</a>,
<a href="../api_c/db_stat.html">DB-&gt;stat</a>,
<a href="../api_c/db_sync.html">DB-&gt;sync</a>,
<a href="../api_c/db_upgrade.html">DB-&gt;upgrade</a>
and
<a href="../api_c/db_verify.html">DB-&gt;verify</a>.
</tt>
<table><tr><td><br></td><td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
<!--$Id: db_cursor.so,v 10.25 2000/07/11 19:11:25 bostic Exp $-->
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<html>
<head>
<title>Berkeley DB: DB-&gt;cursor</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table><tr valign=top>
<td>
<h1>DB-&gt;cursor</h1>
</td>
<td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db.h&gt;
<p>
int
DB-&gt;cursor(DB *db,
DB_TXN *txnid, DBC **cursorp, u_int32_t flags);
</pre></h3>
<h1>Description</h1>
<p>The DB-&gt;cursor function
creates a cursor and copies a pointer to it into the memory referenced
by <b>cursorp</b>.
<p>If the file is being accessed under transaction protection, the
<b>txnid</b> parameter is a transaction ID returned from
<a href="../api_c/txn_begin.html">txn_begin</a>, otherwise, NULL.
<p>If transaction protection is enabled, cursors must be opened and closed
within the context of a transaction, and the <b>txnid</b> parameter
specifies the transaction context in which the cursor may be used.
<p>The <b>flags</b> value must be set to 0 or by bitwise inclusively <b>OR</b>'ing together one or more
of the following values.
<p><dl compact>
<p><dt><a name="DB_WRITECURSOR">DB_WRITECURSOR</a><dd>Specify that the cursor will be used to update the database. This
flag should <b>only</b> be set when the <a href="../api_c/env_open.html#DB_INIT_CDB">DB_INIT_CDB</a> flag
was specified to <a href="../api_c/env_open.html">DBENV-&gt;open</a>.
</dl>
<p>The DB-&gt;cursor function returns a non-zero error value on failure and 0 on success.
<h1>Errors</h1>
<p>The DB-&gt;cursor function may fail and return a non-zero error for the following conditions:
<p><dl compact>
<p><dt>EINVAL<dd>An invalid flag value or parameter was specified.
</dl>
<p>The DB-&gt;cursor function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
If a catastrophic error has occurred, the DB-&gt;cursor function may fail and return
<a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a>, in which case all subsequent Berkeley DB calls will fail
in the same way.
<h1>See Also</h1>
<a href="../api_c/db_create.html">db_create</a>,
<a href="../api_c/db_close.html">DB-&gt;close</a>,
<a href="../api_c/db_cursor.html">DB-&gt;cursor</a>,
<a href="../api_c/db_del.html">DB-&gt;del</a>,
<a href="../api_c/db_err.html">DB-&gt;err</a>,
<a href="../api_c/db_fd.html">DB-&gt;fd</a>,
<a href="../api_c/db_get.html">DB-&gt;get</a>,
<a href="../api_c/db_get_byteswapped.html">DB-&gt;get_byteswapped</a>,
<a href="../api_c/db_get_type.html">DB-&gt;get_type</a>,
<a href="../api_c/db_join.html">DB-&gt;join</a>,
<a href="../api_c/db_key_range.html">DB-&gt;key_range</a>,
<a href="../api_c/db_open.html">DB-&gt;open</a>,
<a href="../api_c/db_put.html">DB-&gt;put</a>,
<a href="../api_c/db_remove.html">DB-&gt;remove</a>,
<a href="../api_c/db_set_bt_compare.html">DB-&gt;set_bt_compare</a>,
<a href="../api_c/db_set_bt_minkey.html">DB-&gt;set_bt_minkey</a>,
<a href="../api_c/db_set_bt_prefix.html">DB-&gt;set_bt_prefix</a>,
<a href="../api_c/db_set_cachesize.html">DB-&gt;set_cachesize</a>,
<a href="../api_c/db_set_dup_compare.html">DB-&gt;set_dup_compare</a>,
<a href="../api_c/db_set_errcall.html">DB-&gt;set_errcall</a>,
<a href="../api_c/db_set_errfile.html">DB-&gt;set_errfile</a>,
<a href="../api_c/db_set_errpfx.html">DB-&gt;set_errpfx</a>,
<a href="../api_c/db_set_flags.html">DB-&gt;set_flags</a>,
<a href="../api_c/db_set_h_ffactor.html">DB-&gt;set_h_ffactor</a>,
<a href="../api_c/db_set_h_hash.html">DB-&gt;set_h_hash</a>,
<a href="../api_c/db_set_h_nelem.html">DB-&gt;set_h_nelem</a>,
<a href="../api_c/db_set_lorder.html">DB-&gt;set_lorder</a>,
<a href="../api_c/db_set_malloc.html">DB-&gt;set_malloc</a>,
<a href="../api_c/db_set_pagesize.html">DB-&gt;set_pagesize</a>,
<a href="../api_c/db_set_paniccall.html">DB-&gt;set_paniccall</a>,
<a href="../api_c/db_set_q_extentsize.html">DB-&gt;set_q_extentsize</a>,
<a href="../api_c/db_set_realloc.html">DB-&gt;set_realloc</a>,
<a href="../api_c/db_set_re_delim.html">DB-&gt;set_re_delim</a>,
<a href="../api_c/db_set_re_len.html">DB-&gt;set_re_len</a>,
<a href="../api_c/db_set_re_pad.html">DB-&gt;set_re_pad</a>,
<a href="../api_c/db_set_re_source.html">DB-&gt;set_re_source</a>,
<a href="../api_c/db_stat.html">DB-&gt;stat</a>,
<a href="../api_c/db_sync.html">DB-&gt;sync</a>,
<a href="../api_c/db_upgrade.html">DB-&gt;upgrade</a>
and
<a href="../api_c/db_verify.html">DB-&gt;verify</a>.
</tt>
<table><tr><td><br></td><td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
<!--$Id: db_del.so,v 10.23 2000/09/05 19:35:10 bostic Exp $-->
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<html>
<head>
<title>Berkeley DB: DB-&gt;del</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table><tr valign=top>
<td>
<h1>DB-&gt;del</h1>
</td>
<td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db.h&gt;
<p>
int
DB-&gt;del(DB *db, DB_TXN *txnid, DBT *key, u_int32_t flags);
</pre></h3>
<h1>Description</h1>
<p>The DB-&gt;del function removes key/data pairs from the database. The
key/data pair associated with the specified <b>key</b> is discarded from
the database. In the presence of duplicate key values, all records
associated with the designated key will be discarded.
<p>If the file is being accessed under transaction protection, the
<b>txnid</b> parameter is a transaction ID returned from
<a href="../api_c/txn_begin.html">txn_begin</a>, otherwise, NULL.
<p>The <b>flags</b> parameter is currently unused, and must be set to 0.
<p>The DB-&gt;del function returns a non-zero error value on failure, 0 on success, and <a href="../ref/program/errorret.html#DB_NOTFOUND">DB_NOTFOUND</a> if the specified <b>key</b> did not exist in
the file.
<h1>Errors</h1>
<p>The DB-&gt;del function may fail and return a non-zero error for the following conditions:
<p><dl compact>
<p><dt>DB_LOCK_DEADLOCK<dd>The operation was selected to resolve a deadlock.
</dl>
<p><dl compact>
<p><dt>EACCES<dd>An attempt was made to modify a read-only database.
</dl>
<p><dl compact>
<p><dt>EINVAL<dd>An invalid flag value or parameter was specified.
</dl>
<p>The DB-&gt;del function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
If a catastrophic error has occurred, the DB-&gt;del function may fail and return
<a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a>, in which case all subsequent Berkeley DB calls will fail
in the same way.
<h1>See Also</h1>
<a href="../api_c/db_create.html">db_create</a>,
<a href="../api_c/db_close.html">DB-&gt;close</a>,
<a href="../api_c/db_cursor.html">DB-&gt;cursor</a>,
<a href="../api_c/db_del.html">DB-&gt;del</a>,
<a href="../api_c/db_err.html">DB-&gt;err</a>,
<a href="../api_c/db_fd.html">DB-&gt;fd</a>,
<a href="../api_c/db_get.html">DB-&gt;get</a>,
<a href="../api_c/db_get_byteswapped.html">DB-&gt;get_byteswapped</a>,
<a href="../api_c/db_get_type.html">DB-&gt;get_type</a>,
<a href="../api_c/db_join.html">DB-&gt;join</a>,
<a href="../api_c/db_key_range.html">DB-&gt;key_range</a>,
<a href="../api_c/db_open.html">DB-&gt;open</a>,
<a href="../api_c/db_put.html">DB-&gt;put</a>,
<a href="../api_c/db_remove.html">DB-&gt;remove</a>,
<a href="../api_c/db_set_bt_compare.html">DB-&gt;set_bt_compare</a>,
<a href="../api_c/db_set_bt_minkey.html">DB-&gt;set_bt_minkey</a>,
<a href="../api_c/db_set_bt_prefix.html">DB-&gt;set_bt_prefix</a>,
<a href="../api_c/db_set_cachesize.html">DB-&gt;set_cachesize</a>,
<a href="../api_c/db_set_dup_compare.html">DB-&gt;set_dup_compare</a>,
<a href="../api_c/db_set_errcall.html">DB-&gt;set_errcall</a>,
<a href="../api_c/db_set_errfile.html">DB-&gt;set_errfile</a>,
<a href="../api_c/db_set_errpfx.html">DB-&gt;set_errpfx</a>,
<a href="../api_c/db_set_flags.html">DB-&gt;set_flags</a>,
<a href="../api_c/db_set_h_ffactor.html">DB-&gt;set_h_ffactor</a>,
<a href="../api_c/db_set_h_hash.html">DB-&gt;set_h_hash</a>,
<a href="../api_c/db_set_h_nelem.html">DB-&gt;set_h_nelem</a>,
<a href="../api_c/db_set_lorder.html">DB-&gt;set_lorder</a>,
<a href="../api_c/db_set_malloc.html">DB-&gt;set_malloc</a>,
<a href="../api_c/db_set_pagesize.html">DB-&gt;set_pagesize</a>,
<a href="../api_c/db_set_paniccall.html">DB-&gt;set_paniccall</a>,
<a href="../api_c/db_set_q_extentsize.html">DB-&gt;set_q_extentsize</a>,
<a href="../api_c/db_set_realloc.html">DB-&gt;set_realloc</a>,
<a href="../api_c/db_set_re_delim.html">DB-&gt;set_re_delim</a>,
<a href="../api_c/db_set_re_len.html">DB-&gt;set_re_len</a>,
<a href="../api_c/db_set_re_pad.html">DB-&gt;set_re_pad</a>,
<a href="../api_c/db_set_re_source.html">DB-&gt;set_re_source</a>,
<a href="../api_c/db_stat.html">DB-&gt;stat</a>,
<a href="../api_c/db_sync.html">DB-&gt;sync</a>,
<a href="../api_c/db_upgrade.html">DB-&gt;upgrade</a>
and
<a href="../api_c/db_verify.html">DB-&gt;verify</a>.
</tt>
<table><tr><td><br></td><td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
<!--$Id: db_err.so,v 10.11 1999/12/20 08:52:27 bostic Exp $-->
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<html>
<head>
<title>Berkeley DB: DBENV-&gt;err</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table><tr valign=top>
<td>
<h1>DBENV-&gt;err</h1>
</td>
<td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db.h&gt;
<p>
void
DBENV-&gt;err(DB_ENV *dbenv, int error, const char *fmt, ...);
<p>
void
DBENV-&gt;errx(DB_ENV *dbenv, const char *fmt, ...);
<p>
void
DB-&gt;err(DB *db, int error, const char *fmt, ...);
<p>
void
DB-&gt;errx(DB *db, const char *fmt, ...);
</pre></h3>
<h1>Description</h1>
<p>The DBENV-&gt;err, DBENV-&gt;errx, DB-&gt;err and
DB-&gt;errx functions provide error messaging functionality for
applications written using the Berkeley DB library.
<p>The DBENV-&gt;err function constructs an error message consisting of the
following elements:
<p><blockquote><p><dl compact>
<p><dt>An optional prefix string<dd>If no error callback function has been set using the
<a href="../api_c/env_set_errcall.html">DBENV-&gt;set_errcall</a> function, any prefix string specified using the
<a href="../api_c/env_set_errpfx.html">DBENV-&gt;set_errpfx</a> function, followed by two separating characters: a colon
and a &lt;space&gt; character.
<p><dt>An optional printf-style message<dd>The supplied message <b>fmt</b>, if non-NULL, where the ANSI C X3.159-1989 (ANSI C)
printf function specifies how subsequent arguments are converted for
output.
<p><dt>A separator<dd>Two separating characters: a colon and a &lt;space&gt; character.
<p><dt>A standard error string<dd>The standard system or Berkeley DB library error string associated with the
<b>error</b> value, as returned by the <a href="../api_c/env_strerror.html">db_strerror</a> function.
</dl>
</blockquote>
<p>This constructed error message is then handled as follows:
<p><blockquote>
<p>If an error callback function has been set (see <a href="../api_c/db_set_errcall.html">DB-&gt;set_errcall</a>
and <a href="../api_c/env_set_errcall.html">DBENV-&gt;set_errcall</a>), that function is called with two
arguments: any prefix string specified (see <a href="../api_c/db_set_errpfx.html">DB-&gt;set_errpfx</a> and
<a href="../api_c/env_set_errpfx.html">DBENV-&gt;set_errpfx</a>), and the error message.
<p>If a C library FILE * has been set (see <a href="../api_c/db_set_errfile.html">DB-&gt;set_errfile</a> and
<a href="../api_c/env_set_errfile.html">DBENV-&gt;set_errfile</a>), the error message is written to that output
stream.
<p>If none of these output options has been configured, the error message
is written to stderr, the standard error output stream.</blockquote>
<p>The DBENV-&gt;errx and DB-&gt;errx functions perform identically to the
DBENV-&gt;err and DB-&gt;err functions except that they do not append
the final separator characters and standard error string to the error
message.
<h1>See Also</h1>
<a href="../api_c/env_close.html">DBENV-&gt;close</a>,
<a href="../api_c/env_create.html">db_env_create</a>,
<a href="../api_c/env_open.html">DBENV-&gt;open</a>,
<a href="../api_c/env_remove.html">DBENV-&gt;remove</a>,
<a href="../api_c/db_err.html">DBENV-&gt;err</a>,
<a href="../api_c/env_strerror.html">db_strerror</a>,
<a href="../api_c/env_version.html">db_version</a>,
<a href="../api_c/env_set_cachesize.html">DBENV-&gt;set_cachesize</a>,
<a href="../api_c/env_set_errcall.html">DBENV-&gt;set_errcall</a>,
<a href="../api_c/env_set_errfile.html">DBENV-&gt;set_errfile</a>,
<a href="../api_c/env_set_errpfx.html">DBENV-&gt;set_errpfx</a>,
<a href="../api_c/env_set_flags.html">DBENV-&gt;set_flags</a>,
<a href="../api_c/env_set_mutexlocks.html">DBENV-&gt;set_mutexlocks</a>,
<a href="../api_c/env_set_paniccall.html">DBENV-&gt;set_paniccall</a>,
and
<a href="../api_c/env_set_verbose.html">DBENV-&gt;set_verbose</a>.
</tt>
<table><tr><td><br></td><td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
<!--$Id: db_fd.so,v 10.21 2000/03/01 21:41:28 bostic Exp $-->
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<html>
<head>
<title>Berkeley DB: DB-&gt;fd</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table><tr valign=top>
<td>
<h1>DB-&gt;fd</h1>
</td>
<td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db.h&gt;
<p>
int
DB-&gt;fd(DB *db, int *fdp);
</pre></h3>
<h1>Description</h1>
<p>The DB-&gt;fd function
copies a file descriptor representative of the underlying database into
the memory referenced by <b>fdp</b>. A file descriptor referencing the
same file will be returned to all processes that call <a href="../api_c/db_open.html">DB-&gt;open</a> with
the same <b>file</b> argument. This file descriptor may be safely used
as an argument to the <b>fcntl</b>(2) and <b>flock</b>(2) locking
functions. The file descriptor is not necessarily associated with any of
the underlying files actually used by the access method.
<p>The DB-&gt;fd function only supports a coarse-grained form of locking.
Applications should use the lock manager where possible.
<p>The DB-&gt;fd function returns a non-zero error value on failure and 0 on success.
<h1>Errors</h1>
<p>The DB-&gt;fd function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
If a catastrophic error has occurred, the DB-&gt;fd function may fail and return
<a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a>, in which case all subsequent Berkeley DB calls will fail
in the same way.
<h1>See Also</h1>
<a href="../api_c/db_create.html">db_create</a>,
<a href="../api_c/db_close.html">DB-&gt;close</a>,
<a href="../api_c/db_cursor.html">DB-&gt;cursor</a>,
<a href="../api_c/db_del.html">DB-&gt;del</a>,
<a href="../api_c/db_err.html">DB-&gt;err</a>,
<a href="../api_c/db_fd.html">DB-&gt;fd</a>,
<a href="../api_c/db_get.html">DB-&gt;get</a>,
<a href="../api_c/db_get_byteswapped.html">DB-&gt;get_byteswapped</a>,
<a href="../api_c/db_get_type.html">DB-&gt;get_type</a>,
<a href="../api_c/db_join.html">DB-&gt;join</a>,
<a href="../api_c/db_key_range.html">DB-&gt;key_range</a>,
<a href="../api_c/db_open.html">DB-&gt;open</a>,
<a href="../api_c/db_put.html">DB-&gt;put</a>,
<a href="../api_c/db_remove.html">DB-&gt;remove</a>,
<a href="../api_c/db_set_bt_compare.html">DB-&gt;set_bt_compare</a>,
<a href="../api_c/db_set_bt_minkey.html">DB-&gt;set_bt_minkey</a>,
<a href="../api_c/db_set_bt_prefix.html">DB-&gt;set_bt_prefix</a>,
<a href="../api_c/db_set_cachesize.html">DB-&gt;set_cachesize</a>,
<a href="../api_c/db_set_dup_compare.html">DB-&gt;set_dup_compare</a>,
<a href="../api_c/db_set_errcall.html">DB-&gt;set_errcall</a>,
<a href="../api_c/db_set_errfile.html">DB-&gt;set_errfile</a>,
<a href="../api_c/db_set_errpfx.html">DB-&gt;set_errpfx</a>,
<a href="../api_c/db_set_flags.html">DB-&gt;set_flags</a>,
<a href="../api_c/db_set_h_ffactor.html">DB-&gt;set_h_ffactor</a>,
<a href="../api_c/db_set_h_hash.html">DB-&gt;set_h_hash</a>,
<a href="../api_c/db_set_h_nelem.html">DB-&gt;set_h_nelem</a>,
<a href="../api_c/db_set_lorder.html">DB-&gt;set_lorder</a>,
<a href="../api_c/db_set_malloc.html">DB-&gt;set_malloc</a>,
<a href="../api_c/db_set_pagesize.html">DB-&gt;set_pagesize</a>,
<a href="../api_c/db_set_paniccall.html">DB-&gt;set_paniccall</a>,
<a href="../api_c/db_set_q_extentsize.html">DB-&gt;set_q_extentsize</a>,
<a href="../api_c/db_set_realloc.html">DB-&gt;set_realloc</a>,
<a href="../api_c/db_set_re_delim.html">DB-&gt;set_re_delim</a>,
<a href="../api_c/db_set_re_len.html">DB-&gt;set_re_len</a>,
<a href="../api_c/db_set_re_pad.html">DB-&gt;set_re_pad</a>,
<a href="../api_c/db_set_re_source.html">DB-&gt;set_re_source</a>,
<a href="../api_c/db_stat.html">DB-&gt;stat</a>,
<a href="../api_c/db_sync.html">DB-&gt;sync</a>,
<a href="../api_c/db_upgrade.html">DB-&gt;upgrade</a>
and
<a href="../api_c/db_verify.html">DB-&gt;verify</a>.
</tt>
<table><tr><td><br></td><td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
<!--$Id: db_get.so,v 10.31 2000/11/28 20:12:30 bostic Exp $-->
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<html>
<head>
<title>Berkeley DB: DB-&gt;get</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table><tr valign=top>
<td>
<h1>DB-&gt;get</h1>
</td>
<td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db.h&gt;
<p>
int
DB-&gt;get(DB *db,
DB_TXN *txnid, DBT *key, DBT *data, u_int32_t flags);
</pre></h3>
<h1>Description</h1>
<p>The DB-&gt;get function retrieves key/data pairs from the database. The
address
and length of the data associated with the specified <b>key</b> are
returned in the structure referenced by <b>data</b>.
<p>In the presence of duplicate key values, DB-&gt;get will return the
first data item for the designated key. Duplicates are sorted by insert
order except where this order has been overridden by cursor operations.
<b>Retrieval of duplicates requires the use of cursor operations.</b>
See <a href="../api_c/dbc_get.html">DBcursor-&gt;c_get</a> for details.
<p>If the file is being accessed under transaction protection, the
<b>txnid</b> parameter is a transaction ID returned from
<a href="../api_c/txn_begin.html">txn_begin</a>, otherwise, NULL.
<p>The <b>flags</b> parameter must be set to 0 or one of the following
values:
<p><dl compact>
<p><dt><a name="DB_CONSUME">DB_CONSUME</a><dd>Return the record number and data from the available record closest to
the head of the queue and delete the record. The cursor will be
positioned on the deleted record. The record number will be returned
in <b>key</b> as described in <a href="../api_c/dbt.html">DBT</a>. The data will be returned
in the <b>data</b> parameter. A record is available if it is not
deleted and is not currently locked. The underlying database must be
of type Queue for DB_CONSUME to be specified.
<p><dt><a name="DB_CONSUME_WAIT">DB_CONSUME_WAIT</a><dd>The DB_CONSUME_WAIT flag is the same as the DB_CONSUME
flag except that if the Queue database is empty, the thread of control
will wait until there is data in the queue before returning. The
underlying database must be of type Queue for DB_CONSUME_WAIT
to be specified.
<p><dt><a name="DB_GET_BOTH">DB_GET_BOTH</a><dd>Retrieve the key/data pair only if both the key and data match the
arguments.
<p><dt><a name="DB_SET_RECNO">DB_SET_RECNO</a><dd>Retrieve the specified numbered key/data pair from a database.
Upon return, both the <b>key</b> and <b>data</b> items will have been
filled in, not just the data item as is done for all other uses of the
DB-&gt;get function.
<p>The <b>data</b> field of the specified <b>key</b>
must be a pointer to a logical record number (i.e., a <b>db_recno_t</b>).
This record number determines the record to be retrieved.
<p>For DB_SET_RECNO to be specified, the underlying database must be
of type Btree and it must have been created with the DB_RECNUM flag.
</dl>
<p>In addition, the following flag may be set by bitwise inclusively <b>OR</b>'ing it into the
<b>flags</b> parameter:
<p><dl compact>
<p><dt><a name="DB_RMW">DB_RMW</a><dd>Acquire write locks instead of read locks when doing the retrieval.
Setting this flag may decrease the likelihood of deadlock during a
read-modify-write cycle by immediately acquiring the write lock during
the read part of the cycle so that another thread of control acquiring
a read lock for the same item, in its own read-modify-write cycle, will
not result in deadlock.
<p>As the DB-&gt;get interface will not hold locks across
Berkeley DB interface calls in non-transactional environments, the
<a href="../api_c/dbc_get.html#DB_RMW">DB_RMW</a> flag to the DB-&gt;get call is only meaningful in
the presence of transactions.
</dl>
<p>If the database is a Queue or Recno database and the requested key exists,
but was never explicitly created by the application or was later deleted,
the DB-&gt;get function returns <a href="../ref/program/errorret.html#DB_KEYEMPTY">DB_KEYEMPTY</a>.
<p>Otherwise, if the requested key is not in the database, the
DB-&gt;get function returns <a href="../ref/program/errorret.html#DB_NOTFOUND">DB_NOTFOUND</a>.
<p>Otherwise, the DB-&gt;get function returns a non-zero error value on failure and 0 on success.
<h1>Errors</h1>
<p>The DB-&gt;get function may fail and return a non-zero error for the following conditions:
<p><dl compact>
<p><dt>DB_LOCK_DEADLOCK<dd>The operation was selected to resolve a deadlock.
</dl>
<p><dl compact>
<p><dt>ENOMEM<dd>There was insufficient memory to return the requested item.
</dl>
<p><dl compact>
<p><dt>EINVAL<dd>An invalid flag value or parameter was specified.
<p>A record number of 0 was specified.
<p>The <a href="../api_c/env_open.html#DB_THREAD">DB_THREAD</a> flag was specified to the
<a href="../api_c/db_open.html">DB-&gt;open</a> function and none of the <a href="../api_c/dbt.html#DB_DBT_MALLOC">DB_DBT_MALLOC</a>,
<a href="../api_c/dbt.html#DB_DBT_REALLOC">DB_DBT_REALLOC</a> or <a href="../api_c/dbt.html#DB_DBT_USERMEM">DB_DBT_USERMEM</a> flags were set in the
<a href="../api_c/dbt.html">DBT</a>.
</dl>
<p>The DB-&gt;get function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
If a catastrophic error has occurred, the DB-&gt;get function may fail and return
<a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a>, in which case all subsequent Berkeley DB calls will fail
in the same way.
<h1>See Also</h1>
<a href="../api_c/db_create.html">db_create</a>,
<a href="../api_c/db_close.html">DB-&gt;close</a>,
<a href="../api_c/db_cursor.html">DB-&gt;cursor</a>,
<a href="../api_c/db_del.html">DB-&gt;del</a>,
<a href="../api_c/db_err.html">DB-&gt;err</a>,
<a href="../api_c/db_fd.html">DB-&gt;fd</a>,
<a href="../api_c/db_get.html">DB-&gt;get</a>,
<a href="../api_c/db_get_byteswapped.html">DB-&gt;get_byteswapped</a>,
<a href="../api_c/db_get_type.html">DB-&gt;get_type</a>,
<a href="../api_c/db_join.html">DB-&gt;join</a>,
<a href="../api_c/db_key_range.html">DB-&gt;key_range</a>,
<a href="../api_c/db_open.html">DB-&gt;open</a>,
<a href="../api_c/db_put.html">DB-&gt;put</a>,
<a href="../api_c/db_remove.html">DB-&gt;remove</a>,
<a href="../api_c/db_set_bt_compare.html">DB-&gt;set_bt_compare</a>,
<a href="../api_c/db_set_bt_minkey.html">DB-&gt;set_bt_minkey</a>,
<a href="../api_c/db_set_bt_prefix.html">DB-&gt;set_bt_prefix</a>,
<a href="../api_c/db_set_cachesize.html">DB-&gt;set_cachesize</a>,
<a href="../api_c/db_set_dup_compare.html">DB-&gt;set_dup_compare</a>,
<a href="../api_c/db_set_errcall.html">DB-&gt;set_errcall</a>,
<a href="../api_c/db_set_errfile.html">DB-&gt;set_errfile</a>,
<a href="../api_c/db_set_errpfx.html">DB-&gt;set_errpfx</a>,
<a href="../api_c/db_set_flags.html">DB-&gt;set_flags</a>,
<a href="../api_c/db_set_h_ffactor.html">DB-&gt;set_h_ffactor</a>,
<a href="../api_c/db_set_h_hash.html">DB-&gt;set_h_hash</a>,
<a href="../api_c/db_set_h_nelem.html">DB-&gt;set_h_nelem</a>,
<a href="../api_c/db_set_lorder.html">DB-&gt;set_lorder</a>,
<a href="../api_c/db_set_malloc.html">DB-&gt;set_malloc</a>,
<a href="../api_c/db_set_pagesize.html">DB-&gt;set_pagesize</a>,
<a href="../api_c/db_set_paniccall.html">DB-&gt;set_paniccall</a>,
<a href="../api_c/db_set_q_extentsize.html">DB-&gt;set_q_extentsize</a>,
<a href="../api_c/db_set_realloc.html">DB-&gt;set_realloc</a>,
<a href="../api_c/db_set_re_delim.html">DB-&gt;set_re_delim</a>,
<a href="../api_c/db_set_re_len.html">DB-&gt;set_re_len</a>,
<a href="../api_c/db_set_re_pad.html">DB-&gt;set_re_pad</a>,
<a href="../api_c/db_set_re_source.html">DB-&gt;set_re_source</a>,
<a href="../api_c/db_stat.html">DB-&gt;stat</a>,
<a href="../api_c/db_sync.html">DB-&gt;sync</a>,
<a href="../api_c/db_upgrade.html">DB-&gt;upgrade</a>
and
<a href="../api_c/db_verify.html">DB-&gt;verify</a>.
</tt>
<table><tr><td><br></td><td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
<!--$Id: db_get_byteswapped.so,v 10.7 1999/12/20 08:52:27 bostic Exp $-->
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<html>
<head>
<title>Berkeley DB: DB-&gt;get_byteswapped</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table><tr valign=top>
<td>
<h1>DB-&gt;get_byteswapped</h1>
</td>
<td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db.h&gt;
<p>
int
DB-&gt;get_byteswapped(DB *db);
</pre></h3>
<h1>Description</h1>
<p>The DB-&gt;get_byteswapped function returns
0
if the underlying database files were created on an architecture
of the same byte order as the current one, and
1
if they were not (i.e., big-endian on a little-endian machine or
vice-versa). This field may be used to determine if application
data needs to be adjusted for this architecture or not.
<h1>See Also</h1>
<a href="../api_c/db_create.html">db_create</a>,
<a href="../api_c/db_close.html">DB-&gt;close</a>,
<a href="../api_c/db_cursor.html">DB-&gt;cursor</a>,
<a href="../api_c/db_del.html">DB-&gt;del</a>,
<a href="../api_c/db_err.html">DB-&gt;err</a>,
<a href="../api_c/db_fd.html">DB-&gt;fd</a>,
<a href="../api_c/db_get.html">DB-&gt;get</a>,
<a href="../api_c/db_get_byteswapped.html">DB-&gt;get_byteswapped</a>,
<a href="../api_c/db_get_type.html">DB-&gt;get_type</a>,
<a href="../api_c/db_join.html">DB-&gt;join</a>,
<a href="../api_c/db_key_range.html">DB-&gt;key_range</a>,
<a href="../api_c/db_open.html">DB-&gt;open</a>,
<a href="../api_c/db_put.html">DB-&gt;put</a>,
<a href="../api_c/db_remove.html">DB-&gt;remove</a>,
<a href="../api_c/db_set_bt_compare.html">DB-&gt;set_bt_compare</a>,
<a href="../api_c/db_set_bt_minkey.html">DB-&gt;set_bt_minkey</a>,
<a href="../api_c/db_set_bt_prefix.html">DB-&gt;set_bt_prefix</a>,
<a href="../api_c/db_set_cachesize.html">DB-&gt;set_cachesize</a>,
<a href="../api_c/db_set_dup_compare.html">DB-&gt;set_dup_compare</a>,
<a href="../api_c/db_set_errcall.html">DB-&gt;set_errcall</a>,
<a href="../api_c/db_set_errfile.html">DB-&gt;set_errfile</a>,
<a href="../api_c/db_set_errpfx.html">DB-&gt;set_errpfx</a>,
<a href="../api_c/db_set_flags.html">DB-&gt;set_flags</a>,
<a href="../api_c/db_set_h_ffactor.html">DB-&gt;set_h_ffactor</a>,
<a href="../api_c/db_set_h_hash.html">DB-&gt;set_h_hash</a>,
<a href="../api_c/db_set_h_nelem.html">DB-&gt;set_h_nelem</a>,
<a href="../api_c/db_set_lorder.html">DB-&gt;set_lorder</a>,
<a href="../api_c/db_set_malloc.html">DB-&gt;set_malloc</a>,
<a href="../api_c/db_set_pagesize.html">DB-&gt;set_pagesize</a>,
<a href="../api_c/db_set_paniccall.html">DB-&gt;set_paniccall</a>,
<a href="../api_c/db_set_q_extentsize.html">DB-&gt;set_q_extentsize</a>,
<a href="../api_c/db_set_realloc.html">DB-&gt;set_realloc</a>,
<a href="../api_c/db_set_re_delim.html">DB-&gt;set_re_delim</a>,
<a href="../api_c/db_set_re_len.html">DB-&gt;set_re_len</a>,
<a href="../api_c/db_set_re_pad.html">DB-&gt;set_re_pad</a>,
<a href="../api_c/db_set_re_source.html">DB-&gt;set_re_source</a>,
<a href="../api_c/db_stat.html">DB-&gt;stat</a>,
<a href="../api_c/db_sync.html">DB-&gt;sync</a>,
<a href="../api_c/db_upgrade.html">DB-&gt;upgrade</a>
and
<a href="../api_c/db_verify.html">DB-&gt;verify</a>.
</tt>
<table><tr><td><br></td><td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
<!--$Id: db_get_type.so,v 10.10 1999/12/20 08:52:27 bostic Exp $-->
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<html>
<head>
<title>Berkeley DB: DB-&gt;get_type</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table><tr valign=top>
<td>
<h1>DB-&gt;get_type</h1>
</td>
<td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db.h&gt;
<p>
DBTYPE
DB-&gt;get_type(DB *db);
</pre></h3>
<h1>Description</h1>
<p>The DB-&gt;get_type function returns the type of the underlying access method
(and file format). It returns one of DB_BTREE,
DB_HASH or DB_RECNO. This value may be used to
determine the type of the database after a return from <a href="../api_c/db_open.html">DB-&gt;open</a>
with the <b>type</b> argument set to DB_UNKNOWN.
<h1>See Also</h1>
<a href="../api_c/db_create.html">db_create</a>,
<a href="../api_c/db_close.html">DB-&gt;close</a>,
<a href="../api_c/db_cursor.html">DB-&gt;cursor</a>,
<a href="../api_c/db_del.html">DB-&gt;del</a>,
<a href="../api_c/db_err.html">DB-&gt;err</a>,
<a href="../api_c/db_fd.html">DB-&gt;fd</a>,
<a href="../api_c/db_get.html">DB-&gt;get</a>,
<a href="../api_c/db_get_byteswapped.html">DB-&gt;get_byteswapped</a>,
<a href="../api_c/db_get_type.html">DB-&gt;get_type</a>,
<a href="../api_c/db_join.html">DB-&gt;join</a>,
<a href="../api_c/db_key_range.html">DB-&gt;key_range</a>,
<a href="../api_c/db_open.html">DB-&gt;open</a>,
<a href="../api_c/db_put.html">DB-&gt;put</a>,
<a href="../api_c/db_remove.html">DB-&gt;remove</a>,
<a href="../api_c/db_set_bt_compare.html">DB-&gt;set_bt_compare</a>,
<a href="../api_c/db_set_bt_minkey.html">DB-&gt;set_bt_minkey</a>,
<a href="../api_c/db_set_bt_prefix.html">DB-&gt;set_bt_prefix</a>,
<a href="../api_c/db_set_cachesize.html">DB-&gt;set_cachesize</a>,
<a href="../api_c/db_set_dup_compare.html">DB-&gt;set_dup_compare</a>,
<a href="../api_c/db_set_errcall.html">DB-&gt;set_errcall</a>,
<a href="../api_c/db_set_errfile.html">DB-&gt;set_errfile</a>,
<a href="../api_c/db_set_errpfx.html">DB-&gt;set_errpfx</a>,
<a href="../api_c/db_set_flags.html">DB-&gt;set_flags</a>,
<a href="../api_c/db_set_h_ffactor.html">DB-&gt;set_h_ffactor</a>,
<a href="../api_c/db_set_h_hash.html">DB-&gt;set_h_hash</a>,
<a href="../api_c/db_set_h_nelem.html">DB-&gt;set_h_nelem</a>,
<a href="../api_c/db_set_lorder.html">DB-&gt;set_lorder</a>,
<a href="../api_c/db_set_malloc.html">DB-&gt;set_malloc</a>,
<a href="../api_c/db_set_pagesize.html">DB-&gt;set_pagesize</a>,
<a href="../api_c/db_set_paniccall.html">DB-&gt;set_paniccall</a>,
<a href="../api_c/db_set_q_extentsize.html">DB-&gt;set_q_extentsize</a>,
<a href="../api_c/db_set_realloc.html">DB-&gt;set_realloc</a>,
<a href="../api_c/db_set_re_delim.html">DB-&gt;set_re_delim</a>,
<a href="../api_c/db_set_re_len.html">DB-&gt;set_re_len</a>,
<a href="../api_c/db_set_re_pad.html">DB-&gt;set_re_pad</a>,
<a href="../api_c/db_set_re_source.html">DB-&gt;set_re_source</a>,
<a href="../api_c/db_stat.html">DB-&gt;stat</a>,
<a href="../api_c/db_sync.html">DB-&gt;sync</a>,
<a href="../api_c/db_upgrade.html">DB-&gt;upgrade</a>
and
<a href="../api_c/db_verify.html">DB-&gt;verify</a>.
</tt>
<table><tr><td><br></td><td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
<!--$Id: db_join.so,v 10.30 2000/12/20 15:34:50 bostic Exp $-->
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<html>
<head>
<title>Berkeley DB: DB-&gt;join</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table><tr valign=top>
<td>
<h1>DB-&gt;join</h1>
</td>
<td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db.h&gt;
<p>
int
DB-&gt;join(DB *primary,
DBC **curslist, DBC **dbcp, u_int32_t flags);
</pre></h3>
<h1>Description</h1>
<p>The DB-&gt;join function creates a specialized cursor for use in performing
joins on secondary indexes. For information on how to organize your data
to use this functionality, see <a href="../ref/am/join.html">Logical
join</a>.
<p>The <b>primary</b> argument contains the DB handle of the primary
database, which is keyed by the data values found in entries in the
<b>curslist</b>.
<p>The <b>curslist</b> argument contains a NULL terminated array of cursors.
Each cursor must have been initialized to reference the key on which the
underlying database should be joined. Typically, this initialization is done
by a <a href="../api_c/dbc_get.html">DBcursor-&gt;c_get</a> call with the <a href="../api_c/dbc_get.html#DB_SET">DB_SET</a> flag specified. Once the
cursors have been passed as part of a <b>curslist</b>, they should not
be accessed or modified until the newly created join cursor has been closed,
or else inconsistent results may be returned.
<p>Joined values are retrieved by doing a sequential iteration over the first
cursor in the <b>curslist</b> argument, and a nested iteration over each
secondary cursor in the order they are specified in the <b>curslist</b>
argument. This requires database traversals to search for the current
datum in all the cursors after the first. For this reason, the best join
performance normally results from sorting the cursors from the one that
references the least number of data items to the one that references the
most. By default, DB-&gt;join does this sort on behalf of its caller.
<p>The <b>flags</b> parameter must be set to 0 or the following value:
<p><dl compact>
<p><dt><a name="DB_JOIN_NOSORT">DB_JOIN_NOSORT</a><dd>Do not sort the cursors based on the number of data items they reference.
If the data are structured such that cursors with many data items also
share many common elements, higher performance will result from listing
those cursors before cursors with fewer data items, that is, a sort order
other than the default. The DB_JOIN_NOSORT flag permits
applications to perform join optimization prior to calling DB-&gt;join.
</dl>
<p>A newly created cursor is returned in the memory location referenced by
<b>dbcp</b> and has the standard cursor functions:
<p><dl compact>
<p><dt><a href="../api_c/dbc_get.html">DBcursor-&gt;c_get</a><dd>Iterates over the values associated with the keys to which each item in
<b>curslist</b> has been initialized. Any data value which appears in
all items specified by the <b>curslist</b> argument is then used as a
key into the <b>primary</b>, and the key/data pair found in the
<b>primary</b> is returned.
<p>The <b>flags</b> parameter must be set to 0 or the following value:
<p><dl compact>
<p><dt><a name="DB_JOIN_ITEM">DB_JOIN_ITEM</a><dd>Do not use the data value found in all of the cursors as a lookup
key for the <b>primary</b>, but simply return it in the key parameter
instead. The data parameter is left unchanged.
</dl>
<p>In addition, the following flag may be set by bitwise inclusively <b>OR</b>'ing it into the
<b>flags</b> parameter:
<p><dl compact>
<p><dt><a name="DB_RMW">DB_RMW</a><dd>Acquire write locks instead of read locks when doing the retrieval.
Setting this flag may decrease the likelihood of deadlock during a
read-modify-write cycle by immediately acquiring the write lock during
the read part of the cycle so that another thread of control acquiring
a read lock for the same item, in its own read-modify-write cycle, will
not result in deadlock.
</dl>
<p><dt><a href="../api_c/dbc_put.html">DBcursor-&gt;c_put</a><dd>Returns EINVAL.
<p><dt><a href="../api_c/dbc_del.html">DBcursor-&gt;c_del</a><dd>Returns EINVAL.
<p><dt><a href="../api_c/dbc_close.html">DBcursor-&gt;c_close</a><dd>Close the returned cursor and release all resources. (Closing the cursors
in <b>curslist</b> is the responsibility of the caller.)
</dl>
<p>For the returned join cursor to be used in a transaction protected manner,
the cursors listed in <b>curslist</b> must have been created within the
context of the same transaction.
<p>The DB-&gt;join function returns a non-zero error value on failure and 0 on success.
<h1>Errors</h1>
<p>The DB-&gt;join function may fail and return a non-zero error for the following conditions:
<p><dl compact>
<p><dt>EINVAL<dd>An invalid flag value or parameter was specified.
<p>The <a href="../api_c/dbc_put.html">DBcursor-&gt;c_put</a> or <a href="../api_c/dbc_del.html">DBcursor-&gt;c_del</a> functions were called.
</dl>
<p>The DB-&gt;join function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
If a catastrophic error has occurred, the DB-&gt;join function may fail and return
<a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a>, in which case all subsequent Berkeley DB calls will fail
in the same way.
<h1>See Also</h1>
<a href="../api_c/db_create.html">db_create</a>,
<a href="../api_c/db_close.html">DB-&gt;close</a>,
<a href="../api_c/db_cursor.html">DB-&gt;cursor</a>,
<a href="../api_c/db_del.html">DB-&gt;del</a>,
<a href="../api_c/db_err.html">DB-&gt;err</a>,
<a href="../api_c/db_fd.html">DB-&gt;fd</a>,
<a href="../api_c/db_get.html">DB-&gt;get</a>,
<a href="../api_c/db_get_byteswapped.html">DB-&gt;get_byteswapped</a>,
<a href="../api_c/db_get_type.html">DB-&gt;get_type</a>,
<a href="../api_c/db_join.html">DB-&gt;join</a>,
<a href="../api_c/db_key_range.html">DB-&gt;key_range</a>,
<a href="../api_c/db_open.html">DB-&gt;open</a>,
<a href="../api_c/db_put.html">DB-&gt;put</a>,
<a href="../api_c/db_remove.html">DB-&gt;remove</a>,
<a href="../api_c/db_set_bt_compare.html">DB-&gt;set_bt_compare</a>,
<a href="../api_c/db_set_bt_minkey.html">DB-&gt;set_bt_minkey</a>,
<a href="../api_c/db_set_bt_prefix.html">DB-&gt;set_bt_prefix</a>,
<a href="../api_c/db_set_cachesize.html">DB-&gt;set_cachesize</a>,
<a href="../api_c/db_set_dup_compare.html">DB-&gt;set_dup_compare</a>,
<a href="../api_c/db_set_errcall.html">DB-&gt;set_errcall</a>,
<a href="../api_c/db_set_errfile.html">DB-&gt;set_errfile</a>,
<a href="../api_c/db_set_errpfx.html">DB-&gt;set_errpfx</a>,
<a href="../api_c/db_set_flags.html">DB-&gt;set_flags</a>,
<a href="../api_c/db_set_h_ffactor.html">DB-&gt;set_h_ffactor</a>,
<a href="../api_c/db_set_h_hash.html">DB-&gt;set_h_hash</a>,
<a href="../api_c/db_set_h_nelem.html">DB-&gt;set_h_nelem</a>,
<a href="../api_c/db_set_lorder.html">DB-&gt;set_lorder</a>,
<a href="../api_c/db_set_malloc.html">DB-&gt;set_malloc</a>,
<a href="../api_c/db_set_pagesize.html">DB-&gt;set_pagesize</a>,
<a href="../api_c/db_set_paniccall.html">DB-&gt;set_paniccall</a>,
<a href="../api_c/db_set_q_extentsize.html">DB-&gt;set_q_extentsize</a>,
<a href="../api_c/db_set_realloc.html">DB-&gt;set_realloc</a>,
<a href="../api_c/db_set_re_delim.html">DB-&gt;set_re_delim</a>,
<a href="../api_c/db_set_re_len.html">DB-&gt;set_re_len</a>,
<a href="../api_c/db_set_re_pad.html">DB-&gt;set_re_pad</a>,
<a href="../api_c/db_set_re_source.html">DB-&gt;set_re_source</a>,
<a href="../api_c/db_stat.html">DB-&gt;stat</a>,
<a href="../api_c/db_sync.html">DB-&gt;sync</a>,
<a href="../api_c/db_upgrade.html">DB-&gt;upgrade</a>
and
<a href="../api_c/db_verify.html">DB-&gt;verify</a>.
</tt>
<table><tr><td><br></td><td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
This diff is collapsed.
<!--$Id: db_lsn.so,v 10.7 1999/12/20 08:52:27 bostic Exp $-->
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<html>
<head>
<title>Berkeley DB: DB_LSN</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table><tr valign=top>
<td>
<h1>DB_LSN</h1>
</td>
<td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db.h&gt;
</pre></h3>
<h1>Description</h1>
<p>A <a href="../api_c/db_lsn.html">DB_LSN</a> is a <b>log sequence number</b>, which indicates a
unique position in the log. The <a href="../api_c/db_lsn.html">DB_LSN</a> structure is completely
opaque, and no application should ever need to look inside.
<a href="../api_c/db_lsn.html">DB_LSN</a> structures are used by the logging and memory pool
subsystems.
</tt>
<table><tr><td><br></td><td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment