mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +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;
|
||||
case HA_EXTRA_RESET: /* Reset database to after open */
|
||||
DBUG_PRINT("info", ("HA_EXTRA_RESET"));
|
||||
DBUG_PRINT("info", ("Clearing condition stack"));
|
||||
cond_clear();
|
||||
reset();
|
||||
break;
|
||||
case HA_EXTRA_CACHE: /* Cash record in HA_rrnd() */
|
||||
DBUG_PRINT("info", ("HA_EXTRA_CACHE"));
|
||||
|
@ -3405,6 +3404,21 @@ int ha_ndbcluster::extra(enum ha_extra_function operation)
|
|||
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
|
||||
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 extra(enum ha_extra_function operation);
|
||||
int extra_opt(enum ha_extra_function operation, ulong cache_size);
|
||||
int reset();
|
||||
int external_lock(THD *thd, int lock_type);
|
||||
void unlock_row();
|
||||
int start_stmt(THD *thd, thr_lock_type lock_type);
|
||||
|
|
Loading…
Reference in a new issue