mirror of
https://github.com/MariaDB/server.git
synced 2026-04-22 16:25:30 +02:00
Bug#20872 master*.err: miscellaneous error messages
sql/ha_ndbcluster.cc: Bug#20872 master*.err: miscellaneous error messages - only allocate share if fully successfull sql/ha_ndbcluster_binlog.cc: Bug#20872 master*.err: miscellaneous error messages - only allocate share if fully successfull - no need to print error, my_errno is set sql/ha_ndbcluster_binlog.h: Bug#20872 master*.err: miscellaneous error messages - only allocate share if fully successfull
This commit is contained in:
parent
bfa05f52a2
commit
06d1c62877
3 changed files with 17 additions and 12 deletions
|
|
@ -8277,7 +8277,15 @@ NDB_SHARE *ndbcluster_get_share(const char *key, TABLE *table,
|
|||
share->table_name= share->db + strlen(share->db) + 1;
|
||||
ha_ndbcluster::set_tabname(key, share->table_name);
|
||||
#ifdef HAVE_NDB_BINLOG
|
||||
ndbcluster_binlog_init_share(share, table);
|
||||
if (ndbcluster_binlog_init_share(share, table))
|
||||
{
|
||||
DBUG_PRINT("error", ("get_share: %s could not init share", key));
|
||||
ndbcluster_real_free_share(&share);
|
||||
*root_ptr= old_root;
|
||||
if (!have_lock)
|
||||
pthread_mutex_unlock(&ndbcluster_mutex);
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
#endif
|
||||
*root_ptr= old_root;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -265,7 +265,7 @@ static void run_query(THD *thd, char *buf, char *end,
|
|||
Thd_ndb *thd_ndb= get_thd_ndb(thd);
|
||||
for (i= 0; no_print_error[i]; i++)
|
||||
if ((thd_ndb->m_error_code == no_print_error[i]) ||
|
||||
(thd->net.last_errno == no_print_error[i]))
|
||||
(thd->net.last_errno == (unsigned)no_print_error[i]))
|
||||
break;
|
||||
if (!no_print_error[i])
|
||||
sql_print_error("NDB: %s: error %s %d(ndb: %d) %d %d",
|
||||
|
|
@ -325,18 +325,14 @@ ndbcluster_binlog_open_table(THD *thd, NDB_SHARE *share,
|
|||
share->key);
|
||||
if ((error= open_table_def(thd, table_share, 0)))
|
||||
{
|
||||
sql_print_error("Unable to get table share for %s, error=%d",
|
||||
share->key, error);
|
||||
DBUG_PRINT("error", ("open_table_def failed %d", error));
|
||||
DBUG_PRINT("error", ("open_table_def failed: %d my_errno: %d", error, my_errno));
|
||||
free_table_share(table_share);
|
||||
DBUG_RETURN(error);
|
||||
}
|
||||
if ((error= open_table_from_share(thd, table_share, "", 0 /* fon't allocate buffers */,
|
||||
(uint) READ_ALL, 0, table, FALSE)))
|
||||
{
|
||||
sql_print_error("Unable to open table for %s, error=%d(%d)",
|
||||
share->key, error, my_errno);
|
||||
DBUG_PRINT("error", ("open_table_from_share failed %d", error));
|
||||
DBUG_PRINT("error", ("open_table_from_share failed %d my_errno: %d", error, my_errno));
|
||||
free_table_share(table_share);
|
||||
DBUG_RETURN(error);
|
||||
}
|
||||
|
|
@ -382,11 +378,12 @@ ndbcluster_binlog_open_table(THD *thd, NDB_SHARE *share,
|
|||
/*
|
||||
Initialize the binlog part of the NDB_SHARE
|
||||
*/
|
||||
void ndbcluster_binlog_init_share(NDB_SHARE *share, TABLE *_table)
|
||||
int ndbcluster_binlog_init_share(NDB_SHARE *share, TABLE *_table)
|
||||
{
|
||||
THD *thd= current_thd;
|
||||
MEM_ROOT *mem_root= &share->mem_root;
|
||||
int do_event_op= ndb_binlog_running;
|
||||
int error= 0;
|
||||
DBUG_ENTER("ndbcluster_binlog_init_share");
|
||||
|
||||
share->connect_count= g_ndb_cluster_connection->get_connect_count();
|
||||
|
|
@ -429,7 +426,7 @@ void ndbcluster_binlog_init_share(NDB_SHARE *share, TABLE *_table)
|
|||
{
|
||||
share->flags|= NSF_NO_BINLOG;
|
||||
}
|
||||
DBUG_VOID_RETURN;
|
||||
DBUG_RETURN(error);
|
||||
}
|
||||
while (1)
|
||||
{
|
||||
|
|
@ -456,7 +453,7 @@ void ndbcluster_binlog_init_share(NDB_SHARE *share, TABLE *_table)
|
|||
share->flags|= NSF_BLOB_FLAG;
|
||||
break;
|
||||
}
|
||||
DBUG_VOID_RETURN;
|
||||
DBUG_RETURN(error);
|
||||
}
|
||||
|
||||
/*****************************************************************
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ void ndbcluster_binlog_init_handlerton();
|
|||
/*
|
||||
Initialize the binlog part of the NDB_SHARE
|
||||
*/
|
||||
void ndbcluster_binlog_init_share(NDB_SHARE *share, TABLE *table);
|
||||
int ndbcluster_binlog_init_share(NDB_SHARE *share, TABLE *table);
|
||||
|
||||
bool ndbcluster_check_if_local_table(const char *dbname, const char *tabname);
|
||||
bool ndbcluster_check_if_local_tables_in_db(THD *thd, const char *dbname);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue