An error occurred fetching the project authors.
  1. 01 Oct, 2008 1 commit
    • unknown's avatar
      Maria tests moved to separate suite. The suite made default for execution. · 17d54f33
      unknown authored
      mysql-test/mysql-test-run.pl:
        The maria suite made default for execution.
      mysql-test/suite/maria:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-autozerofill.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-big.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-big2.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-connect.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-gis-rtree-dynamic.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-gis-rtree-trans.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-gis-rtree.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-mvcc.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-no-logging.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-page-checksum.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-preload.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-purge.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-recover.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-recovery-big.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-recovery-bitmap.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-recovery-rtree-ft.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-recovery.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria-recovery2.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria2.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria3.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/maria_notembedded.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/r/ps_maria.result:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-autozerofill.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-big.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-big2.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-connect.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-gis-rtree-dynamic.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-gis-rtree-trans.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-gis-rtree.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-mvcc.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-no-logging.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-page-checksum.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-preload.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-purge.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-recover-master.opt:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-recover.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-recovery-big-master.opt:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-recovery-big.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-recovery-bitmap-master.opt:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-recovery-bitmap.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-recovery-master.opt:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-recovery-rtree-ft-master.opt:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-recovery-rtree-ft.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-recovery.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-recovery2-master.opt:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria-recovery2.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria2.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria3.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/maria_notembedded.test:
        Maria tests moved to separate suite.
      mysql-test/suite/maria/t/ps_maria.test:
        Maria tests moved to separate suite.
      17d54f33
  2. 24 Apr, 2008 1 commit
    • unknown's avatar
      WL#3072 - Maria Recovery · 84b174df
      unknown authored
      Recovery of R-tree and fulltext indices.
      Fix for BUG#35551 "Maria: crash in REPAIR TABLE/ENABLE KEYS if using
      repair-with-keycache method".
      Fix for bug (see ma_rt_index.c) where we could have a wrong
      page_link pointer causing wrong memory access during some R-tree
      index insert/delete.
      Making ma_rt_test work again (it had been neglected over time) and
      adding options (record type etc) to prepare it for integration into
      ma_test_all-t (but there is BUG#36321 about "ma_rt_test -M" crash)
      
      
      mysql-test/r/maria.result:
        correct result
      mysql-test/t/maria.test:
        now we get no error
      storage/maria/ma_blockrec.c:
        delete_dir_entry() and delete_head_or_tail() don't use info->keyread_buff.
        ma_get_length() does not change **packet, marking it with 'const' to
        remove some casts in callers of this function. The
        (const uchar**)&header casts will be removed when Monty changes 'header'
        to const uchar*.
        _ma_apply_redo_purge_row_head_or_tail() sets 'buff' from pagecache_read()
        so its initialization was superfluous.
      storage/maria/ma_check.c:
        Fix for BUG#35551 "Maria: crash in REPAIR TABLE/ENABLE KEYS if using repair-with-keycache method"
        (see comment in code)
      storage/maria/ma_create.c:
        FULLTEXT and SPATIAL indices have logging now, they are recoverable.
      storage/maria/ma_delete.c:
        Logging done by _ma_ck_delete() is moved to a function
        (_ma_write_undo_key_delete()), for reusal by R-tree logging.
        _ma_log_delete() is made non-static for same
        reason, and some of its parameters are made pointers to const.
        Removed wrong comment ("Note that for delete key" etc, contradicted by
        code and comment "Log also position to row" a few lines above)
      storage/maria/ma_ft_update.c:
        unneeded cast, comment for future
      storage/maria/ma_key_recover.c:
        Comment about possible deadlock.
        Write bad page to DBUG trace if KEY_OP_CHECK founds bad CRC.
        Support operation KEY_OP_MULTI_COPY.
        When we execute, in UNDO phase, UNDO_KEY_DELETE|INSERT, we must call
        the proper key insertion|deletion depending on if this is R-tree
        or B-tree.
        Explanation of of _ma_[un]lock_key_del() work, maybe useful for
        mortals like me.
      storage/maria/ma_key_recover.h:
        change of prototypes
      storage/maria/ma_loghandler.h:
        New operation which can be stored in REDO_INDEX log records: KEY_OP_MULTI_COPY
      storage/maria/ma_page.c:
        Comments
      storage/maria/ma_pagecache.c:
        typo
      storage/maria/ma_rt_index.c:
        Fix for bug: the page_link pointer in maria_rtree_insert_req()
        could be wrong when we set its 'changed' member; for the solution
        see ma_key_recover.h. It is needed only in cases when we manipulate
        several pages.
        Logging of changes done to pages by key insert/delete.
        maria_rtree_delete()'s main work is moved to a new function
        maria_rtree_real_delete(), which is used by maria_rtree_delete()
        and by applying of UNDO_KEY_INSERT.
      storage/maria/ma_rt_index.h:
        new prototypes and macros for ma_rt_index.c
      storage/maria/ma_rt_key.c:
        Logging of maria_rtree_add_key() and maria_rtree_delete_key().
        When inserting, split is necessary if there is not enough room for key:
        take checksum's occupied space in this calculation.
      storage/maria/ma_rt_key.h:
        new prototypes (those functions need to know the page's id
        because they do logging)
      storage/maria/ma_rt_mbr.c:
        Comments about what the functions change.
      storage/maria/ma_rt_split.c:
        maria_rtree_split_page() needs to know the page's id, because
        it does logging.
        Logging of what a split operation does to the split page (see
        comment of _ma_log_rt_split(): moves of keys inside the page,
        sometimes insertion of the new key, and shrinking of the page)
        and to the new page (receives some keys from split page, and
        sometimes the new key).
      storage/maria/ma_rt_test.c:
        ma_rt_test had been forgotten when maria_rkey() was changed some months ago
        (0->HA_WHOLE_KEY change), and when calls to maria_rnd(,,HA_OFFSET_ERROR)
        were rewritten to maria_scan() calls (which implies maria_scan_init()).
        The 'max_i' change is to adapt to the fact that maria_scan() does
        not return deleted records for BLOCK_RECORD but does so for other formats;
        the initial code assumed a certain number of deleted records would be
        returned, we change it to rather count only non-deleted ones.
        We also add more features to this test, like ma_test1 (the plan
        is to run ma_rt_test in ma_test_all-t):
        options to choose records' format, table checksum, transactions,
        checkpoints, end at specific stages, abort without committing,
        and debug trace.
      storage/maria/ma_test1.c:
        MY_INIT() does my_init().
      storage/maria/ma_write.c:
        Logging done by _ma_ck_write_btree_with_log() is moved to a function
        (_ma_write_undo_key_insert()), for reusal by R-tree logging.
        _ma_log_new() and _ma_log_change() are made non-static for same
        reason. Some parameters of logging functions are made pointers to const.
        If EXTRA_DEBUG_KEY_CHANGES, we now log CRC in _ma_log_change() too
        (better checks, bigger record).
      storage/maria/maria_read_log.c:
        Program takes no arguments, bail out if any, instead of silently discarding them
      storage/myisam/rt_test.c:
        rt_test had been forgotten when mi_rkey() was changed some months ago
        (0->HA_WHOLE_KEY change).
        The 'max_i' change is to make it symmetric with ma_rt_test.c
      mysql-test/r/maria-gis-rtree-dynamic.result:
        correct result
      mysql-test/r/maria-gis-rtree-trans.result:
        correct result
      mysql-test/r/maria-recovery-rtree-ft.result:
        almost correct result (hitting BUG# in the end)
      mysql-test/t/maria-gis-rtree-dynamic.test:
        test R-tree & dynamic row format
      mysql-test/t/maria-gis-rtree-trans.test:
        Test R-tree and page row format and transactional
      mysql-test/t/maria-recovery-rtree-ft-master.opt:
        usual options for recovery testing
      mysql-test/t/maria-recovery-rtree-ft.test:
        test of recovery of R-tree and fulltext indices.
      84b174df
  3. 11 Apr, 2008 1 commit
    • unknown's avatar
      Fix for BUG#35351 "Maria: R-tree index does not return all expected rows" · 6854f3fd
      unknown authored
      BitKeeper/triggers/post-commit:
        commits to Maria public list
      mysql-test/r/maria-gis-rtree.result:
        result is good now, similar to MyISAM's (gis-rtree.result)
      storage/maria/ma_rt_index.c:
        R-tree key-reading code used info->buff as a cache for the next key read,
        but between key read and next key read, there is record read, which
        uses info->buff too. In detail, during a SELECT:
        First key read: maria_rfirst() is called, which calls maria_rtree_find_first() which calls 
        maria_rtree_find_req() which comes here
                if (after_key < last)
                {
                  // ! the list of keys is copied to info->buff
                  // and info->buff is remembered in info->int_keypos
                  info->int_keypos= info->buff;
                  info->int_maxpos= info->buff + (last - after_key);
                  memcpy(info->buff, after_key, last - after_key);
                  info->keyread_buff_used= 0;
                }
        Then record read:
        _ma_read_block_record() (as well as some other functions of
        ma_blockrec.c) overwrites info->buff:
          if (!(buff= pagecache_read(share->pagecache,
                                     &info->dfile, ma_recordpos_to_page(record_pos), 0,
                                     info->buff, share->page_type,
                                     PAGECACHE_LOCK_LEFT_UNLOCKED, 0)))
        So, this has the effect that the keys saved by maria_rtree_find_req() are now lost:
        info->int_keypos now contains a copy of a data page!
        Then maria_rnext_same() runs (to find second row), calls maria_rtree_find_next() which
        does:
          if (!info->keyread_buff_used)
          {
            uchar *key= info->int_keypos;
            while (key < info->int_maxpos)
            {
              if (!maria_rtree_key_cmp(keyinfo->seg,
                                       info->first_mbr_key, key,
                                       info->last_rkey_length, search_flag))
        
        i.e. maria_rtree_key_cmp() is doing comparisons on values it reads from the data page.
        Naturally this is bad and no row is found.
        Origin of the bug: MARIA_HA::keyread_buff is new in Maria.
        Solution: use keyread_buff instead of buff (like _ma_search_next() does),
        in R-tree code. Note that ma_blockrec.c functions also use keyread_buff
        but they all are write-functions, which should not be running close
        to next-key-read. Also note that some ma_rt_index.c functions still
        use info->buff, but they are about writes too.
        Thanks Monty for the idea.
      6854f3fd
  4. 17 Mar, 2008 1 commit
    • unknown's avatar
      Fix for BUG#35273 "Corrupted table if using GIS index": · 1174c4b9
      unknown authored
      when modifying R-tree indices we forgot to unpin pages (causing
      flush at-end-of-statement to fail - because page is pinned - and thus
      mark table corrupted) and also to unlock key_del (causing assertion
      failure info->used_key_del==0 at maria_close()).
      
      
      storage/maria/ma_rt_index.c:
        When modifying pages of R-tree indices we keep them pinned, and
        lock key_del, so we here make sure to unpin and unlock at the end
        of the modification. I checked all functions which add to info->pinned_pages
        or call _ma_lock_key_del(): the parent is always maria_rtree_insert()
        or maria_rtree_delete(), which thus do the unpin/unlock now.
      mysql-test/r/maria-gis-rtree.result:
        new result, which is incorrect (filed as BUG#35351) but at least
        test does not crash anymore
      mysql-test/t/maria-gis-rtree.test:
        test of Maria's GIS functionality (R-tree indices etc); copied from
        MyISAM's gis-rtree.test; used to crash without the bugfixes.
      1174c4b9
  5. 10 Oct, 2007 1 commit
    • unknown's avatar
      Bug #30825: Problems when putting a non-spatial index on a GIS column · ba373ba5
      unknown authored
       Fixed the usage of spatial data (and Point in specific) with 
       non-spatial indexes.
       Several problems :
         - The length of the Point class was not updated to include the 
           spatial reference system identifier. Fixed by increasing with 4 
           bytes.
         - The storage length of the spatial columns was not accounting for
           the length that is prepended to it. Fixed by treating the 
           spatial data columns as blobs (and thus increasing the storage
           length)
         - When creating the key image for comparison in index read wrong
           key image was created (the one needed for and r-tree search,
           not the one for b-tree/other search). Fixed by treating the
           spatial data columns as blobs (and creating the correct kind of
           image based on the index type). 
      
      
      mysql-test/r/bdb_gis.result:
        Bug #30825: bdb tests
      mysql-test/r/gis-rtree.result:
        Bug #30825: key length changed
      mysql-test/r/gis.result:
        Bug #30825: MyISAM tests
      mysql-test/r/innodb_gis.result:
        Bug #30825: InnoDB tests
      mysql-test/t/bdb_gis.test:
        Bug #30825: bdb tests
      mysql-test/t/gis.test:
        Bug #30825: MyISAM tests
      mysql-test/t/innodb_gis.test:
        Bug #30825: InnoDB tests
      sql/field.cc:
        Bug #30825: Removed Field_geom::get_key_image as Field_blog::get_key_image 
          takes type parameter into consideration and is a superset of 
          Field_geom::get_key_image()
      sql/field.h:
        Bug #30825: Removed Field_geom::get_key_image as Field_blog::get_key_image 
          takes type parameter into consideration and is a superset of 
          Field_geom::get_key_image()
      sql/sql_select.h:
        Bug #30825: Geometry data are a blob derivate
      sql/sql_table.cc:
        Bug #30825: Increased key length to accomodate for
          spatial reference system identifier (srid)
      sql/sql_yacc.yy:
        Bug #30825: Increased key length to accomodate for
          spatial reference system identifier (srid)
      sql/table.cc:
        Bug #30825: It stores a length for spatial data
         as well, so increase the storage length (as it's
         done for blobs).
      mysql-test/include/gis_keys.inc:
        Bug #30825: Test file for spatial data and non-spatial indexes
      ba373ba5
  6. 05 Oct, 2007 1 commit
    • unknown's avatar
      Bug #30286 spatial index cause corruption and server crash! · ffdd1f61
      unknown authored
      As the result of DOUBLE claculations can be bigger
      than DBL_MAX constant we use in code, we shouldn't use this constatn
      as a biggest possible value.
      Particularly the rtree_pick_key function set 'min_area= DBL_MAX' relying
      that any rtree_area_increase result will be less so we return valid
      key. Though in rtree_area_increase function we calculate the area
      of the rectangle, so the result can be 'inf' if the rectangle is
      huge enough, which is bigger than DBL_MAX.
      
      Code of the rtree_pick_key modified so we always return a valid key.
      
      
      myisam/rt_index.c:
        Bug #30286 spatial index cause corruption and server crash!
        
        always set the best_key with the first key we get, so we always return
        somthing valid.
      myisam/rt_mbr.c:
        Bug #30286 spatial index cause corruption and server crash!
        
        function comment extended
      mysql-test/r/gis-rtree.result:
        Bug #30286 spatial index cause corruption and server crash!
        test result
      mysql-test/t/gis-rtree.test:
        Bug #30286 spatial index cause corruption and server crash!
        test case
      ffdd1f61
  7. 09 Jul, 2007 1 commit
    • unknown's avatar
      Bug #29070: Error in spatial index · ba7c0196
      unknown authored
      1. Threat MBR for a key as double[] and convert it only
      when about to store it on disk.
      2. Remove the redundant function get_double().
      
      
      myisam/sp_key.c:
        Bug #29070: 
        1. threat MBR for a key as double[] and convert it only
        when about to store it on disk.
        2. remove the redundant function get_double()
      mysql-test/r/gis-rtree.result:
        Bug #29070: test case
      mysql-test/t/gis-rtree.test:
        Bug #29070: test case
      ba7c0196
  8. 15 Mar, 2007 1 commit
  9. 14 Mar, 2007 2 commits
    • unknown's avatar
      Bug #26794: 5.1 part · 6fa5f01c
      unknown authored
       It was syntactically correct to define 
       spatial keys over parts of columns (e.g.
       ALTER TABLE t1 ADD x GEOMETRY NOT NULL, 
         ADD SPATIAL KEY (x(32))).
       This may lead to undefined results and/or
       interpretation.
       Fixed by not allowing partial column 
       specification in a SPATIAL index definition.
      
      
      mysql-test/r/alter_table.result:
        Bug #26794: 5.1 part
         test case
      mysql-test/r/gis-rtree.result:
        Bug #26794: 5.1 part
         updated the tests to the new syntax
      mysql-test/t/alter_table.test:
        Bug #26794: 5.1 part
         test case
      mysql-test/t/gis-rtree.test:
        Bug #26794: 5.1 part
         updated the tests to the new syntax
      sql/sql_table.cc:
        Bug #26794: 5.1 part
         Disable defining SPATIAL KEYS with sub-key parts
      6fa5f01c
    • unknown's avatar
      Bug #26794: · e8be1467
      unknown authored
      Different set of conditions is used to verify
      the validity of index definitions over a GEOMETRY
      column in ALTER TABLE and CREATE TABLE. 
      The difference was on how sub-keys notion validity
      is checked.
      Fixed by extending the CREATE TABLE condition to
      support the cases allowed in ALTER TABLE.
      Made the SHOW CREATE TABLE not to display spatial
      indexes using the sub-key notion.
      
      
      mysql-test/r/alter_table.result:
        Bug #26794: test case
      mysql-test/r/gis-rtree.result:
        Bug #26794: fixed SHOW CREATE TABLE output.
      mysql-test/t/alter_table.test:
        Bug #26794: test case
      sql/field.cc:
        Bug #26794: Allow sub-keys for GEOMETRY
      sql/sql_show.cc:
        Bug #26794: Don't show sub-key notion 
         in SHOW CREATE TABLE for SPATIAL indexes.
      sql/sql_table.cc:
        Bug #26794: Allow sub-keys for GEOMETRY
      e8be1467
  10. 12 Mar, 2007 1 commit
    • unknown's avatar
      Bug #26794: · 0f2fe528
      unknown authored
      Different set of conditions is used to verify
      the validity of index definitions over a GEOMETRY
      column in ALTER TABLE and CREATE TABLE. 
      The difference was on how sub-keys notion validity
      is checked.
      Fixed by extending the CREATE TABLE condition to
      support the cases allowed in ALTER TABLE.
      Made the SHOW CREATE TABLE not to display spatial
      indexes using the sub-key notion.
      
      
      mysql-test/r/alter_table.result:
        Bug #26794: test case
      mysql-test/r/gis-rtree.result:
        Bug #26794: fixed SHOW CREATE TABLE output.
      mysql-test/t/alter_table.test:
        Bug #26794: test case
      sql/field.cc:
        Bug #26794: Allow sub-keys for GEOMETRY
      sql/sql_show.cc:
        Bug #26794: Don't show sub-key notion 
         in SHOW CREATE TABLE for SPATIAL indexes.
      sql/sql_table.cc:
        Bug #26794: Allow sub-keys for GEOMETRY
      0f2fe528
  11. 08 Mar, 2007 2 commits
    • unknown's avatar
      4148703d
    • unknown's avatar
      Bug#25673 - spatial index corruption, error 126 · 717b23af
      unknown authored
                incorrect key file for table
      
      In certain cases it could happen that deleting a row could
      corrupt an RTREE index.
      
      According to Guttman's algorithm, page underflow is handled
      by storing the page in a list for later re-insertion. The
      keys from the stored pages have to be inserted into the
      remaining pages of the same level of the tree. Hence the
      level number is stored in the re-insertion list together
      with the page.
      
      In the MySQL RTree implementation the level counts from zero
      at the root page, increasing numbers for levels down the tree.
      
      If during re-insertion of the keys the tree height grows, all
      level numbers become invalid. The remaining keys will be
      inserted at the wrong level.
      
      The fix is to increment the level numbers stored in the
      reinsert list after a split of the root block during reinsertion.
      
      
      myisam/rt_index.c:
        Bug#25673 - spatial index corruption, error 126
                    incorrect key file for table
        Added a loop in rtree_delete() to increment the level numbers
        stored in the reinsert list after a split of the root block
        during reinsertion.
        Added comments and DBUG statements.
      myisam/rt_key.c:
        Bug#25673 - spatial index corruption, error 126
                    incorrect key file for table
        Added DBUG statements.
      myisam/rt_split.c:
        Bug#25673 - spatial index corruption, error 126
                    incorrect key file for table
        Added DBUG statements.
      mysql-test/r/gis-rtree.result:
        Bug#25673 - spatial index corruption, error 126
                    incorrect key file for table
        Added the test result.
      mysql-test/t/gis-rtree.test:
        Bug#25673 - spatial index corruption, error 126
                    incorrect key file for table
        Added a test.
      717b23af
  12. 19 Dec, 2006 1 commit
    • unknown's avatar
      Bug #23578: Corruption prevents Optimize table from working properly with a · d44b520f
      unknown authored
      spatial index
       While executing OPTIMIZE TABLE on MyISAM tables the server re-creates the
       index file(s) in order to sort them physically by the key. This cannot be 
       done for R-tree indexes as it makes no sense.
       The server was not checking the type of the index and was accessing an 
       R-tree index as if it was a B-tree.
       Fixed by preventing sorting the index file if it contains an R-tree index.  
       
      
      
      myisam/mi_check.c:
        Bug #23578: Corruption prevents Optimize table from working properly with a
        spatial index
         - disable sorting the index file if it contains an R-tree index.
      mysql-test/r/gis-rtree.result:
        Bug #23578: Corruption prevents Optimize table from working properly with a
        spatial index
         - test case
      mysql-test/t/gis-rtree.test:
        Bug #23578: Corruption prevents Optimize table from working properly with a
        spatial index
         - test case
      d44b520f
  13. 06 Nov, 2006 2 commits
    • unknown's avatar
      bug #19491 (5.0-related additional fixes) · c8d49b70
      unknown authored
      include/my_time.h:
        we need to use it outside the my_time.cc
      mysql-test/r/gis-rtree.result:
        result fixed
      sql-common/my_time.c:
        'static' removed
      sql/field.cc:
        checks for invalid datetimes added
      c8d49b70
    • unknown's avatar
      merging · 2009af8b
      unknown authored
      mysql-test/r/gis-rtree.result:
        merging fix
      2009af8b
  14. 05 Nov, 2006 1 commit
    • unknown's avatar
      merging · b3efe986
      unknown authored
      mysql-test/r/gis-rtree.result:
        test result fixed
      b3efe986
  15. 01 Oct, 2006 1 commit
    • unknown's avatar
      bug #21790 (UNKNOWN ERROR message in geometry) · 79ec5069
      unknown authored
      We issued UNKNOWN ERROR initially in this place and forgot to
      fix it when we implemented informative error message for this
      
      
      mysql-test/r/gis-rtree.result:
        test result
      mysql-test/t/gis-rtree.test:
        test case
      sql/handler.cc:
        let's issue informative error message here
      79ec5069
  16. 29 Sep, 2006 1 commit
    • unknown's avatar
      bug #21888 (Query on GEOMETRY field crashes the server) · 3950ce57
      unknown authored
      RTree keys are really different from BTree and need specific
      paramters to be set by optimizer to work.
      Sometimes optimizer doesn't set those properly.
      Here we decided just to add code to check that the parameters
      are correct. Hope to fix optimizer sometimes.
      
      
      myisam/mi_range.c:
        return the error if min_key is NULL
      mysql-test/r/gis-rtree.result:
        test result
      mysql-test/t/gis-rtree.test:
        test case
      3950ce57
  17. 18 Jul, 2006 1 commit
    • unknown's avatar
      Bug #19498: Inconsistent support for DEFAULT in TEXT columns · 8132a6ba
      unknown authored
        When a default of '' was specified for TEXT/BLOB columns, the specification
        was silently ignored. This is presumably to be nice to applications (or
        people) who generate their column definitions in a not-very-clever fashion.
      
        For clarity, doing this now results in a warning, or an error in strict
        mode.
      
      
      mysql-test/r/federated.result:
        Update results
      mysql-test/r/fulltext_distinct.result:
        Update results
      mysql-test/r/fulltext_update.result:
        Update results
      mysql-test/r/gis-rtree.result:
        Update results
      mysql-test/r/gis.result:
        Update results
      mysql-test/r/join_outer.result:
        Update results
      mysql-test/r/order_by.result:
        Update results
      mysql-test/r/type_blob.result:
        Add new results
      mysql-test/r/type_ranges.result:
        Update results
      mysql-test/t/type_blob.test:
        Add new test
      sql/field.cc:
        Issue a warning when setting '' as the default on a BLOB/TEXT column,
        and make it an error in strict mode. Also, clarify comments about when
        NO_DEFAULT_VALUE_FLAG is set.
      8132a6ba
  18. 28 Jun, 2006 1 commit
    • unknown's avatar
      Bug#17877 - Corrupted spatial index · 02edab28
      unknown authored
      CHECK TABLE could complain about a fully intact spatial index.
      A wrong comparison operator was used for table checking. 
      The result was that it checked for non-matching spatial keys. 
      This succeeded if at least two different keys were present, 
      but failed if only the matching key was present.
      
      I fixed the key comparison.
      
      
      myisam/mi_check.c:
        Bug#17877 - Corrupted spatial index
        Fixed the comparison operator for checking a spatial index.
        Using MBR_EQUAL | MBR_DATA to compare for equality and
        include the data pointer in the comparison. The latter
        finds the index entry that points to the current record.
        This is necessary for non-unique indexes.
        
        The old operator, SEARCH_SAME, is unknown to the rtree
        search functions and handled like MBR_DISJOINT.
      myisam/mi_key.c:
        Bug#17877 - Corrupted spatial index
        Added a missing DBUG_RETURN.
      myisam/rt_index.c:
        Bug#17877 - Corrupted spatial index
        Included the data pointer in the copy of the search key.
        This is necessary for searching the index entry that points
        to a specific record if the search_flag contains MBR_DATA.
      myisam/rt_mbr.c:
        Bug#17877 - Corrupted spatial index
        Extended the RT_CMP() macro with an assert for an 
        unexpected comparison operator.
      mysql-test/r/gis-rtree.result:
        Bug#17877 - Corrupted spatial index
        The test result.
      mysql-test/t/gis-rtree.test:
        Bug#17877 - Corrupted spatial index
        The test case.
      02edab28
  19. 04 May, 2006 1 commit
    • unknown's avatar
      Bug#19025 4.1 mysqldump doesn't correctly dump "auto_increment = [int]" · 64828eeb
      unknown authored
      mysqldump / SHOW CREATE TABLE will show the NEXT available value for
      the PK, rather than the *first* one that was available (that named in
      the original CREATE TABLE ... AUTO_INCREMENT = ... statement).
      
      This should produce correct and robust behaviour for the obvious use
      cases -- when no data were inserted, then we'll produce a statement
      featuring the same value the original CREATE TABLE had; if we dump
      with values, INSERTing the values on the target machine should set the
      correct next_ID anyway (and if not, we'll still have our AUTO_INCREMENT =
      ... to do that). Lastly, just the CREATE statement (with no data) for
      a table that saw inserts would still result in a table that new values
      could safely be inserted to).
      
      There seems to be no robust way however to see whether the next_ID
      field is > 1 because it was set to something else with CREATE TABLE
      ... AUTO_INCREMENT = ..., or because there is an AUTO_INCREMENT column
      in  the table (but no initial value was set with AUTO_INCREMENT = ...)
      and then one or more rows were INSERTed, counting up next_ID. This
      means that in both cases, we'll generate an AUTO_INCREMENT =
      ... clause in SHOW CREATE TABLE / mysqldump.  As we also show info on,
      say, charsets even if the user did not explicitly give that info in
      their own CREATE TABLE, this shouldn't be an issue.
      
      As per above, the next_ID will be affected by any INSERTs that have
      taken place, though.  This /should/ result in correct and robust
      behaviour, but it may look non-intuitive to some users if they CREATE
      TABLE ... AUTO_INCREMENT = 1000 and later (after some INSERTs) have
      SHOW CREATE TABLE give them a different value (say, CREATE TABLE
      ... AUTO_INCREMENT = 1006), so the docs should possibly feature a
      caveat to that effect.
      
      It's not very intuitive the way it works now (with the fix), but it's
      *correct*.  We're not storing the original value anyway, if we wanted
      that, we'd have to change on-disk representation?
      
      If we do dump/load cycles with empty DBs, nothing will change.  This
      changeset includes an additional test case that proves that tables
      with rows will create the same next_ID for AUTO_INCREMENT = ... across
      dump/restore cycles.
      
      Confirmed by support as likely solution for client's problem.
      
      
      mysql-test/r/auto_increment.result:
        test for creation of AUTO_INCREMENT=... clause
      mysql-test/r/gis-rtree.result:
        Add AUTO_INCREMENT=... clauses where appropriate
      mysql-test/r/mysqldump.result:
        show that AUTO_INCREMENT=... will survive dump/restore cycles
      mysql-test/r/symlink.result:
        Add AUTO_INCREMENT=... clauses where appropriate
      mysql-test/t/auto_increment.test:
        test for creation of AUTO_INCREMENT=... clause
      mysql-test/t/mysqldump.test:
        show that AUTO_INCREMENT=... will survive dump/restore cycles
      sql/sql_show.cc:
        Add AUTO_INCREMENT=... to output of SHOW CREATE TABLE if there is an
        AUTO_INCREMENT column, and NEXT_ID > 1 (the default).  We must not print
        the clause for engines that do not support this as it would break the
        import of dumps, but as of this writing, the test for whether
        AUTO_INCREMENT columns are allowed and wether AUTO_INCREMENT=...
        is supported is identical, !(file->table_flags() & HA_NO_AUTO_INCREMENT))
        Because of that, we do not explicitly test for the feature,
        but may extrapolate its existence from that of an AUTO_INCREMENT column.
      64828eeb
  20. 22 Feb, 2006 1 commit
    • unknown's avatar
      Bug#10460 SHOW CREATE TABLE uses inconsistent upper/lower case · a9d32586
      unknown authored
      mysql-test/r/alter_table.result:
        Update test result
      mysql-test/r/analyse.result:
        Update test result
      mysql-test/r/archive.result:
        Update test result
      mysql-test/r/archive_bitfield.result:
        Update test result
      mysql-test/r/archive_gis.result:
        Update test result
      mysql-test/r/bdb.result:
        Update test result
      mysql-test/r/bdb_gis.result:
        Update test result
      mysql-test/r/bigint.result:
        Update test result
      mysql-test/r/binary.result:
        Update test result
      mysql-test/r/case.result:
        Update test result
      mysql-test/r/cast.result:
        Update test result
      mysql-test/r/constraints.result:
        Update test result
      mysql-test/r/create.result:
        Update test result
      mysql-test/r/ctype_collate.result:
        Update test result
      mysql-test/r/ctype_create.result:
        Update test result
      mysql-test/r/ctype_latin1_de.result:
        Update test result
      mysql-test/r/ctype_many.result:
        Update test result
      mysql-test/r/ctype_mb.result:
        Update test result
      mysql-test/r/ctype_recoding.result:
        Update test result
      mysql-test/r/ctype_sjis.result:
        Update test result
      mysql-test/r/ctype_tis620.result:
        Update test result
      mysql-test/r/ctype_ucs.result:
        Update test result
      mysql-test/r/ctype_ujis.result:
        Update test result
      mysql-test/r/ctype_utf8.result:
        Update test result
      mysql-test/r/default.result:
        Update test result
      mysql-test/r/events.result:
        Update test result
      mysql-test/r/federated.result:
        Update test result
      mysql-test/r/fulltext.result:
        Update test result
      mysql-test/r/func_gconcat.result:
        Update test result
      mysql-test/r/func_group.result:
        Update test result
      mysql-test/r/func_math.result:
        Update test result
      mysql-test/r/func_misc.result:
        Update test result
      mysql-test/r/func_str.result:
        Update test result
      mysql-test/r/func_system.result:
        Update test result
      mysql-test/r/gis-rtree.result:
        Update test result
      mysql-test/r/heap.result:
        Update test result
      mysql-test/r/index_merge_innodb.result:
        Update test result
      mysql-test/r/information_schema.result:
        Update test result
      mysql-test/r/innodb.result:
        Update test result
      mysql-test/r/innodb_gis.result:
        Update test result
      mysql-test/r/key.result:
        Update test result
      mysql-test/r/merge.result:
        Update test result
      mysql-test/r/myisam.result:
        Update test result
      mysql-test/r/mysqldump-max.result:
        Update test result
      mysql-test/r/mysqldump.result:
        Update test result
      mysql-test/r/ndb_bitfield.result:
        Update test result
      mysql-test/r/ndb_gis.result:
        Update test result
      mysql-test/r/ndb_partition_key.result:
        Update test result
      mysql-test/r/null.result:
        Update test result
      mysql-test/r/partition.result:
        Update test result
      mysql-test/r/partition_02myisam.result:
        Update test result
      mysql-test/r/partition_mgm_err.result:
        Update test result
      mysql-test/r/partition_range.result:
        Update test result
      mysql-test/r/ps_2myisam.result:
        Update test result
      mysql-test/r/ps_3innodb.result:
        Update test result
      mysql-test/r/ps_4heap.result:
        Update test result
      mysql-test/r/ps_5merge.result:
        Update test result
      mysql-test/r/ps_6bdb.result:
        Update test result
      mysql-test/r/rpl_mixed_ddl_dml.result:
        Update test result
      mysql-test/r/rpl_multi_engine.result:
        Update test result
      mysql-test/r/rpl_ndb_UUID.result:
        Update test result
      mysql-test/r/show_check.result:
        Update test result
      mysql-test/r/sp-vars.result:
        Update test result
      mysql-test/r/sp.result:
        Update test result
      mysql-test/r/sql_mode.result:
        Update test result
      mysql-test/r/strict.result:
        Update test result
      mysql-test/r/subselect.result:
        Update test result
      mysql-test/r/symlink.result:
        Update test result
      mysql-test/r/synchronization.result:
        Update test result
      mysql-test/r/system_mysql_db.result:
        Update test result
      mysql-test/r/temp_table.result:
        Update test result
      mysql-test/r/trigger.result:
        Update test result
      mysql-test/r/type_binary.result:
        Update test result
      mysql-test/r/type_bit.result:
        Update test result
      mysql-test/r/type_bit_innodb.result:
        Update test result
      mysql-test/r/type_blob.result:
        Update test result
      mysql-test/r/type_decimal.result:
        Update test result
      mysql-test/r/type_enum.result:
        Update test result
      mysql-test/r/type_float.result:
        Update test result
      mysql-test/r/type_nchar.result:
        Update test result
      mysql-test/r/type_newdecimal.result:
        Update test result
      mysql-test/r/type_set.result:
        Update test result
      mysql-test/r/type_timestamp.result:
        Update test result
      mysql-test/r/type_varchar.result:
        Update test result
      mysql-test/r/union.result:
        Update test result
      mysql-test/r/user_var.result:
        Update test result
      mysql-test/r/variables.result:
        Update test result
      sql/sql_show.cc:
        Make ouput from SHOW CREATE TABLE use uppercase for "CHARACTER SET", "COLLATE", "DEFAULT", "ON UPDATE" and "AUTO_INCREMENT"
      a9d32586
  21. 02 Feb, 2006 1 commit
    • unknown's avatar
      Remove extra space in SHOW CREATE TABLE output. (Bug #13883) · b959c57a
      unknown authored
      mysql-test/r/alter_table.result:
        Update test results
      mysql-test/r/archive_bitfield.result:
        Update test results
      mysql-test/r/create.result:
        Update test results
      mysql-test/r/ctype_tis620.result:
        Update test results
      mysql-test/r/gis-rtree.result:
        Update test results
      mysql-test/r/index_merge_innodb.result:
        Update test results
      mysql-test/r/information_schema.result:
        Update test results
      mysql-test/r/innodb.result:
        Update test results
      mysql-test/r/key.result:
        Update test results
      mysql-test/r/merge.result:
        Update test results
      mysql-test/r/partition.result:
        Update test results
      mysql-test/r/partition_range.result:
        Update test results
      mysql-test/r/rpl000002.result:
        Update test results
      mysql-test/r/rpl_multi_engine.result:
        Update test results
      mysql-test/r/show_check.result:
        Update test results
      mysql-test/r/sql_mode.result:
        Update test results
      mysql-test/r/strict.result:
        Update test results
      mysql-test/r/symlink.result:
        Update test results
      mysql-test/r/system_mysql_db.result:
        Update test results
      mysql-test/r/type_blob.result:
        Update test results
      sql/sql_show.cc:
        Avoid adding extra space between 'PRIMARY KEY' and key fields in
        SHOW CREATE TABLE output.
      b959c57a
  22. 09 Aug, 2005 1 commit
  23. 13 May, 2005 1 commit
    • 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
  24. 29 Apr, 2005 1 commit
    • unknown's avatar
      Fix for #6553 and #8776 (no errors on bad spatial data) · d1c51472
      unknown authored
      mysql-test/r/gis-rtree.result:
        test result fixed
      mysql-test/r/gis.result:
        test result fixed
      mysql-test/t/gis-rtree.test:
        test case fixed
      mysql-test/t/gis.test:
        test case added
      sql/field.cc:
        error messages launched now when we try to put bad spatial
        data in the GEOMETRY field
      sql/field.h:
        interface fixed
      sql/item_geofunc.cc:
        bad_data sign now instead of NULL now returned from
        Item_geometry_from_text::val_str
      sql/share/errmsg.txt:
        error message added
      sql/spatial.cc:
        bad_geometry data instance
      sql/spatial.h:
        bad_geometry_data declaration
      sql/sql_base.cc:
        messages now created in store_* function
      d1c51472
  25. 15 Jan, 2005 1 commit
    • unknown's avatar
      Enable warnings for 'no default' fields being set to default when they · 9c69733f
      unknown authored
      are not specified in an insert. Most of these changes are actually to
      clean up the test suite to either specify defaults to avoid warnings,
      or add the warnings to the results. Related to bug #5986.
      
      
      mysql-test/t/index_merge_ror.test:
        Set default on columns to avoid warnings
      mysql-test/t/ctype_many.test:
        Add defaults to avoid warnings
      mysql-test/t/ctype_latin1_de.test:
        Add defaults to avoid warnings
      mysql-test/t/gis-rtree.test:
        Remove field that isn't used in test
      mysql-test/t/limit.test:
        set default values
      mysql-test/t/null.test:
        Specify default values
      mysql-test/t/order_by.test:
        add default value
      mysql-test/t/show_check.test:
        Add defaults
      mysql-test/t/sp.test:
        Add default value
      mysql-test/t/type_blob.test:
        Set default value
      mysql-test/t/type_ranges.test:
        Set default values
      mysql-test/r/create.result:
        Update results
      mysql-test/r/ctype_latin1_de.result:
        Update results
      mysql-test/r/ctype_many.result:
        Update results
      mysql-test/r/gis-rtree.result:
        Update results
      mysql-test/r/grant.result:
        Update results
      mysql-test/r/grant2.result:
        Update results
      mysql-test/r/help.result:
        Update results
      mysql-test/r/limit.result:
        Update results
      mysql-test/r/null.result:
        Update results
      mysql-test/r/order_by.result:
        Update results
      mysql-test/r/rpl000001.result:
        Update results
      mysql-test/r/sp.result:
        Update results
      mysql-test/r/strict.result:
        Update results
      mysql-test/r/type_blob.result:
        Update results
      mysql-test/r/type_ranges.result:
        Update results
      mysql-test/r/warnings.result:
        Update results
      sql/sql_insert.cc:
        Change check_that_all_fields_are_given_values() to issue warnings for all
        fields, and not only run when thd->abort_on_warning is set and error on
        just the first field.
      9c69733f
  26. 10 Dec, 2004 1 commit
    • unknown's avatar
      Fix for bug #6516 (Server crash loading spatial data) · ea7a9d1a
      unknown authored
      (after discussion with SerG)
      
      
      include/my_base.h:
        Handler error code added
      myisam/mi_write.c:
        New error code handled
      myisam/rt_index.c:
        check for zero length added
      myisam/sp_key.c:
        zero length check added
      mysql-test/r/gis-rtree.result:
        appropriate test result
      mysql-test/t/gis-rtree.test:
        test case
      sql/handler.cc:
        new error code handling added
      ea7a9d1a
  27. 06 Dec, 2004 1 commit
  28. 02 Oct, 2004 1 commit
    • unknown's avatar
      More fixes for strict mode: · d4f0cdc5
      unknown authored
      More tests.
      Better error messages.
      Fixed bug when checking if we updated all needed columns for INSERT.
      Give an error if we encounter a wrong float value during parsing.
      Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS.
      Fixed UPDATE IGNORE when using STRICT mode.
      
      
      include/mysqld_error.h:
        More error messages for strict mode
      include/sql_state.h:
        Fixed wrong state
        New error message
      mysql-test/r/alter_table.result:
        Updated results for not automatic default fields
      mysql-test/r/auto_increment.result:
        Better error messages
      mysql-test/r/create.result:
        Updated results for not automatic default fields
        Better error messages
      mysql-test/r/ctype_collate.result:
        Updated results for not automatic default fields
      mysql-test/r/ctype_latin1_de.result:
        Updated results for not automatic default fields
      mysql-test/r/ctype_many.result:
        Updated results for not automatic default fields
      mysql-test/r/ctype_recoding.result:
        Updated results for not automatic default fields
      mysql-test/r/gis-rtree.result:
        Updated results for not automatic default fields
      mysql-test/r/gis.result:
        Updated results for not automatic default fields
      mysql-test/r/innodb.result:
        Updated results for not automatic default fields
      mysql-test/r/insert.result:
        Better error messages
      mysql-test/r/insert_select.result:
        Better error messages
      mysql-test/r/isam.result:
        Updated results for not automatic default fields
      mysql-test/r/key.result:
        Better error messages
      mysql-test/r/merge.result:
        Updated results for not automatic default fields
      mysql-test/r/null.result:
        Better error messages
      mysql-test/r/null_key.result:
        Better error messages
      mysql-test/r/ps_1general.result:
        Updated results for not automatic default fields
      mysql-test/r/select.result:
        Drop views that may interfere with later results
      mysql-test/r/show_check.result:
        Updated results for not automatic default fields
      mysql-test/r/sp.result:
        Updated results for not automatic default fields
      mysql-test/r/strict.result:
        More tests
      mysql-test/r/type_set.result:
        Updated results for not automatic default fields
      mysql-test/r/warnings.result:
        Better error messages
      mysql-test/t/insert.test:
        Using wrong float values now gives an error
      mysql-test/t/select.test:
        Drop views that may interfere with later results
      mysql-test/t/strict.test:
        More tests
      scripts/mysql_fix_privilege_tables.sql:
        Add missing DEFAULT's
      sql/field.cc:
        Fix some strict mode issues for float and double
      sql/field.h:
        Fix DEFAULT handling
      sql/item.cc:
        Give an error if we encounter a wrong float value during parsing.
        Give an error if we use DEFAULT() on a field that doesn't have a default value.
      sql/item.h:
        Give an error if we encounter a wrong float value during parsing.
      sql/mysqld.cc:
        More debug info
      sql/share/czech/errmsg.txt:
        Better error messages
      sql/share/danish/errmsg.txt:
        Better error messages
      sql/share/dutch/errmsg.txt:
        Better error messages
      sql/share/english/errmsg.txt:
        Better error messages
      sql/share/estonian/errmsg.txt:
        Better error messages
      sql/share/french/errmsg.txt:
        Better error messages
      sql/share/german/errmsg.txt:
        Better error messages
      sql/share/greek/errmsg.txt:
        Better error messages
      sql/share/hungarian/errmsg.txt:
        Better error messages
      sql/share/italian/errmsg.txt:
        Better error messages
      sql/share/japanese/errmsg.txt:
        Better error messages
      sql/share/korean/errmsg.txt:
        Better error messages
      sql/share/norwegian-ny/errmsg.txt:
        Better error messages
      sql/share/norwegian/errmsg.txt:
        Better error messages
      sql/share/polish/errmsg.txt:
        Better error messages
      sql/share/portuguese/errmsg.txt:
        Better error messages
      sql/share/romanian/errmsg.txt:
        Better error messages
      sql/share/russian/errmsg.txt:
        Better error messages
      sql/share/serbian/errmsg.txt:
        Better error messages
      sql/share/slovak/errmsg.txt:
        Better error messages
      sql/share/spanish/errmsg.txt:
        Better error messages
      sql/share/swedish/errmsg.txt:
        Better error messages
      sql/share/ukrainian/errmsg.txt:
        Better error messages
      sql/sql_insert.cc:
        Fixed bug in last push of checking of default values.
      sql/sql_parse.cc:
        Enum fields has always a default value
      sql/sql_show.cc:
        Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS
      sql/sql_table.cc:
        Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
      sql/sql_update.cc:
        Don't abort for wrong values for UPDATE IGNORE
      sql/sql_yacc.yy:
        Abort if we find a wrong float value
      sql/table.cc:
        Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
      d4f0cdc5
  29. 02 Jun, 2004 1 commit
    • unknown's avatar
      wl 1562 (To improve RTree indexes) · 7cafb309
      unknown authored
      some changes to make code nicer
      
      
      include/myisampack.h:
        mi_sint1korr and similar things added to do conversion in an
        uniform way
      myisam/rt_index.c:
        'if' simplified
      myisam/rt_mbr.c:
        some fixes to make code nicer and smaller
      myisam/rt_test.c:
        some modifications to extend test
      mysql-test/r/gis-rtree.result:
        result became slightly different because of changes made
      7cafb309
  30. 08 Apr, 2004 1 commit
    • unknown's avatar
      Moved reading of ranges from opt_range.cc to handler.cc · 031e7872
      unknown authored
      This gives the handler more optimization possiblities and is needed for NDB cluster
      Fixed not-initialized memory error detected by valgrind
      
      
      mysql-test/mysql-test-run.sh:
        Fixed address to manual page
      mysql-test/r/gis-rtree.result:
        Added test to show fatal error in GIS
      mysql-test/r/grant.result:
        New tests
      mysql-test/t/gis-rtree.test:
        New tests
      mysql-test/t/grant.test:
        New tests
      sql/handler.cc:
        Moved reading of ranges from opt_range.cc to handler.cc
        This gives the handler more optimization possiblities and is needed for NDB cluster
      sql/handler.h:
        Moved reading of ranges from opt_range.cc to handler.cc
        T
      sql/opt_range.cc:
        Moved reading of ranges from opt_range.cc to handler.cc
        Simplified GIS get_next() handling
        Indentation cleanups
      sql/opt_range.h:
        Removed not needed cmp_next()
        Added new QUICK_SELECT method for GIS keys to make code for normal keys easier and faster
      sql/sql_select.cc:
        Fixed wrong handling of usable-keys in test_if_skip_sort_order (not fatal, just a warning from valgrind)
        Added DBUG
        Cleaned up comments
      031e7872
  31. 19 Feb, 2004 1 commit
    • unknown's avatar
      Fix for #2237 and #2490 (analyze and check for RTree keys) · 4fd522ba
      unknown authored
      Now checking of the RTree keys works without errors.
      Worklog entry about appropriate checkup's routine for the RTree added
      
      
      myisam/mi_check.c:
        HA_SPATIAL checks added
      mysql-test/r/gis-rtree.result:
        Appropriate test resutl
      mysql-test/t/gis-rtree.test:
        test case
      4fd522ba
  32. 10 Dec, 2003 1 commit
    • unknown's avatar
      WorkLog#1323 · 833f85fb
      unknown authored
      Deprecate the use of TYPE=... Preferred syntax is ENGINE=
      
      
      include/mysqld_error.h:
        New warning for deprecated syntax
      sql/lex.h:
        Introduce ENGINE keyword
        Sort order of symbols
      sql/share/czech/errmsg.txt:
        New warning for deprecated syntax
      sql/share/danish/errmsg.txt:
        New warning for deprecated syntax
      sql/share/dutch/errmsg.txt:
        New warning for deprecated syntax
      sql/share/english/errmsg.txt:
        New warning for deprecated syntax
      sql/share/estonian/errmsg.txt:
        New warning for deprecated syntax
      sql/share/french/errmsg.txt:
        New warning for deprecated syntax
      sql/share/german/errmsg.txt:
        New warning for deprecated syntax
      sql/share/greek/errmsg.txt:
        New warning for deprecated syntax
      sql/share/hungarian/errmsg.txt:
        New warning for deprecated syntax
      sql/share/italian/errmsg.txt:
        New warning for deprecated syntax
      sql/share/japanese/errmsg.txt:
        New warning for deprecated syntax
      sql/share/korean/errmsg.txt:
        New warning for deprecated syntax
      sql/share/norwegian-ny/errmsg.txt:
        New warning for deprecated syntax
      sql/share/norwegian/errmsg.txt:
        New warning for deprecated syntax
      sql/share/polish/errmsg.txt:
        New warning for deprecated syntax
      sql/share/portuguese/errmsg.txt:
        New warning for deprecated syntax
      sql/share/romanian/errmsg.txt:
        New warning for deprecated syntax
      sql/share/russian/errmsg.txt:
        New warning for deprecated syntax
      sql/share/serbian/errmsg.txt:
        New warning for deprecated syntax
      sql/share/slovak/errmsg.txt:
        New warning for deprecated syntax
      sql/share/spanish/errmsg.txt:
        New warning for deprecated syntax
      sql/share/swedish/errmsg.txt:
        New warning for deprecated syntax
      sql/share/ukrainian/errmsg.txt:
        New warning for deprecated syntax
      sql/sql_show.cc:
        Change TYPE= with ENGINE=
      sql/sql_yacc.yy:
        Introduce ENGINE keyword,
        Deprecate TYPE= syntax,
        Introduce SHOW ENGINE syntax,
        Deprecate SHOW INNODB/BDB syntax.
      mysql-test/r/alias.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/alter_table.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/auto_increment.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/bdb-alter-table-1.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/bdb-crash.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/bdb-deadlock.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/bdb.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/bdb_cache.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/case.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/cast.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/constraints.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/create.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/ctype_collate.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/ctype_latin1_de.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/ctype_many.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/ctype_mb.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/ctype_recoding.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/ctype_ucs.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/delete.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/distinct.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/fulltext.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/fulltext2.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/fulltext_distinct.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/fulltext_left_join.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/func_compress.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/func_date_add.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/func_group.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/func_if.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/func_str.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/func_system.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/func_test.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/func_time.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/gis-rtree.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/group_by.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/handler.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/heap.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/heap_auto_increment.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/heap_btree.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/heap_hash.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/help.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/innodb-deadlock.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/innodb.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/innodb_cache.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/innodb_handler.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/insert_select.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/isam.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/join.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/join_crash.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/join_outer.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/key.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/lock.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/lock_tables_lost_commit.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/merge.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/mix_innodb_myisam_binlog.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/multi_update.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/myisam.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/null.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/null_key.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/order_by.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/query_cache.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/range.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/repair_part1.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/replace.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/rollback.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/rpl000006.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/rpl_flush_tables.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/rpl_insert_id.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/rpl_relayrotate.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/select.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/select_found.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/show_check.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/sql_mode.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/status.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/subselect.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/subselect2.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/subselect_innodb.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/symlink.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/temp_table.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/type_blob.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/type_datetime.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/type_enum.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/type_nchar.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/type_set.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/union.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/update.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/r/warnings.result:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/alias.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/alter_table.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/auto_increment.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/bdb-alter-table-1.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/bdb-crash.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/bdb-deadlock.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/bdb.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/bdb_cache.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/create.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/ctype_ucs.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/delete.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/distinct.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/fulltext.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/fulltext2.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/fulltext_distinct.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/fulltext_left_join.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/func_compress.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/func_date_add.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/func_group.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/func_if.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/func_str.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/func_test.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/func_time.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/gis-rtree.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/group_by.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/handler.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/heap.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/heap_auto_increment.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/heap_btree.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/heap_hash.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/help.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/innodb-deadlock.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/innodb.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/innodb_cache.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/innodb_handler.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/insert_select.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/isam.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/join.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/join_crash.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/join_outer.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/key.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/lock.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/lock_tables_lost_commit.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/merge.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/mix_innodb_myisam_binlog.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/multi_update.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/myisam.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/null.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/null_key.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/order_by.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/outfile.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/query_cache.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/query_cache_merge.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/range.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/repair_part1.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/replace.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/rollback.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/rpl000006.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/rpl_flush_tables.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/rpl_insert_id.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/rpl_relayrotate.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/select.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/select_found.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/show_check.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/sql_mode.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/status.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/subselect.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/subselect2.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/subselect_innodb.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/symlink.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/temp_table.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/type_datetime.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/type_set.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/union.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/update.test:
        Change occurances of TYPE= to ENGINE=
      mysql-test/t/warnings.test:
        Change occurances of TYPE= to ENGINE=
        New test for deprecated syntax
      833f85fb
  33. 18 Nov, 2003 1 commit
    • unknown's avatar
      CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS · 1b739e39
      unknown authored
      New multi-key-cache handling. This was needed becasue the old one didn't work reliable with MERGE tables.
      ALTER TABLE table_name ... CHARACTER SET  ... now changes all char/varchar/text columns to the given character set
      (One must use ALTER TABLE ... DEFAULT CHARACTER SET ... to change the default character set)
      Fixed that have_compress is detected properly (fixes problems with func_compress.test on platforms without zlib)
      New syntax for CACHE INDEX ('keys' is optional if no index name is given and one mentions the key cache name only ones)
      Removed compiler warnings
      Added mysql_set_server_option() to allow clients like PHP to easaily set/reset the multi-statement flag.
      
      
      BUILD/compile-pentium-valgrind-max:
        Add test of isam
      client/mysql.cc:
        CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
      include/my_base.h:
        Remove HA_EXTRA_SET_KEY_CACHE
      include/my_no_pthread.h:
        Add defines to ignore rw-locks when running without threads
      include/my_sys.h:
        Added function for multi-key-caches
      include/myisam.h:
        Added function to handle multi-key-caches
      include/mysql.h:
        Added mysql_set_server_option
      include/mysql_com.h:
        CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
        Added enum_mysql_set_option
      include/mysqld_error.h:
        Added error message for unknown key cache
      innobase/srv/srv0start.c:
        Removed warning that is confused for MySQL users
      libmysql/libmysql.c:
        Added mysql_set_server_option()
      libmysql/libmysql.def:
        Added mysql_set_server_option()
      myisam/ft_nlq_search.c:
        Removed compiler warning
      myisam/ft_static.c:
        Removed compiler warning and fixed wrong return value
      myisam/mi_check.c:
        Clean up multi-key-cache usage
      myisam/mi_checksum.c:
        Removed not used variable
      myisam/mi_close.c:
        keycache -> key_cache
      myisam/mi_delete_all.c:
        keycache -> key_cache
      myisam/mi_extra.c:
        keycache -> key_cache
        Removed HA_EXTRA_SET_KEY_CACHE
      myisam/mi_keycache.c:
        Changed logic so that it's MyISAM that is responsible for assign tables to different key caches instead of the upper level
      myisam/mi_locking.c:
        Don't change key cache on unlock (must be done before)
      myisam/mi_open.c:
        Fetch key cache to use from multi_key_cache_search()
      myisam/mi_page.c:
        keycache -> key_cache
      myisam/mi_panic.c:
        keycache -> key_cache
      myisam/mi_preload.c:
        keycache -> key_cache
      myisam/mi_test1.c:
        Use KEY_CACHE_BLOCK_SIZE
      myisam/mi_test2.c:
        Always test resize_key_cache()
      myisam/mi_test3.c:
        Use KEY_CACHE_BLOCK_SIZE instead of 512
      myisam/myisamchk.c:
        update for multiple key caches
      myisam/myisamdef.h:
        Remove reg_keycache
        Add unique_name_length for storing length of unique_file_name
      myisam/myisamlog.c:
        Change how end_key_cache() is called
      mysql-test/mysql-test-run.sh:
        Fixed web link
        Added name of failed test to abort row.
      mysql-test/r/alter_table.result:
        Testing of ALTER TABLE ... [DEFAULT] CHARACTER SET
      mysql-test/r/case.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/cast.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/create.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/ctype_collate.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/ctype_latin1_de.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/ctype_many.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/ctype_mb.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/ctype_recoding.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/ctype_ucs.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/derived.result:
        Use STRAIGHT_JOIN to make join order predictable
      mysql-test/r/fulltext.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/func_str.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/func_system.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/gis-rtree.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/innodb.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/key_cache.result:
        Update test for new key cache syntax.
        Added more tests
      mysql-test/r/merge.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/preload.result:
        New syntax
      mysql-test/r/show_check.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/sql_mode.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/subselect.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/type_blob.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/type_enum.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/type_nchar.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/type_set.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/union.result:
        Use STRAIGHT_JOIN to make join order predictable
      mysql-test/t/alter_table.test:
        Testing of ALTER TABLE ... [DEFAULT] CHARACTER SET
      mysql-test/t/ctype_many.test:
        Update result for DEFAULT CHARSET...
      mysql-test/t/derived.test:
        Use STRAIGHT_JOIN to make join order predictable
      mysql-test/t/isam.test:
        Use disable warnings for test loop
      mysql-test/t/join.test:
        Update test now when we only support 61 tables in join
      mysql-test/t/key_cache.test:
        Update test for new key cache syntax.
        Added more tests
      mysql-test/t/preload.test:
        Update for new syntax
      mysql-test/t/union.test:
        Use STRAIGHT_JOIN to make join order predictable
      mysys/Makefile.am:
        Added mf_keycaches.c
      mysys/hash.c:
        TRUE -> 1
      mysys/mf_keycache.c:
        Removed compiler warnings
        Striped end space
        Fixed indentation and improved function comments
        TRUE -> 1
        Changed parameters to end_key_cache() to make it easer to use
        Fixed bug when using key blocks size > 1024 bytes (First part of index file could be overwritten with wrong data)
        Split function flush_key_blocks into two functions to not get mutex used twice when called from flush_all_key_blocks()
      mysys/my_bitmap.c:
        More debugging
        Safe bitmap_free()
        Fixed indentation
      mysys/my_getopt.c:
        Ensure that we initialize option->value, option->max_value and value from GET_ASK_ADDR
      mysys/my_thr_init.c:
        Remove not used mutex THR_LOCK_keycache
      mysys/typelib.c:
        Fixed function comments
      sql-common/client.c:
        CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
        Fixed the multi_result flag is set also on SELECT;s
      sql/ha_myisam.cc:
        Fixed multiple key_cache handling
        (Now done on MyISAM level)
      sql/ha_myisammrg.cc:
        Fixed multiple key_cache handling
        (Now done on MyISAM level)
      sql/handler.cc:
        New multi key cache handling
      sql/handler.h:
        New multi key cache handling
        Added support for default character set
      sql/item.h:
        Added function cleanup() (Needed for prepared statements / cursors)
      sql/item_cmpfunc.h:
        Added cleanup function
      sql/item_func.cc:
        Indentation cleanup
      sql/mysql_priv.h:
        New multi-key-cache functions
        Removed LOCK_assign
      sql/mysqld.cc:
        New multi-key-cache handling
        Fixed that variable have_compress is set correctly
      sql/protocol.cc:
        SELECT didn't work reliable in multi-statements
      sql/set_var.cc:
        Support for new key cache variables
      sql/set_var.h:
        Support for new key cache variables
      sql/share/czech/errmsg.txt:
        New error messages
      sql/share/danish/errmsg.txt:
        New error messages
      sql/share/dutch/errmsg.txt:
        New error messages
      sql/share/english/errmsg.txt:
        New error messages
      sql/share/estonian/errmsg.txt:
        New error messages
      sql/share/french/errmsg.txt:
        New error messages
      sql/share/german/errmsg.txt:
        New error messages
      sql/share/greek/errmsg.txt:
        New error messages
      sql/share/hungarian/errmsg.txt:
        New error messages
      sql/share/italian/errmsg.txt:
        New error messages
      sql/share/japanese/errmsg.txt:
        New error messages
      sql/share/korean/errmsg.txt:
        New error messages
      sql/share/norwegian-ny/errmsg.txt:
        New error messages
      sql/share/norwegian/errmsg.txt:
        New error messages
      sql/share/polish/errmsg.txt:
        New error messages
      sql/share/portuguese/errmsg.txt:
        New error messages
      sql/share/romanian/errmsg.txt:
        New error messages
      sql/share/russian/errmsg.txt:
        New error messages
      sql/share/serbian/errmsg.txt:
        New error messages
      sql/share/slovak/errmsg.txt:
        New error messages
      sql/share/spanish/errmsg.txt:
        New error messages
      sql/share/swedish/errmsg.txt:
        New error messages
      sql/share/ukrainian/errmsg.txt:
        New error messages
      sql/sql_base.cc:
        Removed all key_cache handling (this is now done on MyISAM level)
        Change table_charset -> default_table_charset
      sql/sql_db.cc:
        table_charset -> default_table_charset
      sql/sql_delete.cc:
        table_charset -> default_table_charset
      sql/sql_lex.cc:
        CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
      sql/sql_lex.h:
        New option to store a name and length
      sql/sql_parse.cc:
        Support for mysql_set_server_option()
        Reset "default" keycache status variables in 'FLUSH STATUS' (Need to be improved later)
      sql/sql_show.cc:
        Add DEFAULT before CHARSET (for table character sets)
        Fetch key cache variables from 'sql_key_cache'
      sql/sql_table.cc:
        table_charset -> default_table_charset
        New multi-key-cache handling
      sql/sql_test.cc:
        Write information from all key caches
      sql/sql_yacc.yy:
        Changed syntax for CACHE INDEX ...
        Force user to use DEFAULT before database/table level character sets
      sql/structs.h:
        Added SHOW_KEY_CACHE_LONG (to get values from sql_key_cache)
      sql/table.cc:
        table_charset -> default_table_charset
      sql/table.h:
        New key cache handling (this is now done in mysys/mf_keycaches.c)
      sql/unireg.h:
        A
      1b739e39
  34. 18 Mar, 2003 1 commit
  35. 12 Mar, 2003 1 commit