Commit 4fb62979 authored by unknown's avatar unknown

Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0

into mysql.com:/home/jonas/src/mysql-5.0


sql/ha_ndbcluster.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
parents 69d69553 a4b1bcef
...@@ -278,7 +278,7 @@ if (defined $opt_changelog) ...@@ -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 ...@@ -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| ...@@ -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; ...@@ -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 ...@@ -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 ...@@ -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); ...@@ -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: ...@@ -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) ...@@ -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, ...@@ -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, ...@@ -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; ...@@ -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).", ...@@ -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) ...@@ -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 @@ ...@@ -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, ...@@ -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) ...@@ -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: ...@@ -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, ...@@ -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)))
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment