Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt
This commit is contained in:
commit
53c5511a9b
@ -80,6 +80,7 @@ extern FILE *_db_fp_(void);
|
|||||||
#define DBUG_ASSERT(A) assert(A)
|
#define DBUG_ASSERT(A) assert(A)
|
||||||
#define DBUG_EXPLAIN(buf,len) _db_explain_(0, (buf),(len))
|
#define DBUG_EXPLAIN(buf,len) _db_explain_(0, (buf),(len))
|
||||||
#define DBUG_EXPLAIN_INITIAL(buf,len) _db_explain_init_((buf),(len))
|
#define DBUG_EXPLAIN_INITIAL(buf,len) _db_explain_init_((buf),(len))
|
||||||
|
#define IF_DBUG(A) A
|
||||||
#else /* No debugger */
|
#else /* No debugger */
|
||||||
|
|
||||||
#define DBUG_ENTER(a1)
|
#define DBUG_ENTER(a1)
|
||||||
@ -106,6 +107,7 @@ extern FILE *_db_fp_(void);
|
|||||||
#define DBUG_UNLOCK_FILE
|
#define DBUG_UNLOCK_FILE
|
||||||
#define DBUG_EXPLAIN(buf,len)
|
#define DBUG_EXPLAIN(buf,len)
|
||||||
#define DBUG_EXPLAIN_INITIAL(buf,len)
|
#define DBUG_EXPLAIN_INITIAL(buf,len)
|
||||||
|
#define IF_DBUG(A)
|
||||||
#endif
|
#endif
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -409,24 +409,24 @@ sub main () {
|
|||||||
{
|
{
|
||||||
next if $test->{skip};
|
next if $test->{skip};
|
||||||
|
|
||||||
|
if (!$opt_extern)
|
||||||
|
{
|
||||||
$need_ndbcluster||= $test->{ndb_test};
|
$need_ndbcluster||= $test->{ndb_test};
|
||||||
$need_im||= $test->{component_id} eq 'im';
|
$need_im||= $test->{component_id} eq 'im';
|
||||||
|
|
||||||
# Count max number of slaves used by a test case
|
# Count max number of slaves used by a test case
|
||||||
if ( $test->{slave_num} > $max_slave_num)
|
if ( $test->{slave_num} > $max_slave_num) {
|
||||||
{
|
|
||||||
$max_slave_num= $test->{slave_num};
|
$max_slave_num= $test->{slave_num};
|
||||||
mtr_error("Too many slaves") if $max_slave_num > 3;
|
mtr_error("Too many slaves") if $max_slave_num > 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Count max number of masters used by a test case
|
# Count max number of masters used by a test case
|
||||||
if ( $test->{master_num} > $max_master_num)
|
if ( $test->{master_num} > $max_master_num) {
|
||||||
{
|
|
||||||
$max_master_num= $test->{master_num};
|
$max_master_num= $test->{master_num};
|
||||||
mtr_error("Too many masters") if $max_master_num > 2;
|
mtr_error("Too many masters") if $max_master_num > 2;
|
||||||
mtr_error("Too few masters") if $max_master_num < 1;
|
mtr_error("Too few masters") if $max_master_num < 1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
$use_innodb||= $test->{'innodb_test'};
|
$use_innodb||= $test->{'innodb_test'};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,8 +24,8 @@
|
|||||||
|
|
||||||
User::User(const LEX_STRING *user_name_arg, const char *password)
|
User::User(const LEX_STRING *user_name_arg, const char *password)
|
||||||
{
|
{
|
||||||
user_length= strmake(user, user_name_arg->str, USERNAME_LENGTH + 1) - user;
|
user_length= (uint8) (strmake(user, user_name_arg->str,
|
||||||
|
USERNAME_LENGTH + 1) - user);
|
||||||
set_password(password);
|
set_password(password);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ int User::init(const char *line)
|
|||||||
password= name_end + 1;
|
password= name_end + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
user_length= name_end - name_begin;
|
user_length= (uint8) (name_end - name_begin);
|
||||||
if (user_length > USERNAME_LENGTH)
|
if (user_length > USERNAME_LENGTH)
|
||||||
{
|
{
|
||||||
log_error("User name is too long (%d). Max length: %d. "
|
log_error("User name is too long (%d). Max length: %d. "
|
||||||
@ -70,7 +70,7 @@ int User::init(const char *line)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
password_length= strlen(password);
|
password_length= (int) strlen(password);
|
||||||
if (password_length > SCRAMBLED_PASSWORD_CHAR_LENGTH)
|
if (password_length > SCRAMBLED_PASSWORD_CHAR_LENGTH)
|
||||||
{
|
{
|
||||||
log_error("Password is too long (%d). Max length: %d."
|
log_error("Password is too long (%d). Max length: %d."
|
||||||
|
@ -6297,7 +6297,7 @@ int Field_string::cmp(const char *a_ptr, const char *b_ptr)
|
|||||||
|
|
||||||
void Field_string::sort_string(char *to,uint length)
|
void Field_string::sort_string(char *to,uint length)
|
||||||
{
|
{
|
||||||
uint tmp= my_strnxfrm(field_charset,
|
IF_DBUG(uint tmp=) my_strnxfrm(field_charset,
|
||||||
(uchar*) to, length,
|
(uchar*) to, length,
|
||||||
(uchar*) ptr, field_length);
|
(uchar*) ptr, field_length);
|
||||||
DBUG_ASSERT(tmp == length);
|
DBUG_ASSERT(tmp == length);
|
||||||
|
@ -2764,10 +2764,12 @@ int ha_ndbcluster::write_row(byte *record)
|
|||||||
{
|
{
|
||||||
Ndb *ndb= get_ndb();
|
Ndb *ndb= get_ndb();
|
||||||
Uint64 next_val= (Uint64) table->next_number_field->val_int() + 1;
|
Uint64 next_val= (Uint64) table->next_number_field->val_int() + 1;
|
||||||
|
#ifndef DBUG_OFF
|
||||||
char buff[22];
|
char buff[22];
|
||||||
DBUG_PRINT("info",
|
DBUG_PRINT("info",
|
||||||
("Trying to set next auto increment value to %s",
|
("Trying to set next auto increment value to %s",
|
||||||
llstr(next_val, buff)));
|
llstr(next_val, buff)));
|
||||||
|
#endif
|
||||||
Ndb_tuple_id_range_guard g(m_share);
|
Ndb_tuple_id_range_guard g(m_share);
|
||||||
if (ndb->setAutoIncrementValue(m_table, g.range, next_val, TRUE)
|
if (ndb->setAutoIncrementValue(m_table, g.range, next_val, TRUE)
|
||||||
== -1)
|
== -1)
|
||||||
@ -3999,7 +4001,7 @@ int ha_ndbcluster::end_bulk_insert()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int res= trans->restart();
|
IF_DBUG(int res=) trans->restart();
|
||||||
DBUG_ASSERT(res == 0);
|
DBUG_ASSERT(res == 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4717,7 +4719,9 @@ static int create_ndb_column(NDBCOL &col,
|
|||||||
// Set autoincrement
|
// Set autoincrement
|
||||||
if (field->flags & AUTO_INCREMENT_FLAG)
|
if (field->flags & AUTO_INCREMENT_FLAG)
|
||||||
{
|
{
|
||||||
|
#ifndef DBUG_OFF
|
||||||
char buff[22];
|
char buff[22];
|
||||||
|
#endif
|
||||||
col.setAutoIncrement(TRUE);
|
col.setAutoIncrement(TRUE);
|
||||||
ulonglong value= info->auto_increment_value ?
|
ulonglong value= info->auto_increment_value ?
|
||||||
info->auto_increment_value : (ulonglong) 1;
|
info->auto_increment_value : (ulonglong) 1;
|
||||||
@ -5388,7 +5392,7 @@ int ha_ndbcluster::rename_table(const char *from, const char *to)
|
|||||||
{
|
{
|
||||||
DBUG_PRINT("NDB_SHARE", ("%s temporary use_count: %u",
|
DBUG_PRINT("NDB_SHARE", ("%s temporary use_count: %u",
|
||||||
share->key, share->use_count));
|
share->key, share->use_count));
|
||||||
int r= rename_share(share, to);
|
IF_DBUG(int r=) rename_share(share, to);
|
||||||
DBUG_ASSERT(r == 0);
|
DBUG_ASSERT(r == 0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -5409,8 +5413,8 @@ int ha_ndbcluster::rename_table(const char *from, const char *to)
|
|||||||
#ifdef HAVE_NDB_BINLOG
|
#ifdef HAVE_NDB_BINLOG
|
||||||
if (share)
|
if (share)
|
||||||
{
|
{
|
||||||
int r= rename_share(share, from);
|
IF_DBUG(int ret=) rename_share(share, from);
|
||||||
DBUG_ASSERT(r == 0);
|
DBUG_ASSERT(ret == 0);
|
||||||
/* ndb_share reference temporary free */
|
/* ndb_share reference temporary free */
|
||||||
DBUG_PRINT("NDB_SHARE", ("%s temporary free use_count: %u",
|
DBUG_PRINT("NDB_SHARE", ("%s temporary free use_count: %u",
|
||||||
share->key, share->use_count));
|
share->key, share->use_count));
|
||||||
@ -7268,7 +7272,9 @@ uint ndb_get_commitcount(THD *thd, char *dbname, char *tabname,
|
|||||||
if (share->commit_count != 0)
|
if (share->commit_count != 0)
|
||||||
{
|
{
|
||||||
*commit_count= share->commit_count;
|
*commit_count= share->commit_count;
|
||||||
|
#ifndef DBUG_OFF
|
||||||
char buff[22];
|
char buff[22];
|
||||||
|
#endif
|
||||||
DBUG_PRINT("info", ("Getting commit_count: %s from share",
|
DBUG_PRINT("info", ("Getting commit_count: %s from share",
|
||||||
llstr(share->commit_count, buff)));
|
llstr(share->commit_count, buff)));
|
||||||
pthread_mutex_unlock(&share->mutex);
|
pthread_mutex_unlock(&share->mutex);
|
||||||
@ -7304,7 +7310,9 @@ uint ndb_get_commitcount(THD *thd, char *dbname, char *tabname,
|
|||||||
pthread_mutex_lock(&share->mutex);
|
pthread_mutex_lock(&share->mutex);
|
||||||
if (share->commit_count_lock == lock)
|
if (share->commit_count_lock == lock)
|
||||||
{
|
{
|
||||||
|
#ifndef DBUG_OFF
|
||||||
char buff[22];
|
char buff[22];
|
||||||
|
#endif
|
||||||
DBUG_PRINT("info", ("Setting commit_count to %s",
|
DBUG_PRINT("info", ("Setting commit_count to %s",
|
||||||
llstr(stat.commit_count, buff)));
|
llstr(stat.commit_count, buff)));
|
||||||
share->commit_count= stat.commit_count;
|
share->commit_count= stat.commit_count;
|
||||||
@ -7363,7 +7371,9 @@ ndbcluster_cache_retrieval_allowed(THD *thd,
|
|||||||
bool is_autocommit= !(thd->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN));
|
bool is_autocommit= !(thd->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN));
|
||||||
char *dbname= full_name;
|
char *dbname= full_name;
|
||||||
char *tabname= dbname+strlen(dbname)+1;
|
char *tabname= dbname+strlen(dbname)+1;
|
||||||
|
#ifndef DBUG_OFF
|
||||||
char buff[22], buff2[22];
|
char buff[22], buff2[22];
|
||||||
|
#endif
|
||||||
DBUG_ENTER("ndbcluster_cache_retrieval_allowed");
|
DBUG_ENTER("ndbcluster_cache_retrieval_allowed");
|
||||||
DBUG_PRINT("enter", ("dbname: %s, tabname: %s, is_autocommit: %d",
|
DBUG_PRINT("enter", ("dbname: %s, tabname: %s, is_autocommit: %d",
|
||||||
dbname, tabname, is_autocommit));
|
dbname, tabname, is_autocommit));
|
||||||
@ -7430,7 +7440,9 @@ ha_ndbcluster::register_query_cache_table(THD *thd,
|
|||||||
ulonglong *engine_data)
|
ulonglong *engine_data)
|
||||||
{
|
{
|
||||||
Uint64 commit_count;
|
Uint64 commit_count;
|
||||||
|
#ifndef DBUG_OFF
|
||||||
char buff[22];
|
char buff[22];
|
||||||
|
#endif
|
||||||
bool is_autocommit= !(thd->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN));
|
bool is_autocommit= !(thd->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN));
|
||||||
DBUG_ENTER("ha_ndbcluster::register_query_cache_table");
|
DBUG_ENTER("ha_ndbcluster::register_query_cache_table");
|
||||||
DBUG_PRINT("enter",("dbname: %s, tabname: %s, is_autocommit: %d",
|
DBUG_PRINT("enter",("dbname: %s, tabname: %s, is_autocommit: %d",
|
||||||
@ -7875,7 +7887,9 @@ ndb_get_table_statistics(ha_ndbcluster* file, bool report_error, Ndb* ndb, const
|
|||||||
int retries= 10;
|
int retries= 10;
|
||||||
int reterr= 0;
|
int reterr= 0;
|
||||||
int retry_sleep= 30 * 1000; /* 30 milliseconds */
|
int retry_sleep= 30 * 1000; /* 30 milliseconds */
|
||||||
|
#ifndef DBUG_OFF
|
||||||
char buff[22], buff2[22], buff3[22], buff4[22];
|
char buff[22], buff2[22], buff3[22], buff4[22];
|
||||||
|
#endif
|
||||||
DBUG_ENTER("ndb_get_table_statistics");
|
DBUG_ENTER("ndb_get_table_statistics");
|
||||||
DBUG_PRINT("enter", ("table: %s", ndbtab->getName()));
|
DBUG_PRINT("enter", ("table: %s", ndbtab->getName()));
|
||||||
|
|
||||||
@ -8693,7 +8707,9 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
|
|||||||
ndb_get_table_statistics(NULL, FALSE, ndb,
|
ndb_get_table_statistics(NULL, FALSE, ndb,
|
||||||
ndbtab_g.get_table(), &stat) == 0)
|
ndbtab_g.get_table(), &stat) == 0)
|
||||||
{
|
{
|
||||||
|
#ifndef DBUG_OFF
|
||||||
char buff[22], buff2[22];
|
char buff[22], buff2[22];
|
||||||
|
#endif
|
||||||
DBUG_PRINT("info",
|
DBUG_PRINT("info",
|
||||||
("Table: %s commit_count: %s rows: %s",
|
("Table: %s commit_count: %s rows: %s",
|
||||||
share->key,
|
share->key,
|
||||||
@ -9545,8 +9561,8 @@ void ndb_serialize_cond(const Item *item, void *arg)
|
|||||||
DBUG_PRINT("info", ("INT_ITEM"));
|
DBUG_PRINT("info", ("INT_ITEM"));
|
||||||
if (context->expecting(Item::INT_ITEM))
|
if (context->expecting(Item::INT_ITEM))
|
||||||
{
|
{
|
||||||
Item_int *int_item= (Item_int *) item;
|
DBUG_PRINT("info", ("value %ld",
|
||||||
DBUG_PRINT("info", ("value %ld", (long) int_item->value));
|
(long) ((Item_int*) item)->value));
|
||||||
NDB_ITEM_QUALIFICATION q;
|
NDB_ITEM_QUALIFICATION q;
|
||||||
q.value_type= Item::INT_ITEM;
|
q.value_type= Item::INT_ITEM;
|
||||||
curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item);
|
curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item);
|
||||||
@ -9572,8 +9588,7 @@ void ndb_serialize_cond(const Item *item, void *arg)
|
|||||||
DBUG_PRINT("info", ("REAL_ITEM"));
|
DBUG_PRINT("info", ("REAL_ITEM"));
|
||||||
if (context->expecting(Item::REAL_ITEM))
|
if (context->expecting(Item::REAL_ITEM))
|
||||||
{
|
{
|
||||||
Item_float *float_item= (Item_float *) item;
|
DBUG_PRINT("info", ("value %f", ((Item_float*) item)->value));
|
||||||
DBUG_PRINT("info", ("value %f", float_item->value));
|
|
||||||
NDB_ITEM_QUALIFICATION q;
|
NDB_ITEM_QUALIFICATION q;
|
||||||
q.value_type= Item::REAL_ITEM;
|
q.value_type= Item::REAL_ITEM;
|
||||||
curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item);
|
curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item);
|
||||||
@ -9620,8 +9635,8 @@ void ndb_serialize_cond(const Item *item, void *arg)
|
|||||||
DBUG_PRINT("info", ("DECIMAL_ITEM"));
|
DBUG_PRINT("info", ("DECIMAL_ITEM"));
|
||||||
if (context->expecting(Item::DECIMAL_ITEM))
|
if (context->expecting(Item::DECIMAL_ITEM))
|
||||||
{
|
{
|
||||||
Item_decimal *decimal_item= (Item_decimal *) item;
|
DBUG_PRINT("info", ("value %f",
|
||||||
DBUG_PRINT("info", ("value %f", decimal_item->val_real()));
|
((Item_decimal*) item)->val_real()));
|
||||||
NDB_ITEM_QUALIFICATION q;
|
NDB_ITEM_QUALIFICATION q;
|
||||||
q.value_type= Item::DECIMAL_ITEM;
|
q.value_type= Item::DECIMAL_ITEM;
|
||||||
curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item);
|
curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item);
|
||||||
|
@ -3225,14 +3225,16 @@ ndb_binlog_thread_handle_data_event(Ndb *ndb, NdbEventOperation *pOp,
|
|||||||
if (share->flags & NSF_BLOB_FLAG)
|
if (share->flags & NSF_BLOB_FLAG)
|
||||||
{
|
{
|
||||||
my_ptrdiff_t ptrdiff= 0;
|
my_ptrdiff_t ptrdiff= 0;
|
||||||
int ret= get_ndb_blobs_value(table, share->ndb_value[0],
|
IF_DBUG(int ret =) get_ndb_blobs_value(table, share->ndb_value[0],
|
||||||
blobs_buffer[0], blobs_buffer_size[0],
|
blobs_buffer[0],
|
||||||
|
blobs_buffer_size[0],
|
||||||
ptrdiff);
|
ptrdiff);
|
||||||
DBUG_ASSERT(ret == 0);
|
DBUG_ASSERT(ret == 0);
|
||||||
}
|
}
|
||||||
ndb_unpack_record(table, share->ndb_value[0], &b, table->record[0]);
|
ndb_unpack_record(table, share->ndb_value[0], &b, table->record[0]);
|
||||||
int ret= trans.write_row(::server_id,
|
IF_DBUG(int ret=) trans.write_row(::server_id,
|
||||||
injector::transaction::table(table, TRUE),
|
injector::transaction::table(table,
|
||||||
|
TRUE),
|
||||||
&b, n_fields, table->record[0]);
|
&b, n_fields, table->record[0]);
|
||||||
DBUG_ASSERT(ret == 0);
|
DBUG_ASSERT(ret == 0);
|
||||||
}
|
}
|
||||||
@ -3262,15 +3264,17 @@ ndb_binlog_thread_handle_data_event(Ndb *ndb, NdbEventOperation *pOp,
|
|||||||
if (share->flags & NSF_BLOB_FLAG)
|
if (share->flags & NSF_BLOB_FLAG)
|
||||||
{
|
{
|
||||||
my_ptrdiff_t ptrdiff= table->record[n] - table->record[0];
|
my_ptrdiff_t ptrdiff= table->record[n] - table->record[0];
|
||||||
int ret= get_ndb_blobs_value(table, share->ndb_value[n],
|
IF_DBUG(int ret =) get_ndb_blobs_value(table, share->ndb_value[n],
|
||||||
blobs_buffer[n], blobs_buffer_size[n],
|
blobs_buffer[n],
|
||||||
|
blobs_buffer_size[n],
|
||||||
ptrdiff);
|
ptrdiff);
|
||||||
DBUG_ASSERT(ret == 0);
|
DBUG_ASSERT(ret == 0);
|
||||||
}
|
}
|
||||||
ndb_unpack_record(table, share->ndb_value[n], &b, table->record[n]);
|
ndb_unpack_record(table, share->ndb_value[n], &b, table->record[n]);
|
||||||
DBUG_EXECUTE("info", print_records(table, table->record[n]););
|
DBUG_EXECUTE("info", print_records(table, table->record[n]););
|
||||||
int ret= trans.delete_row(::server_id,
|
IF_DBUG(int ret =) trans.delete_row(::server_id,
|
||||||
injector::transaction::table(table, TRUE),
|
injector::transaction::table(table,
|
||||||
|
TRUE),
|
||||||
&b, n_fields, table->record[n]);
|
&b, n_fields, table->record[n]);
|
||||||
DBUG_ASSERT(ret == 0);
|
DBUG_ASSERT(ret == 0);
|
||||||
}
|
}
|
||||||
@ -3283,8 +3287,9 @@ ndb_binlog_thread_handle_data_event(Ndb *ndb, NdbEventOperation *pOp,
|
|||||||
if (share->flags & NSF_BLOB_FLAG)
|
if (share->flags & NSF_BLOB_FLAG)
|
||||||
{
|
{
|
||||||
my_ptrdiff_t ptrdiff= 0;
|
my_ptrdiff_t ptrdiff= 0;
|
||||||
int ret= get_ndb_blobs_value(table, share->ndb_value[0],
|
IF_DBUG(int ret =) get_ndb_blobs_value(table, share->ndb_value[0],
|
||||||
blobs_buffer[0], blobs_buffer_size[0],
|
blobs_buffer[0],
|
||||||
|
blobs_buffer_size[0],
|
||||||
ptrdiff);
|
ptrdiff);
|
||||||
DBUG_ASSERT(ret == 0);
|
DBUG_ASSERT(ret == 0);
|
||||||
}
|
}
|
||||||
@ -3309,15 +3314,17 @@ ndb_binlog_thread_handle_data_event(Ndb *ndb, NdbEventOperation *pOp,
|
|||||||
if (share->flags & NSF_BLOB_FLAG)
|
if (share->flags & NSF_BLOB_FLAG)
|
||||||
{
|
{
|
||||||
my_ptrdiff_t ptrdiff= table->record[1] - table->record[0];
|
my_ptrdiff_t ptrdiff= table->record[1] - table->record[0];
|
||||||
int ret= get_ndb_blobs_value(table, share->ndb_value[1],
|
IF_DBUG(int ret =) get_ndb_blobs_value(table, share->ndb_value[1],
|
||||||
blobs_buffer[1], blobs_buffer_size[1],
|
blobs_buffer[1],
|
||||||
|
blobs_buffer_size[1],
|
||||||
ptrdiff);
|
ptrdiff);
|
||||||
DBUG_ASSERT(ret == 0);
|
DBUG_ASSERT(ret == 0);
|
||||||
}
|
}
|
||||||
ndb_unpack_record(table, share->ndb_value[1], &b, table->record[1]);
|
ndb_unpack_record(table, share->ndb_value[1], &b, table->record[1]);
|
||||||
DBUG_EXECUTE("info", print_records(table, table->record[1]););
|
DBUG_EXECUTE("info", print_records(table, table->record[1]););
|
||||||
int ret= trans.update_row(::server_id,
|
IF_DBUG(int ret =) trans.update_row(::server_id,
|
||||||
injector::transaction::table(table, TRUE),
|
injector::transaction::table(table,
|
||||||
|
TRUE),
|
||||||
&b, n_fields,
|
&b, n_fields,
|
||||||
table->record[1], // before values
|
table->record[1], // before values
|
||||||
table->record[0]);// after values
|
table->record[0]);// after values
|
||||||
@ -3850,7 +3857,9 @@ restart:
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
TABLE *table= share->table;
|
TABLE *table= share->table;
|
||||||
|
#ifndef DBUG_OFF
|
||||||
const LEX_STRING &name= table->s->table_name;
|
const LEX_STRING &name= table->s->table_name;
|
||||||
|
#endif
|
||||||
if ((event_types & (NdbDictionary::Event::TE_INSERT |
|
if ((event_types & (NdbDictionary::Event::TE_INSERT |
|
||||||
NdbDictionary::Event::TE_UPDATE |
|
NdbDictionary::Event::TE_UPDATE |
|
||||||
NdbDictionary::Event::TE_DELETE)) == 0)
|
NdbDictionary::Event::TE_DELETE)) == 0)
|
||||||
@ -3867,7 +3876,7 @@ restart:
|
|||||||
}
|
}
|
||||||
DBUG_PRINT("info", ("use_table: %.*s", name.length, name.str));
|
DBUG_PRINT("info", ("use_table: %.*s", name.length, name.str));
|
||||||
injector::transaction::table tbl(table, TRUE);
|
injector::transaction::table tbl(table, TRUE);
|
||||||
int ret= trans.use_table(::server_id, tbl);
|
IF_DBUG(int ret=) trans.use_table(::server_id, tbl);
|
||||||
DBUG_ASSERT(ret == 0);
|
DBUG_ASSERT(ret == 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3877,10 +3886,12 @@ restart:
|
|||||||
{
|
{
|
||||||
TABLE *table= ndb_apply_status_share->table;
|
TABLE *table= ndb_apply_status_share->table;
|
||||||
|
|
||||||
const LEX_STRING& name=table->s->table_name;
|
#ifndef DBUG_OFF
|
||||||
|
const LEX_STRING& name= table->s->table_name;
|
||||||
DBUG_PRINT("info", ("use_table: %.*s", name.length, name.str));
|
DBUG_PRINT("info", ("use_table: %.*s", name.length, name.str));
|
||||||
|
#endif
|
||||||
injector::transaction::table tbl(table, TRUE);
|
injector::transaction::table tbl(table, TRUE);
|
||||||
int ret= trans.use_table(::server_id, tbl);
|
IF_DBUG(int ret=) trans.use_table(::server_id, tbl);
|
||||||
DBUG_ASSERT(ret == 0);
|
DBUG_ASSERT(ret == 0);
|
||||||
|
|
||||||
// Set all fields non-null.
|
// Set all fields non-null.
|
||||||
@ -3945,7 +3956,7 @@ restart:
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// set injector_ndb database/schema from table internal name
|
// set injector_ndb database/schema from table internal name
|
||||||
int ret=
|
IF_DBUG(int ret=)
|
||||||
i_ndb->setDatabaseAndSchemaName(pOp->getEvent()->getTable());
|
i_ndb->setDatabaseAndSchemaName(pOp->getEvent()->getTable());
|
||||||
DBUG_ASSERT(ret == 0);
|
DBUG_ASSERT(ret == 0);
|
||||||
ndb_binlog_thread_handle_non_data_event(thd, i_ndb, pOp, row);
|
ndb_binlog_thread_handle_non_data_event(thd, i_ndb, pOp, row);
|
||||||
|
@ -1742,7 +1742,7 @@ void setup_windows_event_source()
|
|||||||
|
|
||||||
/* Register EventMessageFile */
|
/* Register EventMessageFile */
|
||||||
dwError = RegSetValueEx(hRegKey, "EventMessageFile", 0, REG_EXPAND_SZ,
|
dwError = RegSetValueEx(hRegKey, "EventMessageFile", 0, REG_EXPAND_SZ,
|
||||||
(PBYTE) szPath, strlen(szPath)+1);
|
(PBYTE) szPath, (DWORD) (strlen(szPath) + 1));
|
||||||
|
|
||||||
/* Register supported event types */
|
/* Register supported event types */
|
||||||
dwTypes= (EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE |
|
dwTypes= (EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE |
|
||||||
|
@ -284,12 +284,14 @@ public:
|
|||||||
*/
|
*/
|
||||||
int check_state(enum_state const target_state)
|
int check_state(enum_state const target_state)
|
||||||
{
|
{
|
||||||
|
#ifndef DBUG_OFF
|
||||||
static char const *state_name[] = {
|
static char const *state_name[] = {
|
||||||
"START_STATE", "TABLE_STATE", "ROW_STATE", "STATE_COUNT"
|
"START_STATE", "TABLE_STATE", "ROW_STATE", "STATE_COUNT"
|
||||||
};
|
};
|
||||||
|
|
||||||
DBUG_ASSERT(0 <= target_state && target_state <= STATE_COUNT);
|
DBUG_ASSERT(0 <= target_state && target_state <= STATE_COUNT);
|
||||||
DBUG_PRINT("info", ("In state %s", state_name[m_state]));
|
DBUG_PRINT("info", ("In state %s", state_name[m_state]));
|
||||||
|
#endif
|
||||||
|
|
||||||
if (m_state <= target_state && target_state <= m_state + 1 &&
|
if (m_state <= target_state && target_state <= m_state + 1 &&
|
||||||
m_state < STATE_COUNT)
|
m_state < STATE_COUNT)
|
||||||
|
@ -163,7 +163,7 @@ void mysql_client_binlog_statement(THD* thd)
|
|||||||
(ulong) uint4korr(bufptr+EVENT_LEN_OFFSET)));
|
(ulong) uint4korr(bufptr+EVENT_LEN_OFFSET)));
|
||||||
#endif
|
#endif
|
||||||
ev->thd= thd;
|
ev->thd= thd;
|
||||||
if (int err= ev->exec_event(thd->rli_fake))
|
if (IF_DBUG(int err= ) ev->exec_event(thd->rli_fake))
|
||||||
{
|
{
|
||||||
DBUG_PRINT("error", ("exec_event() returned: %d", err));
|
DBUG_PRINT("error", ("exec_event() returned: %d", err));
|
||||||
/*
|
/*
|
||||||
|
@ -3268,7 +3268,9 @@ end_with_restore_list:
|
|||||||
We WANT to write and we CAN write.
|
We WANT to write and we CAN write.
|
||||||
! we write after unlocking the table.
|
! we write after unlocking the table.
|
||||||
*/
|
*/
|
||||||
/* Presumably, RESET and binlog writing doesn't require synchronization */
|
/*
|
||||||
|
Presumably, RESET and binlog writing doesn't require synchronization
|
||||||
|
*/
|
||||||
if (!lex->no_write_to_binlog && write_to_binlog)
|
if (!lex->no_write_to_binlog && write_to_binlog)
|
||||||
{
|
{
|
||||||
if (mysql_bin_log.is_open())
|
if (mysql_bin_log.is_open())
|
||||||
|
@ -23,7 +23,9 @@
|
|||||||
|
|
||||||
int max_binlog_dump_events = 0; // unlimited
|
int max_binlog_dump_events = 0; // unlimited
|
||||||
my_bool opt_sporadic_binlog_dump_fail = 0;
|
my_bool opt_sporadic_binlog_dump_fail = 0;
|
||||||
|
#ifndef DBUG_OFF
|
||||||
static int binlog_dump_count = 0;
|
static int binlog_dump_count = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
fake_rotate_event() builds a fake (=which does not exist physically in any
|
fake_rotate_event() builds a fake (=which does not exist physically in any
|
||||||
|
@ -4818,7 +4818,8 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
|||||||
else
|
else
|
||||||
unlock_dst_table= TRUE;
|
unlock_dst_table= TRUE;
|
||||||
|
|
||||||
int result= store_create_info(thd, table, &query, create_info);
|
IF_DBUG(int result=) store_create_info(thd, table, &query,
|
||||||
|
create_info);
|
||||||
|
|
||||||
DBUG_ASSERT(result == 0); // store_create_info() always return 0
|
DBUG_ASSERT(result == 0); // store_create_info() always return 0
|
||||||
write_bin_log(thd, TRUE, query.ptr(), query.length());
|
write_bin_log(thd, TRUE, query.ptr(), query.length());
|
||||||
@ -6645,7 +6646,8 @@ view_err:
|
|||||||
thd->query, thd->query_length,
|
thd->query, thd->query_length,
|
||||||
db, table_name);
|
db, table_name);
|
||||||
|
|
||||||
DBUG_ASSERT(!(mysql_bin_log.is_open() && thd->current_stmt_binlog_row_based &&
|
DBUG_ASSERT(!(mysql_bin_log.is_open() &&
|
||||||
|
thd->current_stmt_binlog_row_based &&
|
||||||
(create_info->options & HA_LEX_CREATE_TMP_TABLE)));
|
(create_info->options & HA_LEX_CREATE_TMP_TABLE)));
|
||||||
write_bin_log(thd, TRUE, thd->query, thd->query_length);
|
write_bin_log(thd, TRUE, thd->query, thd->query_length);
|
||||||
|
|
||||||
|
@ -1017,7 +1017,7 @@ YY_RULE_SETUP
|
|||||||
yylval = sym_tab_add_bound_lit(pars_sym_tab_global,
|
yylval = sym_tab_add_bound_lit(pars_sym_tab_global,
|
||||||
yytext + 1, &type);
|
yytext + 1, &type);
|
||||||
|
|
||||||
return(type);
|
return((int) type);
|
||||||
}
|
}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 4:
|
case 4:
|
||||||
|
@ -460,6 +460,7 @@ void ha_myisammrg::update_create_info(HA_CREATE_INFO *create_info)
|
|||||||
{
|
{
|
||||||
TABLE_LIST *ptr;
|
TABLE_LIST *ptr;
|
||||||
LEX_STRING db, name;
|
LEX_STRING db, name;
|
||||||
|
LINT_INIT(db.str);
|
||||||
|
|
||||||
if (!(ptr = (TABLE_LIST *) thd->calloc(sizeof(TABLE_LIST))))
|
if (!(ptr = (TABLE_LIST *) thd->calloc(sizeof(TABLE_LIST))))
|
||||||
goto err;
|
goto err;
|
||||||
@ -570,6 +571,8 @@ void ha_myisammrg::append_create_info(String *packet)
|
|||||||
open_table++)
|
open_table++)
|
||||||
{
|
{
|
||||||
LEX_STRING db, name;
|
LEX_STRING db, name;
|
||||||
|
LINT_INIT(db.str);
|
||||||
|
|
||||||
split_file_name(open_table->table->filename, &db, &name);
|
split_file_name(open_table->table->filename, &db, &name);
|
||||||
if (open_table != first)
|
if (open_table != first)
|
||||||
packet->append(',');
|
packet->append(',');
|
||||||
|
@ -1338,6 +1338,7 @@ operator<<(NdbOut& out, const Gci_container& gci)
|
|||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef VM_TRACE
|
||||||
static
|
static
|
||||||
NdbOut&
|
NdbOut&
|
||||||
operator<<(NdbOut& out, const Gci_container_pod& gci)
|
operator<<(NdbOut& out, const Gci_container_pod& gci)
|
||||||
@ -1346,7 +1347,7 @@ operator<<(NdbOut& out, const Gci_container_pod& gci)
|
|||||||
out << *ptr;
|
out << *ptr;
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static
|
static
|
||||||
Gci_container*
|
Gci_container*
|
||||||
|
@ -322,6 +322,7 @@ static int my_strncasecmp_ucs2(CHARSET_INFO *cs,
|
|||||||
const char *te=t+len;
|
const char *te=t+len;
|
||||||
MY_UNICASE_INFO **uni_plane= cs->caseinfo;
|
MY_UNICASE_INFO **uni_plane= cs->caseinfo;
|
||||||
LINT_INIT(s_wc);
|
LINT_INIT(s_wc);
|
||||||
|
LINT_INIT(t_wc);
|
||||||
|
|
||||||
while ( s < se && t < te )
|
while ( s < se && t < te )
|
||||||
{
|
{
|
||||||
@ -1385,6 +1386,7 @@ int my_strnncoll_ucs2_bin(CHARSET_INFO *cs,
|
|||||||
const uchar *se=s+slen;
|
const uchar *se=s+slen;
|
||||||
const uchar *te=t+tlen;
|
const uchar *te=t+tlen;
|
||||||
LINT_INIT(s_wc);
|
LINT_INIT(s_wc);
|
||||||
|
LINT_INIT(t_wc);
|
||||||
|
|
||||||
while ( s < se && t < te )
|
while ( s < se && t < te )
|
||||||
{
|
{
|
||||||
|
@ -2313,6 +2313,7 @@ static int my_strnncoll_utf8(CHARSET_INFO *cs,
|
|||||||
const uchar *te=t+tlen;
|
const uchar *te=t+tlen;
|
||||||
MY_UNICASE_INFO **uni_plane= cs->caseinfo;
|
MY_UNICASE_INFO **uni_plane= cs->caseinfo;
|
||||||
LINT_INIT(s_wc);
|
LINT_INIT(s_wc);
|
||||||
|
LINT_INIT(t_wc);
|
||||||
|
|
||||||
while ( s < se && t < te )
|
while ( s < se && t < te )
|
||||||
{
|
{
|
||||||
@ -2383,6 +2384,7 @@ static int my_strnncollsp_utf8(CHARSET_INFO *cs,
|
|||||||
const uchar *se= s+slen, *te= t+tlen;
|
const uchar *se= s+slen, *te= t+tlen;
|
||||||
MY_UNICASE_INFO **uni_plane= cs->caseinfo;
|
MY_UNICASE_INFO **uni_plane= cs->caseinfo;
|
||||||
LINT_INIT(s_wc);
|
LINT_INIT(s_wc);
|
||||||
|
LINT_INIT(t_wc);
|
||||||
|
|
||||||
#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
|
#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
|
||||||
diff_if_only_endspace_difference= 0;
|
diff_if_only_endspace_difference= 0;
|
||||||
|
@ -19,6 +19,7 @@ sql_yacc.cc : .*switch statement contains 'default' but no 'case' labels.*
|
|||||||
#
|
#
|
||||||
pars0grm.tab.c: .*'yyerrorlab' : unreferenced label.*
|
pars0grm.tab.c: .*'yyerrorlab' : unreferenced label.*
|
||||||
_flex_tmp.c: .*not enough actual parameters for macro 'yywrap'.*
|
_flex_tmp.c: .*not enough actual parameters for macro 'yywrap'.*
|
||||||
|
pars0lex.l: .*conversion from 'ulint' to 'int', possible loss of data.*
|
||||||
|
|
||||||
#
|
#
|
||||||
# bdb is not critical to keep up to date
|
# bdb is not critical to keep up to date
|
||||||
@ -33,17 +34,34 @@ db_vrfy.c : .*comparison is always false due to limited range of data type.*
|
|||||||
# Ignore all conversion warnings on windows 64
|
# Ignore all conversion warnings on windows 64
|
||||||
# (Is safe as we are not yet supporting strings >= 2G)
|
# (Is safe as we are not yet supporting strings >= 2G)
|
||||||
#
|
#
|
||||||
.* : conversion from 'size_t' to .*int'.*
|
|
||||||
.* : conversion from '__int64' to .*int'.*
|
.* : conversion from '__int64' to .*int'.*
|
||||||
|
.* : conversion from '__int64' to 'uint8'.*
|
||||||
|
.* : conversion from '__int64' to 'uint32'.*
|
||||||
|
.* : conversion from '__int64' to 'u.*long'.*
|
||||||
|
.* : conversion from '__int64' to 'long'.*
|
||||||
|
.* : conversion from '__int64' to 'off_t'.*
|
||||||
|
.* : conversion from '.*size_t' to .*int'.*
|
||||||
|
.* : conversion from '.*size_t' to 'TaoCrypt::word32'.*
|
||||||
|
.* : conversion from '.*size_t' to 'u.*long'.*
|
||||||
|
.* : conversion from '.*size_t' to 'uint32'.*
|
||||||
|
.* : conversion from '.*size_t' to 'off_t'.*
|
||||||
|
.* : conversion from '.*size_t' to 'size_s'.*
|
||||||
|
|
||||||
#
|
#
|
||||||
# The following should be fixed by the ndb team
|
# The following should be fixed by the ndb team
|
||||||
#
|
#
|
||||||
.*/ndb/.* : .*used uninitialized in this function.*
|
.*/ndb/.* : .*used uninitialized in this function.*
|
||||||
|
.*/ndb/.* : .*unused variable.*
|
||||||
|
.*/ndb/.* : .*defined but not used.*
|
||||||
|
|
||||||
#
|
#
|
||||||
# Unexplanable (?) stuff
|
# Unexplanable (?) stuff
|
||||||
#
|
#
|
||||||
listener.cc : .*conversion from 'SOCKET' to 'int'.*
|
listener.cc : .*conversion from 'SOCKET' to 'int'.*
|
||||||
net_serv.c : .*conversion from 'SOCKET' to 'int'.*
|
net_serv.cc : .*conversion from 'SOCKET' to 'int'.*
|
||||||
mi_packrec.c : .*result of 32-bit shift implicitly converted to 64 bits.* : 567
|
mi_packrec.c : .*result of 32-bit shift implicitly converted to 64 bits.* : 567
|
||||||
|
|
||||||
|
#
|
||||||
|
# Wrong compiler warnings
|
||||||
|
#
|
||||||
|
.* : .*no matching operator delete found; memory will not be freed if initialization throws an exception.*
|
||||||
|
@ -88,5 +88,5 @@ may be necessary to clean the build tree to remove any stale objects.
|
|||||||
|
|
||||||
2. To use Visual C++ Express Edition you also need to install the Platform SDK.
|
2. To use Visual C++ Express Edition you also need to install the Platform SDK.
|
||||||
Please see this link: http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
|
Please see this link: http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
|
||||||
At step 4 you only need to add the libraries advapi32.lib and user32.lib to
|
At step 5 you only need to add the libraries advapi32.lib and user32.lib to
|
||||||
the file "corewin_express.vsprops" in order to avoid link errors.
|
the file "corewin_express.vsprops" in order to avoid link errors.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user