summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <igor@rurik.mysql.com>2004-10-25 23:08:55 -0700
committerunknown <igor@rurik.mysql.com>2004-10-25 23:08:55 -0700
commit0a52a67566c3b62a3b4d17f218edeca504cb39a3 (patch)
tree32968fd8e8e06f11543ca5fdd4ba82c1fbbe6352 /sql
parentd9c12f82b7058695bd5ae43bdf951f90ebb6b239 (diff)
downloadmariadb-git-0a52a67566c3b62a3b4d17f218edeca504cb39a3.tar.gz
item_cmpfunc.h:
COND_EQUAL must be derived from Sql_alloc to simplify memory management for objects of this class. This fixes a leak in mysql-test-run noticed by PEM. opt_range.cc: Fixed uninitialized min_max_range member the QUICK_GROUP_MIN_MAX_SELECT class. sql/opt_range.cc: Fixed uninitialized min_max_range member the QUICK_GROUP_MIN_MAX_SELECT class. sql/item_cmpfunc.h: COND_EQUAL must be derived from Sql_alloc to simplify memory management for objects of this class. This fixes a leak in mysql-test-run noticed by PEM.
Diffstat (limited to 'sql')
-rw-r--r--sql/item_cmpfunc.h2
-rw-r--r--sql/opt_range.cc4
2 files changed, 4 insertions, 2 deletions
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h
index a8382df20f5..8d52459c0e5 100644
--- a/sql/item_cmpfunc.h
+++ b/sql/item_cmpfunc.h
@@ -1081,7 +1081,7 @@ public:
{ return fields.head()->collation.collation; }
};
-class COND_EQUAL
+class COND_EQUAL: public Sql_alloc
{
public:
uint max_members; /* max number of members the current level
diff --git a/sql/opt_range.cc b/sql/opt_range.cc
index a4b4944eab6..683bf1bdc13 100644
--- a/sql/opt_range.cc
+++ b/sql/opt_range.cc
@@ -7564,6 +7564,8 @@ int QUICK_GROUP_MIN_MAX_SELECT::init()
else
max_functions_it= NULL;
}
+ else
+ min_max_ranges.elements= 0;
return 0;
}
@@ -7656,7 +7658,7 @@ void QUICK_GROUP_MIN_MAX_SELECT::update_key_stat()
max_used_key_length= real_prefix_len;
if (min_max_ranges.elements > 0)
{
- QUICK_RANGE *cur_range;
+ QUICK_RANGE *cur_range= 0;
if (have_min)
{ /* Check if the right-most range has a lower boundary. */
get_dynamic(&min_max_ranges, (gptr)&cur_range,