~ubuntu-branches/ubuntu/natty/mysql-5.1/natty-proposed

« back to all changes in this revision

Viewing changes to sql/item_sum.h

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-02-22 08:30:45 UTC
  • mfrom: (1.4.1)
  • Revision ID: package-import@ubuntu.com-20120222083045-2rd53r4bnyx7qus4
Tags: 5.1.61-0ubuntu0.11.04.1
* SECURITY UPDATE: Update to 5.1.61 to fix multiple security issues
  (LP: #937869)
  - http://www.oracle.com/technetwork/topics/security/cpujan2012-366304.html
  - CVE-2011-2262
  - CVE-2012-0075
  - CVE-2012-0112
  - CVE-2012-0113
  - CVE-2012-0114
  - CVE-2012-0115
  - CVE-2012-0116
  - CVE-2012-0117
  - CVE-2012-0118
  - CVE-2012-0119
  - CVE-2012-0120
  - CVE-2012-0484
  - CVE-2012-0485
  - CVE-2012-0486
  - CVE-2012-0487
  - CVE-2012-0488
  - CVE-2012-0489
  - CVE-2012-0490
  - CVE-2012-0491
  - CVE-2012-0492
  - CVE-2012-0493
  - CVE-2012-0494
  - CVE-2012-0495
  - CVE-2012-0496

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (c) 2000, 2010 Oracle and/or its affiliates. All rights reserved.
 
1
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
2
2
 
3
3
   This program is free software; you can redistribute it and/or modify
4
4
   it under the terms of the GNU General Public License as published by
11
11
 
12
12
   You should have received a copy of the GNU General Public License
13
13
   along with this program; if not, write to the Free Software
14
 
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 
14
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
 
15
*/
15
16
 
16
17
 
17
18
/* classes for sum functions */
339
340
    forced_const= TRUE; 
340
341
  }
341
342
  virtual bool const_item() const { return forced_const; }
 
343
  virtual bool const_during_execution() const { return false; }
342
344
  virtual void print(String *str, enum_query_type query_type);
343
345
  void fix_num_length_and_dec();
344
346
 
823
825
class Item_sum_hybrid :public Item_sum
824
826
{
825
827
protected:
826
 
  Item_cache *value;
 
828
  Item_cache *value, *arg_cache;
827
829
  Arg_comparator *cmp;
828
830
  Item_result hybrid_type;
829
831
  enum_field_types hybrid_field_type;
832
834
 
833
835
  public:
834
836
  Item_sum_hybrid(Item *item_par,int sign)
835
 
    :Item_sum(item_par), value(0), cmp(0),
 
837
    :Item_sum(item_par), value(0), arg_cache(0), cmp(0),
836
838
    hybrid_type(INT_RESULT), hybrid_field_type(MYSQL_TYPE_LONGLONG),
837
839
    cmp_sign(sign), was_values(TRUE)
838
840
  { collation.set(&my_charset_bin); }
839
841
  Item_sum_hybrid(THD *thd, Item_sum_hybrid *item)
840
 
    :Item_sum(thd, item), value(item->value), hybrid_type(item->hybrid_type),
841
 
    hybrid_field_type(item->hybrid_field_type), cmp_sign(item->cmp_sign),
842
 
    was_values(item->was_values)
 
842
    :Item_sum(thd, item), value(item->value), arg_cache(0),
 
843
    hybrid_type(item->hybrid_type), hybrid_field_type(item->hybrid_field_type),
 
844
    cmp_sign(item->cmp_sign), was_values(item->was_values)
843
845
  { }
844
846
  bool fix_fields(THD *, Item **);
845
847
  void setup_hybrid(Item *item, Item *value_arg);