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

« back to all changes in this revision

Viewing changes to sql/sql_lex.h

  • 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:
713
713
    joins on the right.
714
714
  */
715
715
  List<String> *prev_join_using;
716
 
  /*
717
 
    Bitmap used in the ONLY_FULL_GROUP_BY_MODE to prevent mixture of aggregate
718
 
    functions and non aggregated fields when GROUP BY list is absent.
719
 
    Bits:
720
 
      0 - non aggregated fields are used in this select,
721
 
          defined as NON_AGG_FIELD_USED.
722
 
      1 - aggregate functions are used in this select,
723
 
          defined as SUM_FUNC_USED.
724
 
  */
725
 
  uint8 full_group_by_flag;
 
716
 
726
717
  void init_query();
727
718
  void init_select();
728
719
  st_select_lex_unit* master_unit();
830
821
 
831
822
  void clear_index_hints(void) { index_hints= NULL; }
832
823
 
833
 
private:  
 
824
  /*
 
825
    For MODE_ONLY_FULL_GROUP_BY we need to maintain two flags:
 
826
     - Non-aggregated fields are used in this select.
 
827
     - Aggregate functions are used in this select.
 
828
    In MODE_ONLY_FULL_GROUP_BY only one of these may be true.
 
829
  */
 
830
  bool non_agg_field_used() const { return m_non_agg_field_used; }
 
831
  bool agg_func_used()      const { return m_agg_func_used; }
 
832
 
 
833
  void set_non_agg_field_used(bool val) { m_non_agg_field_used= val; }
 
834
  void set_agg_func_used(bool val)      { m_agg_func_used= val; }
 
835
 
 
836
private:
 
837
  bool m_non_agg_field_used;
 
838
  bool m_agg_func_used;
 
839
 
834
840
  /* current index hint kind. used in filling up index_hints */
835
841
  enum index_hint_type current_index_hint_type;
836
842
  index_clause_map current_index_hint_clause;