An error occurred fetching the project authors.
  1. 05 Jan, 2007 1 commit
    • unknown's avatar
      Bug#24607 - MyISAM pointer size determined incorrectly · 0371dfc8
      unknown authored
      The function mi_get_pointer_length() computed too small
      pointer size for very large tables.
      
      Inserted missing 'else' between the branches for very
      large tables.
      
      
      myisam/mi_create.c:
        Bug#24607 - MyISAM pointer size determined incorrectly
        Inserted missing 'else' between the branches for very
        large tables.
        Harmonized literals "(longlong) 1" and "1L" to "ULL(1)"
        where they are used for "ulonglong file_length".
      mysql-test/r/myisam.result:
        Bug#24607 - MyISAM pointer size determined incorrectly
        Added the test result.
      mysql-test/t/myisam.test:
        Bug#24607 - MyISAM pointer size determined incorrectly
        Added the test.
      0371dfc8
  2. 20 Dec, 2006 1 commit
    • unknown's avatar
      BUG#21310 - Trees in SQL causing a "crashed" table with MyISAM storage engine · 70b375a6
      unknown authored
      An update that used a join of a table to itself and modified the
      table on one side of the join reported the table as crashed or
      updated wrong rows.
      
      Fixed by creating temporary table for self-joined multi update statement.
      
      
      mysql-test/r/myisam.result:
        A test case for BUG#21310.
      mysql-test/t/myisam.test:
        A test case for BUG#21310.
      sql/lock.cc:
        Exclude 'table' param from check.
      sql/sql_update.cc:
        Disabling record cache for self-joined multi update statement is wrong.
        The join must only see the table as it was at the beginning of the statement.
        safe_update_on_fly check if it is safe to update first table on the fly, that is
        not creating temporary table. It is possible in case a row from this table is
        never read more than once. safe_update_on_fly now detect self-joined table and
        refuse to update this table on the fly.
      70b375a6
  3. 09 Oct, 2006 3 commits
    • unknown's avatar
      Bug#8283 - OPTIMIZE TABLE causes data loss · 2451a406
      unknown authored
      After merge fix. MyISAM version 10.
      
      2451a406
    • unknown's avatar
      Bug#8283 - OPTIMIZE TABLE causes data loss · 2aebd679
      unknown authored
      OPTIMIZE TABLE with myisam_repair_threads > 1 performs a non-quick 
      parallel repair. This means that it does not only rebuild all 
      indexes, but also the data file.
      
      Non-quick parallel repair works so that there is one thread per 
      index. The first of the threads rebuilds also the new data file.
      
      The problem was that all threads shared the read io cache on the
      old data file. If there were holes (deleted records) in the table,
      the first thread skipped them, writing only contiguous, non-deleted
      records to the new data file. Then it built the new index so that
      its entries pointed to the correct record positions. But the other
      threads didn't know the new record positions, but put the positions
      from the old data file into the index.
      
      The new design is so that there is a shared io cache which is filled
      by the first thread (the data file writer) with the new contiguous
      records and read by the other threads. Now they know the new record
      positions.
      
      Another problem was that for the parallel repair of compressed
      tables a common bit_buff and rec_buff was used. I changed it so
      that thread specific buffers are used for parallel repair.
      
      A similar problem existed for checksum calculation. I made this
      multi-thread safe too.
      
      
      include/my_sys.h:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Redesign of io_cache_share.
      include/myisam.h:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Redesign of checksum calculation in mi_check.c.
        'calc_checksum' is now in myisamdef.h:st_mi_sort_param.
      myisam/mi_check.c:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Implemented a new parallel repair design.
        Using a synchronized shared read/write cache.
        Allowed for thread specific bit_buff, rec_buff, and calc_checksum.
      myisam/mi_open.c:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Added DBUG output.
      myisam/mi_packrec.c:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Allowed for thread specific bit_buff and rec_buff.
      myisam/myisamdef.h:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Commented on checksum calculation variables.
        Allowed for thread specific bit_buff.
        Added DBUG output for better table crash detection.
      myisam/sort.c:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Added implications of the new parallel repair design.
        Renamed 'info' -> 'sort_param'.
        Added DBUG output.
      mysql-test/r/myisam.result:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Added test results.
      mysql-test/t/myisam.test:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Added test cases.
      mysys/mf_iocache.c:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Redesign of io_cache_share.
        We do now allow a writer to synchronize himself with the
        readers of a shared cache. When all threads join in the lock,
        the writer copies the data from his write buffer to the shared
        read buffer.
      2aebd679
    • unknown's avatar
      Bug #22781: SQL_BIG_RESULT fails to influence sort plan · 16a0344a
      unknown authored
       Currently SQL_BIG_RESULT is checked only at compile time.
       However, additional optimizations may take place after
       this check that change the sort method from 'filesort'
       to sorting via index. As a result the actual plan
       executed is not the one specified by the SQL_BIG_RESULT
       hint. Similarly, there is no such test when executing
       EXPLAIN, resulting in incorrect output.
       The patch corrects the problem by testing for
       SQL_BIG_RESULT both during the explain and execution
       phases.
      
      
      mysql-test/r/bdb.result:
        Bug #22781: SQL_BIG_RESULT fails to influence sort plan
         - updated sql_big_result testcase
      mysql-test/r/group_by.result:
        Bug #22781: SQL_BIG_RESULT fails to influence sort plan
         - test case with MyISAM
      mysql-test/r/innodb.result:
        Bug #22781: SQL_BIG_RESULT fails to influence sort plan
         - updated sql_big_result testcase
      mysql-test/r/innodb_mysql.result:
        Bug #22781: SQL_BIG_RESULT fails to influence sort plan
         - test case with InnoDB
      mysql-test/r/myisam.result:
        Bug #22781: SQL_BIG_RESULT fails to influence sort plan
         - updated sql_big_result testcase
      mysql-test/t/group_by.test:
        Bug #22781: SQL_BIG_RESULT fails to influence sort plan
         - test case with MyISAM
      mysql-test/t/innodb_mysql.test:
        Bug #22781: SQL_BIG_RESULT fails to influence sort plan
         - test case with InnoDB
      sql/sql_select.cc:
        Bug #22781: SQL_BIG_RESULT fails to influence sort plan
         - When SQL_BIG_RESULT is specified, disable the optimization performed
        at execution/explain time that decides to use an index instead
        of filesort.
      16a0344a
  4. 07 Sep, 2006 1 commit
    • unknown's avatar
      Bug#14400 - Query joins wrong rows from table which is subject of · 29543ca2
      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.
      29543ca2
  5. 29 Aug, 2006 1 commit
    • unknown's avatar
      Bug#14400 - Query joins wrong rows from table which is · f6e56224
      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
      f6e56224
  6. 25 Aug, 2006 1 commit
    • unknown's avatar
      Fix running tests suite with non standard tmp dir. · 9156418d
      unknown authored
      Default is "var/tmp" 
      
      
      mysql-test/r/myisam.result:
        Update result file
      mysql-test/t/myisam.test:
        If running test suite with a non standard tmp dir, the "show create table" will print "DATA DIRECTORY="
        Use replace_result to mask it out
        Set tmpdir to var/log to get the printout of DATA DIRECTORY also when running with standard tmpdir
      9156418d
  7. 10 Aug, 2006 1 commit
    • unknown's avatar
      Better bug fix for #14400 "Query joins wrong rows from table which is subject... · 1e9ede93
      unknown authored
      Better bug fix for #14400 "Query joins wrong rows from table which is subject of "concurrent insert""
      The previous bug fix didn't work when using partial keys.
      Don't use GNUC min/max operations are they are depricated.
      Fixed valgrind warning
      
      
      BitKeeper/etc/ignore:
        Added */.libs/*
      include/my_global.h:
        Don't use GNUC min/max operations are they are depricated
      myisam/mi_rkey.c:
        Better bug fix for #14400 "Query joins wrong rows from table which is subject of "concurrent insert""
        The previous bug fix didn't work when using partial keys.
      myisam/mi_test_all.res:
        Updated results to match mi_test_all.sh
      myisam/mi_test_all.sh:
        Removed confusing warning
      mysql-test/r/myisam.result:
        Added test case for #14400
      mysql-test/t/myisam.test:
        Added test case for #14400
      sql/sql_select.cc:
        Fixed valgrind warning (in field_string::val_int())
      1e9ede93
  8. 10 Jul, 2006 1 commit
    • unknown's avatar
      Fix test results to be vardir-independent. · 889f1b3d
      unknown authored
      mysql-test/r/myisam.result:
        Fix test results.
      mysql-test/t/myisam.test:
        In 5.0 show create table also outputs data directory.
        For the test for Bug#8706 it's MYSQLTEST_VARDIR, and there is no way
        to replace it with anything else in test output.
      889f1b3d
  9. 06 Jul, 2006 1 commit
    • unknown's avatar
      Bug#8706 · f8d57735
      unknown authored
        "temporary table with data directory option fails"
        myisam should not use user-specified table name when creating
        temporary tables and use generated connection specific real name.
        Test included.
      
      
      myisam/mi_create.c:
        Bug#8706
          When creating a temporary table with directory override, ensure that
          the real filename is using the hidden temporary name otherwise
          multiple clients cannot have same named temporary tables without
          conflict.
      mysql-test/r/myisam.result:
        Bug#8706
          Test for bug
      mysql-test/t/myisam.test:
        Bug#8706
          Test for bug
      f8d57735
  10. 21 Jun, 2006 1 commit
    • unknown's avatar
      BUG#20357 - Got error 124 from storage engine using MIN and MAX · afc129c0
      unknown authored
                  functions in queries
      
      Using MAX()/MIN() on table with disabled indexes (by ALTER TABLE)
      results in error 124 (wrong index) from storage engine.
      
      The problem was that optimizer use disabled index to optimize
      MAX()/MIN(). Normally it must skip disabled index and perform
      table scan.
      
      This patch skips disabled indexes for min/max optimization.
      
      
      mysql-test/r/myisam.result:
        Test case for BUG#20357.
      mysql-test/t/myisam.test:
        Test case for BUG#20357.
      sql/opt_sum.cc:
        Skip disabled/ignored indexes for min/max optimization.
      afc129c0
  11. 19 Jun, 2006 1 commit
    • unknown's avatar
      BUG#18036 - update of table joined to self reports table as crashed · b424c584
      unknown authored
      Certain updates of table joined to self results in unexpected
      behavior.
      
      The problem was that record cache was mistakenly enabled for
      self-joined table updates. Normally record cache must be disabled
      for such updates.
      
      Fixed wrong condition in code that determines whether to use
      record cache for self-joined table updates.
      
      Only MyISAM tables were affected.
      
      
      mysql-test/r/myisam.result:
        Test case for BUG#18036.
      mysql-test/t/myisam.test:
        Test case for BUG#18036.
      sql/sql_update.cc:
        Fixed wrong condition in code that determines whether to use
        record cache for self-joined table updates.
      b424c584
  12. 10 Mar, 2006 1 commit
    • unknown's avatar
      Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX · d8b4d419
      unknown authored
      For "count(*) while index_column = value" an index read
      is done. It consists of an index scan and retrieval of
      each key.
      
      For efficiency reasons the index scan stores the key in
      the special buffer 'lastkey2' once only. At the first 
      iteration it notes this fact with the flag 
      HA_STATE_RNEXT_SAME in 'info->update'.
      
      For efficiency reasons, the key retrieval for blobs
      does not allocate a new buffer, but uses 'lastkey2'...
      
      Now I clear the HA_STATE_RNEXT_SAME flag whenever the 
      buffer has been polluted. In this case, the index scan
      copies the key value again (and sets the flag again).
      
      
      include/my_base.h:
        Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
        Changed the comment for HA_STATE_RNEXT_SAME as a warning
        for future uses.
      myisam/mi_delete.c:
        Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
        Removing the flag HA_STATE_RNEXT_SAME from info->update
        if info->lastkey2 was reused for another purpose than
        index scanning.
      myisam/mi_key.c:
        Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
        Removing the flag HA_STATE_RNEXT_SAME from info->update
        if info->lastkey2 was reused for another purpose than
        index scanning.
      myisam/mi_rnext_same.c:
        Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
        Removed trailing space and fixed a comment.
      myisam/mi_unique.c:
        Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
        Removing the flag HA_STATE_RNEXT_SAME from info->update
        if info->lastkey2 was reused for another purpose than
        index scanning.
      myisam/mi_update.c:
        Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
        Removing the flag HA_STATE_RNEXT_SAME from info->update
        if info->lastkey2 was reused for another purpose than
        index scanning.
      myisam/mi_write.c:
        Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
        Removing the flag HA_STATE_RNEXT_SAME from info->update
        if info->lastkey2 was reused for another purpose than
        index scanning.
      mysql-test/r/myisam.result:
        Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
        Added test result.
      mysql-test/t/myisam.test:
        Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
        Added test.
      d8b4d419
  13. 01 Feb, 2006 1 commit
    • unknown's avatar
      Bug#8841 - CHECKSUM TABLE is broken in MyISAM · bf760b7c
      unknown authored
      There are (at least) two implementations of the checksum
      computation. One is in MyISAM for the quick checksum. It
      is executed on every row change. The other is in the
      SQL layer for the extended checksum. It retrieves all rows
      of a table via the respective storage engine.
      
      In former MySQL versions varchars were stored with their 
      maximum length, but now with their real length similar to
      blobs.
      
      This change had been forgotten to take care of in the
      extended checksum calculation. Hence too much data was
      checksumed. In MyISAM this change had been taken care of 
      already. Only the real data is included in the checksum.
      
      I changed mysql_checksum_table() so that it uses the
      length information of true varchar fields instead
      of the field length like in former varchar 
      implementations.
      
      
      mysql-test/r/innodb.result:
        Bug#8841 - CHECKSUM TABLE is broken in MyISAM
        Fixed test results.
      mysql-test/r/myisam.result:
        Bug#8841 - CHECKSUM TABLE is broken in MyISAM
        Fixed test results.
      sql/sql_table.cc:
        Bug#8841 - CHECKSUM TABLE is broken in MyISAM
        Changed mysql_checksum_table() so that it uses the
        length information of true varchar fields instead
        of the field length like in former varchar 
        implementations.
      bf760b7c
  14. 22 Nov, 2005 1 commit
  15. 15 Nov, 2005 1 commit
  16. 07 Nov, 2005 1 commit
    • unknown's avatar
      Bug#14616 - Freshly imported table returns error 124 when using LIMIT · 98714590
      unknown authored
      Initialized usable_keys from table->keys_in_use instead of ~0
      in test_if_skip_sort_order(). It was possible that a disabled
      index was used for sorting.
      
      
      mysql-test/r/myisam.result:
        Bug#14616 - Freshly imported table returns error 124 when using LIMIT
        The test result.
      mysql-test/t/myisam.test:
        Bug#14616 - Freshly imported table returns error 124 when using LIMIT
        The test case.
      98714590
  17. 28 Oct, 2005 1 commit
    • unknown's avatar
      Fix for BUG#13814: in mi_pack_key(), when processing NULL value for TINYBLOB key segment, · c96b7a4d
      unknown authored
      do advance the source pointer over 2 bytes that specify value length.
      
      
      myisam/mi_key.c:
        Fix for BUG#13814: in mi_pack_key(), when processing NULL value for TINYBLOB key segment,
        do advance the source pointer over 2 bytes that specify value length (for NULL value the 
        format is: null_marker 0x01, value length 0x00 0x00, data: 0x00 keyseg->length times).
        We need to advance over 2 bytes separately as keyseg->length doesn't include them.
      mysql-test/r/myisam.result:
        Testcase for BUG#13814
      mysql-test/t/myisam.test:
        Testcase for BUG#13814
      c96b7a4d
  18. 21 Oct, 2005 1 commit
    • unknown's avatar
      BUG#9622, stage 2, work together with fix for BUG#12232: · 6af72409
      unknown authored
      added "nulls_ignored" index statistics collection method for MyISAM tables.
      (notification trigger: this is about BUG#9622).
      
      
      include/my_base.h:
        BUG#9622: Added MI_STATS_METHOD_IGNORE_NULLS statistics collection method:
        Added SEARCH_RETURN_B_POS flag for ha_key_cmp()
      include/my_handler.h:
        BUG#9622: Added MI_STATS_METHOD_IGNORE_NULLS statistics collection method: added ha_find_null()
      include/myisam.h:
        BUG#9622: Added MI_STATS_METHOD_IGNORE_NULLS statistics collection method.
      myisam/mi_check.c:
        BUG#9622: Added MI_STATS_METHOD_IGNORE_NULLS statistics collection method, added 
         mi_collect_stats_*(), updated update_key_parts() to deal with all 3 methods.
      myisam/myisamchk.c:
        BUG#9622: Added nulls_ignored index statistics collection method for MyISAM
      myisam/myisamdef.h:
        BUG#9622: Added MI_STATS_METHOD_IGNORE_NULLS statistics collection method.
      myisam/sort.c:
        BUG#9622: Added MI_STATS_METHOD_IGNORE_NULLS statistics collection method.
      mysql-test/r/myisam.result:
        Testcase for BUG9622
      mysql-test/t/myisam.test:
        Testcase for BUG9622
      mysys/my_handler.c:
        BUG#9622: ha_key_cmp() now supports new SEARCH_RETURN_B_POS flag, added ha_find_null()
      sql/ha_myisam.cc:
        BUG#9622: Added MI_STATS_METHOD_IGNORE_NULLS statistics collection method.
      sql/mysqld.cc:
        BUG#9622: Added MI_STATS_METHOD_IGNORE_NULLS statistics collection method.
      6af72409
  19. 29 Sep, 2005 1 commit
    • unknown's avatar
      Fix for BUG#13455: Make "ref" optimizer able to make this inference: · 14792b5e
      unknown authored
      "t.key BETWEEN c1 AND c2" and c1 = c2 -> can access table t using "t.key = c1".
      
      
      mysql-test/r/heap.result:
        BUG#13455: updated test results
      mysql-test/r/innodb.result:
        BUG#13455: updated test results
      mysql-test/r/myisam.result:
        BUG#13455: updated test results
      mysql-test/r/range.result:
        Testcase for BUG#13455
      mysql-test/t/range.test:
        Testcase for BUG#13455
      14792b5e
  20. 23 Sep, 2005 1 commit
  21. 20 Sep, 2005 1 commit
    • unknown's avatar
      BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index · 2e18bba6
      unknown authored
      statistics (like 4.0 did) (patch #3, with review #1 & #2 feedback addressed)
      
      
      include/myisam.h:
        BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
      myisam/mi_check.c:
        BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
      myisam/myisamchk.c:
        BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
      mysql-test/r/myisam.result:
        BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
      mysql-test/t/myisam.test:
        BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
      sql/ha_myisam.cc:
        BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
      sql/handler.h:
        BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
      sql/mysqld.cc:
        BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
      sql/set_var.cc:
        BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
      sql/sql_class.h:
        BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
      2e18bba6
  22. 29 Aug, 2005 2 commits
    • unknown's avatar
      Bug#10056 - PACK_KEYS option take values greater than 1 while creating table · 75c1ec90
      unknown authored
      Added a switch to reject illegal values for PACK_KEYS.
      
      
      mysql-test/r/myisam.result:
        Bug#10056 - PACK_KEYS option take values greater than 1 while creating table
        The test result.
      mysql-test/t/myisam.test:
        Bug#10056 - PACK_KEYS option take values greater than 1 while creating table
        The test case.
      75c1ec90
    • unknown's avatar
      Bug#12296 - CHECKSUM TABLE reports 0 for the table · c32397ce
      unknown authored
      Skipping deleted records instead of breaking the loop
      during checksum calculation.
      
      
      mysql-test/r/myisam.result:
        Bug#12296 - CHECKSUM TABLE reports 0 for the table
        The test result.
      mysql-test/t/myisam.test:
        Bug#12296 - CHECKSUM TABLE reports 0 for the table
        The test case.
      c32397ce
  23. 27 Jul, 2005 1 commit
  24. 13 May, 2005 2 commits
    • unknown's avatar
      Fix for BUG#9622: Make index statistics collection in MyISAM behave the same · c1bdd352
      unknown authored
      way in ALTER TABLE ... ENABLE KEYS, ANALYZE TABLE and after bulk insert:
      now statistics collection always assumes NULLs are inequal. 
      
      
      mysql-test/r/myisam.result:
        Testcase for BUG#9622
      mysql-test/t/myisam.test:
        Testcase for BUG#9622
      c1bdd352
    • unknown's avatar
      concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file · 6103d1a4
      unknown authored
      myisam_max_extra_sort_file_size is depricated
      Ensure that myisam_data_pointer_size is honoured when creating new MyISAM files
      Changed default value of myisam_data_pointer_size from 4 to 6 to get rid of 'table-is-full' errors
      
      
      
      include/myisam.h:
        Change type of myisam_block_size and myisam_concurrent_insert to make them changeable in mysqld.cc
        Removed not used varaible myisam_max_extra_temp_length
      include/thr_lock.h:
        Added extra parameter to get_status
      myisam/mi_create.c:
        Ensure that myisam_data_pointer_size is honoured
      myisam/mi_dynrec.c:
        If 'append_insert_at_end' is set, only write at end of myisam record file
      myisam/mi_locking.c:
        Add extra argument to 'mi_get_status' to allow thr_lock to signal that we want to do a concurrent insert
        If this is used, we will append new insert rows at end of data file.
        Change mi_check_status() to allow concurrent_inserts even if there are holes in the file when myisam_concurent_insert=2
      myisam/mi_static.c:
        Change behavior of myisam_concurrent_insert so that setting this to 2 allows inserts even if there is a hole in the data file.
        Default value is 2 for MyISAM direct usage but will be set to 1 (old default) by mysqld.cc
      myisam/mi_statrec.c:
        If 'append_insert_at_end' is set, only write at end of myisam record file
      myisam/mi_write.c:
        If 'append_insert_at_end' is set, only write at end of myisam record file
      myisam/myisamdef.h:
        Support for insert-at-end even if there is holes in data file
      mysql-test/r/gis-rtree.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/group_min_max.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/index_merge.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/index_merge_ror.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/merge.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/myisam.result:
        Test of concurrent_insert=2
      mysql-test/r/null.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/preload.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/ps_1general.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/range.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/variables.result:
        concurrent_insert is now a integer, not a boolean
        myisam_extra_sort_file_size is deleted
      mysql-test/r/view.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/t/index_merge.test:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/t/myisam.test:
        Test of concurrent_insert=2
      mysql-test/t/ps_1general.test:
        Drop test table
      mysql-test/t/variables.test:
        concurrent_insert is now a integer, not a boolean
        myisam_extra_sort_file_size is deleted
      mysql-test/t/view.test:
        Drop tables that may be left from previous tests
      mysys/thr_lock.c:
        Extra paramter to get_status to signal if concurrent_insert was used
      sql/mysqld.cc:
        concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file
        myisam_max_extra_sort_file_size is depricated
      sql/set_var.cc:
        concurrent-insert is now an integer, not a bool
        myisam_max_extra_sort_file_size is deleted
      6103d1a4
  25. 26 Apr, 2005 1 commit
  26. 08 Apr, 2005 1 commit
    • unknown's avatar
      Bug#9188 - Corruption Can't open file: 'table.MYI' (errno: 145) · c15cf8b5
      unknown authored
      Since 4.1 keys are compared with trailing spaces. 
      Thus, a "x " key can be inserted between a couple of "x" keys.
      The existing code did not take this into account. Though the
      comments in the code claimed it did.
      
      
      myisam/mi_search.c:
        Bug#9188 - Corruption Can't open file: 'table.MYI' (errno: 145)
        Fixed some function comments.
        In the case when we insert a different key between two identical keys,
        the difference must be additional spaces. In this case the prefix is 
        the same as that of the new key instead of the (zero) remaining length.
      myisam/mi_write.c:
        Bug#9188 - Corruption Can't open file: 'table.MYI' (errno: 145)
        Fixed a function comment.
      mysql-test/r/myisam.result:
        Bug#9188 - Corruption Can't open file: 'table.MYI' (errno: 145)
        The test result.
      mysql-test/t/myisam.test:
        Bug#9188 - Corruption Can't open file: 'table.MYI' (errno: 145)
        The test case.
      c15cf8b5
  27. 16 Mar, 2005 1 commit
    • unknown's avatar
      Move handler dependent tests to the specific handler (myisam, bdb, innodb) · de53c2b3
      unknown authored
      Enabled VARCHAR testing for innodb
      
      NOTE: innodb.test currently fails becasue of a bug in InnoDB. 
      I have informed Heikki about this and expect him to fix this ASAP
      
      
      mysql-test/include/varchar.inc:
        Move handler dependent tests to the specific handler (myisam, bdb, innodb)
      mysql-test/r/innodb.result:
        Added varchar tests
      mysql-test/r/myisam.result:
        Update results
      mysql-test/t/bdb.test:
        Move handler dependent tests to the specific handler (myisam, bdb, innodb)
      mysql-test/t/innodb.test:
        Enabled VARCHAR testing
      mysql-test/t/myisam.test:
        Move handler dependent tests to the specific handler (myisam, bdb, innodb)
      sql/sql_parse.cc:
        Indentation fixes
      sql/sql_table.cc:
        Fixed bug introduced when doing cleanup
      de53c2b3
  28. 02 Mar, 2005 1 commit
    • unknown's avatar
      Bug#8306 - TRUNCATE leads to index corruption · 594a6a1e
      unknown authored
      Added a check, if the table, which we are going to create, is open.
      This can happen if a MERGE mapped table is TRUNCATEd.
      
      
      myisam/mi_open.c:
        Bug#8306 - TRUNCATE leads to index corruption
        Made test_if_reopen() globally available.
      myisam/myisamdef.h:
        Bug#8306 - TRUNCATE leads to index corruption
        Declared test_if_reopen() as globally available.
      mysql-test/r/myisam.result:
        Bug#8306 - TRUNCATE leads to index corruption
        The test result.
      mysql-test/t/myisam.test:
        Bug#8306 - TRUNCATE leads to index corruption
        The test case.
      594a6a1e
  29. 24 Feb, 2005 1 commit
    • unknown's avatar
      Show all generated warnings in SHOW ERROR · fc785bd4
      unknown authored
      Previously we only stored the first given error (the error sent to the client)
      
      
      include/mysys_err.h:
        Moved ER_FILENOTFOUND last to avoid getting 'error 0'
      mysql-test/r/backup.result:
        More warnings from in case of errors
      mysql-test/r/innodb.result:
        More warnings from in case of errors
      mysql-test/r/key_cache.result:
        More warnings from in case of errors
      mysql-test/r/myisam.result:
        More warnings from in case of errors
      mysql-test/r/preload.result:
        More warnings from in case of errors
      mysql-test/r/repair.result:
        More warnings from in case of errors
      mysql-test/r/rpl_failed_optimize.result:
        More warnings from in case of errors
      mysql-test/r/subselect.result:
        More warnings from in case of errors
      mysql-test/t/backup.test:
        Portability fix
      mysql-test/t/innodb.test:
        Avoid some warnings
      mysql-test/t/myisam.test:
        Portability fix
      mysql-test/t/rpl_rotate_logs.test:
        Portablitiy fix
      mysys/errors.c:
        Move ER_FILENOTFOUND last to avoid error 0
      sql/mysql_priv.h:
        Indentation change
      sql/mysqld.cc:
        Save all given errors for SHOW ERRORS
      sql/protocol.cc:
        Store new errors for SHOW ERROR
        (Ignore those that are already reported with my_error())
      sql/sql_class.cc:
        More errors with SHOW ERROR
      sql/sql_class.h:
        More errors with SHOW ERROR
      sql/sql_error.cc:
        More errors with SHOW ERROR
      sql/sql_parse.cc:
        Temporary fix: Don't give error for the to-be-removed 'pre-open tables code'
      sql/sql_show.cc:
        More debugging
        Don't register errors while populating schema tables.
        (If we do, we get a LOT of warnings from information_schema.test)
      sql/sql_table.cc:
        Don't register errors from handler in drop table (as we already do it the upper level DROP TABLE code)
        Don't register errors for 'restore_table' as in most cases the table doesn't exists
      sql/sql_union.cc:
        Use file->write_row() instead of 'write_record'.
        This gives us easer to handle error messages and is faster than the old version
      fc785bd4
  30. 22 Feb, 2005 1 commit
    • unknown's avatar
      Fixed compiler warnings · 4115d1bb
      unknown authored
      Fixed failing myisam.test and rpl_rotate_logs.test on some configurations
      
      
      mysql-test/r/myisam.result:
        Portability fix
      mysql-test/r/rpl_rotate_logs.result:
        Portability fix
      mysql-test/t/myisam.test:
        Depending on if you compiled with -DHAVE_RAID or not, you could get different errors for this test
      mysql-test/t/rpl_rotate_logs.test:
        Portability fix
      sql/ha_innodb.cc:
        Fixed compiler warnings
      4115d1bb
  31. 21 Feb, 2005 1 commit
    • unknown's avatar
      Generate warning in ha_delete_table() if files is missing in handler · 0834c079
      unknown authored
      
      mysql-test/r/myisam.result:
        Test of DROP TABLE when .MYI or .MYD is missing
      mysql-test/r/ndb_autodiscover.result:
        Update test results
      mysql-test/r/rpl_EE_error.result:
        Change test to conform with new handling of drop table when handler file is missing
      mysql-test/t/myisam.test:
        Test of DROP TABLE when .MYI or .MYD is missing
      mysql-test/t/rpl_EE_error.test:
        Change test to conform with new handling of drop table when handler file is missing
      sql/handler.cc:
        Generate a warning in ha_delete_table() if we get an error from 'delete_table()'
      sql/handler.h:
        More parameters to ha_delete_table() so that we can generate better error messages
      sql/sql_table.cc:
        Generate warning in ha_delete_table()
      0834c079
  32. 16 Jan, 2005 1 commit
    • unknown's avatar
      XA (not completely polished out yet) · 63120ffe
      unknown authored
      include/my_pthread.h:
        cleanup. don't use gcc extensions
      innobase/include/trx0sys.ic:
        Jan's fix for innobase_xa_prepare
      innobase/read/read0read.c:
        Jan's fix for innobase_xa_prepare
      innobase/trx/trx0trx.c:
        Jan's fix for innobase_xa_prepare
      mysql-test/include/varchar.inc:
        test fix
      mysql-test/r/ctype_ucs.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/drop_temp_table.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/insert_select.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/mix_innodb_myisam_binlog.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/myisam.result:
        test fix
      mysql-test/r/rpl000015.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_change_master.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_charset.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_error_ignored_table.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_flush_log_loop.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_flush_tables.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_loaddata.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_loaddata_rule_m.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_loaddata_rule_s.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_log.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_log_pos.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_max_relay_size.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_relayrotate.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_replicate_do.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_reset_slave.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_rotate_logs.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_server_id1.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_server_id2.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_temporary.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_timezone.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_until.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_user_variables.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/user_var.result:
        new log event - all binlog positions are changed :(
      mysql-test/t/ctype_ucs.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/mix_innodb_myisam_binlog.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/mysqlbinlog.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/mysqlbinlog2.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_charset.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_error_ignored_table.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_loaddata_rule_m.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_loaddata_rule_s.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_log.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_log_pos.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_user_variables.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/user_var.test:
        new log event - all binlog positions are changed :(
      mysys/hash.c:
        typo fixed
      sql/ha_berkeley.cc:
        handlerton framework
      sql/ha_berkeley.h:
        handlerton framework
      sql/ha_innodb.cc:
        handlerton framework
      sql/ha_innodb.h:
        handlerton framework
      sql/handler.cc:
        new transaction handling, handlerton framework, two-phase commit, XA support
      sql/handler.h:
        new transaction handling, handlerton framework, two-phase commit, XA support
      sql/lex.h:
        XA commands
      sql/log.cc:
        new transaction handling, handlerton framework, two-phase commit,
        XA support, tc-logging, TC_LOG_MMAP class
      sql/log_event.cc:
        Xid_log_event
      sql/log_event.h:
        Xid_log_event, LOG_EVENT_BINLOG_CLOSED_F flag
      sql/mysql_priv.h:
        wrapper for query_id++
      sql/mysqld.cc:
        new command-line options --log-tc, --log-tc-size, --tc-heuristic-recover,
        new status variables Tc_log_page_size, Tc_log_max_pages_used, Tc_log_page_waits.
        init/stop tc logging
      sql/set_var.h:
        warning fixed
      sql/share/errmsg.txt:
        XA error messages
      sql/sp_head.cc:
        s/query_id++/next_query_id()/
      sql/sql_base.cc:
        typo fixed. new transaction handling.
      sql/sql_class.cc:
        cleanup of THD.transaction
      sql/sql_class.h:
        TC_LOG classes, new status variables, new savepoint handling, XA support
      sql/sql_insert.cc:
        comments
      sql/sql_lex.cc:
        s/found_colon/found_semicolon/
      sql/sql_lex.h:
        SQLCOM_XA_xxx, XA related changes in Lex
      sql/sql_parse.cc:
        cleanup, XA commands, new savepoint handling
      sql/sql_repl.cc:
        two functions moved to log.cc
      sql/sql_repl.h:
        two functions moved to log.cc
      sql/sql_trigger.cc:
        s/lex.name_and_length/lex.ident/
      sql/sql_yacc.yy:
        XA commands, cleanup
      63120ffe
  33. 11 Jan, 2005 1 commit
  34. 31 Dec, 2004 2 commits
  35. 18 Dec, 2004 1 commit
    • unknown's avatar
      Add 0x before pointers (to help with debugging) · d63ef7e9
      unknown authored
      Add support for VARCHAR with 1 or 2 length bytes
      Enable VARCHAR packing in MyISAM files (previous patch didn't pack data properly)
      Give error if we got problems in temporary tables during a SELECT
      Don't use new table generated by ALTER TABLE if index generation fails
      Fixed wrong call by range_end() (Could cause an ASSERT in debug mode)
      
      
      BUILD/SETUP.sh:
        Add flags for Intel 64
      dbug/dbug.c:
        Add 0x before pointers (to help with debugging)
      heap/_check.c:
        Add 0x before pointers (to help with debugging)
      heap/hp_create.c:
        Add support for VARCHAR with 1 or 2 length bytes
      heap/hp_delete.c:
        Add 0x before pointers
      heap/hp_hash.c:
        Add support for VARCHAR with 1 or 2 length bytes
        Added more debugging
      heap/hp_open.c:
        Add 0x before pointers
      heap/hp_rkey.c:
        Add 0x before pointers
      heap/hp_rrnd.c:
        Add 0x before pointers
      heap/hp_write.c:
        Add 0x before pointers
      include/my_base.h:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/ft_static.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/ft_test1.c:
        Add support for VARCHAR with 1 or 2 length bytes
        Fixed indentation
        (This file should probably be deleted as it doesn't compile)
      myisam/ft_update.c:
        Add support for VARCHAR with 1 or 2 length bytes
        Fixed indentation
        Removed some not needed 'else'
      myisam/mi_check.c:
        Don't give an error for tables packed with myisampack
      myisam/mi_checksum.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_create.c:
        Add support for VARCHAR with 1 or 2 length bytes
        Store in number of pack-length-bytes in keyseg->bit_start
      myisam/mi_dbug.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_dynrec.c:
        Add support for VARCHAR with 1 or 2 length bytes
        (old code in _mi_rec_unpack() didn't really work with VARCHAR's)
      myisam/mi_key.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_open.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_packrec.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_search.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_test1.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_test3.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_test_all.res:
        Update results
      myisam/mi_unique.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/myisampack.c:
        Add support for VARCHAR with 1 or 2 length bytes
      mysql-test/include/varchar.inc:
        Added more tests
      mysql-test/r/bdb.result:
        Update results after new tests
      mysql-test/r/information_schema.result:
        Update results
      mysql-test/r/innodb.result:
        Update results
      mysql-test/r/myisam.result:
        Update results after new tests
      mysql-test/r/ps_1general.result:
        Update results
      mysql-test/t/bdb.test:
        Shorter comments
      mysys/list.c:
        Add 0x before pointers
      mysys/my_handler.c:
        Add support for VARCHAR with 1 or 2 length bytes
      mysys/raid.cc:
        Add 0x before pointers
      sql/field.cc:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/field.h:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/field_conv.cc:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/ha_berkeley.cc:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/ha_heap.cc:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/ha_myisam.cc:
        Ensure that enable_indexes() will report an error if it fails
        Enable VARCHAR packing for MyISAM files
      sql/item_sum.cc:
        Change key_cmp -> cmp() as we are comparing fields, not key segements
      sql/opt_range.cc:
        Add support for VARCHAR with 1 or 2 length bytes
        Change range_end to call ha_index_or_rnd_end() as in some error cases we may be in rnd mode when we abort
      sql/sql_base.cc:
        Remove compiler warning
      sql/sql_parse.cc:
        Move length checking code to sql_table.cc (as we don't have character set for fields at this stage)
      sql/sql_select.cc:
        Add support for VARCHAR with 1 or 2 length bytes
        Ensure that we report an error if we get an error while writing to internal temporary tables
      sql/sql_select.h:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/sql_show.cc:
        Fix typo in comment
      sql/sql_table.cc:
        Don't use new table generated by ALTER TABLE if index generation fails
      vio/vio.c:
        Fixed DBUG info
      vio/viosocket.c:
        Fixed DBUG info
      vio/viossl.c:
        Fixed DBUG info
      vio/viosslfactories.c:
        Fixed DBUG info
      d63ef7e9