1. 01 Feb, 2004 3 commits
    • unknown's avatar
      dict0dict.c: · 568220cf
      unknown authored
        Change print format of FOREIGN KEY constraints spanning multiple databases to: .; but we when parsing them we must also accept , because that was the output format in < 4.0.18
      
      
      innobase/dict/dict0dict.c:
        Change print format of FOREIGN KEY constraints spanning multiple databases to: .; but we when parsing them we must also accept , because that was the output format in < 4.0.18
      568220cf
    • unknown's avatar
      dict0dict.c: · 1ec4c124
      unknown authored
        Remove redundant code; parse both the database name and the table name in a FOREIGN KEY constraint with quotes in mind
      row0mysql.c, ha_innodb.cc, sql_table.cc:
        Return error message Cannot delete or update a parent row... if we try to drop a table which is referenced by a FOREIGN KEY constraint, and the user has not set foreign_key_checks=0
      
      
      sql/sql_table.cc:
        Return error message Cannot delete or update a parent row... if we try to drop a table which is referenced by a FOREIGN KEY constraint, and the user has not set foreign_key_checks=0
      sql/ha_innodb.cc:
        Return error message Cannot delete or update a parent row... if we try to drop a table which is referenced by a FOREIGN KEY constraint, and the user has not set foreign_key_checks=0
      innobase/row/row0mysql.c:
        Return error message Cannot delete or update a parent row... if we try to drop a table which is referenced by a FOREIGN KEY constraint, and the user has not set foreign_key_checks=0
      innobase/dict/dict0dict.c:
        Remove redundant code; parse both the database name and the table name in a FOREIGN KEY constraint with quotes in mind
      1ec4c124
    • unknown's avatar
      dict0dict.c: · 9cad797f
      unknown authored
        Cleanup
      
      
      innobase/dict/dict0dict.c:
        Cleanup
      9cad797f
  2. 30 Jan, 2004 5 commits
    • unknown's avatar
      Fix for bug #2523 '"func_time" test fails on QNX'. · 241a65e9
      unknown authored
      Moved all range checks for TIMESTAMP value to my_gmt_sec().
      Also fixed check of upper boundary of TIMESTAMP range (which 
      also now will catch datetime values which are too small for
      TIMESTAMP in case if time_t is unsigned).  
      
      
      mysql-test/r/timezone.result:
        Added test which checks if TIMESTAMP range is checked 
        correctly (current time zone is honoured and both upper 
        and lower bounds of TIMESTAMP range are checked).
      mysql-test/t/timezone.test:
        Added test which checks if TIMESTAMP range is checked 
        correctly (current time zone is honoured and both upper 
        and lower bounds of TIMESTAMP range are checked).
      sql/field.cc:
        Check if datetime value is in TIMESTAMP range has moved to 
        my_gmt_sec() function.
      sql/mysql_priv.h:
        Added more constants for checking if datetime is in allowed
        range for TIMESTAMP.
      sql/time.cc:
        Check if datetime value is in TIMESTAMP range has moved to 
        my_gmt_sec() function. Fixed check of its return value
        to catch overflows in both directions and also overflows in 
        case of unsigned time_t.
      241a65e9
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 671a0854
      unknown authored
      into mysql.com:/home/dlenev/src/mysql-4.0-bg2464
      
      
      sql/sql_parse.cc:
        Auto merged
      671a0854
    • unknown's avatar
      Fix for bugs #1885, #2464, #2539. Proper handling of default · 4d83e9d1
      unknown authored
      values for TIMESTAMP columns. The solution is not perfect since
      we just silently ignoring default value for first TIMESTAMP 
      column and properly reflecting this fact in SHOW CREATE TABLE.
      We can't give a warning or simply support standard syntax 
      (niladic functions as legal value for default) for first field 
      since it is 4.0 tree.
      
      
      mysql-test/r/type_timestamp.result:
        Added test for bugs #1885, #2464, #2539
        (proper support of default values for TIMESTAMP columns)
      mysql-test/t/type_timestamp.test:
        Added test for bugs #1885, #2464, #2539
        (proper support of default values for TIMESTAMP columns)
      sql/field.cc:
        Enabled copying of defaults for TIMESTAMP fields when we are 
        creating table with CREATE TABLE x (SELECT ...)
      sql/field.h:
        Set proper DEFAULT value for non-first TIMESTAMP column.
      sql/sql_parse.cc:
        Allowed default values for TIMESTAMP column.
      sql/sql_show.cc:
        Enabled printing of default values in SHOW CREATE TABLE and 
        SHOW COLUMNS for all TIMESTAMP columns except first one.
      4d83e9d1
    • 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 2 commits