1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Added DBUG_ASSERT_AS_PRINTF compile flag

If compiling a non DBUG binary with
-DDBUG_ASSERT_AS_PRINTF asserts will be
changed to printf + stack trace (of stack
trace are enabled).

- Changed #ifndef DBUG_OFF to
  #ifdef DBUG_ASSERT_EXISTS
  for those DBUG_OFF that was just used to enable
  assert
- Assert checking that could greatly impact
  performance where changed to DBUG_ASSERT_SLOW which
  is not affected by DBUG_ASSERT_AS_PRINTF
- Added one extra option to my_print_stacktrace() to
  get more silent in case of stack trace printing as
  part of assert.
This commit is contained in:
Monty
2017-07-03 11:35:44 +03:00
committed by Sergei Golubchik
parent 52a1e4d613
commit 536215e32f
63 changed files with 213 additions and 153 deletions

View File

@ -833,7 +833,7 @@ THD::THD(my_thread_id id, bool is_wsrep_applier)
enable_slow_log= 0;
durability_property= HA_REGULAR_DURABILITY;
#ifndef DBUG_OFF
#ifdef DBUG_ASSERT_EXISTS
dbug_sentry=THD_SENTRY_MAGIC;
#endif
mysql_audit_init_thd(this);
@ -1635,7 +1635,7 @@ THD::~THD()
mysql_cond_destroy(&COND_wakeup_ready);
mysql_mutex_destroy(&LOCK_wakeup_ready);
mysql_mutex_destroy(&LOCK_thd_data);
#ifndef DBUG_OFF
#ifdef DBUG_ASSERT_EXISTS
dbug_sentry= THD_SENTRY_GONE;
#endif
#ifndef EMBEDDED_LIBRARY
@ -3692,7 +3692,7 @@ void THD::set_n_backup_active_arena(Query_arena *set, Query_arena *backup)
backup->set_query_arena(this);
set_query_arena(set);
#ifndef DBUG_OFF
#ifdef DBUG_ASSERT_EXISTS
backup->is_backup_arena= TRUE;
#endif
DBUG_VOID_RETURN;
@ -3711,7 +3711,7 @@ void THD::restore_active_arena(Query_arena *set, Query_arena *backup)
DBUG_ASSERT(backup->is_backup_arena);
set->set_query_arena(this);
set_query_arena(backup);
#ifndef DBUG_OFF
#ifdef DBUG_ASSERT_EXISTS
backup->is_backup_arena= FALSE;
#endif
DBUG_VOID_RETURN;
@ -6409,7 +6409,7 @@ CPP_UNNAMED_NS_START
{
DBUG_ASSERT(s < sizeof(m_ptr)/sizeof(*m_ptr));
DBUG_ASSERT(m_ptr[s] != 0);
DBUG_ASSERT(m_alloc_checked == TRUE);
DBUG_SLOW_ASSERT(m_alloc_checked == TRUE);
return m_ptr[s];
}