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

« back to all changes in this revision

Viewing changes to sql/item_func.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 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
 
1
/* Copyright (c) 2000, 2010, 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
/* Function items used by mysql */
189
190
    null_value=1;
190
191
    return 0.0;
191
192
  }
 
193
 
192
194
  bool has_timestamp_args()
193
195
  {
194
196
    DBUG_ASSERT(fixed == TRUE);
200
202
    }
201
203
    return FALSE;
202
204
  }
 
205
 
 
206
  bool has_date_args()
 
207
  {
 
208
    DBUG_ASSERT(fixed == TRUE);
 
209
    for (uint i= 0; i < arg_count; i++)
 
210
    {
 
211
      if (args[i]->type() == Item::FIELD_ITEM &&
 
212
          (args[i]->field_type() == MYSQL_TYPE_DATE ||
 
213
           args[i]->field_type() == MYSQL_TYPE_DATETIME))
 
214
        return TRUE;
 
215
    }
 
216
    return FALSE;
 
217
  }
 
218
 
 
219
  bool has_time_args()
 
220
  {
 
221
    DBUG_ASSERT(fixed == TRUE);
 
222
    for (uint i= 0; i < arg_count; i++)
 
223
    {
 
224
      if (args[i]->type() == Item::FIELD_ITEM &&
 
225
          (args[i]->field_type() == MYSQL_TYPE_TIME ||
 
226
           args[i]->field_type() == MYSQL_TYPE_DATETIME))
 
227
        return TRUE;
 
228
    }
 
229
    return FALSE;
 
230
  }
 
231
 
 
232
  bool has_datetime_args()
 
233
  {
 
234
    DBUG_ASSERT(fixed == TRUE);
 
235
    for (uint i= 0; i < arg_count; i++)
 
236
    {
 
237
      if (args[i]->type() == Item::FIELD_ITEM &&
 
238
          args[i]->field_type() == MYSQL_TYPE_DATETIME)
 
239
        return TRUE;
 
240
    }
 
241
    return FALSE;
 
242
  }
 
243
 
203
244
  /*
204
245
    We assume the result of any function that has a TIMESTAMP argument to be
205
246
    timezone-dependent, since a TIMESTAMP value in both numeric and string
208
249
    representation of a TIMESTAMP argument verbatim, and thus does not depend on
209
250
    the timezone.
210
251
   */
211
 
  virtual bool is_timezone_dependent_processor(uchar *bool_arg)
 
252
  virtual bool check_valid_arguments_processor(uchar *bool_arg)
212
253
  {
213
254
    return has_timestamp_args();
214
255
  }