1. 20 Sep, 2006 1 commit
    • unknown's avatar
      Bug#20830 - INSERT DELAYED does not honour SET INSERT_ID · 15b1ee2f
      unknown authored
      Bug#20627 - INSERT DELAYED does not honour auto_increment_* variables
      
      INSERT DELAYED ignored an explicitly set INSERT_ID and session
      specific auto_increment_* variables.
      
      The problem was that the inserts are done by a system thread,
      which does not have access to the session variables of the user
      thread.
      
      On a proposal of Guilhem I fixed it so that the variables are
      copied to the data structure for every delayed row. The system
      thread sets its session variables from these values.
      
      
      mysql-test/r/delayed.result:
        Bug#20830 - INSERT DELAYED does not honour SET INSERT_ID
        Bug#20627 - INSERT DELAYED does not honour auto_increment_* variables
        Turned some sleeps into FLUSH TABLEs.
        Added test cases.
      mysql-test/t/delayed.test:
        Bug#20830 - INSERT DELAYED does not honour SET INSERT_ID
        Bug#20627 - INSERT DELAYED does not honour auto_increment_* variables
        Turned some sleeps into FLUSH TABLEs.
        Added test cases.
      sql/sql_insert.cc:
        Bug#20830 - INSERT DELAYED does not honour SET INSERT_ID
        Bug#20627 - INSERT DELAYED does not honour auto_increment_* variables
        Added auto_increment/insert_id related variables to 'delayed_row'.
        The session values are copied to 'delayed_row' by the user thread.
        The delayed insert thread copies them to his session variables.
      15b1ee2f
  2. 12 Sep, 2006 1 commit
    • unknown's avatar
      BUG#20256 - LOCK WRITE - MyISAM · fa1436bf
      unknown authored
      Only MyISAM tables locked with LOCK TABLES ... WRITE were affected.
      
      A query that is optimized with index_merge doesn't reflect rows
      inserted within LOCK TABLES.
      
      MyISAM doesn't flush a state within LOCK TABLES. index_merge
      optimization creates a copy of the handler, which thus gets
      outdated MyISAM state.
      
      New handler->clone() method is introduced to fix this problem.
      For non-MyISAM storage engines it allocates a handler and opens
      it with ha_open(). For MyISAM it additionally copies MyISAM state
      pointer to cloned handler.
      
      
      mysql-test/r/index_merge.result:
        A test case for bug#20256.
      mysql-test/t/index_merge.test:
        A test case for bug#20256.
      sql/ha_myisam.cc:
        clone method added to handler class.
      sql/ha_myisam.h:
        clone method added to handler class.
      sql/handler.cc:
        clone method added to handler class.
      sql/handler.h:
        clone method added to handler class.
      sql/opt_range.cc:
        Use handler clone method.
      fa1436bf
  3. 07 Sep, 2006 3 commits
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-4.1-bug14400 · 86ce3096
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-bug14400
      
      
      mysql-test/r/myisam.result:
        Auto merged
      mysql-test/t/myisam.test:
        Auto merged
      myisam/mi_rkey.c:
        Bug#14400 - Query joins wrong rows from table which is subject of
                    "concurrent insert"
        Manual merge from 4.1
      86ce3096
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-4.0-bug14400 · 203d0999
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1-bug14400
      
      
      myisam/mi_rkey.c:
        Bug#14400 - Query joins wrong rows from table which is subject of
                    "concurrent insert"
        Manual merge from 4.0
      mysql-test/r/myisam.result:
        Bug#14400 - Query joins wrong rows from table which is subject of
                    "concurrent insert"
        Manual merge from 4.0
      mysql-test/t/myisam.test:
        Bug#14400 - Query joins wrong rows from table which is subject of
                    "concurrent insert"
        Manual merge from 4.0
      203d0999
    • unknown's avatar
      Bug#14400 - Query joins wrong rows from table which is subject of · 71314617
      unknown authored
                  "concurrent insert"
      Additional fix for full keys and test case.
      
      
      myisam/mi_rkey.c:
        Bug#14400 - Query joins wrong rows from table which is subject of
                    "concurrent insert"
        Additional fix for full keys.
      mysql-test/r/myisam.result:
        Bug#14400 - Query joins wrong rows from table which is subject of
                    "concurrent insert"
        Additional results.
      mysql-test/t/myisam.test:
        Bug#14400 - Query joins wrong rows from table which is subject of
                    "concurrent insert"
        Additional test case.
      71314617
  4. 29 Aug, 2006 2 commits
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-4.0-bug14400 · a32f6b89
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1-bug14400
      
      
      myisam/mi_rkey.c:
        Bug#14400 - Query joins wrong rows from table which is
                    subject of "concurrent insert"
        Manual merge from 4.0.
      mysql-test/r/myisam.result:
        Bug#14400 - Query joins wrong rows from table which is
                    subject of "concurrent insert"
        Manual merge from 4.0.
      mysql-test/t/myisam.test:
        Bug#14400 - Query joins wrong rows from table which is
                    subject of "concurrent insert"
        Manual merge from 4.0.
      a32f6b89
    • unknown's avatar
      Bug#14400 - Query joins wrong rows from table which is · 7d600f71
      unknown authored
                  subject of "concurrent insert"
      Better fix by Monty: "The previous bug fix didn't work
      when using partial keys."
      
      
      mysql-test/r/myisam.result:
        Bug#14400 - Query joins wrong rows from table which is
                    subject of "concurrent insert"
        Added test result
      mysql-test/t/myisam.test:
        Bug#14400 - Query joins wrong rows from table which is
                    subject of "concurrent insert"
        Added test case
      7d600f71
  5. 10 Aug, 2006 1 commit
  6. 07 Aug, 2006 2 commits
  7. 02 Aug, 2006 1 commit
    • unknown's avatar
      BUG#14770 - LOAD DATA INFILE doesn't respect default values for · a1bd0bd1
      unknown authored
                  columns
      Fixed confusing warning.
      
      Quoting INSERT section of the manual:
      ----
      Inserting NULL into a column that has been declared NOT NULL. For
      multiple-row INSERT statements or INSERT INTO ... SELECT statements, the
      column is set to the implicit default value for the column data type. This
      is 0 for numeric types, the empty string ('') for string types, and the
      "zero" value for date and time types. INSERT INTO ... SELECT statements are
      handled the same way as multiple-row inserts because the server does not
      examine the result set from the SELECT to see whether it returns a single
      row. (For a single-row INSERT, no warning occurs when NULL is inserted into
      a NOT NULL column. Instead, the statement fails with an error.)
      ----
      This is also true for LOAD DATA INFILE. For INSERT user can specify
      DEFAULT keyword as a value to set column default. There is no similiar
      feature available for LOAD DATA INFILE.
      
      
      mysql-test/r/auto_increment.result:
        Fixed confusing warning.
      mysql-test/r/create.result:
        Fixed confusing warning.
      mysql-test/r/insert.result:
        Fixed confusing warning.
      mysql-test/r/insert_select.result:
        Fixed confusing warning.
      mysql-test/r/key.result:
        Fixed confusing warning.
      mysql-test/r/null.result:
        Fixed confusing warning.
      mysql-test/r/null_key.result:
        Fixed confusing warning.
      mysql-test/r/ps_2myisam.result:
        Fixed confusing warning.
      mysql-test/r/ps_3innodb.result:
        Fixed confusing warning.
      mysql-test/r/ps_4heap.result:
        Fixed confusing warning.
      mysql-test/r/ps_5merge.result:
        Fixed confusing warning.
      mysql-test/r/ps_6bdb.result:
        Fixed confusing warning.
      mysql-test/r/strict.result:
        Fixed confusing warning.
      mysql-test/r/view.result:
        Fixed confusing warning.
      mysql-test/r/warnings.result:
        Fixed confusing warning.
      sql/share/errmsg.txt:
        Fixed confusing warning.
      a1bd0bd1
  8. 01 Aug, 2006 1 commit
    • unknown's avatar
      Bug#15669 · 3558db99
      unknown authored
        "Test case 'csv' produces incorrect result on OpenBSD"
        mmapped pages were not being invalidated when writes occurred to the
        file vi a fd i/o operation. 
        Force explicit invalidation and not rely on implicit invalidation.
      
      
      sql/examples/ha_tina.cc:
        Bug#15669
          Make sure to invalidate in memory pages when the file has been 
          altered by fd i/o.
          This is important to some operating systems, such as OpenBSD.
      3558db99
  9. 30 Jul, 2006 3 commits
    • unknown's avatar
      Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.0-engines · 9accdbe5
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-bug20719
      
      
      ndb/include/kernel/GlobalSignalNumbers.h:
        Auto merged
      ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
        Auto merged
      ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
        Auto merged
      ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Auto merged
      ndb/src/ndbapi/ndberror.c:
        Auto merged
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/handler.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      9accdbe5
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-5.0 · 384ace38
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-bug20719
      
      
      myisam/mi_dynrec.c:
        Auto merged
      ndb/include/kernel/GlobalSignalNumbers.h:
        Auto merged
      ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
        Auto merged
      ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
        Auto merged
      ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Auto merged
      ndb/src/ndbapi/ndberror.c:
        Auto merged
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/handler.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      384ace38
    • unknown's avatar
      Bug#20719 - Reading dynamic records with write buffer could fail · 9493d464
      unknown authored
      After merge fix
      
      
      9493d464
  10. 29 Jul, 2006 2 commits
  11. 26 Jul, 2006 2 commits
  12. 25 Jul, 2006 1 commit
    • unknown's avatar
      BUG #15133 "unique index with nullable value not accepted in federated table" · fe4d656d
      unknown authored
      Added HA_NULL_IN_KEY to table flags to allow for nullable unique indexes
      and added test to verify
      
      ha_federated.h:
        BUG #15133 "unique index with nullable value not accepted in federated table"
        added HA_NULL_IN_KEY to table flags to allow for nullable unique indexes
      federated.test:
        BUG #15133 "unique index with nullable value not accepted in federated table"
        New test to show that nullable unique indexes work
      federated.result:
        BUG #15133 "unique index with nullable value not accepted in federated table"
        New results for new test
      
      
      sql/ha_federated.h:
        BUG #15133 "unique index with nullable value not accepted in federated table"
        added HA_NULL_IN_KEY to table flags to allow for nullable unique indexes
      mysql-test/t/federated.test:
        BUG #15133 "unique index with nullable value not accepted in federated table"
        New test to show that nullable unique indexes work
      mysql-test/r/federated.result:
        BUG #15133 "unique index with nullable value not accepted in federated table"
        New results for new test
      fe4d656d
  13. 21 Jul, 2006 3 commits
    • unknown's avatar
      Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-4.1 · 90040183
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1
      
      
      90040183
    • unknown's avatar
      Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.0-engines · 6bf9e0ff
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0
      
      
      6bf9e0ff
    • unknown's avatar
      Bug#20719 - Reading dynamic records with write buffer could fail · a611fbf1
      unknown authored
      Fixed a possible problem with reading of dynamic records
      when a write cache is active. The cache must be flushed
      whenever a part of the file in the write cache is to be 
      read.
      
      Added a read optimization to _mi_read_dynamic_record().
      
      No test case. This was a hypothetical but existing problem.
      
      
      myisam/mi_dynrec.c:
        Bug#20719 - Reading dynamic records with write buffer could fail
        
        Fixed a possible problem with reading of dynamic records
        when a write cache is active. The cache must be flushed
        whenever a part of the file in the write cache is to be 
        read. This must be done before the read of the header
        and before the read of the rest block.
        
        Renamed the 'flag' and 'skipp_deleted_blocks' variables.
        
        Added a read optimization to _mi_read_dynamic_record()
        that was present in _mi_read_rnd_dynamic_record() already.
        After _mi_get_block_info() we have some bytes of the record
        in the header buffer already. No need to read them again.
      a611fbf1
  14. 19 Jul, 2006 2 commits
  15. 18 Jul, 2006 1 commit
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-engines · a00f18e5
      unknown authored
      into  rama.(none):/home/jimw/my/mysql-5.0-17608
      
      
      include/my_base.h:
        Auto merged
      mysql-test/r/merge.result:
        Auto merged
      mysql-test/t/merge.test:
        Auto merged
      sql/ha_myisammrg.cc:
        Auto merged
      sql/handler.cc:
        Auto merged
      a00f18e5
  16. 17 Jul, 2006 1 commit
    • unknown's avatar
      "BUG #18764: Delete conditions causing inconsistencies in Federated tables" · 469813c7
      unknown authored
      Removed logic in ha_federated::write_row, which checks field query ids in the
      loop which builds the query to run on the remote server.
      
      
      mysql-test/r/federated.result:
        "BUG #18764: Delete conditions causing inconsistencies in Federated tables"
        
        
        New test results for test that verifies that one can insert to rows using 
        "insert into... select * from..", delete 
        them by id, then immediately insert them in the same way they were originally 
        inserted.
      mysql-test/t/federated.test:
        "BUG #18764: Delete conditions causing inconsistencies in Federated tables"
        
        
        New test that verifies that one can insert to rows using 
        "insert into... select * from..", delete 
        them by id, then immediately insert them in the same way they were originally 
        inserted.
      sql/ha_federated.cc:
        "BUG #18764: Delete conditions causing inconsistencies in Federated tables"
        
        Removed the logic in ha_federated::write_row which checked the query id of 
        each field and compared it to the thread query id.
        
        Each field has a query id, and the problem used to be that if I did an insert
        no fields specified, the field value would contain the last inserted value 
        for that field. The way to work around this was to see if the query id for 
        that field was the same as the current query id or of the rest of the field 
        query ids. If it wasn't, that told me the query didn't have the field value 
        specified.
        
        Somewhere from when I wrote that code to now the problem went away, and there
        was no longer the need for this logic. 
        
        Also removed the bool "has_fields", which needs not exist and using 
        table->s->fields is sufficient.
      469813c7
  17. 12 Jul, 2006 5 commits
    • unknown's avatar
      Bug #17608: String literals lost during INSERT query on FEDERATED table · abbf7ad0
      unknown authored
        The Federated storage engine used Field methods that had arbitrary limits on
        the amount of data they could process, which caused problems with data
        over that limit (4K). By removing those Field methods and just using
        features of the String class, we can avoid this problem.
      
      
      mysql-test/r/federated.result:
        Add new results
      mysql-test/t/federated.test:
        Add new regression test
      sql/field.cc:
        Remove unnecessary methods
      sql/field.h:
        Remove unnecessary methods
      sql/ha_federated.cc:
        Remove use of quote_data, use String::print() to get escaping of strings,
        and don't bother with needs_quotes, just always quote values.
      abbf7ad0
    • unknown's avatar
      Fix a valgrind warning in type_date test. · a7dddd3b
      unknown authored
      
      sql/item_timefunc.cc:
        Fix a valgrind warning in type_date test.	
      a7dddd3b
    • unknown's avatar
      Merge dl145k.mysql.com:/data0/mkindahl/bkroot/mysql-5.0 · a08a6f9f
      unknown authored
      into  dl145k.mysql.com:/data0/mkindahl/bk/mysql-5.0-rpl
      
      
      ndb/include/kernel/GlobalSignalNumbers.h:
        Auto merged
      ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
        Auto merged
      ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
        Auto merged
      ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Auto merged
      ndb/src/ndbapi/ndberror.c:
        Auto merged
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/handler.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      a08a6f9f
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-engines · e52940aa
      unknown authored
      into  rama.(none):/home/jimw/my/mysql-5.0-17766
      
      
      e52940aa
    • unknown's avatar
      Bug #17766: The server accepts to create MERGE tables which cannot work · 97cdd9df
      unknown authored
       Changed the error reporting (and a crash) when inserting data into a
       MERGE table that has no underlying tables or no INSERT_METHOD specified
       by reporting that it is read-only.
      
      
      include/my_base.h:
        Add new handler error
      mysql-test/r/merge.result:
        Update results
      mysql-test/t/merge.test:
        Add new regression test
      sql/ha_myisammrg.cc:
        When trying to insert into a MERGE table with no underlying tables
        or no INSERT_METHOD, report that it is read-only.
      sql/handler.cc:
        Handle new error message
      97cdd9df
  18. 11 Jul, 2006 6 commits
  19. 10 Jul, 2006 2 commits