1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00
configure.in:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
This commit is contained in:
unknown
2000-10-14 03:20:00 +03:00
48 changed files with 773 additions and 328 deletions

View File

@@ -333,7 +333,7 @@ Functionality Missing from MySQL
Foreign Keys
* Broken Foreign KEY:: Reasons NOT to use foreign keys
* Broken Foreign KEY:: Reasons NOT to use foreign keys constraints
The MySQL Access Privilege System
@@ -837,7 +837,7 @@ Changes in release 3.23.x (Recommended; beta)
* News-3.23.4:: Changes in release 3.23.4
* News-3.23.3:: Changes in release 3.23.3
* News-3.23.2:: Changes in release 3.23.2
* News-3.23.1:: Changes in release 3.23.1
* News-3.23.1::
* News-3.23.0:: Changes in release 3.23.0
Changes in release 3.22.x
@@ -10174,9 +10174,9 @@ To see when @strong{MySQL} might get stored procedures, see @ref{TODO}.
@cindex keys, foreign
Note that foreign keys in SQL are not used to join tables, but are used
mostly for checking referential integrity. If you want to get results from
multiple tables from a @code{SELECT} statement, you do this by joining
tables:
mostly for checking referential integrity (foreign key constraints). If
you want to get results from multiple tables from a @code{SELECT}
statement, you do this by joining tables:
@example
SELECT * from table1,table2 where table1.id = table2.id;
@@ -10203,29 +10203,33 @@ than using foreign keys.
In the near future we will extend the @code{FOREIGN KEY} implementation so
that at least the information will be saved in the table specification file
and may be retrieved by @code{mysqldump} and ODBC.
and may be retrieved by @code{mysqldump} and ODBC. At a later stage we will
implement the foreign key constraints for application that can't easily be
coded to avoid them.
@menu
* Broken Foreign KEY:: Reasons NOT to use foreign keys
* Broken Foreign KEY:: Reasons NOT to use foreign keys constraints
@end menu
@node Broken Foreign KEY, , Missing Foreign Keys, Missing Foreign Keys
@subsubsection Reasons NOT to Use Foreign Keys
@subsubsection Reasons NOT to Use Foreign Keys constraints
@cindex foreign keys, reasons not to use
There are so many problems with foreign keys that we don't
There are so many problems with foreign key constraints that we don't
know where to start:
@itemize @bullet
@item
Foreign keys make life very complicated, because the foreign key definitions
must be stored in a database and implementing them would destroy the whole
``nice approach'' of using files that can be moved, copied, and removed.
Foreign key constraints make life very complicated, because the foreign
key definitions must be stored in a database and implementing them would
destroy the whole ``nice approach'' of using files that can be moved,
copied, and removed.
@item
The speed impact is terrible for @code{INSERT} and @code{UPDATE} statements,
and in this case almost all @code{FOREIGN KEY} checks are useless because you
usually insert records in the right tables in the right order, anyway.
The speed impact is terrible for @code{INSERT} and @code{UPDATE}
statements, and in this case almost all @code{FOREIGN KEY} constraint
checks are useless because you usually insert records in the right
tables in the right order, anyway.
@item
There is also a need to hold locks on many more tables when updating one
@@ -10234,12 +10238,12 @@ MUCH faster to delete records from one table first and subsequently delete
them from the other tables.
@item
You can no longer restore a table by doing a full delete from
the table and then restoring all records (from a new source or from a backup).
You can no longer restore a table by doing a full delete from the table
and then restoring all records (from a new source or from a backup).
@item
If you have foreign keys you can't dump and restore tables unless you do so
in a very specific order.
If you use foreign key constraints you can't dump and restore tables
unless you do so in a very specific order.
@item
It's very easy to do ``allowed'' circular definitions that make the
@@ -10251,9 +10255,11 @@ The only nice aspect of @code{FOREIGN KEY} is that it gives ODBC and some
other client programs the ability to see how a table is connected and to use
this to show connection diagrams and to help in building applicatons.
@strong{MySQL} will soon store @code{FOREIGN KEY} definitions so that
a client can ask for and receive an answer about how the original connection
was made. The current @file{.frm} file format does not have any place for it.
@strong{MySQL} will soon store @code{FOREIGN KEY} definitions so that a
client can ask for and receive an answer about how the original
connection was made. The current @file{.frm} file format does not have
any place for it. At a later stage we will implement the foreign key
constraints for application that can't easily be coded to avoid them.
@node Missing Views, Missing comments, Missing Foreign Keys, Missing functions
@subsection Views
@@ -32285,10 +32291,12 @@ this program!
When started with the @code{--log-slow-queries[=file_name]} option,
@code{mysqld} writes a log file containing all SQL commands that took
more than @code{long_query_time} to execute. If no file name is
given, it defaults to the name of the host machine suffixed with
@code{-slow.log}. If a file name is given, but doesn't contain a path,
the file is written in the data directory.
more than @code{long_query_time} to execute. The time to get the initial
table locks are not counted as execution time.
If no file name is given, it defaults to the name of the host machine
suffixed with @code{-slow.log}. If a file name is given, but doesn't
contain a path, the file is written in the data directory.
The slow query log can be used to find queries that takes a long time to
execute and are thus candidates for optimization.
@@ -37099,7 +37107,7 @@ Python module with caching. By @email{gandalf@@rosmail.com}.
@item @uref{http://www.mysql.com/Downloads/Contrib/MySQLmodule-1.4.tar.gz, MySQLmodule-1.4.tar.gz}
Python interface for @strong{MySQL}. By Joseph Skinner @email{joe@@earthlight.co.nz}; Modified by Joerg Senekowitsch @email{senekow@@ibm.net}
@item @uref{http://www.mysql.com/Downloads/Contrib/mysql_mex_1_1b.tar.gz, mysql_mex_1_1b.tar.gz}
@item @uref{http://www.mysql.com/Downloads/Contrib/mysql_mex_11.tar.gz, mysql_mex_1_11.tar.gz}
An interface program for the Matlab program by MathWorks. The interface
is done by Kimmo Uutela and John Fisher (not by Mathworks).
Check @uref{http://boojum.hut.fi/~kuutela/mysqlmex.html,mysqlmex.html}
@@ -37372,10 +37380,10 @@ Accounting. By Jose de Leon, @email{jdl@@thevision.net}
Apache authentication module for @strong{MySQL}. By Zeev Suraski,
@email{bourbon@@netvision.net.il}.
@strong{Please} register this module at:
@url{http://bourbon.netvision.net.il/mysql/mod_auth_mysql/register.html}. The
registering information is only used for statistical purposes and will
encourage further development of this module!
@c @strong{Please} register this module at:
@c @url{http://bourbon.netvision.net.il/mysql/mod_auth_mysql/register.html}. The
@c registering information is only used for statistical purposes and will
@c encourage further development of this module!
@item @uref{http://www.mysql.com/Downloads/Contrib/mod_log_mysql-1.05.tar.gz, mod_log_mysql-1.05.tar.gz}
@strong{MySQL} logging module for Apache. By Zeev Suraski,
@@ -37526,6 +37534,7 @@ Prints the structure of every table in a database. By Thomas Wana.
@item @uref{http://www.mysql.com/Downloads/Contrib/mysqlsync, mysqlsync-1.0-alpha.tar.gz}.
A perl script to keep remote copies of a @strong{MySQL} database in sync with a
central master copy. By Mark Jeftovic. @email{markjr@@easydns.com}
@item @uref{http://www.mysql.com/Downloads/Contrib/MySQLTutor-0.2.tar.gz, MySQLTutor}.
MySQLTutor. A tutor of @strong{MySQL} for beginners
@@ -37547,6 +37556,9 @@ By Elizabeth.
@item @uref{http://www.mysql.com/Downloads/Contrib/mybackup}
@item @uref{http://www.mswanson.com/mybackup, mybackup home page}
Wrapper for mysqldump to backup all databases. By Marc Swanson.
@item @uref{http://www.mysql.com/Downloads/Contrib/mdu.pl.gz,mdu.pl.gz}
Prints the storage usage of a @strong{MySQL} database.
@end itemize
@cindex RPMs, for common tools
@@ -37949,7 +37961,7 @@ though, so 3.23 is not released as a stable version yet.
* News-3.23.4:: Changes in release 3.23.4
* News-3.23.3:: Changes in release 3.23.3
* News-3.23.2:: Changes in release 3.23.2
* News-3.23.1:: Changes in release 3.23.2
* News-3.23.1:: Changes in release 3.23.1
* News-3.23.0:: Changes in release 3.23.0
@end menu
@@ -37957,6 +37969,14 @@ though, so 3.23 is not released as a stable version yet.
@appendixsubsec Changes in release 3.23.26
@itemize @bullet
@item
@code{LEFT JOIN} did in some case prefer a full table scan when one
didn't have a @code{WHERE} clause.
@item
When using @code{--log-slow-queries}, don't count the time waiting for a lock.
@item
Fixed bug in lock code on @code{windows} which could cause the key cache
to report that the key file was crashed even if it was ok.
@item
Automatic repair of @code{MyISAM} tables if you start @code{mysqld} with
@code{--myisam-recover}.
@item
@@ -42319,12 +42339,20 @@ Allow users to change startup options.
@item
Subqueries. @code{select id from t where grp in (select grp from g where u > 100)}
@item
@code{INSERT SQL_CONCURRENT ...}; This will force the insert to happen at the
end of the data file if the table is in use by an select to allow
concurrent inserts.
@item
Change @code{INSERT ... SELECT} to use concurrent inserts.
@item
Add range checking to @code{MERGE} tables.
@item
@code{SHOW OPEN TABLES}
@item
Port of @strong{MySQL} to BeOS.
@item
Link the @code{myisampack} code into the server.
@item
Add a temporary key buffer cache during @code{insert/delete/update} so that we
can gracefully recover if the index file gets full.
@item