mirror of
https://github.com/MariaDB/server.git
synced 2025-05-25 13:42:52 +03:00
Merge
sql/ha_ndbcluster.cc: SCCS merged
This commit is contained in:
commit
0609dba34a
@ -186,7 +186,7 @@ void ha_ndbcluster::records_update()
|
|||||||
DBUG_PRINT("info", ("id=%d, no_uncommitted_rows_count=%d",
|
DBUG_PRINT("info", ("id=%d, no_uncommitted_rows_count=%d",
|
||||||
((const NDBTAB *)m_table)->getTableId(),
|
((const NDBTAB *)m_table)->getTableId(),
|
||||||
info->no_uncommitted_rows_count));
|
info->no_uncommitted_rows_count));
|
||||||
if (info->records == ~(ha_rows)0)
|
// if (info->records == ~(ha_rows)0)
|
||||||
{
|
{
|
||||||
Uint64 rows;
|
Uint64 rows;
|
||||||
if(ndb_get_table_statistics(m_ndb, m_tabname, &rows, 0) == 0){
|
if(ndb_get_table_statistics(m_ndb, m_tabname, &rows, 0) == 0){
|
||||||
@ -621,7 +621,7 @@ int ha_ndbcluster::get_metadata(const char *path)
|
|||||||
DBUG_ENTER("get_metadata");
|
DBUG_ENTER("get_metadata");
|
||||||
DBUG_PRINT("enter", ("m_tabname: %s, path: %s", m_tabname, path));
|
DBUG_PRINT("enter", ("m_tabname: %s, path: %s", m_tabname, path));
|
||||||
|
|
||||||
if (!(tab= dict->getTable(m_tabname, &m_table_info)))
|
if (!(tab= dict->getTable(m_tabname)))
|
||||||
ERR_RETURN(dict->getNdbError());
|
ERR_RETURN(dict->getNdbError());
|
||||||
DBUG_PRINT("info", ("Table schema version: %d", tab->getObjectVersion()));
|
DBUG_PRINT("info", ("Table schema version: %d", tab->getObjectVersion()));
|
||||||
|
|
||||||
@ -670,7 +670,9 @@ int ha_ndbcluster::get_metadata(const char *path)
|
|||||||
DBUG_RETURN(error);
|
DBUG_RETURN(error);
|
||||||
|
|
||||||
// All checks OK, lets use the table
|
// All checks OK, lets use the table
|
||||||
m_table= (void*)tab;
|
// m_table= (void*)tab;
|
||||||
|
m_table= 0;
|
||||||
|
m_table_info= 0;
|
||||||
|
|
||||||
DBUG_RETURN(build_index_list(table, ILBP_OPEN));
|
DBUG_RETURN(build_index_list(table, ILBP_OPEN));
|
||||||
}
|
}
|
||||||
@ -2408,7 +2410,17 @@ void ha_ndbcluster::info(uint flag)
|
|||||||
if (flag & HA_STATUS_VARIABLE)
|
if (flag & HA_STATUS_VARIABLE)
|
||||||
{
|
{
|
||||||
DBUG_PRINT("info", ("HA_STATUS_VARIABLE"));
|
DBUG_PRINT("info", ("HA_STATUS_VARIABLE"));
|
||||||
records_update();
|
if (m_table_info)
|
||||||
|
{
|
||||||
|
records_update();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Uint64 rows;
|
||||||
|
if(ndb_get_table_statistics(m_ndb, m_tabname, &rows, 0) == 0){
|
||||||
|
records= rows;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (flag & HA_STATUS_ERRKEY)
|
if (flag & HA_STATUS_ERRKEY)
|
||||||
{
|
{
|
||||||
@ -2795,6 +2807,16 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type)
|
|||||||
// Start of transaction
|
// Start of transaction
|
||||||
retrieve_all_fields= FALSE;
|
retrieve_all_fields= FALSE;
|
||||||
ops_pending= 0;
|
ops_pending= 0;
|
||||||
|
{
|
||||||
|
NDBDICT *dict= m_ndb->getDictionary();
|
||||||
|
const NDBTAB *tab;
|
||||||
|
void *tab_info;
|
||||||
|
if (!(tab= dict->getTable(m_tabname, &tab_info)))
|
||||||
|
ERR_RETURN(dict->getNdbError());
|
||||||
|
DBUG_PRINT("info", ("Table schema version: %d", tab->getObjectVersion()));
|
||||||
|
m_table= (void *)tab;
|
||||||
|
m_table_info= tab_info;
|
||||||
|
}
|
||||||
no_uncommitted_rows_init(thd);
|
no_uncommitted_rows_init(thd);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2817,6 +2839,8 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type)
|
|||||||
thd->transaction.stmt.ndb_tid= 0;
|
thd->transaction.stmt.ndb_tid= 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
m_table= (void *)0;
|
||||||
|
m_table_info= 0;
|
||||||
/*
|
/*
|
||||||
This is the place to make sure this handler instance
|
This is the place to make sure this handler instance
|
||||||
no longer are connected to the active transaction.
|
no longer are connected to the active transaction.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user