Loading sql/ha_ndbcluster.cc +33 −1 Original line number Diff line number Diff line Loading @@ -414,6 +414,37 @@ void ha_ndbcluster::set_rec_per_key() DBUG_VOID_RETURN; } ha_rows ha_ndbcluster::records() { ha_rows retval; DBUG_ENTER("ha_ndbcluster::records"); struct Ndb_local_table_statistics *info= m_table_info; DBUG_PRINT("info", ("id=%d, no_uncommitted_rows_count=%d", ((const NDBTAB *)m_table)->getTableId(), info->no_uncommitted_rows_count)); Ndb *ndb= get_ndb(); ndb->setDatabaseName(m_dbname); struct Ndb_statistics stat; if (ndb_get_table_statistics(ndb, m_table, &stat) == 0) { retval= stat.row_count; } else { /** * Be consistent with BUG#19914 until we fix it properly */ DBUG_RETURN(-1); } THD *thd= current_thd; if (get_thd_ndb(thd)->error) info->no_uncommitted_rows_count= 0; DBUG_RETURN(retval + info->no_uncommitted_rows_count); } void ha_ndbcluster::records_update() { if (m_ha_not_exact_count) Loading Loading @@ -5455,7 +5486,8 @@ void ha_ndbcluster::get_auto_increment(ulonglong offset, ulonglong increment, HA_PRIMARY_KEY_REQUIRED_FOR_POSITION | \ HA_PRIMARY_KEY_REQUIRED_FOR_DELETE | \ HA_PARTIAL_COLUMN_READ | \ HA_HAS_OWN_BINLOGGING HA_HAS_OWN_BINLOGGING | \ HA_HAS_RECORDS ha_ndbcluster::ha_ndbcluster(TABLE_SHARE *table_arg): handler(&ndbcluster_hton, table_arg), Loading sql/ha_ndbcluster.h +1 −0 Original line number Diff line number Diff line Loading @@ -622,6 +622,7 @@ class ha_ndbcluster: public handler int read_multi_range_next(KEY_MULTI_RANGE **found_range_p); bool get_error_message(int error, String *buf); ha_rows records(); void info(uint); void get_dynamic_partition_info(PARTITION_INFO *stat_info, uint part_id); int extra(enum ha_extra_function operation); Loading Loading
sql/ha_ndbcluster.cc +33 −1 Original line number Diff line number Diff line Loading @@ -414,6 +414,37 @@ void ha_ndbcluster::set_rec_per_key() DBUG_VOID_RETURN; } ha_rows ha_ndbcluster::records() { ha_rows retval; DBUG_ENTER("ha_ndbcluster::records"); struct Ndb_local_table_statistics *info= m_table_info; DBUG_PRINT("info", ("id=%d, no_uncommitted_rows_count=%d", ((const NDBTAB *)m_table)->getTableId(), info->no_uncommitted_rows_count)); Ndb *ndb= get_ndb(); ndb->setDatabaseName(m_dbname); struct Ndb_statistics stat; if (ndb_get_table_statistics(ndb, m_table, &stat) == 0) { retval= stat.row_count; } else { /** * Be consistent with BUG#19914 until we fix it properly */ DBUG_RETURN(-1); } THD *thd= current_thd; if (get_thd_ndb(thd)->error) info->no_uncommitted_rows_count= 0; DBUG_RETURN(retval + info->no_uncommitted_rows_count); } void ha_ndbcluster::records_update() { if (m_ha_not_exact_count) Loading Loading @@ -5455,7 +5486,8 @@ void ha_ndbcluster::get_auto_increment(ulonglong offset, ulonglong increment, HA_PRIMARY_KEY_REQUIRED_FOR_POSITION | \ HA_PRIMARY_KEY_REQUIRED_FOR_DELETE | \ HA_PARTIAL_COLUMN_READ | \ HA_HAS_OWN_BINLOGGING HA_HAS_OWN_BINLOGGING | \ HA_HAS_RECORDS ha_ndbcluster::ha_ndbcluster(TABLE_SHARE *table_arg): handler(&ndbcluster_hton, table_arg), Loading
sql/ha_ndbcluster.h +1 −0 Original line number Diff line number Diff line Loading @@ -622,6 +622,7 @@ class ha_ndbcluster: public handler int read_multi_range_next(KEY_MULTI_RANGE **found_range_p); bool get_error_message(int error, String *buf); ha_rows records(); void info(uint); void get_dynamic_partition_info(PARTITION_INFO *stat_info, uint part_id); int extra(enum ha_extra_function operation); Loading