mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
Bug #27320 ndb handler does not reset extra flags on reset()
- make sure all extra flags are reset
This commit is contained in:
parent
49f2196da0
commit
22f8f391af
2 changed files with 17 additions and 2 deletions
|
@ -3282,8 +3282,7 @@ int ha_ndbcluster::extra(enum ha_extra_function operation)
|
||||||
break;
|
break;
|
||||||
case HA_EXTRA_RESET: /* Reset database to after open */
|
case HA_EXTRA_RESET: /* Reset database to after open */
|
||||||
DBUG_PRINT("info", ("HA_EXTRA_RESET"));
|
DBUG_PRINT("info", ("HA_EXTRA_RESET"));
|
||||||
DBUG_PRINT("info", ("Clearing condition stack"));
|
reset();
|
||||||
cond_clear();
|
|
||||||
break;
|
break;
|
||||||
case HA_EXTRA_CACHE: /* Cash record in HA_rrnd() */
|
case HA_EXTRA_CACHE: /* Cash record in HA_rrnd() */
|
||||||
DBUG_PRINT("info", ("HA_EXTRA_CACHE"));
|
DBUG_PRINT("info", ("HA_EXTRA_CACHE"));
|
||||||
|
@ -3405,6 +3404,21 @@ int ha_ndbcluster::extra(enum ha_extra_function operation)
|
||||||
DBUG_RETURN(0);
|
DBUG_RETURN(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int ha_ndbcluster::reset()
|
||||||
|
{
|
||||||
|
DBUG_ENTER("ha_ndbcluster::reset");
|
||||||
|
cond_clear();
|
||||||
|
|
||||||
|
/* reset flags set by extra calls */
|
||||||
|
m_retrieve_all_fields= FALSE;
|
||||||
|
m_retrieve_primary_key= FALSE;
|
||||||
|
m_ignore_dup_key= FALSE;
|
||||||
|
m_use_write= FALSE;
|
||||||
|
DBUG_RETURN(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Start of an insert, remember number of rows to be inserted, it will
|
Start of an insert, remember number of rows to be inserted, it will
|
||||||
be used in write_row and get_autoincrement to send an optimal number
|
be used in write_row and get_autoincrement to send an optimal number
|
||||||
|
|
|
@ -553,6 +553,7 @@ class ha_ndbcluster: public handler
|
||||||
int info(uint);
|
int info(uint);
|
||||||
int extra(enum ha_extra_function operation);
|
int extra(enum ha_extra_function operation);
|
||||||
int extra_opt(enum ha_extra_function operation, ulong cache_size);
|
int extra_opt(enum ha_extra_function operation, ulong cache_size);
|
||||||
|
int reset();
|
||||||
int external_lock(THD *thd, int lock_type);
|
int external_lock(THD *thd, int lock_type);
|
||||||
void unlock_row();
|
void unlock_row();
|
||||||
int start_stmt(THD *thd, thr_lock_type lock_type);
|
int start_stmt(THD *thd, thr_lock_type lock_type);
|
||||||
|
|
Loading…
Reference in a new issue