1. 19 Feb, 2008 1 commit
    • unknown's avatar
      Bug#31745 - crash handler does not work on Windows · 9624e880
      unknown authored
      - Replace per-thread signal()'s with  SetUnhandledExceptionFilter(). 
        The only remaining signal() is for SIGABRT (default abort()
        handler in VS2005 is broken, i.e removes user exception filter)
      - remove MessageBox()'es  from error handling code
      - Windows port for print_stacktrace() and write_core() 
      - Cleanup, removed some unused functions
      
      
      sql/CMakeLists.txt:
        Implement stack tracing on and generating crash dumps on Windows
      sql/mysqld.cc:
        Correct signal handling on Windows. 
        - For console events, like CTRL-C use SetConsoleCtrlHandler
        - For exceptions like access violation, use SetUnhandledExceptionFilter
        - For SIGABRT generate exception via __debugbreak() intrinsic
          if built with VS2005 and later , since default SIGABRT handler 
          replaces unhandled exception filter specified by user
        - make provisions to debug exception filter, as it is not trivial 
        (should be compiled with /DDEBUG_UNHANDLED_EXCEPTION_FILTER)
      sql/sql_parse.cc:
        Remove message box from windows signal handler.
        The only thread specific handler left is for SIGABRT,
        which is broken on VS2005 and later (user specified unhandled exception 
        filter gets overwritten)
      sql/stacktrace.c:
        Stack tracing and generating crash dumps on Windows
      sql/stacktrace.h:
        Implement print_stacktrace and write_core on Windows
      9624e880
  2. 27 Jan, 2008 1 commit
    • unknown's avatar
      Fix test case for Bug #25347 so that it actually tests the code fix, · 2989a539
      unknown authored
      and so that it works correctly on Windows.
      
      
      mysql-test/r/mysqlcheck.result:
        Flush tables before monkeying around with underlying MyISAM data files
      mysql-test/t/mysqlcheck.test:
        Fix the test case for bug #25347 so that it actually does test the behavior.
        Also, this makes it work on Windows by ensuring that mysqld doesn't hold the
        underlying MyISAM files open while we try to corrupt them on disk.
        
        Flush tables before monkeying around with underlying MyISAM data files;
        --use-frm, so that mysqlcheck will succeed.
      2989a539
  3. 25 Jan, 2008 2 commits
  4. 24 Jan, 2008 1 commit
  5. 23 Jan, 2008 7 commits
    • unknown's avatar
      manual merge · 5ecbc830
      unknown authored
      5ecbc830
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 5e065732
      unknown authored
      into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-33618
      
      
      mysql-test/t/sp.test:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      5e065732
    • unknown's avatar
      Bug#33618 (Crash in sp_rcontext) · 96dc5f05
      unknown authored
      Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
      
      The server used to crash when REPEAT or another control instruction
      was used in conjunction with labels and a LEAVE instruction.
      
      The crash was caused by a missing "pop" of handlers or cursors in the
      code representing the stored program. When executing the code in a loop,
      this missing "pop" would result in a stack overflow, corrupting memory.
      
      Code generation has been fixed to produce the missing h_pop/c_pop
      instructions.
      
      Also, the logic checking that labels at the beginning and the end of a
      statement are matched was incorrect, causing Bug 33983.
      End labels, when used, must match the label used at the beginning of a block.
      
      
      mysql-test/r/sp-code.result:
        Bug#33618 (Crash in sp_rcontext)
      mysql-test/r/sp-error.result:
        Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
      mysql-test/r/sp.result:
        Bug#33618 (Crash in sp_rcontext)
      mysql-test/t/sp-code.test:
        Bug#33618 (Crash in sp_rcontext)
      mysql-test/t/sp-error.test:
        Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
      mysql-test/t/sp.test:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_head.cc:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_head.h:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_rcontext.cc:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_rcontext.h:
        Bug#33618 (Crash in sp_rcontext)
      sql/sql_yacc.yy:
        Bug#33618 (Crash in sp_rcontext)
      96dc5f05
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · beecdbdb
      unknown authored
      into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
      
      
      sql/item_timefunc.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      beecdbdb
    • unknown's avatar
      Patch contributed by Jocelyn Fournier. CLA received 2007-02-27. · 1589dc39
      unknown authored
      Bug#25347: mysqlcheck -A -r doesn't repair table marked as crashed
      
      mysqlcheck tests nullness of the engine type to know whether the
      "table" is a view or not.  That also falsely catches tables that 
      are severly damaged.
      
      Instead, use SHOW FULL TABLES to test whether a "table" is a view
      or not.
      
      (Don't add new function.  Instead, get original data a smarter way.)
      
      Make it safe for use against databases before when views appeared.
      
      
      client/mysqlcheck.c:
        Use SHOW FULL TABLES to test better whether a name in the table
        list is one of a view.  Checking that the engine is NULL is 
        insufficient.
        
        Implemented suggestion from jimw that involved removing most of 
        original patch and getting data a better way
      mysql-test/r/mysqlcheck.result:
        Verify that tables that have NULL/unreadable engine types are 
        processed and not interpreted as views.
      mysql-test/t/mysqlcheck.test:
        Verify that tables that have NULL/unreadable engine types are 
        processed and not interpreted as views.
      1589dc39
    • unknown's avatar
      Bug#27427: resolveip fails on hostnames with a leading digit · 605d17f2
      unknown authored
      Patch by Kasper Dupont.  No CLA required for this size of patch.
      
      "resolveip" program produces incorrect result if given a hostname
      starting with a digit.  Someone seems to have thought that names 
      can not have digits at the beginning.
      
      Instead, use the resolver library to work out the rules of hostnames, 
      as it will undoubtedly be better at it than we are.
      
      
      configure.in:
        See if we need to a library for address lookups.
      extra/resolveip.c:
        Don't use silly heuristic to know whether a string is a dotted
        quad.  Instead, pass the whole thing into the resolver and let
        its smarts do all the work.
      605d17f2
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint · f70e5911
      unknown authored
      into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
      
      
      include/my_sys.h:
        Auto merged
      myisam/ft_boolean_search.c:
        Auto merged
      myisam/sort.c:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/r/ctype_ucs.result:
        Auto merged
      mysql-test/r/func_misc.result:
        Auto merged
      mysql-test/t/ctype_ucs.test:
        Auto merged
      mysql-test/t/func_misc.test:
        Auto merged
      sql/ha_myisam.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/item_strfunc.h:
        Auto merged
      sql/item_timefunc.cc:
        Auto merged
      sql/opt_range.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/set_var.h:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      f70e5911
  6. 22 Jan, 2008 3 commits
  7. 20 Jan, 2008 1 commit
  8. 19 Jan, 2008 1 commit
  9. 18 Jan, 2008 2 commits
    • unknown's avatar
      Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 5a82c60b
      unknown authored
      into  lamia.dupka:/home/mhansson/my50-bug33143-again-pushee
      
      5a82c60b
    • unknown's avatar
      BUG#33794 "MySQL crashes executing specific query": · c726f011
      unknown authored
      The problem occurred when one had a subquery that had an equality X=Y where 
      Y referred to a named select list expression from the parent select. MySQL 
      crashed when trying to use the X=Y equality for ref-based access. 
      
      Fixed by allowing non-Item_field items in the described case.
      
      
      mysql-test/r/subselect.result:
        BUG#33794 "MySQL crashes executing specific query"
        - Testcase
      mysql-test/t/subselect.test:
        BUG#33794 "MySQL crashes executing specific query"
        - Testcase
      sql/sql_select.cc:
        BUG#33794 "MySQL crashes executing specific query"
        get_store_key() assumed that if it got a reference
          t.key=Item_outer_ref(Item_direct_ref(x)) 
        then x was an Item_field object, which is not the case when one refers to a
        named select list expression out ot subquery.
      c726f011
  10. 17 Jan, 2008 1 commit
    • unknown's avatar
      Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt · b06eb2ec
      unknown authored
      into  linux-st28.site:/home/martin/mysql/src/bug33143/my50-bug33143-again-pushee
      
      
      sql/item_func.cc:
        Auto merged
      mysql-test/r/type_decimal.result:
        Bug#33143: Manual merge
      mysql-test/t/type_decimal.test:
        Bug#33143: Manual merge
      b06eb2ec
  11. 14 Jan, 2008 1 commit
    • unknown's avatar
      Bug#33143: Incorrect ORDER BY for ROUND()/TRUNCATE() result · 01557dde
      unknown authored
      The ROUND(X, D) function would change the Item::decimals field during
      execution to achieve the effect of a dynamic number of decimal digits.
      This caused a series of bugs:
      Bug #30617:Round() function not working under some circumstances in InnoDB
      Bug #33402:ROUND with decimal and non-constant cannot round to 0 decimal places
      Bug #30889:filesort and order by with float/numeric crashes server
      Fixed by never changing the number of shown digits for DECIMAL when
      used with a nonconstant number of decimal digits.
      
      
      mysql-test/r/type_decimal.result:
        Bug#33143: Test result
      mysql-test/t/type_decimal.test:
        Bug#33143: Test case
      sql/item_func.cc:
        Bug#33143: 
        - Moved the DECIMAL_MAX_SCALE limitation to fix_length_and_dec.
        - Removed resetting of Item::decimals field.
        - set the frac field of the output value to current scale.
      strings/decimal.c:
        Bug#33143: It is necessary to set all digits in the buffer following the 
        rounded one to zero, as they may now be displayed.
      01557dde
  12. 12 Jan, 2008 1 commit
  13. 11 Jan, 2008 3 commits
    • unknown's avatar
      Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt · de17151f
      unknown authored
      into  linux-st28.site:/home/martin/mysql/src/bug31797/my50-bug31797-pushee
      
      
      sql/item.cc:
        Auto merged
      mysql-test/r/group_by.result:
        Bug#31797: Manual merge
      mysql-test/t/group_by.test:
        Bug#31797: Manual merge
      de17151f
    • unknown's avatar
      Bug#31797: error while parsing subqueries -- WHERE is parsed as HAVING · 2771cf8b
      unknown authored
      The name resolution for correlated subqueries and HAVING clauses
      failed to distinguish which of two was being performed when there 
      was a reference to an outer aliased field.
      Fixed by adding the condition that HAVING clause name resulotion
      is being performed.
      
      
      mysql-test/r/group_by.result:
        Bug#31797: Test result
      mysql-test/t/group_by.test:
        Bug#31797: Test case
      sql/item.cc:
        Bug#31797: 
        Corrected function comment.
        The fix, raising the error is restricted to HAVING name resolution.
      2771cf8b
    • unknown's avatar
      Bug#29477: Not all fields of the target table were checked to have a default · c328260a
      unknown authored
      value when inserting into a view.
      
      The mysql_prepare_insert function checks all fields of the target table that
      directly or indirectly (through a view) are specified in the INSERT
      statement to have a default value. This check can be skipped if the INSERT
      statement doesn't mention any insert fields. In case of a view this allows
      fields that aren't mentioned in the view to bypass the check.
      
      Now fields of the target table are always checked to have a default value
      when insert goes into a view.
      
      
      mysql-test/t/view.test:
        Added a test case for the bug#29477: Not all fields of the target table were 
        checked to have a default value when inserting into a view.
      mysql-test/r/view.result:
        Added a test case for the bug#29477: Not all fields of the target table were 
        checked to have a default value when inserting into a view.
      sql/sql_insert.cc:
        Bug#29477: Not all fields of the target table were checked to have a default
        value when inserting into a view.
        Now fields of the target table are always checked to have a default value
        when insert goes into a view.
      c328260a
  14. 10 Jan, 2008 5 commits
  15. 09 Jan, 2008 3 commits
  16. 08 Jan, 2008 2 commits
    • unknown's avatar
      Bug#33675: Usage of an uninitialized memory by filesort in a subquery caused · 89cccc7c
      unknown authored
      server crash.
      
      The filesort implementation has an optimization for subquery execution which
      consists of reusing previously allocated buffers. In particular the call to
      the read_buffpek_from_file function might be skipped when a big enough buffer
      for buffer descriptors (buffpeks) is already allocated. Beside allocating
      memory for buffpeks this function fills allocated buffer with data read from
      disk. Skipping it might led to using an arbitrary memory as fields' data and
      finally to a crash.
      
      Now the read_buffpek_from_file function is always called. It allocates
      new buffer only when necessary, but always fill it with correct data.
      
      
      sql/filesort.cc:
        Bug#33675: Usage of an uninitialized memory by filesort in a subquery caused
        server crash.Now the read_buffpek_from_file function is always called. It allocates
        new buffer only when necessary, but always fill it with correct data.
      mysql-test/r/subselect.result:
        Added a test case for the bug#33675: Usage of an uninitialized memory by
        filesort in a subquery caused server crash.
      mysql-test/t/subselect.test:
        Added a test case for the bug#33675: Usage of an uninitialized memory by
        filesort in a subquery caused server crash.
      89cccc7c
    • unknown's avatar
      Bug#29770 Two handlers are allowed to catch an error in an stored procedure. · f18ef31b
      unknown authored
      Add test case.
      
      
      mysql-test/r/sp.result:
        Add test case result for Bug#29770
      mysql-test/t/sp.test:
        Add test case for Bug#29770
      f18ef31b
  17. 07 Jan, 2008 1 commit
  18. 05 Jan, 2008 1 commit
  19. 24 Dec, 2007 1 commit
    • unknown's avatar
      Fix for bug #33305: Test case in 'skip_grants' file need dynamic loading · 8d8ef7be
      unknown authored
                          to be compiled in
      
      The problem was that on a statically built server an attempt to create
      a UDF resulted in a different, but reasonable error ("Can't open shared
      library" instead of "UDFs are unavailable with the --skip-grant-tables
      option"), which caused a failure for the test case for bug #32020.
      
      Fixed by moving the test case for bug #32020 from skip_grants.test to a
      separate test to ensure that it is only run when the server is built
      with support for dynamically loaded libraries.
      
      
      mysql-test/r/skip_grants.result:
        Moved the test case for bug #32020 to a separate test.
      mysql-test/t/skip_grants.test:
        Moved the test case for bug #32020 to a separate test.
      mysql-test/r/udf_skip_grants.result:
        Moved the test case for bug #32020 to a separate test.
      mysql-test/t/udf_skip_grants-master.opt:
        Moved the test case for bug #32020 to a separate test.
      mysql-test/t/udf_skip_grants.test:
        Moved the test case for bug #32020 to a separate test.
      8d8ef7be
  20. 21 Dec, 2007 2 commits
    • unknown's avatar
      Merge trift2.:/MySQL/M50/clone-5.0 · c05b28a5
      unknown authored
      into  trift2.:/MySQL/M50/merge-5.0
      
      c05b28a5
    • unknown's avatar
      Bug #33256: CREATE ... SELECT creates obsolete table · cb3cfe74
      unknown authored
       w/ Field_date instead of Field_newdate
        
      Field_date was still used in temp table creation.
      Fixed by using Field_newdate consistently throughout the server
      except when reading tables defined with older MySQL version.
      No test suite is possible because both Field_date and Field_newdate
      return the same values in all the metadata calls. 
      
      
      mysql-test/r/type_decimal.result:
        Bug #33256: removed redundant warnings
      sql/field.h:
        Bug #33256: Add a constructor similar to Field_date::Field_date()
      sql/item.cc:
        Bug #33256: Use Field_newdate instead of Field_date 
        for all temp tables and CREATE .. SELECT
      sql/item_sum.cc:
        Bug #33256: Use Field_newdate instead of Field_date 
        for all temp tables and CREATE .. SELECT
      sql/item_timefunc.cc:
        Bug #33256: Use Field_newdate instead of Field_date 
        for all temp tables and CREATE .. SELECT
      sql/item_timefunc.h:
        Bug #33256: Use Field_newdate instead of Field_date 
        for all temp tables and CREATE .. SELECT
      cb3cfe74