1. 25 Jun, 2008 1 commit
    • Timothy Smith's avatar
      Bug #20748: Configuration files should not be read more than once · d5977e4c
      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.
      d5977e4c
  2. 17 Jun, 2008 3 commits
    • Georgi Kodinov's avatar
      auto merge · 07350a6c
      Georgi Kodinov authored
      07350a6c
    • Tatiana A. Nurnberg's avatar
      merge · 8342336f
      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
      8342336f
    • Tatiana A. Nurnberg's avatar
      Bug#36492: make dist and make install fails · b1132821
      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).
      b1132821
  3. 16 Jun, 2008 1 commit
  4. 13 Jun, 2008 2 commits
  5. 12 Jun, 2008 1 commit
  6. 10 Jun, 2008 1 commit
  7. 03 Jun, 2008 1 commit
    • Georgi Kodinov's avatar
      Bug#37069 (5.0): implement --skip-federated · da4cfa6d
      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
      da4cfa6d
  8. 02 Jun, 2008 1 commit
    • Matthias Leich mleich@mysql.com's avatar
      Bug#36788 Multiple funcs_1 'trig' tests are failing on vanilla builds · 15440264
      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
      15440264
  9. 29 May, 2008 1 commit
  10. 28 May, 2008 2 commits
  11. 27 May, 2008 1 commit
  12. 25 May, 2008 1 commit
  13. 23 May, 2008 1 commit
  14. 22 May, 2008 1 commit
  15. 21 May, 2008 1 commit
  16. 18 May, 2008 2 commits
    • unknown's avatar
      Merge host.loc:/work/bugs/5.0-bugteam-36676 · 8bc987ab
      unknown authored
      into  host.loc:/work/bk/5.0-bugteam
      
      
      8bc987ab
    • unknown's avatar
      Fixed bug#36676: multiupdate using LEFT JOIN updates only · 29e7fa25
      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.
      29e7fa25
  17. 17 May, 2008 1 commit
  18. 16 May, 2008 9 commits
  19. 15 May, 2008 1 commit
    • unknown's avatar
      Bug#36570: Parse error of CREATE PROCEDURE stmt with comments on \ · 55012e42
      unknown authored
      	slave
      
      The stored-routine code took the contents of the (lowest) parser
      and copied it directly to the binlog, which causes problems if there
      is a special case of interpretation at the parser level -- which 
      there is, in the "/*!VER */" comments.  The trailing "*/" caused
      errors on the slave, naturally.
      
      Now, since by that point we have /properly/ created parse-tree (as 
      the rest of the server should do!) for the stored-routine CREATE, we
      can construct a perfect statement from that information, instead of
      writing uncertain information from an unknown parser state.  
      Fortunately, there's already a function nearby that does exactly 
      that.
      ---
      Update for Bug#36570.  Qualify routine names with db name when
      writing to the binlog ONLY if the source text is qualified.
      
      
      mysql-test/r/binlog_innodb.result:
        Offsets changed due to quoting.
        ---
        New offset to account for db-qualified names.
      mysql-test/r/ctype_cp932_binlog.result:
        Offsets changed due to quoting.
        ---
        Qualify routine names with DB.  Offsets change also.
      mysql-test/r/mysqlbinlog.result:
        Case changed in result due to interpretation of data instead of 
        literal recitation.
        ---
        Qualify procedure name with db.
      mysql-test/r/rpl_sp.result:
        Offsets changed due to quoting.  Added tests.
        ---
        Qualify routine names with DB if qualified in query.  Offsets change also.
      mysql-test/t/rpl_sp.test:
        Add version-limiting quotes to exercise bug#36570.  Test that 
        backtick-quoted identifiers and labels work also.
        ---
        Use different db to show qualification works.  Qualify routine names
        with DB if qualified in query.
      sql/sp.cc:
        In create_string, we may not have a sp_name parameter yet, so
        instead pass the char* and length of the only member we'd get out
        of it.
        
        Having done that, we can use the same function to write the 
        CREATE (FUNC|TRIG|PROC) statement to the binlog as we always used
        to display the statement to the user.
        ---
        Make the db name part of the CREATE string if it is specified.
        
        Specify it in part of writing to the binlog when creating a new
        routine.
      sql/sp_head.cc:
        Set the sp_head m_explicit_name member as the sp_name member is set.  
        We can not peek at this later, as the sp_name is gone by then.
      sql/sp_head.h:
        Add a member to track whether the name is qualified with the 
        database.
      55012e42
  20. 14 May, 2008 1 commit
  21. 13 May, 2008 3 commits
    • unknown's avatar
      Fixed bug #36488: regexp returns false matches, concatenating · 66367aee
      unknown authored
                        with previous rows.
      
      The WHERE clause containing expression:
        CONCAT(empty_field1, empty_field2, ..., 'literal constant', ...)
          REGEXP 'regular expression'
      may return wrong matches.
      
      Optimization of the CONCAT function has been fixed.
      
      
      
      mysql-test/r/func_concat.result:
        Added test case for bug #36488.
      mysql-test/t/func_concat.test:
        Added test case for bug #36488.
      sql/item_strfunc.cc:
        Fixed bug #36488.
        The Item_func_concat::val_str method is optimized to
        use first non-empty argument of the CONCAT function for in-place
        result accumulation. This optimization is acceptable if that
        first argument is not a constant.
        However, current implementation checks this condition only for
        the first actual argument of the CONCAT function.
        So, the Item_func_concat::val_str method can corrupt values
        of, for example, literal strings by appending random data.
        
        The Item_func_concat::val_str method has been modified to take
        into account the ability to be modified in-place for the first
        non-empty argument.
      66367aee
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0 · 54998d61
      unknown authored
      into  mysql.com:/home/kent/bk/mysql-5.0-release-merge
      
      
      BUILD/Makefile.am:
        Auto merged
      mysql-test/Makefile.am:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/std_data/funcs_1/innodb_tb1.txt:
        Auto merged
      mysql-test/std_data/funcs_1/innodb_tb2.txt:
        Auto merged
      mysql-test/std_data/funcs_1/innodb_tb3.txt:
        Auto merged
      mysql-test/std_data/funcs_1/innodb_tb4.txt:
        Auto merged
      mysql-test/std_data/funcs_1/memory_tb1.txt:
        Auto merged
      mysql-test/std_data/funcs_1/memory_tb2.txt:
        Auto merged
      mysql-test/std_data/funcs_1/memory_tb3.txt:
        Auto merged
      mysql-test/std_data/funcs_1/memory_tb4.txt:
        Auto merged
      mysql-test/std_data/funcs_1/myisam_tb1.txt:
        Auto merged
      mysql-test/std_data/funcs_1/myisam_tb2.txt:
        Auto merged
      mysql-test/std_data/funcs_1/myisam_tb3.txt:
        Auto merged
      mysql-test/std_data/funcs_1/myisam_tb4.txt:
        Auto merged
      mysql-test/std_data/funcs_1/t3.txt:
        Auto merged
      mysql-test/std_data/funcs_1/t4.txt:
        Auto merged
      mysql-test/std_data/funcs_1/t7.txt:
        Auto merged
      mysql-test/std_data/funcs_1/t9.txt:
        Auto merged
      mysql-test/suite/funcs_1/README.txt:
        Auto merged
      mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc:
        Auto merged
      mysql-test/suite/funcs_1/datadict/datadict_load.inc:
        Auto merged
      mysql-test/suite/funcs_1/include/innodb_tb1.inc:
        Auto merged
      mysql-test/suite/funcs_1/include/innodb_tb2.inc:
        Auto merged
      mysql-test/suite/funcs_1/include/innodb_tb3.inc:
        Auto merged
      mysql-test/suite/funcs_1/include/innodb_tb4.inc:
        Auto merged
      mysql-test/suite/funcs_1/include/memory_tb1.inc:
        Auto merged
      mysql-test/suite/funcs_1/include/memory_tb2.inc:
        Auto merged
      mysql-test/suite/funcs_1/include/memory_tb3.inc:
        Auto merged
      mysql-test/suite/funcs_1/include/memory_tb4.inc:
        Auto merged
      mysql-test/suite/funcs_1/include/myisam_tb1.inc:
        Auto merged
      mysql-test/suite/funcs_1/include/myisam_tb2.inc:
        Auto merged
      mysql-test/suite/funcs_1/include/myisam_tb3.inc:
        Auto merged
      mysql-test/suite/funcs_1/include/myisam_tb4.inc:
        Auto merged
      mysql-test/suite/funcs_1/include/sp_tb.inc:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_func_view.result:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_storedproc_02.result:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_storedproc_03.result:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_storedproc_06.result:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_storedproc_07.result:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_storedproc_08.result:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_storedproc_10.result:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_trig_0102.result:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_trig_03.result:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_trig_0407.result:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_trig_08.result:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_trig_09.result:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_trig_frkey.result:
        Auto merged
      mysql-test/suite/funcs_1/r/innodb_views.result:
        Auto merged
      mysql-test/suite/funcs_1/r/is_columns_innodb.result:
        Auto merged
      mysql-test/suite/funcs_1/r/is_columns_memory.result:
        Auto merged
      mysql-test/suite/funcs_1/r/is_columns_myisam.result:
        Auto merged
      mysql-test/suite/funcs_1/r/is_columns_ndb.result:
        Auto merged
      mysql-test/suite/funcs_1/r/is_tables_innodb.result:
        Auto merged
      mysql-test/suite/funcs_1/r/is_tables_memory.result:
        Auto merged
      mysql-test/suite/funcs_1/r/is_tables_myisam.result:
        Auto merged
      mysql-test/suite/funcs_1/r/is_tables_ndb.result:
        Auto merged
      mysql-test/suite/funcs_1/r/memory_func_view.result:
        Auto merged
      mysql-test/suite/funcs_1/r/memory_storedproc_02.result:
        Auto merged
      mysql-test/suite/funcs_1/r/memory_storedproc_03.result:
        Auto merged
      mysql-test/suite/funcs_1/r/memory_storedproc_06.result:
        Auto merged
      mysql-test/suite/funcs_1/r/memory_storedproc_07.result:
        Auto merged
      mysql-test/suite/funcs_1/r/memory_storedproc_08.result:
        Auto merged
      mysql-test/suite/funcs_1/r/memory_storedproc_10.result:
        Auto merged
      mysql-test/suite/funcs_1/r/memory_trig_0102.result:
        Auto merged
      mysql-test/suite/funcs_1/r/memory_trig_03.result:
        Auto merged
      mysql-test/suite/funcs_1/r/memory_trig_0407.result:
        Auto merged
      mysql-test/suite/funcs_1/r/memory_trig_08.result:
        Auto merged
      mysql-test/suite/funcs_1/r/memory_trig_09.result:
        Auto merged
      mysql-test/suite/funcs_1/r/memory_trig_1011ext.result:
        Auto merged
      mysql-test/suite/funcs_1/r/memory_views.result:
        Auto merged
      mysql-test/suite/funcs_1/r/myisam_func_view.result:
        Auto merged
      mysql-test/suite/funcs_1/r/myisam_storedproc_02.result:
        Auto merged
      mysql-test/suite/funcs_1/r/myisam_storedproc_03.result:
        Auto merged
      mysql-test/suite/funcs_1/r/myisam_storedproc_06.result:
        Auto merged
      mysql-test/suite/funcs_1/r/myisam_storedproc_07.result:
        Auto merged
      mysql-test/suite/funcs_1/r/myisam_storedproc_08.result:
        Auto merged
      mysql-test/suite/funcs_1/r/myisam_storedproc_10.result:
        Auto merged
      mysql-test/suite/funcs_1/r/myisam_trig_0102.result:
        Auto merged
      mysql-test/suite/funcs_1/r/myisam_trig_03.result:
        Auto merged
      mysql-test/suite/funcs_1/r/myisam_trig_0407.result:
        Auto merged
      mysql-test/suite/funcs_1/r/myisam_trig_08.result:
        Auto merged
      mysql-test/suite/funcs_1/r/myisam_trig_09.result:
        Auto merged
      mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result:
        Auto merged
      mysql-test/suite/funcs_1/r/myisam_views.result:
        Auto merged
      mysql-test/suite/funcs_1/storedproc/cleanup_sp_tb.inc:
        Auto merged
      mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc:
        Auto merged
      mysql-test/suite/funcs_1/storedproc/storedproc_02.inc:
        Auto merged
      mysql-test/suite/funcs_1/storedproc/storedproc_03.inc:
        Auto merged
      mysql-test/suite/funcs_1/storedproc/storedproc_06.inc:
        Auto merged
      mysql-test/suite/funcs_1/storedproc/storedproc_10.inc:
        Auto merged
      mysql-test/suite/funcs_1/t/innodb_trig_0407.test:
        Auto merged
      mysql-test/suite/funcs_1/t/is_basics_mixed.test:
        Auto merged
      mysql-test/suite/funcs_1/t/memory_storedproc_02.test:
        Auto merged
      mysql-test/suite/funcs_1/t/memory_storedproc_03.test:
        Auto merged
      mysql-test/suite/funcs_1/t/memory_storedproc_06.test:
        Auto merged
      mysql-test/suite/funcs_1/t/memory_storedproc_07.test:
        Auto merged
      mysql-test/suite/funcs_1/t/memory_storedproc_08.test:
        Auto merged
      mysql-test/suite/funcs_1/t/memory_storedproc_10.test:
        Auto merged
      mysql-test/suite/funcs_1/t/myisam_storedproc_02.test:
        Auto merged
      mysql-test/suite/funcs_1/t/myisam_storedproc_03.test:
        Auto merged
      mysql-test/suite/funcs_1/t/myisam_storedproc_06.test:
        Auto merged
      mysql-test/suite/funcs_1/t/myisam_storedproc_07.test:
        Auto merged
      mysql-test/suite/funcs_1/t/myisam_storedproc_08.test:
        Auto merged
      mysql-test/suite/funcs_1/t/myisam_storedproc_10.test:
        Auto merged
      mysql-test/suite/funcs_1/triggers/trig_frkey2.inc:
        Auto merged
      mysql-test/suite/funcs_1/triggers/triggers_0102.inc:
        Auto merged
      mysql-test/suite/funcs_1/triggers/triggers_03.inc:
        Auto merged
      mysql-test/suite/funcs_1/triggers/triggers_0407.inc:
        Auto merged
      mysql-test/suite/funcs_1/triggers/triggers_08.inc:
        Auto merged
      mysql-test/suite/funcs_1/triggers/triggers_09.inc:
        Auto merged
      mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc:
        Auto merged
      mysql-test/suite/funcs_1/views/func_view.inc:
        Auto merged
      mysql-test/suite/funcs_1/views/views_master.inc:
        Auto merged
      BitKeeper/deleted/.del-load_file.txt:
        Delete: mysql-test/std_data/funcs_1/load_file.txt
      54998d61
    • unknown's avatar
      Merge host.loc:/work/bugs/5.0-bugteam-30059 · 470aa2c0
      unknown authored
      into  host.loc:/work/bk/5.0-bugteam
      
      
      470aa2c0
  22. 12 May, 2008 2 commits
    • unknown's avatar
      Merge host.loc:/work/bugs/5.0-bugteam-36055 · ef4b6200
      unknown authored
      into  host.loc:/work/bk/5.0-bugteam
      
      
      ef4b6200
    • unknown's avatar
      Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables · e7e49eb6
      unknown authored
      The REPAIR TABLE ... USE_FRM query silently corrupts data of tables
      with old .FRM file version.
      The mysql_upgrade client program or the REPAIR TABLE query (without
      the USE_FRM clause) can't prevent this trouble, because in the
      common case they don't upgrade .FRM file to compatible structure.
      
      1. Evaluation of the REPAIR TABLE ... USE_FRM query has been
         modified to reject such tables with the message:
         "Failed repairing incompatible .FRM file".
      
      2. REPAIR TABLE query (without USE_FRM clause) evaluation has been
         modified to upgrade .FRM files to current version.
      
      3. CHECK TABLE ... FOR UPGRADE query evaluation has been modified
         to return error status when .FRM file has incompatible version.
      
      4. mysql_upgrade and mysqlcheck client programs call CHECK TABLE
         FOR UPGRADE and REPAIR TABLE queries, so their behaviors have
         been changed too to upgrade .FRM files with incompatible
         version numbers.
      
      
      mysql-test/std_data/bug36055.MYD:
        Added test data for bug #36055.
      mysql-test/std_data/bug36055.MYI:
        Added test data for bug #36055.
      mysql-test/std_data/bug36055.frm:
        Added test data for bug #36055.
      mysql-test/r/repair.result:
        Added test case for bug# 36055.
      mysql-test/t/repair.test:
        Added test case for bug# 36055.
      sql/handler.cc:
        Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables
        
        The handler::ha_check_for_upgrade method has been modified to
        return error if .FRM file has incompatible version number.
      sql/sql_table.cc:
        Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables
        
        The prepare_for_repair function has been modified to reject
        REPAIR TABLE ... USE_FRM queries on incompatible .FRM files
        with the message: "Failed repairing incompatible .FRM file".
      e7e49eb6
  23. 09 May, 2008 1 commit
  24. 08 May, 2008 1 commit