mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
merge
BitKeeper/etc/logging_ok: auto-union client/Makefile.am: Auto merged client/mysql.cc: Auto merged myisam/mi_check.c: Auto merged sql/slave.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_show.cc: Auto merged strings/strmake.c: Auto merged mysql-test/t/rpl000017-slave.sh: Auto merged
This commit is contained in:
@ -1,3 +1,4 @@
|
|||||||
|
Administrator@fred.
|
||||||
Miguel@light.local
|
Miguel@light.local
|
||||||
Sinisa@sinisa.nasamreza.org
|
Sinisa@sinisa.nasamreza.org
|
||||||
davida@isil.mysql.com
|
davida@isil.mysql.com
|
||||||
@ -30,4 +31,3 @@ tonu@hundin.mysql.fi
|
|||||||
tonu@volk.internalnet
|
tonu@volk.internalnet
|
||||||
tonu@x153.internalnet
|
tonu@x153.internalnet
|
||||||
tonu@x3.internalnet
|
tonu@x3.internalnet
|
||||||
Administrator@fred.
|
|
||||||
|
@ -28165,6 +28165,13 @@ column that only can take 2 values: A @code{CHAR(0)}, that is not defined
|
|||||||
as @code{NOT NULL}, will only occupy one bit and can only take 2 values:
|
as @code{NOT NULL}, will only occupy one bit and can only take 2 values:
|
||||||
@code{NULL} or @code{""}. @xref{CHAR}.
|
@code{NULL} or @code{""}. @xref{CHAR}.
|
||||||
|
|
||||||
|
@tindex BOOL
|
||||||
|
@tindex BIT
|
||||||
|
@item BIT
|
||||||
|
@itemx BOOL
|
||||||
|
@itemx CHAR
|
||||||
|
These three are synonyms for @code{CHAR(1)}.
|
||||||
|
|
||||||
@tindex CHARACTER VARYING
|
@tindex CHARACTER VARYING
|
||||||
@tindex CHAR VARYING
|
@tindex CHAR VARYING
|
||||||
@tindex VARCHAR
|
@tindex VARCHAR
|
||||||
@ -30980,7 +30987,8 @@ mysql> select ATAN(-2);
|
|||||||
@end example
|
@end example
|
||||||
|
|
||||||
@findex ATAN2()
|
@findex ATAN2()
|
||||||
@item ATAN2(Y,X)
|
@item ATAN(Y,X)
|
||||||
|
@itemx ATAN2(Y,X)
|
||||||
Returns the arc tangent of the two variables @code{X} and @code{Y}. It is
|
Returns the arc tangent of the two variables @code{X} and @code{Y}. It is
|
||||||
similar to calculating the arc tangent of @code{Y / X}, except that the
|
similar to calculating the arc tangent of @code{Y / X}, except that the
|
||||||
signs of both arguments are used to determine the quadrant of the
|
signs of both arguments are used to determine the quadrant of the
|
||||||
@ -30988,7 +30996,7 @@ result:
|
|||||||
@example
|
@example
|
||||||
mysql> select ATAN(-2,2);
|
mysql> select ATAN(-2,2);
|
||||||
-> -0.785398
|
-> -0.785398
|
||||||
mysql> select ATAN(PI(),0);
|
mysql> select ATAN2(PI(),0);
|
||||||
-> 1.570796
|
-> 1.570796
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@ -32193,6 +32201,18 @@ MySQL will directly use disk-based temporary tables if needed.
|
|||||||
MySQL will also, in this case, prefer sorting to doing a
|
MySQL will also, in this case, prefer sorting to doing a
|
||||||
temporary table with a key on the @code{GROUP BY} elements.
|
temporary table with a key on the @code{GROUP BY} elements.
|
||||||
|
|
||||||
|
@item
|
||||||
|
@code{SQL_BUFFER_RESULT} will force the result to be put into a temporary
|
||||||
|
table. This will help MySQL free the table locks early and will help
|
||||||
|
in cases where it takes a long time to send the result set to the client.
|
||||||
|
|
||||||
|
@item
|
||||||
|
@code{SQL_SMALL_RESULT}, a MySQL-specific option, can be used
|
||||||
|
with @code{GROUP BY} or @code{DISTINCT} to tell the optimizer that the
|
||||||
|
result set will be small. In this case, MySQL will use fast
|
||||||
|
temporary tables to store the resulting table instead of using sorting. In
|
||||||
|
MySQL Version 3.23 this shouldn't normally be needed.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
@cindex @code{GROUP BY}, extensions to ANSI SQL
|
@cindex @code{GROUP BY}, extensions to ANSI SQL
|
||||||
If you use @code{GROUP BY}, the output rows will be sorted according to the
|
If you use @code{GROUP BY}, the output rows will be sorted according to the
|
||||||
@ -47547,6 +47567,9 @@ not yet 100% confident in this code.
|
|||||||
@appendixsubsec Changes in release 3.23.43
|
@appendixsubsec Changes in release 3.23.43
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
|
Fixed a bug in @code{INSERT DELAYED} and @code{FLUSH TABLES} introduced
|
||||||
|
in 3.23.42.
|
||||||
|
@item
|
||||||
Fixed unlikely bug, which returned not matching rows, in SELECT with
|
Fixed unlikely bug, which returned not matching rows, in SELECT with
|
||||||
many tables and multi-column indexes and 'range' type.
|
many tables and multi-column indexes and 'range' type.
|
||||||
@item
|
@item
|
||||||
|
@ -968,7 +968,7 @@ static bool add_line(String &buffer,char *line,char *in_string)
|
|||||||
{ // mSQL or postgreSQL style command ?
|
{ // mSQL or postgreSQL style command ?
|
||||||
if (!(inchar = (uchar) *++pos))
|
if (!(inchar = (uchar) *++pos))
|
||||||
break; // readline adds one '\'
|
break; // readline adds one '\'
|
||||||
if (*in_string || inchar == 'N')
|
if (*in_string || inchar == 'N') // \N is short for NULL
|
||||||
{ // Don't allow commands in string
|
{ // Don't allow commands in string
|
||||||
*out++='\\';
|
*out++='\\';
|
||||||
*out++= (char) inchar;
|
*out++= (char) inchar;
|
||||||
|
@ -3,8 +3,8 @@ master-bin.001
|
|||||||
4
|
4
|
||||||
127.0.0.1
|
127.0.0.1
|
||||||
replicate
|
replicate
|
||||||
aaaaaaaaaaaaaaab
|
aaaaaaaaaaaaaaabthispartofthepasswordisnotused
|
||||||
9306
|
$MASTER_MYPORT
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
EOF
|
EOF
|
||||||
|
@ -307,7 +307,7 @@ static int init_strvar_from_file(char* var, int max_size, IO_CACHE* f,
|
|||||||
}
|
}
|
||||||
else if (default_val)
|
else if (default_val)
|
||||||
{
|
{
|
||||||
strmake(var, default_val, max_size);
|
strmake(var, default_val, max_size-1);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
@ -548,14 +548,14 @@ int init_master_info(MASTER_INFO* mi)
|
|||||||
}
|
}
|
||||||
|
|
||||||
mi->log_file_name[length-1]= 0; // kill \n
|
mi->log_file_name[length-1]= 0; // kill \n
|
||||||
char buf[FN_REFLEN];
|
/* Reuse fname buffer */
|
||||||
if(!my_b_gets(&mi->file, buf, sizeof(buf)))
|
if(!my_b_gets(&mi->file, fname, sizeof(fname)))
|
||||||
{
|
{
|
||||||
msg="Error reading log file position from master info file";
|
msg="Error reading log file position from master info file";
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
mi->pos = strtoull(fname,(char**) 0, 10);
|
||||||
|
|
||||||
mi->pos = strtoull(buf,(char**) 0, 10);
|
|
||||||
mi->fd = fd;
|
mi->fd = fd;
|
||||||
if(init_strvar_from_file(mi->host, sizeof(mi->host), &mi->file,
|
if(init_strvar_from_file(mi->host, sizeof(mi->host), &mi->file,
|
||||||
master_host) ||
|
master_host) ||
|
||||||
|
@ -868,6 +868,7 @@ void kill_delayed_threads(void)
|
|||||||
delayed_insert *tmp;
|
delayed_insert *tmp;
|
||||||
while ((tmp=it++))
|
while ((tmp=it++))
|
||||||
{
|
{
|
||||||
|
/* Ensure that the thread doesn't kill itself while we are looking at it */
|
||||||
pthread_mutex_lock(&tmp->mutex);
|
pthread_mutex_lock(&tmp->mutex);
|
||||||
tmp->thd.killed=1;
|
tmp->thd.killed=1;
|
||||||
if (tmp->thd.mysys_var)
|
if (tmp->thd.mysys_var)
|
||||||
@ -875,9 +876,15 @@ void kill_delayed_threads(void)
|
|||||||
pthread_mutex_lock(&tmp->thd.mysys_var->mutex);
|
pthread_mutex_lock(&tmp->thd.mysys_var->mutex);
|
||||||
if (tmp->thd.mysys_var->current_cond)
|
if (tmp->thd.mysys_var->current_cond)
|
||||||
{
|
{
|
||||||
pthread_mutex_lock(tmp->thd.mysys_var->current_mutex);
|
/*
|
||||||
|
We need the following test because the main mutex may be locked
|
||||||
|
in handle_delayed_insert()
|
||||||
|
*/
|
||||||
|
if (&tmp->mutex != tmp->thd.mysys_var->current_mutex)
|
||||||
|
pthread_mutex_lock(tmp->thd.mysys_var->current_mutex);
|
||||||
pthread_cond_broadcast(tmp->thd.mysys_var->current_cond);
|
pthread_cond_broadcast(tmp->thd.mysys_var->current_cond);
|
||||||
pthread_mutex_unlock(tmp->thd.mysys_var->current_mutex);
|
if (&tmp->mutex != tmp->thd.mysys_var->current_mutex)
|
||||||
|
pthread_mutex_unlock(tmp->thd.mysys_var->current_mutex);
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&tmp->thd.mysys_var->mutex);
|
pthread_mutex_unlock(&tmp->thd.mysys_var->mutex);
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,8 @@
|
|||||||
|
|
||||||
strmake(dst,src,length) moves length characters, or until end, of src to
|
strmake(dst,src,length) moves length characters, or until end, of src to
|
||||||
dst and appends a closing NUL to dst.
|
dst and appends a closing NUL to dst.
|
||||||
strmake() returns pointer to closing null;
|
Note that is strlen(src) >= length then dst[length] will be set to \0
|
||||||
|
strmake() returns pointer to closing null
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <my_global.h>
|
#include <my_global.h>
|
||||||
|
Reference in New Issue
Block a user