1. 03 Feb, 2004 1 commit
    • unknown's avatar
      Give error if locked table is used twice in query. This fixes strange error... · dccf911f
      unknown authored
      Give error if locked table is used twice in query. This fixes strange error message when doing LOCK TABLES t1 WRITE; INSERT TABLE t1 SELECT * from t1 (Bug #2296)
      
      
      client/mysqldump.c:
        Better help for flush-logs
      mysql-test/r/lock.result:
        Test for LOCK TABLES ; INSERT ... SELECT
      mysql-test/t/lock.test:
        Test for LOCK TABLES ; INSERT ... SELECT
      dccf911f
  2. 30 Jan, 2004 2 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 6a76cd2a
      unknown authored
      into mysql.com:/home/my/mysql-4.0
      
      6a76cd2a
    • unknown's avatar
      Fixed parsing of column names and foreign key constraints in Innobase to... · 3fd91eca
      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)
      3fd91eca
  3. 29 Jan, 2004 5 commits
    • unknown's avatar
      Fix for BUG#2477 "Slave stop with error after master reboot if use HEAP tables": · e7a90646
      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;
      e7a90646
    • unknown's avatar
      Fix for BUG#2527 "Multi-Table Delete - Not Replication use replicate-wild-do-table" · ebbd056f
      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).
      ebbd056f
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 1bd2982a
      unknown authored
      into mysql.com:/home/my/mysql-4.0
      
      1bd2982a
    • unknown's avatar
      Mark that strings may change on index only reads (for BDB tables). · ffed2b74
      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
      ffed2b74
    • unknown's avatar
      btr0cur.c: · cb9da47b
      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
      cb9da47b
  4. 28 Jan, 2004 2 commits
  5. 27 Jan, 2004 1 commit
    • unknown's avatar
      data0data.ic, data0data.h, row0sel.c: · cee43882
      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
      cee43882
  6. 22 Jan, 2004 5 commits
  7. 21 Jan, 2004 7 commits
  8. 20 Jan, 2004 6 commits
    • unknown's avatar
      added test for bug #2290 "output truncated with ELT when using DISTINCT" · 28a8a9ea
      unknown authored
      
      sql/item_strfunc.cc:
        fixed bug #2290 "output truncated with ELT when using DISTINCT"
      28a8a9ea
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · 64f13592
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      64f13592
    • unknown's avatar
      Fix for BUG#2452 "Empty LOAD DATA INFILE failes with the master in 3.23.x": · 6799e442
      unknown authored
      do not write the Execute_load_log_event if there was no Create_file_log_event
      (empty file).
      
      6799e442
    • unknown's avatar
      What started as an attempt to fix BUG#2270 (Substitute paths in mysql · c8f6a1d4
      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
      c8f6a1d4
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.0/ · 52a78f43
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.0
      
      
      myisam/mi_dynrec.c:
        Auto merged
      52a78f43
    • unknown's avatar
      two bugs in parallel repair fixed · 2772ff48
      unknown authored
      2772ff48
  9. 19 Jan, 2004 3 commits
  10. 18 Jan, 2004 1 commit
    • unknown's avatar
      BUG#2428 "--old-rpl-compat is broken": · 65ae377f
      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
      65ae377f
  11. 16 Jan, 2004 4 commits
  12. 15 Jan, 2004 3 commits