mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
sql/handler: referenced_by_foreign_key() returns bool
The method was declared to return an unsigned integer, but it is really a boolean (and used as such by all callers). A secondary change is the addition of "const" and "noexcept" to this method. In ha_mroonga.cpp, I also added "inline" to the two helper methods of referenced_by_foreign_key(). This allows the compiler to flatten the method.
This commit is contained in:
parent
b88f1267e4
commit
45298b730b
6 changed files with 18 additions and 22 deletions
|
@ -1464,7 +1464,7 @@ public:
|
|||
|
||||
virtual int get_foreign_key_list(THD *thd,
|
||||
List<FOREIGN_KEY_INFO> *f_key_list)
|
||||
virtual uint referenced_by_foreign_key()
|
||||
bool referenced_by_foreign_key() const noexcept override
|
||||
*/
|
||||
bool can_switch_engines() override;
|
||||
/*
|
||||
|
|
|
@ -4078,7 +4078,7 @@ public:
|
|||
virtual int
|
||||
get_parent_foreign_key_list(THD *thd, List<FOREIGN_KEY_INFO> *f_key_list)
|
||||
{ return 0; }
|
||||
virtual uint referenced_by_foreign_key() { return 0;}
|
||||
virtual bool referenced_by_foreign_key() const noexcept { return false;}
|
||||
virtual void init_table_handle_for_HANDLER()
|
||||
{ return; } /* prepare InnoDB for HANDLER */
|
||||
virtual void free_foreign_key_create_info(char* str) {}
|
||||
|
|
|
@ -10052,8 +10052,8 @@ wsrep_append_key(
|
|||
static bool
|
||||
referenced_by_foreign_key2(
|
||||
/*=======================*/
|
||||
dict_table_t* table,
|
||||
dict_index_t* index)
|
||||
const dict_table_t* table,
|
||||
const dict_index_t* index) noexcept
|
||||
{
|
||||
ut_ad(table != NULL);
|
||||
ut_ad(index != NULL);
|
||||
|
@ -15451,16 +15451,12 @@ ha_innobase::can_switch_engines(void)
|
|||
DBUG_RETURN(can_switch);
|
||||
}
|
||||
|
||||
/*******************************************************************//**
|
||||
Checks if a table is referenced by a foreign key. The MySQL manual states that
|
||||
a REPLACE is either equivalent to an INSERT, or DELETE(s) + INSERT. Only a
|
||||
/** Checks if a table is referenced by a foreign key. The MySQL manual states
|
||||
that a REPLACE is either equivalent to an INSERT, or DELETE(s) + INSERT. Only a
|
||||
delete is then allowed internally to resolve a duplicate key conflict in
|
||||
REPLACE, not an update.
|
||||
@return > 0 if referenced by a FOREIGN KEY */
|
||||
|
||||
uint
|
||||
ha_innobase::referenced_by_foreign_key(void)
|
||||
/*========================================*/
|
||||
@return whether the table is referenced by a FOREIGN KEY */
|
||||
bool ha_innobase::referenced_by_foreign_key() const noexcept
|
||||
{
|
||||
if (dict_table_is_referenced_by_foreign_key(m_prebuilt->table)) {
|
||||
|
||||
|
|
|
@ -222,7 +222,7 @@ public:
|
|||
|
||||
bool can_switch_engines() override;
|
||||
|
||||
uint referenced_by_foreign_key() override;
|
||||
bool referenced_by_foreign_key() const noexcept override;
|
||||
|
||||
void free_foreign_key_create_info(char* str) override;
|
||||
|
||||
|
|
|
@ -16790,10 +16790,10 @@ int ha_mroonga::get_parent_foreign_key_list(THD *thd,
|
|||
DBUG_RETURN(res);
|
||||
}
|
||||
|
||||
uint ha_mroonga::wrapper_referenced_by_foreign_key()
|
||||
inline bool ha_mroonga::wrapper_referenced_by_foreign_key() const noexcept
|
||||
{
|
||||
MRN_DBUG_ENTER_METHOD();
|
||||
uint res;
|
||||
bool res;
|
||||
MRN_SET_WRAP_SHARE_KEY(share, table->s);
|
||||
MRN_SET_WRAP_TABLE_KEY(this, table);
|
||||
res = wrap_handler->referenced_by_foreign_key();
|
||||
|
@ -16802,17 +16802,17 @@ uint ha_mroonga::wrapper_referenced_by_foreign_key()
|
|||
DBUG_RETURN(res);
|
||||
}
|
||||
|
||||
uint ha_mroonga::storage_referenced_by_foreign_key()
|
||||
inline bool ha_mroonga::storage_referenced_by_foreign_key() const noexcept
|
||||
{
|
||||
MRN_DBUG_ENTER_METHOD();
|
||||
uint res = handler::referenced_by_foreign_key();
|
||||
bool res = handler::referenced_by_foreign_key();
|
||||
DBUG_RETURN(res);
|
||||
}
|
||||
|
||||
uint ha_mroonga::referenced_by_foreign_key()
|
||||
bool ha_mroonga::referenced_by_foreign_key() const noexcept
|
||||
{
|
||||
MRN_DBUG_ENTER_METHOD();
|
||||
uint res;
|
||||
bool res;
|
||||
if (share->wrapper_mode)
|
||||
{
|
||||
res = wrapper_referenced_by_foreign_key();
|
||||
|
|
|
@ -618,7 +618,7 @@ protected:
|
|||
bool can_switch_engines() mrn_override;
|
||||
int get_foreign_key_list(THD *thd, List<FOREIGN_KEY_INFO> *f_key_list) mrn_override;
|
||||
int get_parent_foreign_key_list(THD *thd, List<FOREIGN_KEY_INFO> *f_key_list) mrn_override;
|
||||
uint referenced_by_foreign_key() mrn_override;
|
||||
bool referenced_by_foreign_key() const noexcept mrn_override;
|
||||
void init_table_handle_for_HANDLER() mrn_override;
|
||||
void free_foreign_key_create_info(char* str) mrn_override;
|
||||
#ifdef MRN_HAVE_HA_REBIND_PSI
|
||||
|
@ -1268,8 +1268,8 @@ private:
|
|||
int storage_get_foreign_key_list(THD *thd, List<FOREIGN_KEY_INFO> *f_key_list);
|
||||
int wrapper_get_parent_foreign_key_list(THD *thd, List<FOREIGN_KEY_INFO> *f_key_list);
|
||||
int storage_get_parent_foreign_key_list(THD *thd, List<FOREIGN_KEY_INFO> *f_key_list);
|
||||
uint wrapper_referenced_by_foreign_key();
|
||||
uint storage_referenced_by_foreign_key();
|
||||
bool wrapper_referenced_by_foreign_key() const noexcept;
|
||||
bool storage_referenced_by_foreign_key() const noexcept;
|
||||
void wrapper_init_table_handle_for_HANDLER();
|
||||
void storage_init_table_handle_for_HANDLER();
|
||||
void wrapper_free_foreign_key_create_info(char* str);
|
||||
|
|
Loading…
Reference in a new issue