mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
addresses #814
restructure code before adding version and capabilities git-svn-id: file:///svn/mysql/tokudb-engine/src@4928 c7de825b-a66e-492c-adef-691d508d4ae1
This commit is contained in:
parent
1bb28b0dac
commit
e9e3cd0508
1 changed files with 33 additions and 24 deletions
|
@ -1728,9 +1728,9 @@ int ha_tokudb::read_last() {
|
|||
*/
|
||||
void ha_tokudb::get_status() {
|
||||
TOKUDB_DBUG_ENTER("ha_tokudb::get_status");
|
||||
pthread_mutex_lock(&share->mutex);
|
||||
|
||||
if (!(share->status & STATUS_PRIMARY_KEY_INIT)) {
|
||||
pthread_mutex_lock(&share->mutex);
|
||||
(void) extra(HA_EXTRA_KEYREAD);
|
||||
int error = read_last();
|
||||
(void) extra(HA_EXTRA_NO_KEYREAD);
|
||||
|
@ -1748,32 +1748,41 @@ void ha_tokudb::get_status() {
|
|||
}
|
||||
}
|
||||
|
||||
if (!share->status_block) {
|
||||
char name_buff[FN_REFLEN];
|
||||
char newname[get_name_length(share->table_name) + 32];
|
||||
make_name(newname, share->table_name, "status");
|
||||
fn_format(name_buff, newname, "", 0, MY_UNPACK_FILENAME);
|
||||
uint open_mode = (((table->db_stat & HA_READ_ONLY) ? DB_RDONLY : 0)
|
||||
| DB_THREAD);
|
||||
if (tokudb_debug & TOKUDB_DEBUG_OPEN) {
|
||||
TOKUDB_TRACE("open:%s\n", newname);
|
||||
}
|
||||
if (!db_create(&share->status_block, db_env, 0)) {
|
||||
if (share->status_block->open(share->status_block, NULL, name_buff, NULL, DB_BTREE, open_mode, 0)) {
|
||||
share->status_block->close(share->status_block, 0);
|
||||
share->status_block = NULL;
|
||||
}
|
||||
share->status |= STATUS_PRIMARY_KEY_INIT;
|
||||
}
|
||||
|
||||
//
|
||||
// retrieve metadata from status_block
|
||||
//
|
||||
|
||||
//
|
||||
// open status.tokudb
|
||||
//
|
||||
if (!share->status_block) {
|
||||
char name_buff[FN_REFLEN];
|
||||
char newname[get_name_length(share->table_name) + 32];
|
||||
make_name(newname, share->table_name, "status");
|
||||
fn_format(name_buff, newname, "", 0, MY_UNPACK_FILENAME);
|
||||
uint open_mode = (((table->db_stat & HA_READ_ONLY) ? DB_RDONLY : 0)
|
||||
| DB_THREAD);
|
||||
if (tokudb_debug & TOKUDB_DEBUG_OPEN) {
|
||||
TOKUDB_TRACE("open:%s\n", newname);
|
||||
}
|
||||
if (!db_create(&share->status_block, db_env, 0)) {
|
||||
if (share->status_block->open(share->status_block, NULL, name_buff, NULL, DB_BTREE, open_mode, 0)) {
|
||||
share->status_block->close(share->status_block, 0);
|
||||
share->status_block = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// do nothing for now
|
||||
// previously added info from status.tokudb
|
||||
// as of now, that info is not needed so removed dead code
|
||||
//
|
||||
share->status |= STATUS_PRIMARY_KEY_INIT;
|
||||
pthread_mutex_unlock(&share->mutex);
|
||||
}
|
||||
|
||||
//
|
||||
// do nothing for now
|
||||
// previously added info from status.tokudb
|
||||
// as of now, that info is not needed so removed dead code
|
||||
//
|
||||
|
||||
pthread_mutex_unlock(&share->mutex);
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue