From 0a52a67566c3b62a3b4d17f218edeca504cb39a3 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 25 Oct 2004 23:08:55 -0700 Subject: 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. --- sql/item_cmpfunc.h | 2 +- sql/opt_range.cc | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'sql') 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, -- cgit v1.2.1