mirror of
https://github.com/MariaDB/server.git
synced 2025-11-08 00:28:29 +03:00
Merge paul@work.mysql.com:/home/bk/mysql-4.0
into teton.kitebird.com:/home/paul/mysql-4.0 Docs/manual.texi: Auto merged
This commit is contained in:
@@ -121,20 +121,20 @@ for that version.
|
|||||||
* Tutorial:: MySQL Tutorial
|
* Tutorial:: MySQL Tutorial
|
||||||
* MySQL Database Administration:: MySQL Database Administration
|
* MySQL Database Administration:: MySQL Database Administration
|
||||||
* MySQL Optimisation:: MySQL Optimisation
|
* MySQL Optimisation:: MySQL Optimisation
|
||||||
* Reference:: MySQL language reference
|
* Reference:: MySQL Language Reference
|
||||||
* Table types:: MySQL table types
|
* Table types:: MySQL Table Types
|
||||||
* Clients:: MySQL client tools and APIs
|
* Clients:: MySQL Client Tools and APIs
|
||||||
* Extending MySQL:: Extending MySQL
|
* Extending MySQL:: Extending MySQL
|
||||||
* Problems:: Problems
|
* Problems:: Problems
|
||||||
* Contrib:: Contributed programs
|
* Contrib:: Contributed Programs
|
||||||
* Credits:: Contributors to MySQL
|
* Credits:: Contributors to MySQL
|
||||||
* News:: MySQL change history
|
* News:: MySQL Change History
|
||||||
* Porting:: Comments on porting to other systems
|
* Porting:: Porting to Other Systems
|
||||||
* Environment variables:: MySQL environment variables
|
* Environment variables:: MySQL environment variables
|
||||||
* Regexp:: Description of MySQL regular expression syntax
|
* Regexp:: MySQL Regular Expression Syntax
|
||||||
* GPL license:: GNU General Public License
|
* GPL license:: GNU General Public License
|
||||||
* LGPL license:: GNU Lesser General Public License
|
* LGPL license:: GNU Lesser General Public License
|
||||||
* Function Index:: SQL command, type and function index
|
* Function Index:: SQL Command, Type and Function Index
|
||||||
* Concept Index:: Concept Index
|
* Concept Index:: Concept Index
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@@ -11453,7 +11453,7 @@ perl} indicates the command to use.
|
|||||||
|
|
||||||
|
|
||||||
@node Tutorial, MySQL Database Administration, Installing, Top
|
@node Tutorial, MySQL Database Administration, Installing, Top
|
||||||
@chapter Introduction to MySQL: A MySQL Tutorial
|
@chapter Tutorial Introduction to MySQL
|
||||||
|
|
||||||
@cindex tutorial
|
@cindex tutorial
|
||||||
@cindex terminal monitor, defined
|
@cindex terminal monitor, defined
|
||||||
@@ -23430,7 +23430,7 @@ check @code{Slave_open_temp_tables} variable to see if it is 0, then issue
|
|||||||
with @code{SLAVE START} and see
|
with @code{SLAVE START} and see
|
||||||
if you have better luck next time. There will be a cleaner solution, but it
|
if you have better luck next time. There will be a cleaner solution, but it
|
||||||
has to wait until version 4.0.
|
has to wait until version 4.0.
|
||||||
In earlier versions temporary tables are not being replicated properly - we
|
In earlier versions temporary tables are not replicated properly - we
|
||||||
recommend that you either upgrade, or execute @code{SET SQL_LOG_BIN=0} on
|
recommend that you either upgrade, or execute @code{SET SQL_LOG_BIN=0} on
|
||||||
your clients before all queries with temp tables.
|
your clients before all queries with temp tables.
|
||||||
@item
|
@item
|
||||||
@@ -23503,11 +23503,6 @@ and @code{FLUSH SLAVE} commands. In Version 3.23.26 we have renamed them to
|
|||||||
what they do. The old @code{FLUSH} variants still work, though, for
|
what they do. The old @code{FLUSH} variants still work, though, for
|
||||||
compatibility.
|
compatibility.
|
||||||
|
|
||||||
@item
|
|
||||||
Starting in Version 3.23.21, you can use @code{LOAD TABLE FROM MASTER} for
|
|
||||||
network backup and to set up replication initially. We have recently
|
|
||||||
received a number of bug reports concerning it that we are investigating, so
|
|
||||||
we recommend that you use it only in testing until we make it more stable.
|
|
||||||
@item
|
@item
|
||||||
Starting in Version 3.23.23, you can change masters and adjust log position
|
Starting in Version 3.23.23, you can change masters and adjust log position
|
||||||
with @code{CHANGE MASTER TO}.
|
with @code{CHANGE MASTER TO}.
|
||||||
@@ -23521,6 +23516,39 @@ with a different name on the slave.
|
|||||||
@item
|
@item
|
||||||
Starting in Version 3.23.28, you can use @code{PURGE MASTER LOGS TO 'log-name'}
|
Starting in Version 3.23.28, you can use @code{PURGE MASTER LOGS TO 'log-name'}
|
||||||
to get rid of old logs while the slave is running.
|
to get rid of old logs while the slave is running.
|
||||||
|
@item
|
||||||
|
Due to the non-transactional nature of MyISAM tables, it is possible to have
|
||||||
|
a query that will only partially update a table and return an error code. This
|
||||||
|
can happen, for example, on a multi-row insert that has one row violating a
|
||||||
|
key constraint, or if a long update query is killed after updating some of the
|
||||||
|
rows. If that happens on the master, the slave thread will exit and wait for
|
||||||
|
the DBA to decide what to do about it unless the error code is legitimate and
|
||||||
|
the query execution results in the same error code. If this error code
|
||||||
|
validation behaviour is not desirable, some ( or all) errors could be masked
|
||||||
|
out with @code{slave-skip-errors} option starting in Version 3.23.47.
|
||||||
|
@item
|
||||||
|
While individual tables can be excluded from replication with
|
||||||
|
@code{replicate-do-table}/@code{replicate-ignore-table} or
|
||||||
|
@code{replicate-wild-do-table}/@code{replicate-wild-ignore-table}, there
|
||||||
|
are currently some design deficiencies that in some rather rare cases
|
||||||
|
produce unexpected results. The replication protocol does not inform the
|
||||||
|
slave explicitly which tables are going to be modified by the query - so
|
||||||
|
the slave has to parse the query to know this. To avoid redundant
|
||||||
|
parsing for queries that will end up actually being executed, table
|
||||||
|
exclusion is currently implemented by sending the query to the standard
|
||||||
|
MySQL parser, which will short-circuit the query and report success if
|
||||||
|
it detects that the table should be ignored. In addition to several
|
||||||
|
inefficiencies, this approach is also more bug prone, and there are two
|
||||||
|
known bugs as of Version 3.23.49 - because the parser automatically opens
|
||||||
|
the table when parsing some queries the ignored table has to exist on
|
||||||
|
the slave. The other bug is that if the ignored table gets partially
|
||||||
|
updated, the slave thread will not notice that the table actually should
|
||||||
|
have been ignored and will suspend the replication process. While the
|
||||||
|
above bugs are conceptually very simple to fix, we have not yet found a way
|
||||||
|
to do this without a sigficant code change that would compromize the stability
|
||||||
|
status of 3.23 branch. There exists a workaround for both if in the rare case
|
||||||
|
it happens to affect your application - use @code{slave-skip-errors}.
|
||||||
|
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
|
|
||||||
@@ -45552,7 +45580,7 @@ return a big result row!
|
|||||||
|
|
||||||
|
|
||||||
@node Can not connect to server, Blocked host, Gone away, Common errors
|
@node Can not connect to server, Blocked host, Gone away, Common errors
|
||||||
@appendixsubsec @code{Can't connect to [local] MySQL server} error
|
@appendixsubsec @code{Can't connect to [local] MySQL server} Error
|
||||||
|
|
||||||
A MySQL client on Unix can connect to the @code{mysqld} server in two
|
A MySQL client on Unix can connect to the @code{mysqld} server in two
|
||||||
different ways: Unix sockets, which connect through a file in the file
|
different ways: Unix sockets, which connect through a file in the file
|
||||||
@@ -46636,7 +46664,7 @@ the original table.
|
|||||||
|
|
||||||
|
|
||||||
@node Problems with mysql.sock, Timezone problems, Temporary files, Administration Issues
|
@node Problems with mysql.sock, Timezone problems, Temporary files, Administration Issues
|
||||||
@appendixsubsec How to Protect or change the MySQL socket file @file{/tmp/mysql.sock}
|
@appendixsubsec How to Protect or Change the MySQL Socket File @file{/tmp/mysql.sock}
|
||||||
|
|
||||||
@cindex @code{mysql.sock}, protection
|
@cindex @code{mysql.sock}, protection
|
||||||
@cindex deletion, @code{mysql.sock}
|
@cindex deletion, @code{mysql.sock}
|
||||||
@@ -47011,7 +47039,7 @@ Post the test file using @code{mysqlbug} to @email{mysql@@lists.mysql.com}.
|
|||||||
@end enumerate
|
@end enumerate
|
||||||
|
|
||||||
@node Problems with float, , No matching rows, Query Issues
|
@node Problems with float, , No matching rows, Query Issues
|
||||||
@appendixsubsec Problems with floating point comparison
|
@appendixsubsec Problems with Floating Point Comparison
|
||||||
|
|
||||||
Floating point numbers cause confusion sometimes, because these numbers
|
Floating point numbers cause confusion sometimes, because these numbers
|
||||||
are not stored as exact values inside computer architecture. What one
|
are not stored as exact values inside computer architecture. What one
|
||||||
@@ -48590,7 +48618,7 @@ Development on the embedded @code{mysqld} version.
|
|||||||
|
|
||||||
|
|
||||||
@node News, Porting, Credits, Top
|
@node News, Porting, Credits, Top
|
||||||
@appendix MySQL change history
|
@appendix MySQL Change History
|
||||||
|
|
||||||
@cindex ChangeLog
|
@cindex ChangeLog
|
||||||
@cindex changes, log
|
@cindex changes, log
|
||||||
@@ -54666,7 +54694,7 @@ Fixed @code{DISTINCT} with calculated columns.
|
|||||||
|
|
||||||
|
|
||||||
@node Porting, Environment variables, News, Top
|
@node Porting, Environment variables, News, Top
|
||||||
@appendix Comments on Porting to Other Systems
|
@appendix Porting to Other Systems
|
||||||
|
|
||||||
@cindex porting, to other systems
|
@cindex porting, to other systems
|
||||||
|
|
||||||
@@ -54746,8 +54774,8 @@ will ensure that your thread installation has even a remote chance to work!
|
|||||||
@menu
|
@menu
|
||||||
* Debugging server:: Debugging a MySQL server
|
* Debugging server:: Debugging a MySQL server
|
||||||
* Debugging client:: Debugging a MySQL client
|
* Debugging client:: Debugging a MySQL client
|
||||||
* The DBUG package:: The DBUG package
|
* The DBUG package:: The DBUG Package
|
||||||
* Locking methods:: Locking methods
|
* Locking methods:: Locking ethods
|
||||||
* RTS-threads:: Comments about RTS threads
|
* RTS-threads:: Comments about RTS threads
|
||||||
* Thread packages:: Differences between different thread packages
|
* Thread packages:: Differences between different thread packages
|
||||||
@end menu
|
@end menu
|
||||||
@@ -54802,7 +54830,7 @@ problems that may be unique to your environment.
|
|||||||
|
|
||||||
|
|
||||||
@node Compiling for debugging, Making trace files, Debugging server, Debugging server
|
@node Compiling for debugging, Making trace files, Debugging server, Debugging server
|
||||||
@appendixsubsec Compiling MYSQL for debugging
|
@appendixsubsec Compiling MYSQL for Debugging
|
||||||
|
|
||||||
If you have some very specific problem, you can always try to debug
|
If you have some very specific problem, you can always try to debug
|
||||||
MySQL. To do this you must configure MySQL with the
|
MySQL. To do this you must configure MySQL with the
|
||||||
@@ -54856,7 +54884,7 @@ default compiled with support for trace files.
|
|||||||
|
|
||||||
|
|
||||||
@node Making trace files, Using gdb on mysqld, Compiling for debugging, Debugging server
|
@node Making trace files, Using gdb on mysqld, Compiling for debugging, Debugging server
|
||||||
@appendixsubsec Creating trace files
|
@appendixsubsec Creating Trace Files
|
||||||
|
|
||||||
If the @code{mysqld} server doesn't start or if you can cause the
|
If the @code{mysqld} server doesn't start or if you can cause the
|
||||||
@code{mysqld} server to crash quickly, you can try to create a trace
|
@code{mysqld} server to crash quickly, you can try to create a trace
|
||||||
@@ -54990,7 +55018,7 @@ setting the @code{DBI_TRACE} environment variable.
|
|||||||
|
|
||||||
|
|
||||||
@node Using stack trace, Using log files, Using gdb on mysqld, Debugging server
|
@node Using stack trace, Using log files, Using gdb on mysqld, Debugging server
|
||||||
@appendixsubsec Using a stack trace
|
@appendixsubsec Using a Stack Trace
|
||||||
|
|
||||||
On some operating systems, the error log will contain a stack trace if
|
On some operating systems, the error log will contain a stack trace if
|
||||||
@code{mysqld} dies unexpectedly. You can use this to find out where (and
|
@code{mysqld} dies unexpectedly. You can use this to find out where (and
|
||||||
@@ -55059,7 +55087,7 @@ repeat the problem! @xref{Bug reports}.
|
|||||||
|
|
||||||
|
|
||||||
@node Using log files, Reproduceable test case, Using stack trace, Debugging server
|
@node Using log files, Reproduceable test case, Using stack trace, Debugging server
|
||||||
@appendixsubsec Using log files to find cause of errors in mysqld
|
@appendixsubsec Using Log Files to Find Cause of Errors in mysqld
|
||||||
|
|
||||||
Note that before starting @code{mysqld} with @code{--log} you should
|
Note that before starting @code{mysqld} with @code{--log} you should
|
||||||
check all your tables with @code{myisamchk}.
|
check all your tables with @code{myisamchk}.
|
||||||
@@ -55110,7 +55138,7 @@ messages but instead try to find out why @code{mysqld} died.
|
|||||||
|
|
||||||
|
|
||||||
@node Reproduceable test case, , Using log files, Debugging server
|
@node Reproduceable test case, , Using log files, Debugging server
|
||||||
@appendixsubsec Making a test case when you experience table corruption
|
@appendixsubsec Making a Test Case When You Experience Table Corruption
|
||||||
|
|
||||||
If you get corrupted tables or if @code{mysqld} always fails after some
|
If you get corrupted tables or if @code{mysqld} always fails after some
|
||||||
update commands, you can test if this bug is reproducible by doing the
|
update commands, you can test if this bug is reproducible by doing the
|
||||||
@@ -55199,7 +55227,7 @@ MySQL installation with new MySQL library.
|
|||||||
|
|
||||||
|
|
||||||
@node The DBUG package, Locking methods, Debugging client, Porting
|
@node The DBUG package, Locking methods, Debugging client, Porting
|
||||||
@appendixsec The DBUG package.
|
@appendixsec The DBUG Package
|
||||||
|
|
||||||
@cindex DBUG package
|
@cindex DBUG package
|
||||||
|
|
||||||
@@ -55622,7 +55650,7 @@ variables to modify the behavior of MySQL. @xref{Option files}.
|
|||||||
|
|
||||||
|
|
||||||
@node Regexp, GPL license, Environment variables, Top
|
@node Regexp, GPL license, Environment variables, Top
|
||||||
@appendix Description of MySQL regular expression syntax
|
@appendix MySQL Regular Expression Syntax
|
||||||
|
|
||||||
@cindex regex
|
@cindex regex
|
||||||
@cindex regular expression syntax, described
|
@cindex regular expression syntax, described
|
||||||
@@ -56213,8 +56241,10 @@ Public License instead of this License.
|
|||||||
@node LGPL license, Function Index, GPL license, Top
|
@node LGPL license, Function Index, GPL license, Top
|
||||||
@appendix GNU LESSER GENERAL PUBLIC LICENSE
|
@appendix GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
|
|
||||||
@cindex LGPL, Lesser General Public License
|
@cindex LGPL, Library General Public License
|
||||||
@cindex LGPL, GNU Library General Public License
|
@cindex LGPL, GNU Library General Public License
|
||||||
|
@cindex LGPL, Lesser General Public License
|
||||||
|
@cindex LGPL, GNU Lesser General Public License
|
||||||
|
|
||||||
@center Version 2.1, February 1999
|
@center Version 2.1, February 1999
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,12 @@ int heap_rnext(HP_INFO *info, byte *record)
|
|||||||
HP_SHARE *share=info->s;
|
HP_SHARE *share=info->s;
|
||||||
DBUG_ENTER("heap_rnext");
|
DBUG_ENTER("heap_rnext");
|
||||||
|
|
||||||
|
if (!(info->s->records))
|
||||||
|
{
|
||||||
|
my_errno=HA_ERR_END_OF_FILE;
|
||||||
|
DBUG_RETURN(my_errno);
|
||||||
|
}
|
||||||
|
|
||||||
if (info->lastinx < 0)
|
if (info->lastinx < 0)
|
||||||
DBUG_RETURN(my_errno=HA_ERR_WRONG_INDEX);
|
DBUG_RETURN(my_errno=HA_ERR_WRONG_INDEX);
|
||||||
|
|
||||||
|
|||||||
@@ -730,6 +730,7 @@ start_master()
|
|||||||
--server-id=1 \
|
--server-id=1 \
|
||||||
--basedir=$MY_BASEDIR \
|
--basedir=$MY_BASEDIR \
|
||||||
--port=$MASTER_MYPORT \
|
--port=$MASTER_MYPORT \
|
||||||
|
--local-infile \
|
||||||
--exit-info=256 \
|
--exit-info=256 \
|
||||||
--core \
|
--core \
|
||||||
--datadir=$MASTER_MYDDIR \
|
--datadir=$MASTER_MYDDIR \
|
||||||
@@ -749,6 +750,7 @@ start_master()
|
|||||||
--server-id=1 --rpl-recovery-rank=1 \
|
--server-id=1 --rpl-recovery-rank=1 \
|
||||||
--basedir=$MY_BASEDIR --init-rpl-role=master \
|
--basedir=$MY_BASEDIR --init-rpl-role=master \
|
||||||
--port=$MASTER_MYPORT \
|
--port=$MASTER_MYPORT \
|
||||||
|
--local-infile \
|
||||||
--datadir=$MASTER_MYDDIR \
|
--datadir=$MASTER_MYDDIR \
|
||||||
--pid-file=$MASTER_MYPID \
|
--pid-file=$MASTER_MYPID \
|
||||||
--socket=$MASTER_MYSOCK \
|
--socket=$MASTER_MYSOCK \
|
||||||
|
|||||||
@@ -20,6 +20,12 @@ a b
|
|||||||
select found_rows();
|
select found_rows();
|
||||||
FOUND_ROWS()
|
FOUND_ROWS()
|
||||||
8
|
8
|
||||||
|
select SQL_BUFFER_RESULT SQL_CALC_FOUND_ROWS * from t1 limit 1;
|
||||||
|
a b
|
||||||
|
1 2
|
||||||
|
select found_rows();
|
||||||
|
FOUND_ROWS()
|
||||||
|
8
|
||||||
select SQL_CALC_FOUND_ROWS * from t1 order by b desc limit 1;
|
select SQL_CALC_FOUND_ROWS * from t1 order by b desc limit 1;
|
||||||
a b
|
a b
|
||||||
8 9
|
8 9
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ select SQL_CALC_FOUND_ROWS * from t1;
|
|||||||
select found_rows();
|
select found_rows();
|
||||||
select SQL_CALC_FOUND_ROWS * from t1 limit 1;
|
select SQL_CALC_FOUND_ROWS * from t1 limit 1;
|
||||||
select found_rows();
|
select found_rows();
|
||||||
|
select SQL_BUFFER_RESULT SQL_CALC_FOUND_ROWS * from t1 limit 1;
|
||||||
|
select found_rows();
|
||||||
select SQL_CALC_FOUND_ROWS * from t1 order by b desc limit 1;
|
select SQL_CALC_FOUND_ROWS * from t1 order by b desc limit 1;
|
||||||
select found_rows();
|
select found_rows();
|
||||||
select SQL_CALC_FOUND_ROWS distinct b from t1 limit 1;
|
select SQL_CALC_FOUND_ROWS distinct b from t1 limit 1;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use Getopt::Long;
|
|||||||
use POSIX qw(strftime);
|
use POSIX qw(strftime);
|
||||||
|
|
||||||
$|=1;
|
$|=1;
|
||||||
$VER="2.2";
|
$VER="2.3";
|
||||||
|
|
||||||
$opt_config_file = undef();
|
$opt_config_file = undef();
|
||||||
$opt_example = 0;
|
$opt_example = 0;
|
||||||
@@ -183,7 +183,7 @@ sub report_mysqlds
|
|||||||
|
|
||||||
sub start_mysqlds()
|
sub start_mysqlds()
|
||||||
{
|
{
|
||||||
my (@groups, $com, $i, @options, $j);
|
my (@groups, $com, $tmp, $i, @options, $j);
|
||||||
|
|
||||||
if (!$opt_no_log)
|
if (!$opt_no_log)
|
||||||
{
|
{
|
||||||
@@ -203,10 +203,19 @@ sub start_mysqlds()
|
|||||||
chop @options;
|
chop @options;
|
||||||
|
|
||||||
$com= "$mysqld";
|
$com= "$mysqld";
|
||||||
for ($j = 0; defined($options[$j]); $j++)
|
for ($j = 0, $tmp= ""; defined($options[$j]); $j++)
|
||||||
{
|
{
|
||||||
$com.= " $options[$j]";
|
if ("--mysqld=" eq substr($options[$j], 0, 9))
|
||||||
|
{
|
||||||
|
$options[$j]=~ s/\-\-mysqld\=//;
|
||||||
|
$com= $options[$j];
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$tmp.= " $options[$j]";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$com.= $tmp;
|
||||||
$com.= " >> $opt_log 2>&1" if (!$opt_no_log);
|
$com.= " >> $opt_log 2>&1" if (!$opt_no_log);
|
||||||
$com.= " &";
|
$com.= " &";
|
||||||
system($com);
|
system($com);
|
||||||
@@ -595,6 +604,11 @@ Options:
|
|||||||
to this option also. The options are passed to mysqld. Just
|
to this option also. The options are passed to mysqld. Just
|
||||||
make sure you have mysqld in your PATH or fix mysqld_safe.
|
make sure you have mysqld in your PATH or fix mysqld_safe.
|
||||||
Using: $mysqld
|
Using: $mysqld
|
||||||
|
Please note: Since mysqld_multi version 2.3 you can also
|
||||||
|
give this option in groups [mysqld#]! This will be
|
||||||
|
recognized as a special option and will not be passed
|
||||||
|
to the mysqld. This will allow one to start different
|
||||||
|
mysqld versions with mysqld_multi.
|
||||||
--no-log Print to stdout instead of the log file. By default the log
|
--no-log Print to stdout instead of the log file. By default the log
|
||||||
file is turned on.
|
file is turned on.
|
||||||
--password=... Password for user for mysqladmin.
|
--password=... Password for user for mysqladmin.
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ mysql_select(THD *thd,TABLE_LIST *tables,List<Item> &fields,COND *conds,
|
|||||||
TABLE *tmp_table;
|
TABLE *tmp_table;
|
||||||
int error, tmp_error;
|
int error, tmp_error;
|
||||||
bool need_tmp,hidden_group_fields;
|
bool need_tmp,hidden_group_fields;
|
||||||
bool simple_order,simple_group,no_order, skip_sort_order;
|
bool simple_order,simple_group,no_order, skip_sort_order, buffer_result;
|
||||||
Item::cond_result cond_value;
|
Item::cond_result cond_value;
|
||||||
SQL_SELECT *select;
|
SQL_SELECT *select;
|
||||||
DYNAMIC_ARRAY keyuse;
|
DYNAMIC_ARRAY keyuse;
|
||||||
@@ -201,6 +201,7 @@ mysql_select(THD *thd,TABLE_LIST *tables,List<Item> &fields,COND *conds,
|
|||||||
/* Check that all tables, fields, conds and order are ok */
|
/* Check that all tables, fields, conds and order are ok */
|
||||||
|
|
||||||
select_distinct=test(select_options & SELECT_DISTINCT);
|
select_distinct=test(select_options & SELECT_DISTINCT);
|
||||||
|
buffer_result=test(select_options & OPTION_BUFFER_RESULT) && !test(select_options & OPTION_FOUND_ROWS);
|
||||||
tmp_table=0;
|
tmp_table=0;
|
||||||
select=0;
|
select=0;
|
||||||
no_order=skip_sort_order=0;
|
no_order=skip_sort_order=0;
|
||||||
@@ -546,8 +547,7 @@ mysql_select(THD *thd,TABLE_LIST *tables,List<Item> &fields,COND *conds,
|
|||||||
|
|
||||||
need_tmp= (join.const_tables != join.tables &&
|
need_tmp= (join.const_tables != join.tables &&
|
||||||
((select_distinct || !simple_order || !simple_group) ||
|
((select_distinct || !simple_order || !simple_group) ||
|
||||||
(group && order) ||
|
(group && order) || buffer_result));
|
||||||
test(select_options & OPTION_BUFFER_RESULT)));
|
|
||||||
|
|
||||||
// No cache for MATCH
|
// No cache for MATCH
|
||||||
make_join_readinfo(&join,
|
make_join_readinfo(&join,
|
||||||
|
|||||||
Reference in New Issue
Block a user