~clint-fewbar/ubuntu/natty/mysql-5.1/merge-5.1.49-2

« back to all changes in this revision

Viewing changes to sql/sql_view.cc

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2010-08-04 13:18:27 UTC
  • mfrom: (1.2.2 upstream) (2.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20100804131827-4tjg88vr9dd49s3k
Tags: 5.1.49-1ubuntu1
* Merge from debian unstable:
  + 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)
  * Make the testsuite installable. (LP: #530752)
    + debian/mysql-server-5.1.files, debian/rules: install apport package hook
  * 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) 

Show diffs side-by-side

added added

removed removed

Lines of Context:
887
887
                              view->algorithm != VIEW_ALGORITHM_TMPTABLE)))
888
888
  {
889
889
    /* TODO: change here when we will support UNIONs */
890
 
    for (TABLE_LIST *tbl= (TABLE_LIST *)lex->select_lex.table_list.first;
 
890
    for (TABLE_LIST *tbl= lex->select_lex.table_list.first;
891
891
         tbl;
892
892
         tbl= tbl->next_local)
893
893
    {
1006
1006
  */
1007
1007
  if (view->updatable_view &&
1008
1008
      !lex->select_lex.master_unit()->is_union() &&
1009
 
      !((TABLE_LIST*)lex->select_lex.table_list.first)->next_local &&
 
1009
      !(lex->select_lex.table_list.first)->next_local &&
1010
1010
      find_table_in_global_list(lex->query_tables->next_global,
1011
1011
                                lex->query_tables->db,
1012
1012
                                lex->query_tables->table_name))
1190
1190
    char old_db_buf[NAME_LEN+1];
1191
1191
    LEX_STRING old_db= { old_db_buf, sizeof(old_db_buf) };
1192
1192
    bool dbchanged;
1193
 
    Parser_state parser_state(thd,
1194
 
                              table->select_stmt.str,
1195
 
                              table->select_stmt.length);
 
1193
    Parser_state parser_state;
 
1194
    if (parser_state.init(thd, table->select_stmt.str,
 
1195
                          table->select_stmt.length))
 
1196
        goto err;
1196
1197
 
1197
1198
    /* 
1198
1199
      Use view db name as thread default database, in order to ensure
1349
1350
        This may change in future, for example if we enable merging of
1350
1351
        views with subqueries in select list.
1351
1352
      */
1352
 
      view_main_select_tables=
1353
 
        (TABLE_LIST*)lex->select_lex.table_list.first;
 
1353
      view_main_select_tables= lex->select_lex.table_list.first;
1354
1354
 
1355
1355
      /*
1356
1356
        Let us set proper lock type for tables of the view's main