1. 30 Jan, 2004 2 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 8ab97bb1
      unknown authored
      into mysql.com:/home/my/mysql-4.0
      
      
      8ab97bb1
    • unknown's avatar
      Fixed parsing of column names and foreign key constraints in Innobase to... · f120273d
      unknown authored
      Fixed parsing of column names and foreign key constraints in Innobase to handle quoted identifiers and identifiers with space. (Bug #1725)
      Fix optimizer tuning bug when first used key part was a constant. (Bug #1679)
      
      
      innobase/dict/dict0dict.c:
        Fixed parsing of column names and foreign key constraints to handle quoted identifiers and identifiers with space. (Bug #1725)
      mysql-test/r/innodb.result:
        Test of innodb internal parsing
      mysql-test/t/innodb.test:
        Test of innodb internal parsing
      sql/sql_class.cc:
        Safety fix for select into outfile and select into dumpfile. Before calling send_error() could cause end_io_cache() to be called several times.
      sql/sql_class.h:
        Add path to dumpfile so that we can delete the generated file if something goes wrong.
      sql/sql_select.cc:
        Fix optimizer tuning bug when first used key part was a constant.
        Previously all keys that had this key part first was regarded as equal, even if the query used more key parts for some of the keys.
        Now we use the range optimizer results to just limit the number of estimated rows if not all key parts where constants.
        (Bug #1679)
      f120273d
  2. 29 Jan, 2004 5 commits
    • unknown's avatar
      Fix for BUG#2477 "Slave stop with error after master reboot if use HEAP tables": · bbd2adf4
      unknown authored
      when we open the HEAP table for the first time since server restart,
      in hp_open(), we set a flag to propagate this info to the handler level
      which then writes a DELETE FROM this_heap_table to the binlog.
      It is not a perfect solution for the bug, because between the server start and 
      the first open of the table, the slave still had old data in his table so
      a SELECT on the slave may show wrong content. But if there is a --init-file
      to populate the HEAP table on master as startup, then this is a safe fix
      (I'll put a note about init-file in the HEAP section of the manual).
      
      
      heap/hp_info.c:
        new info variable implicit_emptied
      heap/hp_open.c:
        If this is the first open of the HEAP table, it means it is empty,
        so we mark it.
      include/heap.h:
        new variables implicit_emptied
        (we need one in HEAPINFO for the hp_info() call).
      sql/ha_heap.cc:
        report info to upper level
      sql/handler.h:
        new info 'implicit_emptied' in the handler level; only HEAP uses it.
      sql/sql_base.cc:
        When a HEAP table is opened for the first time, write a DELETE FROM to the binlog,
        for replication and mysqlbinlog|mysql.
        Monty: I added the
        entry->file->implicit_emptied= 0;
      bbd2adf4
    • unknown's avatar
      Fix for BUG#2527 "Multi-Table Delete - Not Replication use replicate-wild-do-table" · 8746a255
      unknown authored
      (as long as replicate-*-table rules were defined, multi-table DELETE was never
      replicated by the slave).
      
      
      sql/sql_parse.cc:
        For a multi-table DELETE, there are two lists of tables:
        - 'tables' contains the tables in the FROM. They have 'updating==0'.
        - 'thd->lex.auxilliary_table_list.first' contains the tables between the DELETE and the FROM. They have 'updating==1'.
        So the bug was that the slave only tests 'tables' and as all its elements have updating==0,
        tables_ok() always returns 0.
        So for a multi DELETE the slave now tests the 2nd list too.
        I started with the other tip of the sausage: I thought of changing multi DELETE to use
        only one list (given that 'updating' can be used to separate it in two when needed)
        (with one list we wouldn't need to change the slave code), but finally hit the unicity
        check in add_table_to_list() which started to return ER_NONUNIQ_TABLE (logical).
      8746a255
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 163dffb4
      unknown authored
      into mysql.com:/home/my/mysql-4.0
      
      
      163dffb4
    • unknown's avatar
      Mark that strings may change on index only reads (for BDB tables). · b9073593
      unknown authored
      This fixed problem with index reads on character fields with BDB tables. (Bug #2509)
      
      
      BitKeeper/etc/ignore:
        added man/*.1
      mysql-test/r/bdb.result:
        New test
      mysql-test/r/myisam.result:
        More tests
      mysql-test/t/bdb.test:
        Test for idnex only read
      mysql-test/t/myisam.test:
        More test to verify pushed bug fix
      sql/ha_berkeley.h:
        Mark that strings may change on index only reads
      sql/item_strfunc.cc:
        Cleanup
      sql/table.cc:
        Allow index only reads on binary strings
      b9073593
    • unknown's avatar
      btr0cur.c: · 9fa2dc4a
      unknown authored
        Fix bug: InnoDB row count and index cardinality estimates wrapped over at 512 million in 32-bit computers
      
      
      innobase/btr/btr0cur.c:
        Fix bug: InnoDB row count and index cardinality estimates wrapped over at 512 million in 32-bit computers
      9fa2dc4a
  3. 28 Jan, 2004 2 commits
  4. 27 Jan, 2004 1 commit
    • unknown's avatar
      data0data.ic, data0data.h, row0sel.c: · bd980424
      unknown authored
        Fix bug #2483 with InnoDB, UNIQUE secondary index, and NULL values in that unique index; with the IS NULL predicate, InnoDB returned only the first matching row, though there can be many
      
      
      innobase/row/row0sel.c:
        Fix bug #2483 with InnoDB, UNIQUE secondary index, and NULL values in that unique index; with the IS NULL predicate, InnoDB returned only the first matching row, though there can be many
      innobase/include/data0data.h:
        Fix bug #2483 with InnoDB, UNIQUE secondary index, and NULL values in that unique index; with the IS NULL predicate, InnoDB returned only the first matching row, though there can be many
      innobase/include/data0data.ic:
        Fix bug #2483 with InnoDB, UNIQUE secondary index, and NULL values in that unique index; with the IS NULL predicate, InnoDB returned only the first matching row, though there can be many
      bd980424
  5. 22 Jan, 2004 5 commits
  6. 21 Jan, 2004 7 commits
  7. 20 Jan, 2004 6 commits
    • unknown's avatar
      added test for bug #2290 "output truncated with ELT when using DISTINCT" · 24ca1e1e
      unknown authored
      
      sql/item_strfunc.cc:
        fixed bug #2290 "output truncated with ELT when using DISTINCT"
      24ca1e1e
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · c9f43338
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      
      c9f43338
    • unknown's avatar
      Fix for BUG#2452 "Empty LOAD DATA INFILE failes with the master in 3.23.x": · c2d849f8
      unknown authored
      do not write the Execute_load_log_event if there was no Create_file_log_event
      (empty file).
      
      
      c2d849f8
    • unknown's avatar
      What started as an attempt to fix BUG#2270 (Substitute paths in mysql · efa80e01
      unknown authored
      manpage) turned out as a major overhaul of all man pages:
      
       - renamed all *.1 files to *.1.in to act as templates which are being
         processed at build time
       - replaced some hard-coded values with place holder that are being
         replaced with the proper values at build time
       - Updated list of available man pages in the SEE ALSO section and added a
         hint to the manual for more details
       - Added a BUGS section to all pages, referring to the bugs DB
       - Updated some obsolete URLs and mail addresses
      
      The actual content of these man pages should probably be cross-checked for
      correctness, though...
      
      
      man/Makefile.am:
         - Replace some hard-coded values in the man pages with the proper values
           at build time instead. Instead of the *.1 files, we now add the *.1.in
           files (the templates) to the source distribution and generate the *.1
           files during make.
      man/isamchk.1.in:
         - replaced some hard-coded values (e.g. Version numbers) with variables
           which are replaced with the proper values at build time
         - Updated list of other man pages listed in SEE ALSO
         - Added BUGS section, referring to the bugs database
         - Updated URL and Mail address
      man/isamlog.1.in:
         - replaced some hard-coded values (e.g. Version numbers) with variables
           which are replaced with the proper values at build time
         - Updated list of other man pages listed in SEE ALSO
         - Added BUGS section, referring to the bugs database
         - Updated URL and Mail address
      man/mysql_fix_privilege_tables.1.in:
         - replaced some hard-coded values (e.g. Version numbers) with variables
           which are replaced with the proper values at build time
         - Updated list of other man pages listed in SEE ALSO
         - Added BUGS section, referring to the bugs database
         - Updated URL and Mail address
      man/mysql_zap.1.in:
         - replaced some hard-coded values (e.g. Version numbers) with variables
           which are replaced with the proper values at build time
         - Updated list of other man pages listed in SEE ALSO
         - Added BUGS section, referring to the bugs database
         - Updated URL and Mail address
      man/mysqlaccess.1.in:
         - replaced some hard-coded values (e.g. Version numbers) with variables
           which are replaced with the proper values at build time
         - Updated list of other man pages listed in SEE ALSO
         - Added BUGS section, referring to the bugs database
         - Updated URL and Mail address
      man/mysqladmin.1.in:
         - replaced some hard-coded values (e.g. Version numbers) with variables
           which are replaced with the proper values at build time
         - Updated list of other man pages listed in SEE ALSO
         - Added BUGS section, referring to the bugs database
         - Updated URL and Mail address
      man/mysqld.1.in:
         - replaced some hard-coded values (e.g. Version numbers) with variables
           which are replaced with the proper values at build time
         - Updated list of other man pages listed in SEE ALSO
         - Added BUGS section, referring to the bugs database
         - Updated URL and Mail address
      man/mysqld_multi.1.in:
         - replaced some hard-coded values (e.g. Version numbers) with variables
           which are replaced with the proper values at build time
         - Updated list of other man pages listed in SEE ALSO
         - Added BUGS section, referring to the bugs database
         - Updated URL and Mail address
      man/mysqld_safe.1.in:
         - replaced some hard-coded values (e.g. Version numbers) with variables
           which are replaced with the proper values at build time
         - Updated list of other man pages listed in SEE ALSO
         - Added BUGS section, referring to the bugs database
         - Updated URL and Mail address
      man/mysqldump.1.in:
         - replaced some hard-coded values (e.g. Version numbers) with variables
           which are replaced with the proper values at build time
         - Updated list of other man pages listed in SEE ALSO
         - Added BUGS section, referring to the bugs database
         - Updated URL and Mail address
      man/mysqlshow.1.in:
         - replaced some hard-coded values (e.g. Version numbers) with variables
           which are replaced with the proper values at build time
         - Updated list of other man pages listed in SEE ALSO
         - Added BUGS section, referring to the bugs database
         - Updated URL and Mail address
      man/perror.1.in:
         - replaced some hard-coded values (e.g. Version numbers) with variables
           which are replaced with the proper values at build time
         - Updated list of other man pages listed in SEE ALSO
         - Added BUGS section, referring to the bugs database
         - Updated URL and Mail address
      man/replace.1.in:
         - replaced some hard-coded values (e.g. Version numbers) with variables
           which are replaced with the proper values at build time
         - Updated list of other man pages listed in SEE ALSO
         - Added BUGS section, referring to the bugs database
         - Updated URL and Mail address
      man/mysql.1.in:
         - replaced some hard-coded values (e.g. Version numbers, path names) with
           variables which are replaced with the proper values at build time
         - Updated list of other man pages listed in SEE ALSO
         - Added BUGS section, referring to the bugs database
         - Updated URL and Mail address
      efa80e01
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.0/ · e639ee8c
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.0
      
      
      myisam/mi_dynrec.c:
        Auto merged
      e639ee8c
    • unknown's avatar
      two bugs in parallel repair fixed · 17bfc673
      unknown authored
      17bfc673
  8. 19 Jan, 2004 3 commits
  9. 18 Jan, 2004 1 commit
    • unknown's avatar
      BUG#2428 "--old-rpl-compat is broken": · 36d82d18
      unknown authored
      I remove the --old-rpl-compat which produces broken binlogs readable
      neither by 4.0 nor by 3.23.
      This option is a leftover of the early replication of 4.0.0, when
      it was still partly compatible with 3.23.
      I explained this to the user in the bug report. 
      
      
      sql/mysqld.cc:
        removing --old-rpl-compat
      sql/sql_load.cc:
        removing --old-rpl-compat
      sql/sql_repl.h:
        removing --old-rpl-compat
      36d82d18
  10. 16 Jan, 2004 4 commits
  11. 15 Jan, 2004 4 commits