1. 10 Jul, 2008 1 commit
    • Tatiana A. Nurnberg's avatar
      Bug#35848: UUID() returns UUIDs with the wrong time · c054c744
      Tatiana A. Nurnberg authored
      offset for time part in UUIDs was 1/1000 of what it
      should be. In other words, offset was off.
      
      Also handle the case where we count into the future
      when several UUIDs are generated in one "tick", and
      then the next call is late enough for us to unwind
      some but not all of those borrowed ticks.
      
      Lastly, handle the case where we keep borrowing and
      borrowing until the tick-counter overflows by also
      changing into a new "numberspace" by creating a new
      random suffix.
      
      
      mysql-test/r/func_misc.result:
        Show that time-part of UUIDs is correct now.
      mysql-test/t/func_misc.test:
        Show that time-part of UUIDs is correct now
        by replicating the C-code's resultin SQL.
        Results also decode to expect date-data on
        command-line (external validation).
        
        No test for unwinding of borrowed ticks as
        this a) is a race and b) depends on what timer
        we get.
      sql/item_strfunc.cc:
        correct offset for date/time-part of UUID.
        also make sure that when we counted into
        the future earlier (several UUIDs generated
        in same tick), we only give back as many
        "borrowed" ticks as we can without duplicating
        past timestamps. If our tick-counter overflows
        before we can give back, or if the system-clock
        is set back (by user or Daylight Saving Time),
        we create a new random suffix to avoid
        collisions and clear the tick-counter.
      c054c744
  2. 08 Jul, 2008 1 commit
  3. 07 Jul, 2008 3 commits
    • Marc Alff's avatar
      Merge · ce79abc1
      Marc Alff authored
      ce79abc1
    • Marc Alff's avatar
      Bug#26030 (Parsing fails for stored routine w/multi-statement execution · 2b285467
      Marc Alff authored
      enabled)
      
      Before this fix, the lexer and parser would treat the ';' character as a
      different token (either ';' or END_OF_INPUT), based on convoluted logic,
      which failed in simple cases where a stored procedure is implemented as a
      single statement, and used in a multi query.
      
      With this fix:
      - the character ';' is always parsed as a ';' token in the lexer,
      - parsing multi queries is implemented in the parser, in the 'query:' rules,
      - the value of thd->client_capabilities, which is the capabilities
        negotiated between the client and the server during bootstrap,
        is immutable and not arbitrarily modified during parsing (which was the
        root cause of the bug)
      
      2b285467
    • Mats Kindahl's avatar
      Bug #37150 Risk for crash in User_var_log_event::exec_event() · dd6537c1
      Mats Kindahl authored
      On certain kinds of errors (e.g., out of stack), a call to Item_func_
      set_user_var::fix_fields() might fail.  Since the return value of this
      call was not checked inside User_var_log_event::exec_event(), continuing
      execution after this will cause a crash inside Item_func_set_user_var::
      update_hash().
      
      The bug is fixed by aborting execution of the event with an error if
      fix_fields() fails, since it is not possible to continue execution anyway.
      
      
      sql/log_event.cc:
        Aborting execution of event if fix_fields() fails since execution
        of update_hash() might cause a crash.
      dd6537c1
  4. 04 Jul, 2008 2 commits
  5. 02 Jul, 2008 1 commit
  6. 01 Jul, 2008 1 commit
    • Patrick Crews's avatar
      Bug#37380 - Test funcs_1.is_columns_myisam_embedded fails on OS X · fbce395b
      Patrick Crews authored
      Test was failing due to the addition of a '\x05' character in result sets
      Latest builds of the server have shown this problem to have disappeared.
      Removing code within the test that disables the test on Mac OS X.
      
      Recommit due to tree error on earlier, approved patch.
      fbce395b
  7. 27 Jun, 2008 2 commits
    • Timothy Smith's avatar
      Merge from upstream (my:5.0-bugteam) · 81183252
      Timothy Smith authored
      81183252
    • Gleb Shchepa's avatar
      backport from 6.0 · 4e9d0160
      Gleb Shchepa authored
            
      Bug#35658 (An empty binary value leads to mysqld crash)
              
      Before this fix, the following token
        b''
      caused the parser to crash when reading the binary value from the empty string.
      The crash was caused by:
        ptr+= max_length - 1;
      because max_length is unsigned and was 0, causing an overflow.
              
      With this fix, an empty binary literal b'' is parsed as a binary value 0,
      in Item_bin_string.
      
      mysql-test/r/varbinary.result:
        Bug#35658 (An empty binary value leads to mysqld crash)
      mysql-test/t/varbinary.test:
        Bug#35658 (An empty binary value leads to mysqld crash)
      sql/item.cc:
        Bug#35658 (An empty binary value leads to mysqld crash)
      4e9d0160
  8. 25 Jun, 2008 2 commits
    • Matthias Leich's avatar
      Fix for · fbb3f400
      Matthias Leich authored
      Bug#37492 timing bug in subselect.test
      + similar weaknesses found during testing
      + replace error numbers by error names
      fbb3f400
    • Timothy Smith's avatar
      Bug #20748: Configuration files should not be read more than once · bbe19e13
      Timothy Smith authored
      Normalize directory names before adding them to default_directories.
      
      
      mysys/default.c:
        Normalize directory names with unpack_dirname() before adding them
        to default_directories.  This way, /etc/ and /etc will not count as
        duplicates.
        
        Because this entails allocating memory to store the normalized names,
        add error handling and ensure that it doesn't leak memory in case
        both my_print_defaults() and load_defaults() are called.
        
        Clean up the Windows code that finds the exe's parent directory, and
        pull it out into a separate function.
        
        Reorganize the code into a single init_default_directories() function,
        with internal #ifdefs, instead of init_default_directories_<system>()
        functions which were accessed via a function pointer.  This is more in
        line with normal MySQL coding style, and easier to read for some.
      bbe19e13
  9. 24 Jun, 2008 3 commits
  10. 18 Jun, 2008 1 commit
    • Matthias Leich mleich@mysql.com's avatar
      Fix for · 3e9e631b
      Matthias Leich mleich@mysql.com authored
           Bug#37167 funcs_1: Many tests fail if the embedded server is used.
           Bug#37164 funcs_1: Some tests fail if an optional character set is missing.
      + some cleanup within the testsuite related to the fixes above
      + some adjustments to open bugs on Mac OS X
      3e9e631b
  11. 17 Jun, 2008 3 commits
    • Georgi Kodinov's avatar
      auto merge · c1a597cd
      Georgi Kodinov authored
      c1a597cd
    • Tatiana A. Nurnberg's avatar
      merge · d6075874
      Tatiana A. Nurnberg authored
      configure.in:
        Raise version number after cloning 5.0.64
      mysql-test/r/federated_disabled.result:
        Bug#37069 (5.0): implement --skip-federated
      mysql-test/t/federated_disabled-master.opt:
        Bug#37069 (5.0): implement --skip-federated
      mysql-test/t/federated_disabled.test:
        Bug#37069 (5.0): implement --skip-federated
      mysys/errors.c:
        Fix for Bug#16902.
      sql/mysqld.cc:
        Bug#37069 (5.0): implement --skip-federated
      d6075874
    • Tatiana A. Nurnberg's avatar
      Bug#36492: make dist and make install fails · 5129d9c1
      Tatiana A. Nurnberg authored
      Ignore BitKeeper SCCS folders in make-dist
      
      mysql-test/Makefile.am:
        Ignore BitKeeper SCCS folders in make-dist
        (copy only .txt files).
      5129d9c1
  12. 16 Jun, 2008 2 commits
    • Matthias Leich mleich@mysql.com's avatar
      Fix for · 850ac7d4
      Matthias Leich mleich@mysql.com authored
         Bug#37167 funcs_1: Many tests fail if the embedded server is used.
         Bug#37164 funcs_1: Some tests fail if an optional character set is missing.
      + some cleanup within the testsuite related to the fixes above
      + some adjustments to open bugs on Mac OS X
      
      Details:
      - Remove the initial loading of data from tests if these data
        are not somewhere retrieved
      - Remove any use of columns with attribute unicode
        (-> UCS2 is no more needed) from tests where unicode
        properties are not checked or somehow required
      - Create a separate branch of the Character maximum length test
        (CML). If UCS2 is available than this test gets applied to
        every available type of string column with attribute unicode
        This prevents any loss of coverage by the points above.
      - Disable the execution of is_tables_ndb which gives wrong
        results because of a bug. Correct the exepected results of
        this test.
      - In case of tests failing when applied to the embedded server
          1) Create a variant of this test for the embedded server
        or
          2) Skip the test in case of embedded server
        depending on purpose and complexity of test.
      - Skip the tests which could suffer from
        Bug 28309 First insert violates unique constraint - was "memory" table empty ?
        Bug 37380 Test funcs_1.is_columns_myisam_embedded fails on OS X
        (both bugs Mac OS X, embedded server, MySQL 5.0 only)
      - Minor improvements like remove typos
      850ac7d4
    • Hakan Kuecuekyilmaz's avatar
      Fix for Bug#16902. · a84c8c73
      Hakan Kuecuekyilmaz authored
      mysys/errors.c:
        Fixed typo, Bug#16902.
      a84c8c73
  13. 13 Jun, 2008 2 commits
  14. 12 Jun, 2008 1 commit
  15. 10 Jun, 2008 1 commit
  16. 03 Jun, 2008 1 commit
    • Georgi Kodinov's avatar
      Bug#37069 (5.0): implement --skip-federated · 9c5b3514
      Georgi Kodinov authored
      mysql-test/r/federated_disabled.result:
        Bug#37069 (5.0): test case
      mysql-test/t/federated_disabled-master.opt:
        Bug#37069 (5.0): test case
      mysql-test/t/federated_disabled.test:
        Bug#37069 (5.0): test case
      9c5b3514
  17. 02 Jun, 2008 1 commit
    • Matthias Leich mleich@mysql.com's avatar
      Bug#36788 Multiple funcs_1 'trig' tests are failing on vanilla builds · c21508a6
      Matthias Leich mleich@mysql.com authored
      Fix for this bug and additional improvements/fixes
      In detail:
      - Remove unicode attribute from several columns
        (unicode properties were nowhere needed/tested)
        of the table tb3
        -> The runnability of these tests depends no more on
           the availibility of some optional collations.
      - Use a table tb3 with the same layout for all
        engines to be tested and unify the engine name
        within the protocols.
        -> <engine>_trig_<abc>.result have the same content
      - Do not load data into tb3 if these rows have no
        impact on result sets
      - Add tests for NDB (they exist already in 5.1)
      - "--replace_result" at various places because
        NDB variants of tests failed with "random" row
        order in results
        This fixes a till now unknown weakness within the
        funcs_1 NDB tests existing in 5.1 and 6.0
      - Fix the expected result of ndb_trig_1011ext
        which suffered from Bug 32656
        + disable this test
      - funcs_1 could be executed with the mysql-test-run.pl
        option "--reorder", which saves some runtime by
        optimizing server restarts.
        Runtimes on tmpfs (one attempt only):
        with    reorder 132 seconds
        without reorder 183 seconds
      - Adjust two "check" statements within func_misc.test
        which were incorrect (We had one run with result set
        difference though the server worked good.)
      - minor fixes in comments
      c21508a6
  18. 29 May, 2008 1 commit
  19. 28 May, 2008 2 commits
  20. 27 May, 2008 1 commit
  21. 25 May, 2008 1 commit
  22. 23 May, 2008 1 commit
  23. 22 May, 2008 1 commit
  24. 21 May, 2008 1 commit
  25. 18 May, 2008 2 commits
    • unknown's avatar
      Merge host.loc:/work/bugs/5.0-bugteam-36676 · fed90a01
      unknown authored
      into  host.loc:/work/bk/5.0-bugteam
      
      fed90a01
    • unknown's avatar
      Fixed bug#36676: multiupdate using LEFT JOIN updates only · 2a1015fe
      unknown authored
                       first row or fails with an error:
        ERROR 1022 (23000): Can't write; duplicate key in table ''
      
      The server uses intermediate temporary table to store updated
      row data.  The first column of this table contains rowid.
      Current server implementation doesn't reset NULL flag of that
      column even if the server fills a column with rowid.
      To keep each rowid unique, there is an unique index.
      An insertion into an unique index takes into account NULL
      flag of key value and ignores real data if NULL flag is set.
      So, insertion of actually different rowids may lead to two
      kind of problems.  Visible effect of each of these problems
      depends on an initial engine type of temporary table:
      
      1. If multiupdate initially creates temporary table as
      a MyISAM table (a table contains blob columns, and the
      create_tmp_table function assumes, that this table is
      large), it inserts only one single row and updates
      only rows with one corresponding rowid. Other rows are
      silently ignored. 
      
      2. If multiupdate initially creates MEMORY temporary
      table, fills it with data and reaches size limit for
      MEMORY tables (max_heap_table_size), multiupdate
      converts MEMORY table into MyISAM table and fails
      with an error:
        ERROR 1022 (23000): Can't write; duplicate key in table ''
      
      
      Multiupdate has been fixed to update the NULL flag of
      temporary table rowid columns.
      
      
      
      mysql-test/r/multi_update_tiny_hash.result:
        Added test case for bug#36676.
      mysql-test/t/multi_update_tiny_hash-master.opt:
        Added test case for bug#36676.
      mysql-test/t/multi_update_tiny_hash.test:
        Added test case for bug#36676.
      sql/sql_update.cc:
        Fixed bug#36676: multiupdate using LEFT JOIN updates only
                         first row or fails with an error:
          ERROR 1022 (23000): Can't write; duplicate key in table ''
        
        The multi_update::send_data method has been modified to reset null bits of
        fields containing rowids.
      2a1015fe
  26. 17 May, 2008 1 commit
  27. 16 May, 2008 1 commit