~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/item/cmpfunc.h

[patch 112/129] Merge patch for revision 1925 from InnoDB SVN:
revno: 1925
revision-id: svn-v4:16c675df-0fcb-4bc9-8058-dcc011a37293:branches/zip:6169
parent: svn-v4:16c675df-0fcb-4bc9-8058-dcc011a37293:branches/zip:6163
committer: calvin
timestamp: Thu 2009-11-12 12:40:43 +0000
message:
  branches/zip: add test case for bug#46676
  
  This crash is reproducible with InnoDB plugin 1.0.4 + MySQL 5.1.37.
  But no longer reproducible after MySQL 5.1.38 (with plugin 1.0.5).
  Add test case to catch future regression.
added:
  mysql-test/innodb_bug46676.result 6169@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb_bug46676.result
  mysql-test/innodb_bug46676.test 6169@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb_bug46676.test
diff:
=== added file 'mysql-test/innodb_bug46676.result'

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
#include "drizzled/item/sum.h"
28
28
#include "drizzled/item/int.h"
29
29
#include "drizzled/item/float.h"
30
 
#include "drizzled/item/string.h"
31
30
#include "drizzled/item/decimal.h"
32
31
#include "drizzled/function/math/int.h"
33
32
#include "drizzled/function/numhybrid.h"
1150
1149
  Item_result cmp_type;
1151
1150
  DTCollation cmp_collation;
1152
1151
  enum_field_types cached_field_type;
1153
 
  cmp_item *cmp_items[DECIMAL_RESULT+1]; /* For all result types */
 
1152
  cmp_item *cmp_items[5]; /* For all result types */
1154
1153
  cmp_item *case_item;
1155
1154
public:
1156
1155
  Item_func_case(List<Item> &list, Item *first_expr_arg, Item *else_expr_arg)
1235
1234
  uint32_t decimal_precision() const { return 1; }
1236
1235
  void cleanup()
1237
1236
  {
 
1237
    uint32_t i;
1238
1238
    Item_int_func::cleanup();
1239
1239
    delete array;
1240
1240
    array= 0;
1241
 
    for (int i= STRING_RESULT; i <= DECIMAL_RESULT; i++)
 
1241
    for (i= 0; i <= (uint32_t)DECIMAL_RESULT + 1; i++)
1242
1242
    {
1243
1243
      delete cmp_items[i];
1244
1244
      cmp_items[i]= 0;