Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
c1376737
Commit
c1376737
authored
Apr 27, 2003
by
monty@mashka.mysql.fi
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mashka.mysql.fi:/home/my/mysql-4.0
parents
dd377bfb
a1861ddb
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
377 additions
and
575 deletions
+377
-575
Docs/internals.texi
Docs/internals.texi
+374
-559
innobase/include/trx0trx.h
innobase/include/trx0trx.h
+0
-4
innobase/srv/srv0start.c
innobase/srv/srv0start.c
+3
-1
innobase/trx/trx0trx.c
innobase/trx/trx0trx.c
+0
-2
sql/ha_innodb.cc
sql/ha_innodb.cc
+0
-9
No files found.
Docs/internals.texi
View file @
c1376737
...
@@ -273,7 +273,7 @@ and then we read the rows in the sorted order into a row buffer
...
@@ -273,7 +273,7 @@ and then we read the rows in the sorted order into a row buffer
@itemize @bullet
@itemize @bullet
@item
@item
We
are using
@uref
{
http://www.bitkeeper.com/, BitKeeper
}
for source management.
We
use
@uref
{
http://www.bitkeeper.com/, BitKeeper
}
for source management.
@item
@item
You should use the @strong
{
MySQL
}
4.0 source for all developments.
You should use the @strong
{
MySQL
}
4.0 source for all developments.
...
@@ -3135,9 +3135,9 @@ bdb -- The Berkeley Database table handler
...
@@ -3135,9 +3135,9 @@ bdb -- The Berkeley Database table handler
@item
@item
BitKeeper -- BitKeeper administration (not part of the source distribution)
BitKeeper -- BitKeeper administration (not part of the source distribution)
@item
@item
BUILD --
Some very often
used build scripts
BUILD --
Frequently
used build scripts
@item
@item
Build-tools -- Build tools
Build-tools -- Build tools
(not part of the source distribution)
@item
@item
client -- Client library
client -- Client library
@item
@item
...
@@ -3145,28 +3145,24 @@ cmd-line-utils -- Command-line utilities (libedit and readline)
...
@@ -3145,28 +3145,24 @@ cmd-line-utils -- Command-line utilities (libedit and readline)
@item
@item
dbug -- Fred Fish's dbug library
dbug -- Fred Fish's dbug library
@item
@item
Docs -- Preliminary documents about internals and new modules
Docs -- Preliminary documents about internals and new modules
; will eventually be moved to the mysqldoc repository
@item
@item
extra -- Some minor standalone utility programs
extra -- Some minor standalone utility programs
@item
@item
heap -- The HEAP table handler
heap -- The HEAP table handler
@item
@item
include --
Include (*.h) files
include --
Header (*.h) files for most libraries; includes all header files distributed with the MySQL binary distribution
@item
@item
innobase -- The Innobase (InnoDB) table handler
innobase -- The Innobase (InnoDB) table handler
@item
@item
isam -- The ISAM (MySQL) table handler
libmysql -- For producing MySQL as a library (e.g. a Windows .DLL)
@item
@item
libmysql -- For producing a thread-safe libmysql library
libmysql
_
r -- For building a thread-safe libmysql library
@item
libmysql
_
r -- Only one file, a makefile
@item
@item
libmysqld -- The MySQL Server as an embeddable library
libmysqld -- The MySQL Server as an embeddable library
@item
@item
man -- Some user-contributed manual pages
man -- Some user-contributed manual pages
@item
@item
merge -- The MERGE table handler (see Reference Manual section 7.2)
@item
myisam -- The MyISAM table handler
myisam -- The MyISAM table handler
@item
@item
myisammrg -- The MyISAM Merge table handler
myisammrg -- The MyISAM Merge table handler
...
@@ -3177,7 +3173,7 @@ mysys -- MySQL system library (Low level routines for file access etc.)
...
@@ -3177,7 +3173,7 @@ mysys -- MySQL system library (Low level routines for file access etc.)
@item
@item
netware -- Files related to the Novell NetWare version of MySQL
netware -- Files related to the Novell NetWare version of MySQL
@item
@item
NEW-RPMS -- Directory to place RPM
S
while making a distribution
NEW-RPMS -- Directory to place RPM
s
while making a distribution
@item
@item
os2 -- Routines for working with the OS/2 operating system
os2 -- Routines for working with the OS/2 operating system
@item
@item
...
@@ -3189,25 +3185,25 @@ SCCS -- Source Code Control System (not part of source distribution)
...
@@ -3189,25 +3185,25 @@ SCCS -- Source Code Control System (not part of source distribution)
@item
@item
scripts -- SQL batches, e.g. mysqlbug and mysql
_
install
_
db
scripts -- SQL batches, e.g. mysqlbug and mysql
_
install
_
db
@item
@item
sql -- Programs for handling SQL commands
. T
he "core" of MySQL
sql -- Programs for handling SQL commands
; t
he "core" of MySQL
@item
@item
sql-bench -- The MySQL benchmarks
sql-bench -- The MySQL benchmarks
@item
@item
SSL -- Secure Sockets Layer
SSL -- Secure Sockets Layer
; includes an example certification one can use to test an SSL (secure) database connection
@item
@item
strings -- Library for C string routines, e.g. atof, strchr
strings -- Library for C string routines, e.g. atof, strchr
@item
@item
support-files -- Files used to build MySQL on different systems
support-files -- Files used to build MySQL on different systems
@item
@item
tests -- Tests in Perl
tests -- Tests in Perl
and in C
@item
@item
tools -- mysqlmanager.c (under development, not yet useful)
tools -- mysqlmanager.c (
tool
under development, not yet useful)
@item
@item
VC++Files -- Includes this entire directory, repeated for VC++ (Windows) use
VC++Files -- Includes this entire directory, repeated for VC++ (Windows) use
@item
@item
vio -- Virtual I/O Library
vio -- Virtual I/O Library
@item
@item
zlib --
d
ata compression library, used on Windows
zlib --
D
ata compression library, used on Windows
@end itemize
@end itemize
@subsection bdb
@subsection bdb
...
@@ -3231,19 +3227,21 @@ in this document.
...
@@ -3231,19 +3227,21 @@ in this document.
BitKeeper administration.
BitKeeper administration.
@*@*
@*@*
This directory may be present if you downloaded the MySQL source using
Bitkeeper administration is not part of the source distribution. This
directory may be present if you downloaded the MySQL source using
BitKeeper rather than via the mysql.com site. The files in the
BitKeeper rather than via the mysql.com site. The files in the
BitKeeper directory are for maintenance purposes only -- they are not
BitKeeper directory are for maintenance purposes only -- they are not
part of the MySQL package.
part of the MySQL package.
@*@*
@*@*
The MySQL Reference Manual explains how to use Bitkeeper to get the
The MySQL Reference Manual explains how to use Bitkeeper to get the
MySQL source.
MySQL source. Please see @url
{
http://www.mysql.com/doc/en/Installing
_
source
_
tree.html
}
for more information.
@*@*
@*@*
@subsection BUILD
@subsection BUILD
Build switche
s.
Frequently used build script
s.
@*@*
@*@*
This directory contains the build switches for compilation on various
This directory contains the build switches for compilation on various
...
@@ -3266,11 +3264,11 @@ solaris
...
@@ -3266,11 +3264,11 @@ solaris
Build tools.
Build tools.
@*@*
@*@*
This directory contains batch files for extracting, making
Build-tools is not part of the source distribution. This directory
directories, and making programs from source files. There are
contains batch files for extracting, making directories, and making
several subdirectories with different scripts -- for building
programs from source files. There are several subdirectories with
Linux executables, for compiling, for performing all build steps,
different scripts -- for building Linux executables, for compiling,
and so on.
for performing all build steps,
and so on.
@*@*
@*@*
@subsection client
@subsection client
...
@@ -3288,21 +3286,15 @@ server.
...
@@ -3288,21 +3286,15 @@ server.
The C program files in the directory are:
The C program files in the directory are:
@itemize @bullet
@itemize @bullet
@item
@item
connect
_
test.c -- test that a connect is possible
@item
get
_
password.c -- ask for a password from the console
get
_
password.c -- ask for a password from the console
@item
@item
insert
_
test.c -- test that an insert is possible
@item
list
_
test.c -- test that a select is possible
@item
mysql.cc -- "The MySQL command tool"
mysql.cc -- "The MySQL command tool"
@item
@item
mysqladmin.c -- maintenance of M
Y
SQL databases
mysqladmin.c -- maintenance of M
y
SQL databases
@item
@item
mysqlcheck.c -- check all databases, check connect, etc.
mysqlcheck.c -- check all databases, check connect, etc.
@item
@item
mysqldump.c -- dump table's contents as SQL statements
mysqldump.c -- dump table's contents as SQL statements
, suitable to backup a MySQL database
@item
@item
mysqlimport.c -- import text files in different formats into tables
mysqlimport.c -- import text files in different formats into tables
@item
@item
...
@@ -3314,29 +3306,20 @@ mysqlshow.c -- show databases, tables or columns
...
@@ -3314,29 +3306,20 @@ mysqlshow.c -- show databases, tables or columns
@item
@item
mysqltest.c -- test program used by the mysql-test suite, mysql-test-run
mysqltest.c -- test program used by the mysql-test suite, mysql-test-run
@item
@item
password.c -- password checking routines
password.c -- password checking routines (version 4.1 and up)
@item
select
_
test.c -- test that a select is possible
@item
showdb
_
test.c -- test that a show-databases is possible
@item
ssl
_
test.c -- test that SSL is possible
@item
thread
_
test.c -- test that threading is possible
@end itemize
@end itemize
@*@*
@*@*
@subsection cmd-line-utils
@subsection cmd-line-utils
Command-line utilities.
Command-line utilities
(libedit and readline)
.
@*@*
@*@*
There are two subdirectories:
\readline
and
\libedit
. All the files
There are two subdirectories:
\readline
and
\libedit
. All the files
here are "non-M
Y
SQL" files, in the sense that MySQL AB didn't produce
here are "non-M
y
SQL" files, in the sense that MySQL AB didn't produce
them, it just uses them. It should be unnecessary to study the
them, it just uses them. It should be unnecessary to study the
programs in these files unless
programs in these files unless you are writing or debugging a tty-like
you are writing or debugging a tty-like client for MySQL, such as
client for MySQL, such as mysql.exe.
mysql.exe.
@*@*
@*@*
The
\readline
subdirectory contains the files of the GNU Readline
The
\readline
subdirectory contains the files of the GNU Readline
...
@@ -3442,14 +3425,15 @@ sanity.c -- Declaration of a variable
...
@@ -3442,14 +3425,15 @@ sanity.c -- Declaration of a variable
@subsection Docs
@subsection Docs
Preliminary documents about internals and new modules.
Preliminary documents about internals and new modules, which will eventually
be moved to the mysqldoc repository.
@*@*
@*@*
This directory doesn't have much at present that's very useful to the
This directory doesn't have much at present that's very useful to the
student, but the plan is that some documentation related to the source
student, but the plan is that some documentation related to the source
files and the internal workings of MySQL, including perhaps some
files and the internal workings of MySQL, including perhaps some
documentation from developers themselves, will be placed here.
Some of
documentation from developers themselves, will be placed here.
Files in
th
ese files
will eventually be moved to the MySQL documentation repository.
th
is directory
will eventually be moved to the MySQL documentation repository.
@*@*
@*@*
These sub-directories are part of this directory:
These sub-directories are part of this directory:
...
@@ -3480,16 +3464,16 @@ has any importance -- internals.texi -- The "MySQL Internals"
...
@@ -3480,16 +3464,16 @@ has any importance -- internals.texi -- The "MySQL Internals"
document.
document.
@*@*
@*@*
Despite the name, internals.texi is not
really much of a description
Despite the name, internals.texi is not
yet much of a description of MySQL
of MySQL internals. However, there is some useful description of the
internals although work is in progress to make it so. However, there is
functions in the mysys directory (see below), and of the structure of
some useful description of the functions in the mysys directory (see below),
client/server messages (doubtless very useful for people who want to
and of the structure of client/server messages (doubtless very useful for
make their own JDBC drivers, or just sniff).
eople who want to
make their own JDBC drivers, or just sniff).
@*@*
@*@*
@subsection extra
@subsection extra
Eight
minor standalone utility programs.
Some
minor standalone utility programs.
@*@*
@*@*
These programs are all standalone utilities, that is, they have
These programs are all standalone utilities, that is, they have
...
@@ -3498,56 +3482,20 @@ MySQL server needs or produces. Most are unimportant. They are as
...
@@ -3498,56 +3482,20 @@ MySQL server needs or produces. Most are unimportant. They are as
follows:
follows:
@itemize @bullet
@itemize @bullet
@item
@item
my
_
print
_
defaults.c -- print all parameters in a default file
my
_
print
_
defaults.c -- print parameters from my.ini files. Can also be used in scripts to enable processing of my.ini files.
@item
mysql
_
install.c -- startup: install MySQL server
@item
@item
mysql
_
waitpid.c -- wait for a program to terminate
mysql
_
waitpid.c -- wait for a program to terminate
. Useful for shell scripts when one needs to wait until a process terminates.
@item
@item
perror.c -- "print error" -- given error number, display message
perror.c -- "print error" -- given error number, display message
@item
@item
replace.c -- replace strings in text files or pipe
replace.c -- replace strings in text files or pipe
@item
@item
resolve
_
stack
_
dump.c -- show symbolic info
from a stack dump
resolve
_
stack
_
dump.c -- show symbolic info
rmation from a MySQL stack dump, normally found in the mysql.err file
@item
@item
resolveip.c -- convert an IP address to a hostname, or vice versa
resolveip.c -- convert an IP address to a hostname, or vice versa
@end itemize
@end itemize
@*@*
@*@*
@subsection fs
File System.
@*@*
Here the word "File System" does not refer to the mere idea of a
directory of files on a disk drive, but to object-based access. The
concept has been compared with Oracle's Internet File System (iFS).
@*@*
The original developer of the files on this directory is Tonu Samuel,
a former MySQL AB employee. Here is a quote (somewhat edited) from
Tonu Samuel's web page (http://no.spam.ee/~tonu/index.php):
"Question: What is it?
Answer: Actually this is not filesystem in common terms. MySQL FS
makes it possible to make SQL tables and some functions available over
a filesystem. MySQL does not require disk space, it uses an ordinary
MySQL daemon to store data."
The descriptions imply that this is a development project.
@*@*
There are four program files in the directory:
@itemize @bullet
@item
database.c -- "emulate filesystem behaviour on top of SQL database"
@item
libmysqlfs.c -- Search/replace, show-functions, and parse routines
@item
mysqlcorbafs.c -- Connection with the CORBA "Object Request Broker"
@item
mysqlcorbafs
_
test.c -- Utility to test the working of mysqlcorbafs.c
@*@*
@subsection heap
@subsection heap
The HEAP table handler.
The HEAP table handler.
...
@@ -3622,7 +3570,8 @@ for a \myisam\mi_cache.c equivalent (to cache reads) or a
...
@@ -3622,7 +3570,8 @@ for a \myisam\mi_cache.c equivalent (to cache reads) or a
@subsection include
@subsection include
Include (*.h) files.
Header (*.h) files for most libraries; includes all header files distributed
with the MySQL binary distribution.
@*@*
@*@*
These files may be included in C program files. Note that each
These files may be included in C program files. Note that each
...
@@ -3637,7 +3586,7 @@ rijndael.h. Looking further, you'll find that rijndael.h is also
...
@@ -3637,7 +3586,7 @@ rijndael.h. Looking further, you'll find that rijndael.h is also
included in other places: by my
_
aes.c and my
_
aes.h.
included in other places: by my
_
aes.c and my
_
aes.h.
@*@*
@*@*
The include directory contains 51 *.h (
include
) files.
The include directory contains 51 *.h (
header
) files.
@*@*
@*@*
@subsection innobase
@subsection innobase
...
@@ -3649,100 +3598,6 @@ A full description of these files can be found elsewhere in this
...
@@ -3649,100 +3598,6 @@ A full description of these files can be found elsewhere in this
document.
document.
@*@*
@*@*
@subsection isam
The ISAM table handler.
@*@*
The C files in this directory are:
@itemize @bullet
@item
_
cache.c -- for reading records from a cache
@item
changed.c -- a single routine for setting a "changed" flag (very
short)
@item
close.c -- close database
@item
create.c -- create a table
@item
_
dbug.c -- support routines for use with "dbug" (see the
\dbug
description)
@item
delete.c -- delete a row
@item
_
dynrec.c -- functions to handle space-packed records and blobs
@item
extra.c -- setting options and buffer sizes when optimizing table
handling
@item
info.c -- Information about database status
@item
_
key.c -- for handling keys
@item
_
locking.c -- lock database
@item
log.c -- save commands in log file which myisamlog program can read
@item
_
packrec.c -- compress records
@item
_
page.c -- read and write pages containing keys
@item
panic.c -- the mi
_
panic routine, probably for sudden shutdowns
@item
range.c -- approximate count of how many records lie between two
keys
@item
rfirst.c -- read first row through a specific key (very short)
@item
rkey.c -- read a record using a key
@item
rlast.c -- read last row with same key as previously-read row
@item
rnext.c -- read next row with same key as previously-read row
@item
rprev.c -- read previous row with same key as previously-read row
@item
rrnd.c -- read a row based on position
@item
rsame.c -- find current row using positional read or key-based read
@item
rsamepos.c -- positional read
@item
_
search.c -- key-handling functions
@item
static.c -- static variables (very short)
@item
_
statrec.c -- functions to handle fixed-length records
@item
test1.c -- testing basic functions
@item
test2.c -- testing database and storing results
@item
test3.c -- testing locking
@item
update.c -- update an existing row
@item
write.c -- insert a new row
@item
pack
_
isam.c -- pack isam file (NOTE TO SELF ?? equivalent to
\myisam\myisampack
.c)
@end itemize
@*@*
Except for one minor C file (pack
_
isam.c) every program in the ISAM
directory has a counterpart in the MyISAM directory. For example
\isam\update
.c corresponds to
\myisam\mi
_
update.c. However, the
reverse is not true -- there are many files in the MyISAM directory
which have no counterpart in the ISAM directory.
@*@*
The reason is simple -- it's because the ISAM files are becoming
obsolete. When MySQL programmers add new features, they add them for
MyISAM only. The student can therefore ignore all files in this
directory and study the MyISAM programs instead.
@*@*
@subsection libmysql
@subsection libmysql
The MySQL Library, Part 1.
The MySQL Library, Part 1.
...
@@ -3772,7 +3627,7 @@ errmsg.c -- English error messages, compare \mysys\errors.c
...
@@ -3772,7 +3627,7 @@ errmsg.c -- English error messages, compare \mysys\errors.c
@item
@item
get
_
password.c -- get password
get
_
password.c -- get password
@item
@item
libmysql.c -- the
main "packet-sending emulation" program
libmysql.c -- the
code that implements the MySQL API, i.e. the functions a client that wants to connect to MySQL will call
@item
@item
manager.c -- initialize/connect/fetch with MySQL manager
manager.c -- initialize/connect/fetch with MySQL manager
@end itemize
@end itemize
...
@@ -3784,7 +3639,7 @@ The MySQL Library, Part 2.
...
@@ -3784,7 +3639,7 @@ The MySQL Library, Part 2.
@*@*
@*@*
This is a continuation of the libmysql directory. There is only one
This is a continuation of the libmysql directory. There is only one
file here:
file here
, used to build a thread-safe libmysql library
:
@itemize @bullet
@itemize @bullet
@item
@item
makefile.am
makefile.am
...
@@ -3796,8 +3651,9 @@ makefile.am
...
@@ -3796,8 +3651,9 @@ makefile.am
The MySQL library, Part 3.
The MySQL library, Part 3.
@*@*
@*@*
This is a continuation of the libmysql directory. The program files on
This is a continuation of the libmysql directory and contains the MySQL
this directory are:
Server as an embeddable library. The program files on this directory
are:
@itemize @bullet
@itemize @bullet
@item
@item
libmysqld.c -- The called side, compare the mysqld.exe source
libmysqld.c -- The called side, compare the mysqld.exe source
...
@@ -3808,73 +3664,13 @@ lib_vio.c -- Emulate the vio directory's communication buffer
...
@@ -3808,73 +3664,13 @@ lib_vio.c -- Emulate the vio directory's communication buffer
@subsection man
@subsection man
Manual pages.
Some user-contributed manual pages
@*@*
@*@*
These are not the actual "man" (manual) pages, they are switches for
These are not the actual "man" (manual) pages, they are switches for
the production.
the production.
@*@*
@*@*
@subsection merge
The MERGE table handler.
@*@*
For a description of the MERGE table handler, see the MySQL Reference
Manual, section 7.2.
@*@*
You'll notice that there seem to be several directories with
similar-sounding names of C files in them. That's because the MySQL
table handlers are all quite similar.
@*@*
The related directories are:
@itemize @bullet
@item
\isam
-- for ISAM
@item
\myisam
-- for MyISAM
@item
\merge
-- for ISAM MERGE (mostly call functions in
\isam
programs)
@item
\myisammrg
-- for MyISAM MERGE (mostly call functions in
\myisam
programs)
@end itemize
@*@*
To avoid duplication, only the
\myisam
program versions are discussed.
@*@*
The C programs in this (merge) directory are:
@itemize @bullet
@item
mrg
_
close.c -- compare
\isam
's close.c
@item
mrg
_
create.c -- "" create.c
@item
mrg
_
delete.c -- "" delete.c
@item
mrg
_
extra.c -- "" extra.c
@item
mrg
_
info.c -- "" info.c
@item
mrg
_
locking.c -- "" locking.c
@item
mrg
_
open.c -- "" open.c
@item
mrg
_
panic.c -- "" panic.c
@item
mrg
_
rrnd.c -- "" rrnd.c
@item
mrg
_
rsame.c -- "" rsame.c
@item
mrg
_
static.c -- "" static.c
@item
mrg
_
update.c -- "" update.c
@end itemize
@*@*
@subsection myisam
@subsection myisam
The MyISAM table handler.
The MyISAM table handler.
...
@@ -3910,10 +3706,9 @@ programs. They are:
...
@@ -3910,10 +3706,9 @@ programs. They are:
@item
@item
mi
_
cache.c -- for reading records from a cache
mi
_
cache.c -- for reading records from a cache
@item
@item
mi
_
changed.c -- a single routine for setting a "changed" flag (very
mi
_
changed.c -- a single routine for setting a "changed" flag (very short)
short)
@item
@item
mi
_
check.c --
doesn't just do checks, ?? for myisamchk program?
mi
_
check.c --
for checking and repairing tables. Used by the myisamchk program and by the MySQL server.
@item
@item
mi
_
checksum.c -- calculates a checksum for a row
mi
_
checksum.c -- calculates a checksum for a row
@item
@item
...
@@ -3921,8 +3716,7 @@ mi_close.c -- close database
...
@@ -3921,8 +3716,7 @@ mi_close.c -- close database
@item
@item
mi
_
create.c -- create a table
mi
_
create.c -- create a table
@item
@item
mi
_
dbug.c -- support routines for use with "dbug" (see
\dbug
mi
_
dbug.c -- support routines for use with "dbug" (see
\dbug
description)
description)
@item
@item
mi
_
delete.c -- delete a row
mi
_
delete.c -- delete a row
@item
@item
...
@@ -3940,7 +3734,7 @@ mi_key.c -- for handling keys
...
@@ -3940,7 +3734,7 @@ mi_key.c -- for handling keys
@item
@item
mi
_
locking.c -- lock database
mi
_
locking.c -- lock database
@item
@item
mi
_
log.c -- save commands in
log file which myisamlog program can read
mi
_
log.c -- save commands in
a log file which myisamlog program can read. Can be used to exactly replay a set of changes to a table.
@item
@item
mi
_
open.c -- open database
mi
_
open.c -- open database
@item
@item
...
@@ -3968,8 +3762,7 @@ mi_rprev.c -- read previous row with same key as previously-read row
...
@@ -3968,8 +3762,7 @@ mi_rprev.c -- read previous row with same key as previously-read row
@item
@item
mi
_
rrnd.c -- read a row based on position
mi
_
rrnd.c -- read a row based on position
@item
@item
mi
_
rsame.c -- find current row using positional read or key-based
mi
_
rsame.c -- find current row using positional read or key-based read
read
@item
@item
mi
_
rsamepos.c -- positional read
mi
_
rsamepos.c -- positional read
@item
@item
...
@@ -4104,7 +3897,7 @@ tests
...
@@ -4104,7 +3897,7 @@ tests
@subsection mysys
@subsection mysys
MySQL system library
(Low level routines for file access etc.)
.
MySQL system library
. Low level routines for file access and so on
.
@*@*
@*@*
There are 115 *.c programs in this directory:
There are 115 *.c programs in this directory:
...
@@ -4112,13 +3905,11 @@ There are 115 *.c programs in this directory:
...
@@ -4112,13 +3905,11 @@ There are 115 *.c programs in this directory:
@item
@item
array.c -- Dynamic array handling
array.c -- Dynamic array handling
@item
@item
charset.c -- Using dynamic character sets, set default character
charset.c -- Using dynamic character sets, set default character set, ...
set, ...
@item
@item
charset2html.c -- Check
ing what character set a browser is using
charset2html.c -- Check
what character set a browser is using
@item
@item
checksum.c -- Calculate checksum for a memory block, used for
checksum.c -- Calculate checksum for a memory block, used for pack
_
isam
pack
_
isam
@item
@item
default.c -- Find defaults from *.cnf or *.ini files
default.c -- Find defaults from *.cnf or *.ini files
@item
@item
...
@@ -4128,13 +3919,11 @@ hash.c -- Hash search/compare/free functions "for saving keys"
...
@@ -4128,13 +3919,11 @@ hash.c -- Hash search/compare/free functions "for saving keys"
@item
@item
list.c -- Double-linked lists
list.c -- Double-linked lists
@item
@item
make-conf.c -- "Make a charset .conf file out of a ctype-charset.c
make-conf.c -- "Make a charset .conf file out of a ctype-charset.c file"
file"
@item
@item
md5.c -- MD5 ("Message Digest 5") algorithm from RSA Data Security
md5.c -- MD5 ("Message Digest 5") algorithm from RSA Data Security
@item
@item
mf
_
brkhant.c -- Prevent user from doing a Break during critical
mf
_
brkhant.c -- Prevent user from doing a Break during critical execution (not used in MySQL; can be used by standalone MyISAM applications)
execution
@item
@item
mf
_
cache.c -- "Open a temporary file and cache it with io
_
cache"
mf
_
cache.c -- "Open a temporary file and cache it with io
_
cache"
@item
@item
...
@@ -4160,7 +3949,7 @@ mf_path.c -- Determine where a program can find its files
...
@@ -4160,7 +3949,7 @@ mf_path.c -- Determine where a program can find its files
@item
@item
mf
_
qsort.c -- Quicksort
mf
_
qsort.c -- Quicksort
@item
@item
mf
_
qsort2.c -- Quicksort, part 2
mf
_
qsort2.c -- Quicksort, part 2
(allows the passing of an extra argument to the sort-compare routine)
@item
@item
mf
_
radix.c -- Radix sort
mf
_
radix.c -- Radix sort
@item
@item
...
@@ -4168,8 +3957,7 @@ mf_same.c -- Determine whether filenames are the same
...
@@ -4168,8 +3957,7 @@ mf_same.c -- Determine whether filenames are the same
@item
@item
mf
_
sort.c -- Sort with choice of Quicksort or Radix sort
mf
_
sort.c -- Sort with choice of Quicksort or Radix sort
@item
@item
mf
_
soundex.c -- Soundex algorithm derived from EDN Nov. 14, 1985
mf
_
soundex.c -- Soundex algorithm derived from EDN Nov. 14, 1985 (pg. 36)
(pg. 36)
@item
@item
mf
_
strip.c -- Strip trail spaces from a string
mf
_
strip.c -- Strip trail spaces from a string
@item
@item
...
@@ -4300,8 +4088,7 @@ my_rename.c -- Rename without delete
...
@@ -4300,8 +4088,7 @@ my_rename.c -- Rename without delete
@item
@item
my
_
seek.c -- Seek, i.e. point to a spot within a file
my
_
seek.c -- Seek, i.e. point to a spot within a file
@item
@item
my
_
semaphore.c -- Semaphore routines, for use on OS that doesn't
my
_
semaphore.c -- Semaphore routines, for use on OS that doesn't support them
support them
@item
@item
my
_
sleep.c -- Wait n microseconds
my
_
sleep.c -- Wait n microseconds
@item
@item
...
@@ -4313,8 +4100,7 @@ my_symlink2.c -- Part 2 of my_symlink.c
...
@@ -4313,8 +4100,7 @@ my_symlink2.c -- Part 2 of my_symlink.c
@item
@item
my
_
tempnam.c -- Obsolete temporary-filename routine used by ISAM table handler
my
_
tempnam.c -- Obsolete temporary-filename routine used by ISAM table handler
@item
@item
my
_
thr
_
init.c -- initialize/allocate "all mysys
&
debug thread
my
_
thr
_
init.c -- initialize/allocate "all mysys
&
debug thread variables"
variables"
@item
@item
my
_
wincond.c -- Windows-specific: emulate Posix conditions
my
_
wincond.c -- Windows-specific: emulate Posix conditions
@item
@item
...
@@ -4330,23 +4116,19 @@ queues.c -- Handle priority queues as in Robert Sedgewick's book
...
@@ -4330,23 +4116,19 @@ queues.c -- Handle priority queues as in Robert Sedgewick's book
@item
@item
raid2.c -- RAID support (the true implementation is in raid.cc)
raid2.c -- RAID support (the true implementation is in raid.cc)
@item
@item
rijndael.c -- "Optimised ANSI C code for the Rijndael cipher (now
rijndael.c -- "Optimised ANSI C code for the Rijndael cipher (now AES")
AES")
@item
@item
safemalloc.c -- A version of the standard malloc() with safety
safemalloc.c -- A version of the standard malloc() with safety checking
checking
@item
@item
sha1.c -- Implementation of Secure Hashing Algorithm 1
sha1.c -- Implementation of Secure Hashing Algorithm 1
@item
@item
string.c -- Initialize/append/free dynamically-sized strings
string.c -- Initialize/append/free dynamically-sized strings
; see also sql
_
string.cc in the /sql directory
@item
@item
testhash.c -- Standalone program: test the hash library routines
testhash.c -- Standalone program: test the hash library routines
@item
@item
test
_
charset.c -- Standalone program: display character set
test
_
charset.c -- Standalone program: display character set information
information
@item
@item
test
_
dir.c -- Standalone program: placeholder for "test all
test
_
dir.c -- Standalone program: placeholder for "test all functions" idea
functions" idea
@item
@item
test
_
fn.c -- Standalone program: apparently tests a function
test
_
fn.c -- Standalone program: apparently tests a function
@item
@item
...
@@ -4358,18 +4140,17 @@ thr_lock.c -- "Read and write locks for Posix threads"
...
@@ -4358,18 +4140,17 @@ thr_lock.c -- "Read and write locks for Posix threads"
@item
@item
thr
_
mutex.c -- A wrapper for mutex functions
thr
_
mutex.c -- A wrapper for mutex functions
@item
@item
thr
_
rwlock.c -- Synchronizes the readers' thread locks with the
thr
_
rwlock.c -- Synchronizes the readers' thread locks with the writer's lock
writer's lock
@item
@item
tree.c -- Initialize/search/free binary trees
tree.c -- Initialize/search/free binary trees
@item
@item
typelib.c --
Determine what type a field has
typelib.c --
Find a string in a set of strings; returns the offset to the string found
@end itemize
@end itemize
@*@*
@*@*
You can find documentation for the main functions in these files
You can find documentation for the main functions in these files
elsewhere in this document.
elsewhere in this document.
For example, the main functions in my
_
getwd.c
For example, the main functions in my
_
getwd.c
are described thus:
are described thus:
@*@*
@*@*
@example
@example
...
@@ -4425,7 +4206,7 @@ NetWare AMP" at:
...
@@ -4425,7 +4206,7 @@ NetWare AMP" at:
@subsection NEW-RPMS
@subsection NEW-RPMS
New "RPM Package Manager" files
.
Directory to place RPMs while making a distribution
.
@*@*
@*@*
This directory is not part of the Windows distribution. It is
This directory is not part of the Windows distribution. It is
...
@@ -4460,7 +4241,7 @@ there have been no updates for MySQL 4.0 for this section.
...
@@ -4460,7 +4241,7 @@ there have been no updates for MySQL 4.0 for this section.
@subsection pstack
@subsection pstack
Process stack display.
Process stack display
(not currently used)
.
@*@*
@*@*
This is a set of publicly-available debugging aids which all do pretty
This is a set of publicly-available debugging aids which all do pretty
...
@@ -4478,7 +4259,7 @@ and it crashes.
...
@@ -4478,7 +4259,7 @@ and it crashes.
@subsection regex
@subsection regex
Regular Expression library for support of REGEXP function.
Henry Spencer's
Regular Expression library for support of REGEXP function.
@*@*
@*@*
This is the copyrighted product of Henry Spencer from the University
This is the copyrighted product of Henry Spencer from the University
...
@@ -4504,7 +4285,7 @@ This program calls the 'regcomp' function, which is the entry point in
...
@@ -4504,7 +4285,7 @@ This program calls the 'regcomp' function, which is the entry point in
@subsection SCCS
@subsection SCCS
Source Code Control System.
Source Code Control System
(not part of source distribution)
.
@*@*
@*@*
You will see this directory if and only if you used BitKeeper for
You will see this directory if and only if you used BitKeeper for
...
@@ -4514,7 +4295,7 @@ administration and are not of interest to application programmers.
...
@@ -4514,7 +4295,7 @@ administration and are not of interest to application programmers.
@subsection scripts
@subsection scripts
SQL batches, e.g.
for converting msql to MySQL
.
SQL batches, e.g.
mysqlbug and mysql
_
install
_
db
.
@*@*
@*@*
The *.sh filename extension stands for "shell script". Linux
The *.sh filename extension stands for "shell script". Linux
...
@@ -4529,7 +4310,7 @@ fill_help_tables.sh -- Create help-information tables and insert
...
@@ -4529,7 +4310,7 @@ fill_help_tables.sh -- Create help-information tables and insert
@item
@item
make
_
binary
_
distribution.sh -- Get configure information, make, produce tar
make
_
binary
_
distribution.sh -- Get configure information, make, produce tar
@item
@item
msql2mysql.sh -- Convert
mSQL programs and scripts to MySQL, partly
msql2mysql.sh -- Convert
(partly) mSQL programs and scripts to MySQL
@item
@item
mysqlbug.sh -- Create a bug report and mail it
mysqlbug.sh -- Create a bug report and mail it
@item
@item
...
@@ -4553,15 +4334,14 @@ mysql_find_rows.sh -- Search for queries containing <regexp>
...
@@ -4553,15 +4334,14 @@ mysql_find_rows.sh -- Search for queries containing <regexp>
@item
@item
mysql
_
fix
_
extensions.sh -- Renames some file extensions, not recommended
mysql
_
fix
_
extensions.sh -- Renames some file extensions, not recommended
@item
@item
mysql
_
fix
_
privilege
_
tables.sh -- Fix mysql.user etc. if upgrading to MySQL 3.23.14+
mysql
_
fix
_
privilege
_
tables.sh -- Fix mysql.user etc. when upgrading. Can be safely run during any upgrade to get the newest
MySQL privilege tables
@item
@item
mysql
_
install
_
db.sh -- Create privilege tables and func table
mysql
_
install
_
db.sh -- Create privilege tables and func table
@item
@item
mysql
_
secure
_
installation.sh -- Disallow remote root login,
mysql
_
secure
_
installation.sh -- Disallow remote root login, eliminate test, etc.
eliminate test, etc.
@item
@item
mysql
_
setpermission.sh -- Aid to add users or databases, sets
mysql
_
setpermission.sh -- Aid to add users or databases, sets privileges
privileges
@item
@item
mysql
_
tableinfo.sh -- Puts info re MySQL tables into a MySQL table
mysql
_
tableinfo.sh -- Puts info re MySQL tables into a MySQL table
@item
@item
...
@@ -4577,15 +4357,14 @@ Programs for handling SQL commands. The "core" of MySQL.
...
@@ -4577,15 +4357,14 @@ Programs for handling SQL commands. The "core" of MySQL.
These are the .c and .cc files in the sql directory:
These are the .c and .cc files in the sql directory:
@itemize @bullet
@itemize @bullet
@item
@item
cache
_
manager.cc -- manages a number of blocks
@item
convert.cc -- convert tables between different character sets
convert.cc -- convert tables between different character sets
@item
@item
derror.cc -- read language-dependent message file
derror.cc -- read language-dependent message file
@item
@item
des
_
key
_
file.cc -- load DES keys from plaintext file
des
_
key
_
file.cc -- load DES keys from plaintext file
@item
@item
field.cc -- "implement classes defined in field.h" (long)
field.cc -- "implement classes defined in field.h" (long); defines all storage methods MySQL uses to store field information
into records that are then passed to handlers
@item
@item
field
_
conv.cc -- functions to copy data between fields
field
_
conv.cc -- functions to copy data between fields
@item
@item
...
@@ -4593,13 +4372,13 @@ filesort.cc -- sort a result set, using memory or temporary files
...
@@ -4593,13 +4372,13 @@ filesort.cc -- sort a result set, using memory or temporary files
@item
@item
frm
_
crypt.cc -- contains only one short function: get
_
crypt
_
for
_
frm
frm
_
crypt.cc -- contains only one short function: get
_
crypt
_
for
_
frm
@item
@item
gen
_
lex
_
hash.cc -- Knuth's algorithm from Vol 3 Sorting and Searching, Chapter 6.3
gen
_
lex
_
hash.cc -- Knuth's algorithm from Vol 3 Sorting and Searching, Chapter 6.3
; used to search for SQL keywords in a query
@item
@item
gstream.cc -- GTextReadStream, used to read GIS objects
gstream.cc -- GTextReadStream, used to read GIS objects
@item
@item
handler.cc -- handler-calling functions
handler.cc -- handler-calling functions
@item
@item
hash
_
filo.cc -- static-sized hash tables
hash
_
filo.cc -- static-sized hash tables
, used to store info like hostname -> ip tables in a FIFO manner
@item
@item
ha
_
berkeley.cc -- Handler: BDB
ha
_
berkeley.cc -- Handler: BDB
@item
@item
...
@@ -4641,23 +4420,23 @@ item_timefunc.cc -- Date/time functions, e.g. week of year
...
@@ -4641,23 +4420,23 @@ item_timefunc.cc -- Date/time functions, e.g. week of year
@item
@item
item
_
uniq.cc -- Empty file, here for compatibility reasons
item
_
uniq.cc -- Empty file, here for compatibility reasons
@item
@item
key.cc -- Functions to
handle keys and fields in forms
key.cc -- Functions to
create keys from records and compare a key to a key in a record
@item
@item
lock.cc -- Locks
lock.cc -- Locks
@item
@item
log.cc -- Logs
log.cc -- Logs
@item
@item
log
_
event.cc -- Log event
log
_
event.cc -- Log event
(a binary log consists of a stream of log events)
@item
@item
matherr.c -- Handling overflow, underflow, etc.
matherr.c -- Handling overflow, underflow, etc.
@item
@item
mf
_
iocache.cc -- Caching of (sequential) reads and writes
mf
_
iocache.cc -- Caching of (sequential) reads and writes
@item
@item
mini
_
client.cc -- Client included in server for server-server messaging
mini
_
client.cc -- Client included in server for server-server messaging
; used by the replication code
@item
@item
mysqld.cc -- Source of mysqld.exe
mysqld.cc -- Source of mysqld.exe
; includes the main() program that starts mysqld, handling of signals and connections
@item
@item
my
_
lock.c -- Lock part of a file
my
_
lock.c -- Lock part of a file
(like /mysys/my
_
lock.c, but with timeout handling for threads)
@item
@item
net
_
serv.cc -- Read/write of packets on a network socket
net
_
serv.cc -- Read/write of packets on a network socket
@item
@item
...
@@ -4671,9 +4450,9 @@ opt_sum.cc -- Optimize functions in presence of (implied) GROUP BY
...
@@ -4671,9 +4450,9 @@ opt_sum.cc -- Optimize functions in presence of (implied) GROUP BY
@item
@item
password.c -- Password checking
password.c -- Password checking
@item
@item
procedure.cc -- Procedure
procedure.cc -- Procedure
interface, as used in SELECT * FROM Table
_
name PROCEDURE ANALYSE
@item
@item
protocol.cc -- Low level functions for
storing data to be sent to client
protocol.cc -- Low level functions for
PACKING data that is sent to client; actual sending done with net
_
serv.cc
@item
@item
records.cc -- Functions for easy reading of records, possible through a cache
records.cc -- Functions for easy reading of records, possible through a cache
@item
@item
...
@@ -4685,15 +4464,15 @@ slave.cc -- Procedures for a slave in a master/slave (replication) relation
...
@@ -4685,15 +4464,15 @@ slave.cc -- Procedures for a slave in a master/slave (replication) relation
@item
@item
spatial.cc -- Geometry stuff (lines, points, etc.)
spatial.cc -- Geometry stuff (lines, points, etc.)
@item
@item
sql
_
acl.cc -- Functions related to ACL security
sql
_
acl.cc -- Functions related to ACL security
; checks, stores, retrieves, and deletes MySQL user level privileges
@item
@item
sql
_
analyse.cc --
Analyse an input string (?)
sql
_
analyse.cc --
Implements the PROCEDURE analyse, which analyses a query result and returns the 'optimal' data type for each result column
@item
@item
sql
_
base.cc -- Basic functions needed by many modules
sql
_
base.cc -- Basic functions needed by many modules
, like opening and closing tables with table cache management
@item
@item
sql
_
cache.cc -- SQL query cache, with long comments about how caching works
sql
_
cache.cc -- SQL query cache, with long comments about how caching works
@item
@item
sql
_
class.cc -- SQL class
sql
_
class.cc -- SQL class
; implements the SQL base classes, of which THD (THREAD object) is the most important
@item
@item
sql
_
crypt.cc -- Encode / decode, very short
sql
_
crypt.cc -- Encode / decode, very short
@item
@item
...
@@ -4707,26 +4486,26 @@ sql_do.cc -- The DO statement
...
@@ -4707,26 +4486,26 @@ sql_do.cc -- The DO statement
@item
@item
sql
_
error.cc -- Errors and warnings
sql
_
error.cc -- Errors and warnings
@item
@item
sql
_
handler.cc --
Direct access to ISAM
sql
_
handler.cc --
Implements the HANDLER interface, which gives direct access to rows in MyISAM and InnoDB
@item
@item
sql
_
help.cc -- The HELP statement
(if there is one?)
sql
_
help.cc -- The HELP statement
@item
@item
sql
_
insert.cc -- The INSERT statement
sql
_
insert.cc -- The INSERT statement
@item
@item
sql
_
lex.cc -- Related to lex or yacc
sql
_
lex.cc -- Does lexical analysis of a query; i.e. breaks a query string into pieces and determines the basic type (number,
string, keyword, etc.) of each piece
@item
@item
sql
_
list.cc -- Only list
_
node
_
end
_
of
_
list, short
sql
_
list.cc -- Only list
_
node
_
end
_
of
_
list, short
(the rest of the list class is implemented in sql
_
list.h)
@item
@item
sql
_
load.cc -- The LOAD DATA statement
?
sql
_
load.cc -- The LOAD DATA statement
@item
@item
sql
_
map.cc -- Memory-mapped files
?
sql
_
map.cc -- Memory-mapped files
(not yet in use)
@item
@item
sql
_
manager.cc -- Maintenance tasks, e.g. flushing the buffers
sql
_
manager.cc -- Maintenance tasks, e.g. flushing the buffers periodically; used with BDB table logs
periodically
@item
@item
sql
_
olap.cc -- ROLLUP
sql
_
olap.cc -- ROLLUP
@item
@item
sql
_
parse.cc -- Parse an SQL statement
sql
_
parse.cc -- Parse an SQL statement
; do initial checks and then jump to the function that should execute the statement
@item
@item
sql
_
prepare.cc -- Prepare an SQL statement
sql
_
prepare.cc -- Prepare an SQL statement
@item
@item
...
@@ -4738,8 +4517,7 @@ sql_select.cc -- Select and join optimisation
...
@@ -4738,8 +4517,7 @@ sql_select.cc -- Select and join optimisation
@item
@item
sql
_
show.cc -- The SHOW statement
sql
_
show.cc -- The SHOW statement
@item
@item
sql
_
string.cc -- String functions: alloc, realloc, copy, convert,
sql
_
string.cc -- String functions: alloc, realloc, copy, convert, etc.
etc.
@item
@item
sql
_
table.cc -- The DROP TABLE and ALTER TABLE statements
sql
_
table.cc -- The DROP TABLE and ALTER TABLE statements
@item
@item
...
@@ -4751,11 +4529,11 @@ sql_union.cc -- The UNION operator
...
@@ -4751,11 +4529,11 @@ sql_union.cc -- The UNION operator
@item
@item
sql
_
update.cc -- The UPDATE statement
sql
_
update.cc -- The UPDATE statement
@item
@item
stacktrace.c -- Display stack trace (Linux/Intel only
?
)
stacktrace.c -- Display stack trace (Linux/Intel only)
@item
@item
table.cc -- Table metadata retrieval
, mostly
table.cc -- Table metadata retrieval
; read the table definition from a .frm file and store it in a TABLE object
@item
@item
thr
_
malloc.cc --
Mallocs used in threads
thr
_
malloc.cc --
Thread-safe interface to /mysys/my
_
alloc.c
@item
@item
time.cc -- Date and time functions
time.cc -- Date and time functions
@item
@item
...
@@ -4763,7 +4541,7 @@ udf_example.cc -- Example file of user-defined functions
...
@@ -4763,7 +4541,7 @@ udf_example.cc -- Example file of user-defined functions
@item
@item
uniques.cc -- Function to handle quick removal of duplicates
uniques.cc -- Function to handle quick removal of duplicates
@item
@item
unireg.cc -- Create a unireg form file
from a FIELD and field-info struct
unireg.cc -- Create a unireg form file
(.frm) from a FIELD and field-info struct
@end itemize
@end itemize
@*@*
@*@*
...
@@ -4781,13 +4559,11 @@ available all the material necessary to reproduce all the tests.
...
@@ -4781,13 +4559,11 @@ available all the material necessary to reproduce all the tests.
There are five subdirectories and sub-subdirectories:
There are five subdirectories and sub-subdirectories:
@itemize @bullet
@itemize @bullet
@item
@item
\Comments
-- Comments about results from tests of Access, Adabas,
\Comments
-- Comments about results from tests of Access, Adabas, etc.
etc.
@item
@item
\Data\ATIS
-- .txt files containing input data for the "ATIS" tests
\Data\ATIS
-- .txt files containing input data for the "ATIS" tests
@item
@item
\Data\Wisconsin
-- .txt files containing input data for the
\Data\Wisconsin
-- .txt files containing input data for the "Wisconsin" tests
"Wisconsin" tests
@item
@item
\Results
-- old test results
\Results
-- old test results
@item
@item
...
@@ -4807,7 +4583,8 @@ There is one README file and one TODO file.
...
@@ -4807,7 +4583,8 @@ There is one README file and one TODO file.
@subsection SSL
@subsection SSL
Secure Sockets Layer.
Secure Sockets Layer; includes an example certification one can use
test an SSL (secure) database connection.
@*@*
@*@*
This isn't a code directory. It contains a short note from Tonu Samuel
This isn't a code directory. It contains a short note from Tonu Samuel
...
@@ -4885,7 +4662,7 @@ r_strinstr.c -- see if one string is within another
...
@@ -4885,7 +4662,7 @@ r_strinstr.c -- see if one string is within another
@item
@item
str2int.c -- convert string to integer
str2int.c -- convert string to integer
@item
@item
strappend.c --
append one string to another
strappend.c --
fill up a string to n characters
@item
@item
strcat.c -- concatenate strings
strcat.c -- concatenate strings
@item
@item
...
@@ -4905,11 +4682,11 @@ strinstr.c -- find string within string
...
@@ -4905,11 +4682,11 @@ strinstr.c -- find string within string
@item
@item
strlen.c -- return length of string in bytes
strlen.c -- return length of string in bytes
@item
@item
strmake.c --
move n characters, or move till end
strmake.c --
create new string from old string with fixed length, append end
\0
if needed
@item
@item
strmov.c -- move source to dest and return pointer to end
strmov.c -- move source to dest and return pointer to end
@item
@item
strnlen.c -- return
length of string, or return n
strnlen.c -- return
min(length of string, n)
@item
@item
strnmov.c -- move source to dest for source size, or for n bytes
strnmov.c -- move source to dest for source size, or for n bytes
@item
@item
...
@@ -4933,9 +4710,9 @@ strxnmov.c -- like strxmov.c but with a maximum length n
...
@@ -4933,9 +4710,9 @@ strxnmov.c -- like strxmov.c but with a maximum length n
@item
@item
str
_
test.c -- test of all the string functions encoded in assembler
str
_
test.c -- test of all the string functions encoded in assembler
@item
@item
udiv.c -- unsigned long divide
udiv.c -- unsigned long divide
, for operating systems that don't support these
@item
@item
xml.c -- read and parse XML strings
xml.c -- read and parse XML strings
; used to read character definition information stored in /sql/share/charsets
@end itemize
@end itemize
@*@*
@*@*
...
@@ -4947,21 +4724,41 @@ members of the Intel processor family.
...
@@ -4947,21 +4724,41 @@ members of the Intel processor family.
@subsection support-files
@subsection support-files
Support file
s.
Files used to build MySQL on different system
s.
@*@*
@*@*
The files here are for building ("making") MySQL given a package
The files here are for building ("making") MySQL given a package
manager, compiler, linker, and other build tools. The support files
manager, compiler, linker, and other build tools. The support files
provide instructions and switches for the build processes.
provide instructions and switches for the build processes. They
include example my.cnf files one can use as a default setup for
MySQL.
@*@*
@*@*
@subsection tests
@subsection tests
Tests in Perl.
Tests in Perl
and in C
.
@*@*
@*@*
These are tests that were run once to check for bugs in various
The files in this directory are test programs that can be used
scenarios: forks, locks, big records, exporting, truncating, etc.
as a base to write a program to simulate problems in MySQL in various
scenarios: forks, locks, big records, exporting, truncating, and so on.
Some examples are:
@itemize @bullet
@item
connect
_
test.c -- test that a connect is possible
@item
insert
_
test.c -- test that an insert is possible
@item
list
_
test.c -- test that a select is possible
@item
select
_
test.c -- test that a select is possible
@item
showdb
_
test.c -- test that a show-databases is possible
@item
ssl
_
test.c -- test that SSL is possible
@item
thread
_
test.c -- test that threading is possible
@end itemize
@*@*
@*@*
@subsection tools
@subsection tools
...
@@ -4972,7 +4769,9 @@ Tools -- well, actually, one tool.
...
@@ -4972,7 +4769,9 @@ Tools -- well, actually, one tool.
The only file is:
The only file is:
@itemize @bullet
@itemize @bullet
@item
@item
mysqlmanager.c -- A "server management daemon" by Sasha Pachev
mysqlmanager.c -- A "server management daemon" by Sasha Pachev. This
is a tool under development and is not yet useful. Related to fail-safe
replication.
@end itemize
@end itemize
@*@*
@*@*
...
@@ -4984,11 +4783,16 @@ Visual C++ Files.
...
@@ -4984,11 +4783,16 @@ Visual C++ Files.
Includes this entire directory, repeated for VC++ (Windows) use.
Includes this entire directory, repeated for VC++ (Windows) use.
@*@*
@*@*
VC++Files has subdirectories which are copies of the main directories.
VC++Files includes a complete environment to compile MySQL with the VC++
For example there is a subdirectory
\VC
++Files
\heap
, which has the
compiler. To use it, just copy the files on this directory; the make
_
win
_
src
_
distribution.sh
same files as
\heap
. So for a description of the files in
script uses these files to create a Windows source installation.
\VC
++Files
\heap
, see the description of the files in
\heap
. The same
@*@*
applies for almost all of VC++Files's subdirectories (bdb, client,
This directory has subdirectories which are copies of the main directories.
For example, there is a subdirectory
\VC
++Files
\heap
, which has the Microsoft
developer studio project file to compile
\heap
with VC++. So for a description
of the files in
\VC
++Files
\heap
, see the description of the files in
\heap
. The
same applies for almost all of VC++Files's subdirectories (bdb, client,
isam, libmysql, etc.). The difference is that the
\VC
++Files variants
isam, libmysql, etc.). The difference is that the
\VC
++Files variants
are specifically for compilation with Microsoft Visual C++ in 32-bit
are specifically for compilation with Microsoft Visual C++ in 32-bit
Windows environments.
Windows environments.
...
@@ -5003,7 +4807,7 @@ comp_err -- (nearly empty)
...
@@ -5003,7 +4807,7 @@ comp_err -- (nearly empty)
@item
@item
contrib -- (nearly empty)
contrib -- (nearly empty)
@item
@item
InstallShield
script files
InstallShield
-- script files
@item
@item
isamchk -- (nearly empty)
isamchk -- (nearly empty)
@item
@item
...
@@ -5043,10 +4847,16 @@ thr_insert_test -- (nearly empty)
...
@@ -5043,10 +4847,16 @@ thr_insert_test -- (nearly empty)
@item
@item
thr
_
test -- one short program used to test for memory-allocation bug
thr
_
test -- one short program used to test for memory-allocation bug
@item
@item
winmysqladmin -- the winmysqladmin.exe source
. machine-generated?
winmysqladmin -- the winmysqladmin.exe source
@end itemize
@end itemize
@*@*
@*@*
The "nearly empty" subdirectories noted above (e.g. comp
_
err and isamchk)
are needed because VC++ requires one directory per project (i.e. executable).
We are trying to keep to the MySQL standard source layout and compile only
to different directories.
@*@*
@subsection vio
@subsection vio
Virtual I/O Library.
Virtual I/O Library.
...
@@ -5094,7 +4904,12 @@ obsolete.
...
@@ -5094,7 +4904,12 @@ obsolete.
@subsection zlib
@subsection zlib
Data compression library.
Data compression library, used on Windows.
@*@*
zlib is a data compression library used to support the compressed
protocol and the COMPRESS/UNCOMPRESS functions under Windows.
On Unix, MySQL uses the system libgz.a library for this purpose.
@*@*
@*@*
Zlib -- which presumably stands for "Zip Library" -- is not a MySQL
Zlib -- which presumably stands for "Zip Library" -- is not a MySQL
...
...
innobase/include/trx0trx.h
View file @
c1376737
...
@@ -418,10 +418,6 @@ struct trx_struct{
...
@@ -418,10 +418,6 @@ struct trx_struct{
lock_t
*
auto_inc_lock
;
/* possible auto-inc lock reserved by
lock_t
*
auto_inc_lock
;
/* possible auto-inc lock reserved by
the transaction; note that it is also
the transaction; note that it is also
in the lock list trx_locks */
in the lock list trx_locks */
ibool
ignore_duplicates_in_insert
;
/* in an insert roll back only insert
of the latest row in case
of a duplicate key error */
UT_LIST_NODE_T
(
trx_t
)
UT_LIST_NODE_T
(
trx_t
)
trx_list
;
/* list of transactions */
trx_list
;
/* list of transactions */
UT_LIST_NODE_T
(
trx_t
)
UT_LIST_NODE_T
(
trx_t
)
...
...
innobase/srv/srv0start.c
View file @
c1376737
...
@@ -1441,6 +1441,8 @@ innobase_start_or_create_for_mysql(void)
...
@@ -1441,6 +1441,8 @@ innobase_start_or_create_for_mysql(void)
srv_force_recovery
);
srv_force_recovery
);
}
}
fflush
(
stderr
);
return
((
int
)
DB_SUCCESS
);
return
((
int
)
DB_SUCCESS
);
}
}
...
...
innobase/trx/trx0trx.c
View file @
c1376737
...
@@ -102,8 +102,6 @@ trx_create(
...
@@ -102,8 +102,6 @@ trx_create(
trx
->
mysql_master_log_file_name
=
(
char
*
)
""
;
trx
->
mysql_master_log_file_name
=
(
char
*
)
""
;
trx
->
mysql_master_log_pos
=
0
;
trx
->
mysql_master_log_pos
=
0
;
trx
->
ignore_duplicates_in_insert
=
FALSE
;
mutex_create
(
&
(
trx
->
undo_mutex
));
mutex_create
(
&
(
trx
->
undo_mutex
));
mutex_set_level
(
&
(
trx
->
undo_mutex
),
SYNC_TRX_UNDO
);
mutex_set_level
(
&
(
trx
->
undo_mutex
),
SYNC_TRX_UNDO
);
...
...
sql/ha_innodb.cc
View file @
c1376737
...
@@ -1911,13 +1911,6 @@ ha_innobase::write_row(
...
@@ -1911,13 +1911,6 @@ ha_innobase::write_row(
build_template
(
prebuilt
,
NULL
,
table
,
ROW_MYSQL_WHOLE_ROW
);
build_template
(
prebuilt
,
NULL
,
table
,
ROW_MYSQL_WHOLE_ROW
);
}
}
if
(
user_thd
->
lex
.
sql_command
==
SQLCOM_INSERT
&&
user_thd
->
lex
.
duplicates
==
DUP_IGNORE
)
{
prebuilt
->
trx
->
ignore_duplicates_in_insert
=
TRUE
;
}
else
{
prebuilt
->
trx
->
ignore_duplicates_in_insert
=
FALSE
;
}
srv_conc_enter_innodb
(
prebuilt
->
trx
);
srv_conc_enter_innodb
(
prebuilt
->
trx
);
error
=
row_insert_for_mysql
((
byte
*
)
record
,
prebuilt
);
error
=
row_insert_for_mysql
((
byte
*
)
record
,
prebuilt
);
...
@@ -1958,8 +1951,6 @@ ha_innobase::write_row(
...
@@ -1958,8 +1951,6 @@ ha_innobase::write_row(
}
}
}
}
prebuilt
->
trx
->
ignore_duplicates_in_insert
=
FALSE
;
error
=
convert_error_code_to_mysql
(
error
,
user_thd
);
error
=
convert_error_code_to_mysql
(
error
,
user_thd
);
/* Tell InnoDB server that there might be work for
/* Tell InnoDB server that there might be work for
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment