1. 04 Feb, 2004 8 commits
  2. 03 Feb, 2004 11 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 7ba7ce6e
      unknown authored
      into mysql.com:/home/my/mysql-4.0
      
      
      sql/mysqld.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      7ba7ce6e
    • unknown's avatar
    • unknown's avatar
      - renamed myisam/ft_dump to myisam/mysam_ftdump and added it to the · 595e4670
      unknown authored
         binary distribution and Server RPM
      
      
      myisam/myisam_ftdump.c:
        Rename: myisam/ft_dump.c -> myisam/myisam_ftdump.c
      BitKeeper/etc/ignore:
        Added myisam/myisam_ftdump to the ignore list
      myisam/Makefile.am:
         - renamed ft_dump to myisam_ftdump and added it to bin_PROGRAMS
      scripts/make_binary_distribution.sh:
         - added myisam_ftdump to the binary distribution
      support-files/mysql.spec.sh:
         - added myisam_ftdump to the Server package
      595e4670
    • unknown's avatar
      extra newline removed · 1e4d0a12
      unknown authored
      1e4d0a12
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.0/ · 5614033d
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.0
      
      
      sql/mysqld.cc:
        Auto merged
      5614033d
    • unknown's avatar
      Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.0 · 93d36845
      unknown authored
      into gw.mysql.r18.ru:/usr/home/ram/work/4.0.b2185
      
      
      93d36845
    • unknown's avatar
      Ensure that privileges are tested properly for multi-table-updates. · 313761cb
      unknown authored
      Now one need only SELECT privilege for tables that are only read in
      UPDATE statements with many tables. (Bug #2377).
      
      
      sql/sql_acl.cc:
        Comment cleanup
      sql/sql_parse.cc:
        Merged duplicate code.
        Removed some outdated 'tables->db' tests.
        Check privileges for multi-updates properly (Bug #2377)
      sql/sql_show.cc:
        Remove disabled code
      sql/sql_update.cc:
        Ensure that privileges are tested properly for multi-table-updates
      tests/grant.pl:
        Added more tests
      tests/grant.res:
        updated results
      313761cb
    • unknown's avatar
      Added new option --sync-frm / --skip-sync-frm · ec76183b
      unknown authored
      Marked --bdb-no-sync as deprecated
      Added --sync-bdb-logs / --disable-sync-bdb-logs as a synonym / alternative.
      
      
      mysys/my_getopt.c:
        Changed my_getopt so that disabled_my_option can be used for
        GET_BOOL type options too.
      sql/mysql_priv.h:
        Added opt_sync_frm
      sql/mysqld.cc:
        Added sync-frm / disable-sync-frm to mysqld, to be able to disable
        use of my_sync() (fsync()). This defaults to behavior in 4.0.16
        and before, where creating of new tables is quicker than currently.
        This option is enabled by default.
        
        Marked --bdb-no-sync as deprecated option and added another one,
        --sync-bdb-logs besides. --bdb-no-sync and --disabled-sync-bdb-logs
        are now synonyms.
      sql/unireg.cc:
        One can disable my_sync() by using --disable-sync-frm
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      ec76183b
    • unknown's avatar
      2dc266af
    • unknown's avatar
    • unknown's avatar
      Give error if locked table is used twice in query. This fixes strange error... · 619eaee6
      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
      619eaee6
  3. 02 Feb, 2004 5 commits
    • unknown's avatar
      Proposed (version #2) fix for bug #1948: · e0b0ec6b
      unknown authored
      "system variable query_prealloc_size can be only global"
      
      
      include/my_sys.h:
        Fix for bug #1948:
        - added reset_root_defaults function declaration
      mysys/my_alloc.c:
        Fix for bug #1948:
        - implementation and description of reset_root_defaults
      sql/set_var.cc:
        Fix for bug #1948:
        - fix_thd_mem_root and fix_trans_mem_root after update triggers
          implemented for variables query_prealloc_size, query_alloc_block_size,
          trans_prealloc_size, trans_alloc_block_size
      e0b0ec6b
    • unknown's avatar
      increase the size of a signal thread's stack (the old one was too small for... · af6141b2
      unknown authored
      increase the size of a signal thread's stack (the old one was too small for the thread to be created on some systems)
      bug#2599
      
      
      
      af6141b2
    • unknown's avatar
      test added · 883f11b6
      unknown authored
      883f11b6
    • unknown's avatar
      a fix (#2185: mysql.server script echo bug) · b3fd7528
      unknown authored
      thnx Paul.                                             
                    
      <monty> can you get the above into configure and make Makefile.am patch         
      mysql.server.sh with the right values for mysql.server ?                        
      <monty> or do you think we should just put the above in mysql.server.sh directly
      <ramil> as you want                                                             
      <monty> the last is kind of hard to do with variables, so lets put the          
      above in mysql.server.sh directly                                               
                                                                        
      
      
      support-files/mysql.server.sh:
        #2185: mysql.server script echo bug
      b3fd7528
    • unknown's avatar
      Typo fixing · 5a5eae1d
      unknown authored
      s/expection/exception
      
      
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      5a5eae1d
  4. 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
  5. 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
  6. 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