1. 16 Dec, 2003 2 commits
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · b26fd7b9
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      
      sql/sql_acl.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_delete.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      b26fd7b9
    • unknown's avatar
      Fix for BUG#2083 · e97722e4
      unknown authored
      "EE_ error codes (EE_DELETE, EE_WRITE) end up in the binlog, making slave stop".
      The problem was that during execution of the command on the master, an error
      can occur (for example, not space left on device, then mysqld waits and when
      there is space it completes successfully: so finally it worked but the error
      EE_WRITE remains in thd->net.last_errno and thd->net.last_error).
      To know if finally the command succeeded, we test the 'error' variable in
      every place, and if it shows no failure we reset thd->net.last_err* using
      the function THD::clear_error() which is backported from 4.1.
      A new test to see if now only real errors get to the binlog (note: the test
      uses "rm").
      
      Also a bit of memory free/alloc saving in log_event.cc (do not free the whole
      mem_root after every query in the slave SQL thread: we can keep the initial
      block of it; which will be freed when the thread terminates).
      
      
      sql/log_event.cc:
        In the slave SQL thread, it's a waste to free the initial block of the mem_root
        after every query. We can instead keep it. It will be freed when the thread
        terminates (in THD::~THD()).
      sql/sql_acl.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_base.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_class.h:
        Backport of THD::clear_error() from 4.1:
        clears the error in thd->net.last_errno
      sql/sql_db.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_delete.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_insert.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_parse.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_rename.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_table.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_update.cc:
        clear the error in thd->net.last_errno as there was no error
      e97722e4
  2. 15 Dec, 2003 1 commit
    • unknown's avatar
      Merge · 385b14cd
      unknown authored
      
      client/mysql.cc:
        SCCS merged
      385b14cd
  3. 14 Dec, 2003 3 commits
    • unknown's avatar
      Portablity fix · 38df192e
      unknown authored
      
      mysql-test/r/have_met_timezone.require:
        Portability fix (For AIX 4.3 and other machines that doesn't support MET timezone)
      mysql-test/r/timezone.result:
        Portability fix (For AIX 4.3 and other machines that doesn't support MET timezone)
      mysql-test/t/mysqldump.test:
        Portablity fix (Some machines like OSF doesn't read a big double as 'inf'
      mysql-test/t/timezone.test:
        Portability fix (For AIX 4.3 and other machines that doesn't support MET timezone)
      38df192e
    • unknown's avatar
      Fixed bug in last push found by valgrind · c324fddc
      unknown authored
      
      myisam/mi_dbug.c:
        Added comment to warn about probabably unimportant valgrind warning
      sql/opt_range.cc:
        Fixed bug in last push (did not fill max string properly with end space)
      sql/sql_update.cc:
        Initalize not initialized variable
      c324fddc
    • unknown's avatar
      Extend max_allowed_packet to 2G in mysql and mysqldump (Bug #2105) · afb07566
      unknown authored
      Don't dump data for MRG_ISAM or MRG_MYISAM tables. (Bug #1846)
      Ensure that 'lower_case_table_names' is always set on case insensitive file systems. (Bug #1812)
      One can now configure MySQL as windows service as a normal user. (Bug #1802)
      Database names is now compared with lower case in ON clause when lower_case_table_names is set. (Bug #1736)
      IGNORE ... LINES option didn't work when used with fixed length rows. (Bug #1704)
      Change INSERT DELAYED ... SELECT... to INSERT .... SELECT (Bug #1983)
      Safety fix for service 'mysql start' (Bug #1815)
      
      
      client/mysql.cc:
        Extend max_allowed_packet to 2G (Bug #2105)
      client/mysqldump.c:
        Extend max_allowed_packet to 2G (Bug #2105)
        Don't dump data for MRG_ISAM or MRG_MYISAM tables. (Bug #1846)
      configure.in:
        Test for file linux/config.h
      include/my_global.h:
        Portability fix (Bug #1924)
      mysql-test/r/insert.result:
        Update test results
      mysql-test/r/loaddata.result:
        Update test results
      mysql-test/r/lowercase_table.result:
        Update test results
      mysql-test/t/insert.test:
        Test INSERT ... DELAYED ... SELECT
      mysql-test/t/loaddata.test:
        Added test of LOAD DATA INFILE ... IGNORE # LINES for fixed size tables
      mysql-test/t/lowercase_table.test:
        Test mixed lower/uppercase database names
      sql/item.cc:
        Made function not inline (to make it easier to modify it without recompilation of all files)
      sql/item.h:
        Moved function to item.cc
      sql/mysqld.cc:
        Merge pidfile create code
        Ensure that 'lower_case_table_names' is always set on case insensitive file systems. (Bug #1812)
      sql/nt_servc.cc:
        One can now configure MySQL as windows service as a normal user. (Bug #1802)
      sql/sql_base.cc:
        Database names is now compared with lower case in ON clause when lower_case_table_names is set. (Bug #1736)
      sql/sql_class.h:
        Fixed type
      sql/sql_load.cc:
        IGNORE ... LINES option didn't work when used with fixed length rows. (Bug #1704)
      sql/sql_parse.cc:
        Change INSERT DELAYED ... SELECT... to INSERT .... SELECT
      strings/ctype-tis620.c:
        Ensure that memory is freed properly (Partly becasue of bug #1770)
        Bar should check the proposed patch in #1770 if we can use it
      support-files/mysql.server.sh:
        Safety fix (Bug #1815)
      afb07566
  4. 13 Dec, 2003 15 commits
  5. 12 Dec, 2003 16 commits
    • unknown's avatar
      Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0 · 3ae19715
      unknown authored
      into sinisa.nasamreza.org:/mnt/work/mysql-4.0
      
      
      3ae19715
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.0 · 8c7f319f
      unknown authored
      into deer.(none):/home/hf/work/mysql-4.0.1224
      
      
      8c7f319f
    • unknown's avatar
      btr0cur.c, row0umod.c: · 691bd823
      unknown authored
        Fix bug: if one updated a secondary index column so that its alphabetical value did not change (e.g., abc -> aBc) and rolled back the update, InnoDB failed to return the value in the secondary index to its original value
      row0upd.h:
        Correct typing error
      sync0sync.ic:
        Remove inadvertently pushed sync debug code
      
      
      innobase/include/sync0sync.ic:
        Remove inadvertently pushed sync debug code
      innobase/include/row0upd.h:
        Correct typing error
      innobase/row/row0umod.c:
        Fix bug: if one updated a secondary index column so that its alphabetical value did not change (e.g., abc -> aBc) and rolled back the update, InnoDB failed to return the value in the secondary index to its original value
      innobase/btr/btr0cur.c:
        Fix bug: if one updated a secondary index column so that its alphabetical value did not change (e.g., abc -> aBc) and rolled back the update, InnoDB failed to return the value in the secondary index to its original value
      691bd823
    • unknown's avatar
      Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0 · cd354858
      unknown authored
      into eagle.mysql.r18.ru:/home/vva/work/BUG_1951/mysql-4.0
      
      
      cd354858
    • unknown's avatar
      - Reworked the Do-rpm build script to be more flexible · 77ca2ff1
      unknown authored
       - Reworked testing for gcc3 in the RPM spec file a bit
      
      
      Build-tools/Do-rpm:
        Big overhaul:
        
         - Give the spec file name as the option, not the version number (required
           to be able to build commercial RPMs, too)
         - Some more logging and debugging, more documentation
      support-files/mysql.spec.sh:
         - made testing for gcc3 a bit more robust and not to stomp on user
           settings for CXX
      77ca2ff1
    • unknown's avatar
      changed %ld on %lu for output of mysql_thread_id(&mysql) · 55f6e780
      unknown authored
      as is thread_id has type ulong
      (bug #1951 thread id is printed as "signed" instead of "unsigned" in 'mysql')
      
      
      55f6e780
    • unknown's avatar
      sql_delete.cc, sql_update.cc, sql_class.h: · 0a79eedb
      unknown authored
        Simplification of the previous fix for multi-update/delete.
      
      
      sql/sql_class.h:
        Simplification of the previous fix for multi-update/delete.
      sql/sql_update.cc:
        Simplification of the previous fix for multi-update/delete.
      sql/sql_delete.cc:
        Simplification of the previous fix for multi-update/delete.
      0a79eedb
    • unknown's avatar
      Fix autoincrement for signed columns (Bug #1366) · 759ea82e
      unknown authored
      Fixed problem with char > 128 in QUOTE() function. (Bug #1868)
      Disable creation of symlinks if my_disable_symlink is set
      Fixed searching of TEXT with end space. (Bug #1651)
      Fixed caching bug in multi-table-update where same table was used twice. (Bug #1711)
      Fixed problem with UNIX_TIMESTAMP() for timestamps close to 0. (Bug #1998)
      Fixed timestamp.test
      
      
      include/my_base.h:
        Add HA_END_SPACE_KEY to mark keys that has VARCHAR/TEXT fields.
      myisam/mi_check.c:
        Delete not used variable
      myisam/mi_key.c:
        Fix autoincrement for signed columns (Bug #1366). Patch by Holyfoot
      myisam/mi_open.c:
        Bug fix for future (doesn't affect current code)
      myisam/mi_search.c:
        Ignore end space for VARCHAR/TEXT columns
      mysql-test/r/auto_increment.result:
        Test auto_increment with signed numbers
      mysql-test/r/binary.result:
        Update results (old result was wrong)
      mysql-test/r/func_str.result:
        Added test of QUOTE()
      mysql-test/r/func_time.result:
        Add test of unix_timestamp()
      mysql-test/r/have_met_timezone.require:
        Fixed test
      mysql-test/r/innodb.result:
        Add test for InnoDB behaviour with TRUNCATE
      mysql-test/r/multi_update.result:
        Test of multi-update bug
      mysql-test/r/symlink.result:
        Test of ALTER TABLE and symlinks
      mysql-test/r/timezone.result:
        Test of from_unixtime()
      mysql-test/r/truncate.result:
        Test of truncate and auto_increment
      mysql-test/r/type_blob.result:
        Test of key search on TEXT/VARCHAR column with end space
      mysql-test/t/auto_increment.test:
        Test auto_increment with signed numbers
      mysql-test/t/func_str.test:
        Added test of QUOTE()
      mysql-test/t/func_time.test:
        Add test of unix_timestamp()
      mysql-test/t/innodb.test:
        Add test for InnoDB behaviour with TRUNCATE
      mysql-test/t/multi_update.test:
        Test of multi-update bug
      mysql-test/t/symlink.test:
        Test of ALTER TABLE and symlinks
      mysql-test/t/timezone.test:
        Test of from_unixtime()
      mysql-test/t/truncate.test:
        Test of truncate and auto_increment
      mysql-test/t/type_blob.test:
        Test of key search on TEXT/VARCHAR column with end space
      mysys/my_symlink2.c:
        Disable creation of symlinks if my_disable_symlink is set
      sql/field.h:
        Indentation cleanup
      sql/ha_innodb.cc:
        HA_PART_KEY -> HA_PART_KEY_SEG
      sql/item_strfunc.cc:
        Fixed problem with char > 128 in QUOTE() function. (Bug #1868)
      sql/mysql_priv.h:
        Make check_dup() external
      sql/opt_range.cc:
        Fixed searching of TEXT with end space. (Bug #1651)
      sql/records.cc:
        Fixed caching bug in multi-table-update where same table was used twice.
        (Bug #1711)
      sql/sql_acl.cc:
        Reset ip and ip_mask if hostname is NULL
      sql/sql_parse.cc:
        Make check_dup() global
      sql/sql_select.cc:
        Fixed searching of TEXT with end space. (Bug #1651)
      sql/sql_table.cc:
        Fixed searching of TEXT with end space. (Bug #1651)
      sql/sql_update.cc:
        Fixed caching bug in multi-table-update where same table was used twice.
        (Bug #1711)
      sql/table.cc:
        Fixed searching of TEXT with end space. (Bug #1651)
      sql/table.h:
        Fixed caching bug in multi-table-update where same table was used twice.
        (Bug #1711)
      sql/time.cc:
        Fixed problem with UNIX_TIMESTAMP() for timestamps close to 0. (Bug #1998)
      759ea82e
    • unknown's avatar
      Fix #2093 · e28af60a
      unknown authored
      Update after discussion with Monty
      
      
      sql/sql_select.cc:
        Wrong operation - deleted
      e28af60a
    • unknown's avatar
      Proposed fix for #2093 · 4f90f2fc
      unknown authored
      it happens because of the LEFT JOINT optimization in add_key_part()
      This optimization does exactly the same in JOIN and in WHERE conditions 
      Not right.
      I moved that optimization one level upper.
      
      
      mysql-test/r/join_outer.result:
        appropriate test result
      mysql-test/t/join_outer.test:
        test case
      sql/sql_select.cc:
        optimizing of the left_join now only for WHERE conditions
        and for first table in list
      4f90f2fc
    • unknown's avatar
      Edited fix for #1224. · 429675f4
      unknown authored
      strcpy changed to strmake
      
      
      libmysqld/lib_sql.cc:
        strcpy to strmake
      429675f4
    • unknown's avatar
      Fix for #1224 in 4.0 · 86f62a54
      unknown authored
      we didn't specify thd->priv_host properly
      
      
      libmysqld/lib_sql.cc:
        Specifying of thd->priv_host added
      86f62a54
    • unknown's avatar
      row0upd.h, row0upd.c: · d0f757c0
      unknown authored
        Remove wrong debug assertion and comment
      
      
      innobase/row/row0upd.c:
        Remove wrong debug assertion and comment
      innobase/include/row0upd.h:
        Remove wrong debug assertion and comment
      d0f757c0
    • unknown's avatar
      Many files: · fb9467a7
      unknown authored
        Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
      
      
      innobase/row/row0ins.c:
        Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
      innobase/row/row0sel.c:
        Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
      innobase/row/row0upd.c:
        Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
      innobase/row/row0vers.c:
        Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
      innobase/btr/btr0cur.c:
        Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
      innobase/include/btr0cur.h:
        Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
      innobase/include/row0upd.h:
        Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
      innobase/include/sync0sync.ic:
        Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
      innobase/lock/lock0lock.c:
        Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
      fb9467a7
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · e0761fbc
      unknown authored
      into mysql.com:/home/dlenev/src/mysql-4.0-mydir2
      
      
      e0761fbc
    • unknown's avatar
      Fix for Bug #1952 · c545b026
      unknown authored
      "SHOW TABLE STATUS very slow w/large number of tables"
      Replaced old algorithm which were used in my_dir() and stored
      all information about directory entries in one chunk of memory
      with new one which stores file names and MY_STAT structures in
      separate memroot, so now we don't need to copy this data during
      reallocation of dir_entry array.
      
      
      include/my_dir.h:
        Changed mystat member of FILEINFO structure to pointer since 
        this prevents unneeded memory allocation and initialization.
        Added comment about new hidden members of MY_DIR structure.
      mysys/my_lib.c:
        Replaced old algorithm in my_dir() which stored all information
        about directory entries in one chunk of memory with new one 
        which stores file names and MY_STAT structures in separate
        memroot. Now we don't copy this data during reallocation of 
        array with FILEINFO structures.
        Also tuned sizes of memory chunks during first-other
        reallocations (we suppose that we either have < 100 files 
        in the directory or > 1000 of them).
      sql/sql_show.cc:
        Updated only place in code where mystat member
        of FILEINFO structure is used.
      c545b026
  6. 11 Dec, 2003 3 commits
    • unknown's avatar
      Merge rurik.mysql.com:/home/igor/mysql-4.0 · b196f030
      unknown authored
      into rurik.mysql.com:/home/igor/dev/mysql-4.0-1
      
      
      b196f030
    • unknown's avatar
      Many files: · 9570d010
      unknown authored
        Fixed a bug causing a crash for multi-update/multi-delete
        with impossible where (bug #1860).
      
      
      sql/sql_class.h:
        Fixed a bug causing a crash for multi-update/multi-delete
        with impossible where (bug #1860).
      sql/sql_delete.cc:
        Fixed a bug causing a crash for multi-update/multi-delete
        with impossible where (bug #1860).
      sql/sql_update.cc:
        Fixed a bug causing a crash for multi-update/multi-delete
        with impossible where (bug #1860).
      mysql-test/t/multi_update.test:
        Fixed a bug causing a crash for multi-update/multi-delete
        with impossible where (bug #1860).
      mysql-test/r/multi_update.result:
        Fixed a bug causing a crash for multi-update/multi-delete
        with impossible where (bug #1860).
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      9570d010
    • unknown's avatar
      chk_del() should not check key delete-chain · 22c12eae
      unknown authored
      make a test for -inf more portable (-Inf)
      
      
      client/mysqldump.c:
        make a test for -inf more portable (-Inf)
      myisam/mi_check.c:
        chk_del() should not check key delete-chain
      22c12eae