Skip to content

Commit

Permalink
MDEV-8073 - Build error in sql/mdl.cc on OS X 10.10
Browse files Browse the repository at this point in the history
C++03 seem to require default constructor for const objects even though they're
fully initialized. There is defect report for this:
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#253

Apparently some compilers (e.g. gcc) addressed this defect report, while some
(e.g. clang) did not.

Added empty default constructor to MDL_scoped_lock and MDL_object_lock classes.

Also replaced lf_hash_search_using_hash_value() with lf_hash_search(). The
latter will call mdl_key->hash_value() anyway.
  • Loading branch information
Sergey Vojtovich committed Apr 30, 2015
1 parent 499deca commit ff1e082
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions sql/mdl.cc
Expand Up @@ -346,6 +346,7 @@ class MDL_lock
*/
struct MDL_scoped_lock : public MDL_lock_strategy
{
MDL_scoped_lock() {}
virtual const bitmap_t *incompatible_granted_types_bitmap() const
{ return m_granted_incompatible; }
virtual const bitmap_t *incompatible_waiting_types_bitmap() const
Expand Down Expand Up @@ -382,6 +383,7 @@ class MDL_lock
*/
struct MDL_object_lock : public MDL_lock_strategy
{
MDL_object_lock() {}
virtual const bitmap_t *incompatible_granted_types_bitmap() const
{ return m_granted_incompatible; }
virtual const bitmap_t *incompatible_waiting_types_bitmap() const
Expand Down Expand Up @@ -741,8 +743,8 @@ MDL_lock* MDL_map::find_or_insert(LF_PINS *pins, const MDL_key *mdl_key)
}

retry:
while (!(lock= (MDL_lock*) lf_hash_search_using_hash_value(&m_locks, pins,
mdl_key->hash_value(), mdl_key->ptr(), mdl_key->length())))
while (!(lock= (MDL_lock*) lf_hash_search(&m_locks, pins, mdl_key->ptr(),
mdl_key->length())))
if (lf_hash_insert(&m_locks, pins, (uchar*) mdl_key) == -1)
return NULL;

Expand Down Expand Up @@ -780,10 +782,8 @@ MDL_map::get_lock_owner(LF_PINS *pins, const MDL_key *mdl_key)
}
else
{
lock= (MDL_lock*) lf_hash_search_using_hash_value(&m_locks, pins,
mdl_key->hash_value(),
mdl_key->ptr(),
mdl_key->length());
lock= (MDL_lock*) lf_hash_search(&m_locks, pins, mdl_key->ptr(),
mdl_key->length());
if (lock)
{
/*
Expand Down

0 comments on commit ff1e082

Please sign in to comment.