~ubuntu-branches/ubuntu/oneiric/mysql-5.1/oneiric-updates

« back to all changes in this revision

Viewing changes to sql/item_func.cc

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2011-07-25 00:07:54 UTC
  • mfrom: (1.2.5 upstream) (2.1.19 sid)
  • Revision ID: james.westby@ubuntu.com-20110725000754-o11teq2kcrrsmanz
Tags: 5.1.58-1ubuntu1
* Merge from debian unstable.  Remaining changes:
  + debian/control:
     * Update maintainer according to spec.
     * Move section from "misc" to "database".
     * Added libmysqlclient16-dev an empty transitional package. 
     * Added mysql-client-core-5.1 package.
     * Suggest mailx for mysql-server-5.1
     * Add mysql-testsuite package so you can run the testsuite seperately.
  + debian/additions/my.cnf:
    * Remove language options. Error message files are located in a 
      different directory in Mysql 5.0. Setting the language option 
      to use /usr/share/mysql/english breaks Mysql 5.0. Both 5.0
      and 5.1 use a different value that works. (LP: #316974)
  + Add apparmor profile:
    * debian/apparmor-profile: apparmor-profile
    * debian/rules, debian/mysql-server-5.1.files: install apparmor profile
    * debian/mysql-server-5.1.dirs: add etc/apparmor.d/fore-complain
    * debian/mysql-server-5.1.postrm: remove symlink in force-complain/ on purge.
    * debian/mysql-server-5.1.README.Debian: add apparmor documentation.
    * debian/additions/my.cnf: Add warning about apparmor. (LP: #201799)
    * debian/mysql-server-5.1.postinst: reload apparmor profiles
  + Convert the package from sysvinit to upstart:
    * debian/mysql-server-5.1.mysql.upstart: Add upstart script.
    * debian/mysql-server-5.1.mysql.init: Dropped, unused now with upstart.
    * debian/additions/mysqld_safe_syslog.cnf: Dropped, unused now with upstart.
    * debian/additons/my.cnf: Remove pid declaration and setup error 
      logging to /var/log/mysql since we're not piping 
      anything around logger anymore.
    * debian/rules, debian/mysql-server-5.1.logcheck.ignore.{paranoid,worstation},
      debian/mysql-server-5.1.logcheck.ignore.server: : Remove references to mysqld_safe
    * debian/patches/38_scripts_mysqld_safe.sh_signals.dpatch: Dropped
  + Added -fno-strict-aliasing to CFLAGS to get around mysql testsuite 
    build failures
  + Add Apport hook (LP: #354188):
    * debian/mysql-server-5.1.py: apport package hook
    * debian/rules: Make it installable
  + debian/mysql-server-5.1.mysql-server.logrotate: Check to see if mysql 
    is running before running logrotate. (LP: #513135)
  + debian/mysql-server-5.1.preinst: Set mysql user's home directory
    to /nonexistent to protect against having the /var/lib/mysql
    user-writeable. If an attacker can trick mysqld into creating
    dot files in the home directory, he could do .rhost-like attacks
    on the system. (LP: #293258)
  + debian/control: mysql-client-5.1 should depend on mysql-core-client-5.1.
    (LP: #590952)
  + debian/mysql-server.5.1.postinst: Specify the mysql user when installing 
    the mysql databases. (LP: #591875)
  + Installing mysql_config_pic in /usr/bin so users of libmysqld-pic
    can extract the appropriate compile flags. (LP: #605021)

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 */
15
 
 
 
14
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
16
15
 
17
16
/**
18
17
  @file
1066
1065
  push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_ERROR,
1067
1066
                      ER_WARN_DATA_OUT_OF_RANGE,
1068
1067
                      ER(ER_WARN_DATA_OUT_OF_RANGE),
1069
 
                      name, 1);
 
1068
                      name, 1L);
1070
1069
  return dec;
1071
1070
}
1072
1071
 
1973
1972
  }
1974
1973
 
1975
1974
  val1= args[1]->val_int();
 
1975
  if ((null_value= args[1]->is_null()))
 
1976
    return;
 
1977
 
1976
1978
  val1_unsigned= args[1]->unsigned_flag;
1977
1979
  if (val1 < 0)
1978
1980
    decimals_to_set= val1_unsigned ? INT_MAX : 0;
2122
2124
  if (!(null_value= (args[0]->null_value || args[1]->null_value ||
2123
2125
                     my_decimal_round(E_DEC_FATAL_ERROR, value, (int) dec,
2124
2126
                                      truncate, decimal_value) > 1))) 
2125
 
  {
2126
 
    decimal_value->frac= decimals;
2127
2127
    return decimal_value;
2128
 
  }
2129
2128
  return 0;
2130
2129
}
2131
2130
 
2854
2853
 
2855
2854
  if (!tmp_udf)
2856
2855
  {
2857
 
    my_error(ER_CANT_FIND_UDF, MYF(0), u_d->name.str, errno);
 
2856
    my_error(ER_CANT_FIND_UDF, MYF(0), u_d->name.str);
2858
2857
    DBUG_RETURN(TRUE);
2859
2858
  }
2860
2859
  u_d=tmp_udf;