summaryrefslogtreecommitdiff
path: root/libmysqld
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2017-07-03 11:35:44 +0300
committerSergei Golubchik <serg@mariadb.org>2017-08-24 01:05:50 +0200
commit536215e32fc43aa423684e9807640dcf3453924b (patch)
treed7249d3c4268c9a57becc5fea554e2379ffe1cf1 /libmysqld
parent52a1e4d613a6c7de759e93da8dfbd8cac08a11ee (diff)
downloadmariadb-git-536215e32fc43aa423684e9807640dcf3453924b.tar.gz
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.
Diffstat (limited to 'libmysqld')
-rw-r--r--libmysqld/emb_qcache.cc10
-rw-r--r--libmysqld/emb_qcache.h4
-rw-r--r--libmysqld/libmysql.c2
3 files changed, 8 insertions, 8 deletions
diff --git a/libmysqld/emb_qcache.cc b/libmysqld/emb_qcache.cc
index 78620f5d940..74a6337912a 100644
--- a/libmysqld/emb_qcache.cc
+++ b/libmysqld/emb_qcache.cc
@@ -28,14 +28,14 @@ void Querycache_stream::store_uchar(uchar c)
if (data_end == cur_data)
use_next_block(TRUE);
*(cur_data++)= c;
-#ifndef DBUG_OFF
+#ifdef DBUG_ASSERT_EXISTS
stored_size++;
#endif
}
void Querycache_stream::store_short(ushort s)
{
-#ifndef DBUG_OFF
+#ifdef DBUG_ASSERT_EXISTS
stored_size+= 2;
#endif
if (data_end - cur_data > 1)
@@ -58,7 +58,7 @@ void Querycache_stream::store_short(ushort s)
void Querycache_stream::store_int(uint i)
{
-#ifndef DBUG_OFF
+#ifdef DBUG_ASSERT_EXISTS
stored_size+= 4;
#endif
size_t rest_len= data_end - cur_data;
@@ -85,7 +85,7 @@ void Querycache_stream::store_int(uint i)
void Querycache_stream::store_ll(ulonglong ll)
{
-#ifndef DBUG_OFF
+#ifdef DBUG_ASSERT_EXISTS
stored_size+= 8;
#endif
size_t rest_len= data_end - cur_data;
@@ -110,7 +110,7 @@ void Querycache_stream::store_ll(ulonglong ll)
void Querycache_stream::store_str_only(const char *str, uint str_len)
{
-#ifndef DBUG_OFF
+#ifdef DBUG_ASSERT_EXISTS
stored_size+= str_len;
#endif
do
diff --git a/libmysqld/emb_qcache.h b/libmysqld/emb_qcache.h
index 8fd166df88d..d714450feb8 100644
--- a/libmysqld/emb_qcache.h
+++ b/libmysqld/emb_qcache.h
@@ -22,7 +22,7 @@ class Querycache_stream
Query_cache_block *block;
uint headers_len;
public:
-#ifndef DBUG_OFF
+#ifdef DBUG_ASSERT_EXISTS
Query_cache_block *first_block;
uint stored_size;
#endif
@@ -31,7 +31,7 @@ public:
{
cur_data= ((uchar*)block)+headers_len;
data_end= cur_data + (block->used-headers_len);
-#ifndef DBUG_OFF
+#ifdef DBUG_ASSERT_EXISTS
first_block= ini_block;
stored_size= 0;
#endif
diff --git a/libmysqld/libmysql.c b/libmysqld/libmysql.c
index d1176a4168c..58900b87147 100644
--- a/libmysqld/libmysql.c
+++ b/libmysqld/libmysql.c
@@ -4375,7 +4375,7 @@ static void stmt_update_metadata(MYSQL_STMT *stmt, MYSQL_ROWS *data)
MYSQL_FIELD *field;
uchar *null_ptr, bit;
uchar *row= (uchar*) data->data;
-#ifndef DBUG_OFF
+#ifdef DBUG_ASSERT_EXISTS
uchar *row_end= row + data->length;
#endif