1. 18 Mar, 2009 7 commits
    • Georgi Kodinov's avatar
      merged 5.1-main -> 5.1-bugteam · a673bdd3
      Georgi Kodinov authored
      a673bdd3
    • Guangbao Ni's avatar
      Auto-merged from 5.1-bugteam · ff37912f
      Guangbao Ni authored
      ff37912f
    • Guangbao Ni's avatar
      Auto-merge from 5.1-bugteam · 224376a7
      Guangbao Ni authored
      224376a7
    • Guangbao Ni's avatar
      Bug #42217 mysql.procs_priv does not get replicated · 0ba1cc25
      Guangbao Ni authored
      mysql.procs_priv table itself does not get replicated.
      Inserting routine privilege record into mysql.procs_priv table
      is triggered by creating function/procedure statements
      according to current user's privileges.
      Because the current user of SQL thread has GLOBAL_ACL,
      which doesn't need any check mysql.procs_priv privilege
      when create/alter/execute routines.
      Corresponding GLOBAL_ACL privilege user
      doesn't insert routine privilege record into
      mysql.procs_priv when creating a routine.
      
      Fixed by switching the current user of SQL thread to definer user if
      the definer user exists on slave.
      That populates procs_priv, otherwise to keep the SQL thread
      user and procs_priv remains unchanged.
      
      
      mysql-test/suite/rpl/r/rpl_do_grant.result:
        Test case result for routine privilege when definer user exist or not on slave
      mysql-test/suite/rpl/t/rpl_do_grant.test:
        Test case result for routine privilege when definer user exist or not on slave
      sql/sql_parse.cc:
        Switch current user of SQL thread to definer user if the definer user
        existes on slave when checking whether the routine privilege is
        needed to insert mysql.procs_priv table or not.
      0ba1cc25
    • Satya B's avatar
      merge to 5.1-bugteam branch · 1367981c
      Satya B authored
      1367981c
    • Satya B's avatar
      Fix for BUG#32880 - Repairing Archive table fails with internal error 144 · 497db6ac
      Satya B authored
      Any statement reading corrupt archive data file
      (CHECK/REPAIR/SELECT/UPDATE/DELETE) may cause assertion
      failure in debug builds. This assertion has been removed
      and an error is returned instead.
      
      Also fixed that CHECK/REPAIR returns vague error message
      when it mets corruption in archive data file. This is
      fixed by returning proper error code.
      
      mysql-test/r/archive.result:
        A test case for BUG#32880
      mysql-test/std_data/bug32880.ARN:
        corrupted archive table to test check and repair table operation
      mysql-test/std_data/bug32880.ARZ:
        corrupted archive table to test check and repair table operation
      mysql-test/std_data/bug32880.frm:
        corrupted archive table to test check and repair table operation
      mysql-test/t/archive.test:
        A test case for BUG#32880
      storage/archive/ha_archive.cc:
        Fixed unpack_row() to return the error instead of throwing assertion 
        and also fixed repair() to throw better error when repair table
        operation fails on corrupted archive table
      497db6ac
    • Leonard Zhou's avatar
      Merge · af53e585
      Leonard Zhou authored
      af53e585
  2. 17 Mar, 2009 9 commits
  3. 16 Mar, 2009 7 commits
  4. 15 Mar, 2009 2 commits
  5. 13 Mar, 2009 10 commits
    • Andrei Elkin's avatar
      merge from 5.1-bt to a local branch · b105e8f5
      Andrei Elkin authored
      b105e8f5
    • Jonathan Perkin's avatar
      99eeb9fb
    • Andrei Elkin's avatar
      merge from 5.1-bt to a local branch · e2177e81
      Andrei Elkin authored
      e2177e81
    • Georgi Kodinov's avatar
      Bug #22047 : Time in SHOW PROCESSLIST for SQL thread in replication · f35b4218
      Georgi Kodinov authored
      seems to become negative
      
      THD::start_time has a dual meaning : it's either the time since the process
      entered a given state or is the transaction time returned by e.g. NOW().
      This causes problems, as sometimes THD::start_time may be set to a value
      that is correct and needed when used as a base for NOW(), but these times
      may be arbitrary (SET @@timestamp) or non-local (coming from the master 
      through the replication feed).
      If one such non-local time is set there's no way to return a correct value
      for e.g. SHOW PROCESSLIST or SELECT ... FROM INFORMATION_SCHEMA.PROCESSLIST.
      Fixed by making the Time column in SHOW PROCESSLIST SIGNED LONG instead of 
      UNSIGNED LONG and doing the correct conversions.
            
      Note that no reliable test suite can be constructed, since it would require
      knowing the local time and can't be achieved by the means of the current test
      suite.
      
      sql/sql_show.cc:
        Bug #22047: make the Time in SHOW PROCESSLIST LONG from 
        LONG UNSIGNED
      f35b4218
    • Georgi Kodinov's avatar
      Bug #43614: make distcheck failure (ndb/Makefile is made, but not subdirs of ndb) · 60beb4c3
      Georgi Kodinov authored
            
      There are some recursive targets that automake generates which reference
      DIST_SUBDIRS.  It's critical, then, for such subdirs to exist even if they
      won't be built as part of SUBDIRS.
      
      During a VPATH build, it is the configure script which creates the subdirs
      (when it processes the AC_CONFIG_FILES() for each subdir's Makefile).  If
      autoconf doesn't create a subdir's Makefile, then the recursive make will fail
      when it is unable to cd into that subdir.
      
      This isn't a problem in non-VPATH builds, because the subdirs are all present
      in the source tarball.  So the problem only shows up during 'make distcheck',
      which does a VPATH build.
      
      The fix is to look, when configure is being created by autoconf, for any
      plugin subdirectories.  These are the dynamic subdirectories which need to be
      handled specially.  It's enough to tell autoconf to generate a Makefile for
      any Makefile.am found in the plugin directory - all plugin subdirectories
      using automake (i.e., listed in the plugin's DIST_SUBDIRS) will have a
      Makefile.am.
      
      This is done by calling 'find'.  This means that 'find' must be in the PATH on
      the host that is running autoconf.  'find' is NOT needed when calling
      configure, so it is not an additional dependency for the user.
      
      Finally, ha_ndbcluster.m4 had called AC_CONFIG_FILES() on all those subdir
      Makefiles, but only when the plugin was actually being built.  So it didn't
      work in the case that NDB was not being built.  All of those Makefiles have to
      be removed from this static list, since the plugin machinery is now adding
      them automatically.  autoconf fails if a file is duplicated in
      AC_CONFIG_FILES().
      60beb4c3
    • Sergey Glukhov's avatar
      compilation(embedded server) failure fix · 7b2d7bea
      Sergey Glukhov authored
      7b2d7bea
    • Sergey Glukhov's avatar
      automerge · 43f129eb
      Sergey Glukhov authored
      43f129eb
    • Georgi Kodinov's avatar
      7ac3f3f1
    • Georgi Kodinov's avatar
      merged 5.0-bugteam · 26d33720
      Georgi Kodinov authored
      26d33720
    • Sergey Glukhov's avatar
      Bug#42610 Dynamic plugin broken in 5.1.31 · a5dc03fb
      Sergey Glukhov authored
      --added ability to obtain plugin variables from my.cnf on INSTALL PLUGIN stage
      --option 'ignore-builtin-innodb' disables all InnoDB builtin plugins
        (including I_S plugins)
      
      
      sql/mysql_priv.h:
        --added ability to obtain plugin variables from my.cnf on INSTALL PLUGIN stage
      sql/mysqld.cc:
        --added ability to obtain plugin variables from my.cnf on INSTALL PLUGIN stage
      sql/sql_plugin.cc:
        --added ability to obtain plugin variables from my.cnf on INSTALL PLUGIN stage
        --option 'ignore-builtin-innodb' disables all InnoDB builtin plugins
          (including I_S plugins)
      a5dc03fb
  6. 12 Mar, 2009 5 commits