mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/jonas/src/mysql-5.0
This commit is contained in:
@ -278,7 +278,7 @@ if (defined $opt_changelog)
|
|||||||
unless ($opt_skip_manual)
|
unless ($opt_skip_manual)
|
||||||
{
|
{
|
||||||
&logger("Updating manual files");
|
&logger("Updating manual files");
|
||||||
foreach $file qw/internals manual reservedwords/
|
foreach $file qw/internals manual reservedwords errmsg-table cl-errmsg-table/
|
||||||
{
|
{
|
||||||
system ("bk cat $opt_docdir/Docs/$file.texi > $target_dir/Docs/$file.texi") == 0
|
system ("bk cat $opt_docdir/Docs/$file.texi > $target_dir/Docs/$file.texi") == 0
|
||||||
or &abort("Could not update $file.texi in $target_dir/Docs/!");
|
or &abort("Could not update $file.texi in $target_dir/Docs/!");
|
||||||
|
@ -344,7 +344,7 @@ SOURCE=..\mysys\my_alloc.c
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\mysys\my_decimal.cpp
|
SOURCE=..\sql\my_decimal.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
@ -656,7 +656,6 @@ delete from t1|
|
|||||||
drop table if exists t3|
|
drop table if exists t3|
|
||||||
create table t3 ( s char(16), d int)|
|
create table t3 ( s char(16), d int)|
|
||||||
call into_test4()|
|
call into_test4()|
|
||||||
Warnings:
|
|
||||||
select * from t3|
|
select * from t3|
|
||||||
s d
|
s d
|
||||||
into4 NULL
|
into4 NULL
|
||||||
@ -1344,9 +1343,7 @@ end if;
|
|||||||
insert into t4 values (2, rc, t3);
|
insert into t4 values (2, rc, t3);
|
||||||
end|
|
end|
|
||||||
call bug1863(10)|
|
call bug1863(10)|
|
||||||
Warnings:
|
|
||||||
call bug1863(10)|
|
call bug1863(10)|
|
||||||
Warnings:
|
|
||||||
select * from t4|
|
select * from t4|
|
||||||
f1 rc t3
|
f1 rc t3
|
||||||
2 0 NULL
|
2 0 NULL
|
||||||
@ -1643,9 +1640,7 @@ begin
|
|||||||
end|
|
end|
|
||||||
call bug4579_1()|
|
call bug4579_1()|
|
||||||
call bug4579_1()|
|
call bug4579_1()|
|
||||||
Warnings:
|
|
||||||
call bug4579_1()|
|
call bug4579_1()|
|
||||||
Warnings:
|
|
||||||
drop procedure bug4579_1|
|
drop procedure bug4579_1|
|
||||||
drop procedure bug4579_2|
|
drop procedure bug4579_2|
|
||||||
drop table t3|
|
drop table t3|
|
||||||
@ -2118,12 +2113,16 @@ var
|
|||||||
call bug7743("OneWord")|
|
call bug7743("OneWord")|
|
||||||
var
|
var
|
||||||
NULL
|
NULL
|
||||||
|
Warnings:
|
||||||
|
Warning 1329 No data to FETCH
|
||||||
call bug7743("anotherword")|
|
call bug7743("anotherword")|
|
||||||
var
|
var
|
||||||
2
|
2
|
||||||
call bug7743("AnotherWord")|
|
call bug7743("AnotherWord")|
|
||||||
var
|
var
|
||||||
NULL
|
NULL
|
||||||
|
Warnings:
|
||||||
|
Warning 1329 No data to FETCH
|
||||||
drop procedure bug7743|
|
drop procedure bug7743|
|
||||||
drop table t4|
|
drop table t4|
|
||||||
delete from t3|
|
delete from t3|
|
||||||
|
@ -44,7 +44,7 @@ select get_lock("a", 10);
|
|||||||
connection con2;
|
connection con2;
|
||||||
let $ID= `select connection_id()`;
|
let $ID= `select connection_id()`;
|
||||||
send select get_lock("a", 10);
|
send select get_lock("a", 10);
|
||||||
-- sleep 2
|
--real_sleep 2;
|
||||||
connection con1;
|
connection con1;
|
||||||
disable_query_log;
|
disable_query_log;
|
||||||
eval kill query $ID;
|
eval kill query $ID;
|
||||||
|
@ -575,7 +575,7 @@ error:
|
|||||||
int ha_archive::write_row(byte * buf)
|
int ha_archive::write_row(byte * buf)
|
||||||
{
|
{
|
||||||
z_off_t written;
|
z_off_t written;
|
||||||
uint *ptr, *end;
|
uint *bptr, *end;
|
||||||
DBUG_ENTER("ha_archive::write_row");
|
DBUG_ENTER("ha_archive::write_row");
|
||||||
|
|
||||||
if (share->crashed)
|
if (share->crashed)
|
||||||
@ -596,16 +596,16 @@ int ha_archive::write_row(byte * buf)
|
|||||||
We should probably mark the table as damagaged if the record is written
|
We should probably mark the table as damagaged if the record is written
|
||||||
but the blob fails.
|
but the blob fails.
|
||||||
*/
|
*/
|
||||||
for (ptr= table->s->blob_field, end=ptr + table->s->blob_fields ;
|
for (bptr= table->s->blob_field, end=bptr + table->s->blob_fields ;
|
||||||
ptr != end ;
|
bptr != end ;
|
||||||
ptr++)
|
bptr++)
|
||||||
{
|
{
|
||||||
char *ptr;
|
char *ptr;
|
||||||
uint32 size= ((Field_blob*) table->field[*ptr])->get_length();
|
uint32 size= ((Field_blob*) table->field[*bptr])->get_length();
|
||||||
|
|
||||||
if (size)
|
if (size)
|
||||||
{
|
{
|
||||||
((Field_blob*) table->field[*ptr])->get_ptr(&ptr);
|
((Field_blob*) table->field[*bptr])->get_ptr(&ptr);
|
||||||
written= gzwrite(share->archive_write, ptr, (unsigned)size);
|
written= gzwrite(share->archive_write, ptr, (unsigned)size);
|
||||||
if (written != size)
|
if (written != size)
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -5783,8 +5783,11 @@ extern "C" pthread_handler_decl(ndb_util_thread_func,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Round tim e from millisceonds to seconds */
|
||||||
|
uint wait_secs= ((ndb_cache_check_time+999)/1000);
|
||||||
|
DBUG_PRINT("ndb_util_thread", ("wait_secs: %d", wait_secs));
|
||||||
/* Set new time to wake up */
|
/* Set new time to wake up */
|
||||||
set_timespec(abstime, ndb_cache_check_time);
|
set_timespec(abstime, wait_secs);
|
||||||
|
|
||||||
/* Lock mutex and fill list with pointers to all open tables */
|
/* Lock mutex and fill list with pointers to all open tables */
|
||||||
NDB_SHARE *share;
|
NDB_SHARE *share;
|
||||||
@ -5793,7 +5796,6 @@ extern "C" pthread_handler_decl(ndb_util_thread_func,
|
|||||||
{
|
{
|
||||||
share= (NDB_SHARE *)hash_element(&ndbcluster_open_tables, i);
|
share= (NDB_SHARE *)hash_element(&ndbcluster_open_tables, i);
|
||||||
share->use_count++; /* Make sure the table can't be closed */
|
share->use_count++; /* Make sure the table can't be closed */
|
||||||
|
|
||||||
DBUG_PRINT("ndb_util_thread",
|
DBUG_PRINT("ndb_util_thread",
|
||||||
("Found open table[%d]: %s, use_count: %d",
|
("Found open table[%d]: %s, use_count: %d",
|
||||||
i, share->table_name, share->use_count));
|
i, share->table_name, share->use_count));
|
||||||
|
@ -171,6 +171,12 @@ extern CHARSET_INFO *national_charset_info, *table_alias_charset;
|
|||||||
#define FLUSH_TIME 0 /* Don't flush tables */
|
#define FLUSH_TIME 0 /* Don't flush tables */
|
||||||
#define MAX_CONNECT_ERRORS 10 // errors before disabling host
|
#define MAX_CONNECT_ERRORS 10 // errors before disabling host
|
||||||
|
|
||||||
|
#ifdef HAVE_INNOBASE_DB
|
||||||
|
#define IF_INNOBASE_DB(A, B) (A)
|
||||||
|
#else
|
||||||
|
#define IF_INNOBASE_DB(A, B) (B)
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(__WIN__) || defined(OS2)
|
#if defined(__WIN__) || defined(OS2)
|
||||||
#define IF_WIN(A,B) (A)
|
#define IF_WIN(A,B) (A)
|
||||||
#undef FLUSH_TIME
|
#undef FLUSH_TIME
|
||||||
|
@ -4668,7 +4668,7 @@ Disable with --skip-ndbcluster (will save memory).",
|
|||||||
(gptr*) &opt_ndb_optimized_node_selection,
|
(gptr*) &opt_ndb_optimized_node_selection,
|
||||||
0, GET_BOOL, OPT_ARG, 1, 0, 0, 0, 0, 0},
|
0, GET_BOOL, OPT_ARG, 1, 0, 0, 0, 0, 0},
|
||||||
{ "ndb-cache-check-time", OPT_NDB_CACHE_CHECK_TIME,
|
{ "ndb-cache-check-time", OPT_NDB_CACHE_CHECK_TIME,
|
||||||
"A dedicated thread is created to update cached commit count value at the given interval.",
|
"A dedicated thread is created to, at the given millisecons interval, invalidate the query cache if another MySQL server in the cluster has changed the data in the database.",
|
||||||
(gptr*) &opt_ndb_cache_check_time, (gptr*) &opt_ndb_cache_check_time, 0, GET_ULONG, REQUIRED_ARG,
|
(gptr*) &opt_ndb_cache_check_time, (gptr*) &opt_ndb_cache_check_time, 0, GET_ULONG, REQUIRED_ARG,
|
||||||
0, 0, LONG_TIMEOUT, 0, 1, 0},
|
0, 0, LONG_TIMEOUT, 0, 1, 0},
|
||||||
#endif
|
#endif
|
||||||
|
@ -359,7 +359,9 @@ send_eof(THD *thd, bool no_flush)
|
|||||||
if (thd->client_capabilities & CLIENT_PROTOCOL_41)
|
if (thd->client_capabilities & CLIENT_PROTOCOL_41)
|
||||||
{
|
{
|
||||||
uchar buff[5];
|
uchar buff[5];
|
||||||
uint tmp= min(thd->total_warn_count, 65535);
|
/* Don't send warn count during SP execution, as the warn_list
|
||||||
|
is cleared between substatements, and mysqltest gets confused */
|
||||||
|
uint tmp= (thd->spcont ? 0 : min(thd->total_warn_count, 65535));
|
||||||
buff[0]=254;
|
buff[0]=254;
|
||||||
int2store(buff+1, tmp);
|
int2store(buff+1, tmp);
|
||||||
/*
|
/*
|
||||||
|
@ -19,9 +19,8 @@
|
|||||||
#pragma implementation // gcc: Class implementation
|
#pragma implementation // gcc: Class implementation
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/stat.h>
|
|
||||||
|
|
||||||
#include "mysql_priv.h"
|
#include "mysql_priv.h"
|
||||||
|
#include <sys/stat.h>
|
||||||
#ifdef HAVE_SYS_MMAN_H
|
#ifdef HAVE_SYS_MMAN_H
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -1810,9 +1810,8 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||||||
TABLE_LIST table_list;
|
TABLE_LIST table_list;
|
||||||
LEX_STRING conv_name;
|
LEX_STRING conv_name;
|
||||||
/* Saved variable value */
|
/* Saved variable value */
|
||||||
#ifdef HAVE_INNOBASE_DB
|
my_bool old_innodb_table_locks=
|
||||||
my_bool old_innodb_table_locks= thd->variables.innodb_table_locks;
|
IF_INNOBASE_DB(thd->variables.innodb_table_locks, FALSE);
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
statistic_increment(thd->status_var.com_stat[SQLCOM_SHOW_FIELDS],
|
statistic_increment(thd->status_var.com_stat[SQLCOM_SHOW_FIELDS],
|
||||||
@ -2340,9 +2339,8 @@ mysql_execute_command(THD *thd)
|
|||||||
/* Locked closure of all tables */
|
/* Locked closure of all tables */
|
||||||
TABLE_LIST *locked_tables= NULL;
|
TABLE_LIST *locked_tables= NULL;
|
||||||
/* Saved variable value */
|
/* Saved variable value */
|
||||||
#ifdef HAVE_INNOBASE_DB
|
my_bool old_innodb_table_locks=
|
||||||
my_bool old_innodb_table_locks= thd->variables.innodb_table_locks;
|
IF_INNOBASE_DB(thd->variables.innodb_table_locks, FALSE);
|
||||||
#endif
|
|
||||||
DBUG_ENTER("mysql_execute_command");
|
DBUG_ENTER("mysql_execute_command");
|
||||||
thd->net.no_send_error= 0;
|
thd->net.no_send_error= 0;
|
||||||
|
|
||||||
@ -4189,6 +4187,12 @@ unsent_create_error:
|
|||||||
thd->row_count_func= 0;
|
thd->row_count_func= 0;
|
||||||
res= sp->execute_procedure(thd, &lex->value_list);
|
res= sp->execute_procedure(thd, &lex->value_list);
|
||||||
|
|
||||||
|
/* If warnings have been cleared, we have to clear total_warn_count
|
||||||
|
* too, otherwise the clients get confused.
|
||||||
|
*/
|
||||||
|
if (thd->warn_list.is_empty())
|
||||||
|
thd->total_warn_count= 0;
|
||||||
|
|
||||||
thd->variables.select_limit= select_limit;
|
thd->variables.select_limit= select_limit;
|
||||||
#ifndef NO_EMBEDDED_ACCESS_CHECKS
|
#ifndef NO_EMBEDDED_ACCESS_CHECKS
|
||||||
sp_restore_security_context(thd, sp, &save_ctx);
|
sp_restore_security_context(thd, sp, &save_ctx);
|
||||||
|
@ -11404,8 +11404,8 @@ find_order_in_list(THD *thd, Item **ref_pointer_array, TABLE_LIST *tables,
|
|||||||
in is field of view table => check that references on translation
|
in is field of view table => check that references on translation
|
||||||
table are same
|
table are same
|
||||||
*/
|
*/
|
||||||
((*select_item)->type() == Item::Item::REF_ITEM &&
|
((*select_item)->type() == Item::REF_ITEM &&
|
||||||
view_ref->type() == Item::Item::REF_ITEM &&
|
view_ref->type() == Item::REF_ITEM &&
|
||||||
((Item_ref *) (*select_item))->ref ==
|
((Item_ref *) (*select_item))->ref ==
|
||||||
((Item_ref *) view_ref)->ref)))
|
((Item_ref *) view_ref)->ref)))
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user