1. 02 Feb, 2004 1 commit
    • unknown's avatar
      Typo fixing · 5a5eae1d
      unknown authored
      s/expection/exception
      
      
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      5a5eae1d
  2. 01 Feb, 2004 6 commits
    • unknown's avatar
      rpl_insert_id.test, rpl_insert_id.result: · 0ba7ef00
      unknown authored
        Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
      
      
      mysql-test/r/rpl_insert_id.result:
        Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
      mysql-test/t/rpl_insert_id.test:
        Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
      0ba7ef00
    • unknown's avatar
      innodb.result, innodb.test: · 2b9e1744
      unknown authored
        Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
      
      
      mysql-test/t/innodb.test:
        Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
      mysql-test/r/innodb.result:
        Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
      2b9e1744
    • unknown's avatar
      dict0dict.c: · 1b8d5ca8
      unknown authored
        Change print format of FOREIGN KEY constraints spanning multiple databases to <backquote>databasename<backquote>.<backquote>tablename<backquote>; but when parsing them we must also accept <backquote>databasename.tablename<backquote>, 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 <backquote>databasename<backquote>.<backquote>tablename<backquote>; but when parsing them we must also accept <backquote>databasename.tablename<backquote>, because that was the output format in < 4.0.18
      1b8d5ca8
    • unknown's avatar
      dict0dict.c: · 2cac1f4d
      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
      2cac1f4d
    • unknown's avatar
      dict0dict.c: · 08177508
      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
      08177508
    • unknown's avatar
      dict0dict.c: · 7eefcb75
      unknown authored
        Cleanup
      
      
      innobase/dict/dict0dict.c:
        Cleanup
      7eefcb75
  3. 30 Jan, 2004 5 commits
    • unknown's avatar
      Fix for bug #2523 '"func_time" test fails on QNX'. · ef55f2dc
      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.
      ef55f2dc
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · e95a3e3c
      unknown authored
      into mysql.com:/home/dlenev/src/mysql-4.0-bg2464
      
      
      sql/sql_parse.cc:
        Auto merged
      e95a3e3c
    • unknown's avatar
      Fix for bugs #1885, #2464, #2539. Proper handling of default · a96ffb29
      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.
      a96ffb29
    • 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
  4. 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
  5. 28 Jan, 2004 2 commits
  6. 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
  7. 22 Jan, 2004 5 commits
  8. 21 Jan, 2004 7 commits
  9. 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
  10. 19 Jan, 2004 2 commits