1. 25 May, 2009 4 commits
    • Bjorn Munch's avatar
      merge from 5.1-mtr · bec841ce
      Bjorn Munch authored
      bec841ce
    • Staale Smedseng's avatar
      Bug #44736 mysqld_safe's my_which() is broken and · 986bcb5f
      Staale Smedseng authored
      doesn't find 'logger'
      
      Due to a variable quoting mistake, the $PATH environment
      variable isn't parsed correctly when searching for the
      existence of the desired executable(s) (logger in this 
      case).
      
      This patch removes the quotes.
      986bcb5f
    • Davi Arnaut's avatar
      Bug#42158: leak: SSL_get_peer_certificate() doesn't have matching X509_free() · 981ff94d
      Davi Arnaut authored
      The problem is that the server failed to follow the rule that
      every X509 object retrieved using SSL_get_peer_certificate()
      must be explicitly freed by X509_free(). This caused a memory
      leak for builds linked against OpenSSL where the X509 object
      is reference counted -- improper counting will prevent the
      object from being destroyed once the session containing the
      peer certificate is freed.
      
      The solution is to explicitly free every X509 object used.
      981ff94d
    • Georgi Kodinov's avatar
      Bug #44399 : crash with statement using TEXT columns, aggregates, GROUP BY, and · 8fb82e3f
      Georgi Kodinov authored
      HAVING
                  
      When calculating GROUP BY the server caches some expressions. It does
      that by allocating a string slot (Item_copy_string) and assigning the 
      value of the expression to it. This effectively means that the result
      type of the expression can be changed from whatever it was to a string.
      As this substitution takes place after the compile-time result type 
      calculation for IN but before the run-time type calculations, 
      it causes the type calculations in the IN function done at run time 
      to get unexpected results different from what was prepared at compile time.
                        
      In the CASE ... WHEN ... THEN ... statement there was a similar problem
      and it was solved by artificially adding a STRING argument to the set of 
      types of the IN/CASE arguments at compile time, so if any of the 
      arguments of the CASE function changes its type to a string it will 
      still be covered by the information prepared at compile time.
      8fb82e3f
  2. 23 May, 2009 1 commit
  3. 22 May, 2009 6 commits
    • Luis Soares's avatar
      BUG#41725: upmerge: 5.0-bt --> 5.1-bt · e2aad850
      Luis Soares authored
      e2aad850
    • Luis Soares's avatar
      BUG#41725: slave crashes when inserting into temporary table after · 2b4fcc1d
      Luis Soares authored
      stop/start slave
            
      When stopping and restarting the slave while it is replicating
      temporary tables, the server would crash or raise an assertion
      failure. This was due to the fact that although temporary tables are
      saved between slave threads restart, the reference to the thread in
      use (table->in_use) was not being properly updated when the restart
      happened (it would still reference the old/invalid thread instead of
      the new one).
            
      This patch addresses this issue by resetting the reference to the new
      slave thread on slave thread restart.
      2b4fcc1d
    • Patrick Crews's avatar
      merge · 321189c7
      Patrick Crews authored
      321189c7
    • Patrick Crews's avatar
      merge 5.0-> 5.1 · 53c09b3a
      Patrick Crews authored
      53c09b3a
    • Patrick Crews's avatar
      Bug#40465 - mysqldump.test does no checking of dump or restore · 6c31d59b
      Patrick Crews authored
      Created new .test file - mysqldump_restore that does test restore from mysqldump
      output for a limited number of basic cases.
      Create new .inc file - mysqldump.inc - renames original table and uses mysqldump
      output to recreate the table, then uses diff_tables.inc to compare the two tables.
      Backported include/diff_tables.inc to facilitate this testing.
      New patch incorporating review feedback prior to push.
      
      mysqldump.test - removed redundant call to include/have_log_bin.inc (was used twice in the test!)
      6c31d59b
    • Gleb Shchepa's avatar
      Bug #42778: delete order by null global variable causes · f5c93081
      Gleb Shchepa authored
                  assertion .\filesort.cc, line 797
      
      Minor fix to test case (embedded server failure).
      f5c93081
  4. 21 May, 2009 15 commits
  5. 20 May, 2009 10 commits
  6. 19 May, 2009 1 commit
  7. 18 May, 2009 2 commits
    • Gleb Shchepa's avatar
      Bug#40825: Error 1356 while selecting from a view · 8a39147a
      Gleb Shchepa authored
                 with a "HAVING" clause though query works
      
      SELECT from views defined like:
      
        CREATE VIEW v1 (view_column)
          AS SELECT c AS alias FROM t1 HAVING alias
      
      fails with an error 1356:
        View '...' references invalid table(s) or column(s)
        or function(s) or definer/invoker of view lack rights
        to use them
      
      
      CREATE VIEW form with a (column list) substitutes
      SELECT column names/aliases with names from a
      view column list.
      However, alias references in HAVING clause was
      not substituted.
      
      
      The Item_ref::print function has been modified
      to write correct aliased names of underlying
      items into VIEW definition generation/.frm file.
      8a39147a
    • Gleb Shchepa's avatar
      Bug #44768: SIGFPE crash when selecting rand from a view containing null · 9cc4cb0e
      Gleb Shchepa authored
      The RAND(N) function where the N is a field of "constant" table
      (table of single row) failed with a SIGFPE.
      
      Evaluation of RAND(N) rely on constant status of its argument.
      Current server "seeded" random value for each constant argument
      only once, in the Item_func_rand::fix_fields method.
      Then the server skipped a call to seed_random() in the
      Item_func_rand::val_real method for such constant arguments.
      
      However, non-constant state of an argument may be changed
      after the call to fix_fields, if an argument is a field of
      "constant" table. Thus, pre-initialization of random value
      in the fix_fields method is too early.
      
      
      Initialization of random value by seed_random() has been
      removed from Item_func_rand::fix_fields method.
      The Item_func_rand::val_real method has been modified to
      call seed_random() on the first evaluation of this method
      if an argument is a function.
      9cc4cb0e
  8. 17 May, 2009 1 commit