An error occurred fetching the project authors.
  1. 14 Mar, 2008 1 commit
    • unknown's avatar
      BUG#28248 - mysqldump results with MERGE ... UNION=() cannot be executed · 196b616a
      unknown authored
      When there are no underlying tables specified for a merge table,
      SHOW CREATE TABLE outputs a statement that cannot be executed. The
      same is true for mysqldump (it generates dumps that cannot be
      executed).
      
      This happens because SQL parser does not accept empty UNION() clause.
      
      This patch changes the following:
      - it is now possible to execute CREATE/ALTER statement with
        empty UNION() clause.
      - the same as above, but still worth noting: it is now possible to
        remove underlying tables mapping using ALTER TABLE ... UNION=().
      - SHOW CREATE TABLE does not output UNION() clause if there are
        no underlying tables specified for a merge table. This makes
        mysqldump slightly smaller.
      
      
      mysql-test/r/merge.result:
        A test case for BUG#28248.
      mysql-test/t/merge.test:
        A test case for BUG#28248.
      sql/ha_myisammrg.cc:
        Do not output UNION clause in SHOW CREATE TABLE, when there are
        no underlying tables defined.
      sql/sql_yacc.yy:
        Make underlying table list for MERGE engine optional.
        
        As for MERGE engine empty underlying tables list is valid, it should
        be valid for the parser as well.
        
        This change is mostly needed to restore dumps made by earlier MySQL
        versions. Also with this fix it is possible to remove underlying
        tables mapping by using ALTER TABLE ... UNION=().
      196b616a
  2. 26 Nov, 2007 1 commit
    • unknown's avatar
      Fix for bug #28837: MyISAM storage engine error (134) doing delete with · 67bf39f2
      unknown authored
      self-join
      
      When doing DELETE with self-join on a MyISAM or MERGE table, it could
      happen that a record being retrieved in join_read_next_same() has
      already been deleted by previous iterations. That caused the engine's
      index_next_same() method to fail with HA_ERR_RECORD_DELETED error and
      the whole DELETE query to be aborted with an error.
      
      Fixed by suppressing the HA_ERR_RECORD_DELETED error in
      hy_myisam::index_next_same() and ha_myisammrg::index_next_same(). Since
      HA_ERR_RECORD_DELETED can only be returned by MyISAM, there is no point
      in filtering this error in the SQL layer.
      
      
      mysql-test/r/merge.result:
        Added a test case for bug #28837.
      mysql-test/r/myisam.result:
        Added a test case for bug #28837.
      mysql-test/t/merge.test:
        Added a test case for bug #28837.
      mysql-test/t/myisam.test:
        Added a test case for bug #28837.
      sql/ha_myisam.cc:
        Skip HA_ERR_RECORD_DELETED silently when calling mi_rnext_same().
      sql/ha_myisammrg.cc:
        Skip HA_ERR_RECORD_DELETED silently when calling mi_rnext_same().
      67bf39f2
  3. 09 Oct, 2007 1 commit
    • unknown's avatar
      Bug#15522 - create ... select and with merge tables · 0c0042a5
      unknown authored
      Added test case.
      The fix for Bug#20662 does also fix this one.
      
      
      mysql-test/r/merge.result:
        Bug#15522 - create ... select and with merge tables
        Added test result.
      mysql-test/t/merge.test:
        Bug#15522 - create ... select and with merge tables
        Added test case.
      0c0042a5
  4. 14 Jun, 2007 1 commit
    • unknown's avatar
      BUG#26976 - Missing table in merge not noted in related error msg + · 5bc3eb2e
      unknown authored
                  SHOW CREATE TABLE fails
      Addition to the fix: report db name + table name instead of table path.
      This solves embedded merge test failure.
      
      
      mysql-test/r/merge.result:
        BUG#26976 - Missing table in merge not noted in related error msg +
                    SHOW CREATE TABLE fails
        Addition to the fix: report db name + table name instead of table path.
      sql/ha_myisammrg.cc:
        BUG#26976 - Missing table in merge not noted in related error msg +
                    SHOW CREATE TABLE fails
        Addition to the fix: report db name + table name instead of table path.
      5bc3eb2e
  5. 05 Jun, 2007 1 commit
    • unknown's avatar
      BUG#26976 - Missing table in merge not noted in related error msg + · 55c76592
      unknown authored
                  SHOW CREATE TABLE fails
      
      Underlying table names, that merge engine fails to open were not
      reported.
      
      With this fix CHECK TABLE issued against merge table reports all
      underlying table names that it fails to open. Other statements
      are unaffected, that is underlying table names are not included
      into error message.
      
      This fix doesn't solve SHOW CREATE TABLE issue.
      
      
      myisammrg/myrg_def.h:
        Added myrg_print_wrong_table declaration.
      myisammrg/myrg_open.c:
        If HA_OPEN_FOR_REPAIR is passed to merge engine open function,
        report names of tables that we fail to open.
      mysql-test/r/backup.result:
        Updated test result.
      mysql-test/r/key_cache.result:
        Updated test result - removed duplicate error.
      mysql-test/r/lock.result:
        Updated test result - added summary row.
      mysql-test/r/merge.result:
        A test case for BUG#26976.
      mysql-test/r/preload.result:
        Updated test result - removed duplicate error, added summary row.
      mysql-test/r/ps.result:
        Updated test result - removed duplicate error, added summary row.
      mysql-test/r/repair.result:
        Updated test result - removed duplicate error, added summary row.
      mysql-test/r/rpl_failed_optimize.result:
        Updated test result - removed duplicate error, added summary row.
      mysql-test/r/sp.result:
        Updated test result - removed duplicate error, added summary row.
      mysql-test/r/view.result:
        Updated test result - removed duplicate error, added summary row.
      mysql-test/t/merge.test:
        A test case for BUG#26976.
      sql/ha_myisam.cc:
        Do not report same error twice.
      sql/ha_myisammrg.cc:
        If HA_OPEN_FOR_REPAIR is passed to merge engine open function,
        report names of tables that we fail to open.
        
        Added dummy ha_myisammrg::check to not confuse users with
        "not implemented" error in case all underlying tables are
        fine.
      sql/ha_myisammrg.h:
         Added ha_myisammrg::check declaration.
      sql/share/errmsg.txt:
        Added ER_ADMIN_WRONG_MRG_TABLE errno. It is used instead
        of ER_WRONG_MRG_TABLE in case HA_OPEN_FOR_REPAIR is
        passed to merge engine handler open function.
      sql/sql_error.cc:
        warning_level_* are now public. It is required by mysql_admin_table to
        report message level.
      sql/sql_error.h:
        warning_level_* are now public. It is required by mysql_admin_table to
        report message level.
      sql/sql_table.cc:
        Reorder mysql_admin_table arguments to meet it's definition.
        
        Report errors that are pending in thd->warn_list as results of
        admin function.
      55c76592
  6. 10 Apr, 2007 1 commit
    • unknown's avatar
      BUG#24342 - Incorrect results with query over MERGE table · 6866ca00
      unknown authored
      MERGE engine may return incorrect values when several representations
      of equal keys are present in the index. For example "groß" and "gross"
      or "gross" and "gross " (trailing space), which are considered equal,
      but have different lengths.
      
      The problem was that key length was not recalculated after key lookup.
      
      Only MERGE engine is affected.
      
      
      myisam/mi_rkey.c:
        info->lastkey gets rewritten by mi_search. Later we recalculate found lastkey
        length. This is done to make sure that mi_rnext_same gets true, found (not
        searched) lastkey length. Searched and found key lengths may be different,
        for example in case searched key is "groß" and found is "gross" or in case
        a key has trailing spaces.
        
        Unfortunately we recalculate found lastkey length only for first
        underlying table. To recalculate found key length for non-first underlying
        table we need to know how much key segments were used to create this key.
        
        When mi_rkey is called for first underlying table of a merge table, store
        offset to last used key segment.
        
        Restore last_used_keyseg variable when mi_rkey is called for non-first
        underlying table.
      myisam/myisamdef.h:
        Added last_used_keyseg variable to MI_INFO. It is used by merge engine to calculate
        key length.
      myisammrg/myrg_rkey.c:
        Pass last used key segment returned by first table key read to other
        table key reads.
      mysql-test/r/merge.result:
        A test case for bug#24342.
      mysql-test/t/merge.test:
        A test case for bug#24342.
      6866ca00
  7. 20 Mar, 2007 1 commit
    • unknown's avatar
      tests fixed to work in embedded server · 089fca6b
      unknown authored
      mysql-test/r/delayed.result:
        result fixed
      mysql-test/r/merge.result:
        result fixed
      mysql-test/t/delayed.test:
        moved here from merge.test
      mysql-test/t/init_connect.test:
        test fixed as it created users, then stopped without deletion, what caused
        problems in consequent tests
      mysql-test/t/merge.test:
        moved to delayed.test
      mysql-test/t/mysqlbinlog-cp932.test:
        disabled in embedded server
      089fca6b
  8. 13 Mar, 2007 1 commit
    • unknown's avatar
      BUG#26881 - Large MERGE tables report incorrect specification when no · 969b7165
      unknown authored
                  differences in tables
      Certain merge tables were wrongly reported as having incorrect definition:
      - Some fields that are 1 byte long (e.g. TINYINT, CHAR(1)), might
        be internally casted (in certain cases) to a different type on a
        storage engine layer. (affects 4.1 and up)
      - If tables in a merge (and a MERGE table itself) had short VARCHAR column (less
        than 4 bytes) and at least one (but not all) tables were ALTER'ed (even to an
        identical table: ALTER TABLE xxx ENGINE=yyy), table definitions went ouf of
        sync. (affects 4.1 only)
      
      This is fixed by relaxing a check for underlying conformance and setting
      field type to FIELD_TYPE_STRING in case varchar is shorter than 4
      when a table is created.
      
      
      myisam/mi_create.c:
        Added a comment.
      mysql-test/r/merge.result:
        A test case for bug#26881.
      mysql-test/t/merge.test:
        A test case for bug#26881.
      sql/ha_myisam.cc:
        Relaxed some checks performed by check_definition():
        As comparing of fulltext keys (and key segments) is not yet implemented,
        only return an error in case one of keys is fulltext and other is not.
        Otherwise, if both keys are fulltext, accept them as is.
        
        As comparing of spatial keys (and key segments) is not yet implemented,
        only return an error in case one of keys is spatial and other is not.
        Otherwise, if both keys are spatial, accept them as is.
        
        A workaround to handle situation when field is casted from FIELD_SKIP_ZERO
        to FIELD_NORMAL. This could happen only in case field length is 1 and row
        format is fixed.
      sql/sql_parse.cc:
        When a table that has varchar field shorter than 4 is created, field type is
        set to FIELD_TYPE_VAR_STRING. Later, when a table is modified using alter
        table, field type is changed to FIELD_TYPE_STRING (see Field_string::type).
        That means HA_OPTION_PACK_RECORD flag might be lost and thus null_bit might
        be shifted by alter table, in other words alter table doesn't create 100%
        equal table definition.
        
        This is usually not a problem, since when a table is created/altered,
        definition on a storage engine layer is based on one that is passed from
        sql layer. But it is a problem for merge engine - null_bit is shifted when
        a table (merge or underlying) is altered.
        
        Set field type to FIELD_TYPE_STRING in case FIELD_TYPE_VAR_STRING is shorter
        than 4 when a table is created as it is done in Field::type.
      969b7165
  9. 05 Mar, 2007 1 commit
    • unknown's avatar
      Bug#26464 - insert delayed + update + merge = corruption · da9c659c
      unknown authored
      Using INSERT DELAYED on MERGE tables could lead to table
      corruptions.
      
      The manual lists a couple of storage engines, which can be
      used with INSERT DELAYED. MERGE is not in this list.
      
      The attempt to try it anyway has not been rejected yet.
      This bug was not detected earlier as it can work under
      special circumstances. Most notable is low concurrency.
      
      To be safe, this patch rejects any attempt to use INSERT
      DELAYED on MERGE tables.
      
      
      mysql-test/r/merge.result:
        Bug#26464 - insert delayed + update + merge = corruption
        Added test result.
      mysql-test/t/merge.test:
        Bug#26464 - insert delayed + update + merge = corruption
        Added test.
      sql/ha_myisammrg.h:
        Bug#26464 - insert delayed + update + merge = corruption
        Removed HA_CAN_INSERT_DELAYED flag from table_flags().
        The insert delayed thread upgrades the lock from the first
        entry in MYSQL_LOCK::locks only. Hence it is incapable to
        handle MERGE tables, which have as many entries in this
        array as they have MyISAM sub-tables.
      da9c659c
  10. 31 Jan, 2007 1 commit
    • unknown's avatar
      WL#3567 - MERGE engine: a check for underlying table conformance · f7b3c7c5
      unknown authored
      When a merge table is opened compare column and key definition of
      underlying tables against column and key definition of merge table.
      
      If any of underlying tables have different column/key definition
      refuse to open merge table.
      
      
      mysql-test/r/merge.result:
        A test case for WL#3456.
      mysql-test/t/merge.test:
        A test case for WL#3456.
      sql/ha_myisam.cc:
        Moved a part of code that converts TABLE object to MyISAM key and column
        definition to a separate function.
        
        Added check_definition() function that compares MyISAM table definitions.
      sql/ha_myisammrg.cc:
        Check if underlying table definition conforms to merge table definition,
        and in case underlying table definition differs, refuse to open merge
        table.
      f7b3c7c5
  11. 16 Oct, 2006 1 commit
    • unknown's avatar
      Bug #22367: Optimizer uses ref join type instead of eq_ref for simple join on · ffc1facc
      unknown authored
                   strings
      MySQL is setting the flag HA_END_SPACE_KEYS for all the keys that reference
      text or varchar columns with collation different than binary.
      This was done to handle correctly the situation where a lookup on such a key
      may return more than 1 row because of the presence of many rows that differ
      only by the amount of trailing space in the table's string column.
      Inserting such values however appears to violate the unique checks on 
      INSERT/UPDATE. Thus that flag must not be set as it will prevent the optimizer
      from choosing a faster access method.
      This fix removes the setting of the HA_END_SPACE_KEYS flag.
      
      
      include/my_base.h:
        Bug #22367: Optimizer uses ref join type instead of eq_ref for simple join on 
                     strings
         - disabled HA_END_SPACE_KEY as it's no longer needed
      mysql-test/r/func_str.result:
        Bug #22367: Optimizer uses ref join type instead of eq_ref for simple join on 
                     strings
         - fixed explain in an existing case
      mysql-test/r/merge.result:
        Bug #22367: Optimizer uses ref join type instead of eq_ref for simple join on 
                     strings
         - fixed explain in an existing case
      mysql-test/r/select.result:
        Bug #22367: Optimizer uses ref join type instead of eq_ref for simple join on 
                     strings
         - test case
      mysql-test/r/subselect.result:
        Bug #22367: Optimizer uses ref join type instead of eq_ref for simple join on 
                     strings
         - fixed explain in an existing case
      mysql-test/t/select.test:
        Bug #22367: Optimizer uses ref join type instead of eq_ref for simple join on 
                     strings
         - test case
      ffc1facc
  12. 06 Oct, 2006 1 commit
  13. 28 Sep, 2006 1 commit
    • unknown's avatar
      BUG#21617 - crash when selecting from merge table with inconsistent indexes · 7d915f01
      unknown authored
      Crash may happen when selecting from a merge table that has underlying
      tables with less indexes than in a merge table itself.
      
      If number of keys in merge table is not bigger than requested key number,
      return error.
      
      
      myisammrg/myrg_open.c:
        Store min(number of keys) in m_info instead of number of keys in last
        underlying table.
      myisammrg/myrg_queue.c:
        Return error if inx passed to _myrg_init_queue function is not less
        than number of keys.
      mysql-test/r/merge.result:
        A test case for bug#21617.
      mysql-test/t/merge.test:
        A test case for bug#21617.
      mysys/queues.c:
        Replaced annoying ifndef DBUG_OFF with DBUG_ASSERT, fixed coding style.
        The problem was that having queue overrun in debug build was hidden
        with this ifdef.
      7d915f01
  14. 27 Sep, 2006 1 commit
  15. 19 Sep, 2006 1 commit
    • unknown's avatar
      BUG#10974 - No error message if merge table based on union of innodb, memory · 23fefc88
      unknown authored
      Fixed confusing error message from the storage engine when
      it fails to open underlying table. The error message is issued
      when a table is _opened_ (not when it is created).
      
      
      myisammrg/myrg_open.c:
        Set my_errno to HA_ERR_WRONG_MRG_TABLE_DEF if attempt to open
        underlying table failed.
      mysql-test/r/merge.result:
        A test case for bug#10974.
      mysql-test/r/repair.result:
        Fixed a test case according to patch for bug#10974.
      mysql-test/t/merge.test:
        A test case for bug#10974.
      sql/share/english/errmsg.txt:
        Better error message if we fail to open underlying table.
      sql/table.cc:
        Report error from handler with print_error instead of frm_error. This
        fixes confusing error message from the handler. Actually this is
        backported from 5.0.
      23fefc88
  16. 12 Jul, 2006 1 commit
    • unknown's avatar
      Bug #17766: The server accepts to create MERGE tables which cannot work · 97cdd9df
      unknown authored
       Changed the error reporting (and a crash) when inserting data into a
       MERGE table that has no underlying tables or no INSERT_METHOD specified
       by reporting that it is read-only.
      
      
      include/my_base.h:
        Add new handler error
      mysql-test/r/merge.result:
        Update results
      mysql-test/t/merge.test:
        Add new regression test
      sql/ha_myisammrg.cc:
        When trying to insert into a MERGE table with no underlying tables
        or no INSERT_METHOD, report that it is read-only.
      sql/handler.cc:
        Handle new error message
      97cdd9df
  17. 10 Jul, 2006 1 commit
  18. 31 May, 2006 1 commit
    • unknown's avatar
      Bug#19648 · 11dbc1c4
      unknown authored
        "Merge table does not work with bit types"
         MERGE should have HA_CAN_BIT_FIELD feature bit set or else table row is
         formatted incorrectly.
      
      
      mysql-test/r/merge.result:
        Bug#19648
          Test for fix
      mysql-test/t/merge.test:
        Bug#19648
          Test for fix
      sql/ha_myisammrg.h:
        Bug#19648
          Must have HA_CAN_BIT_FIELD for BIT type support
      11dbc1c4
  19. 09 May, 2006 1 commit
    • unknown's avatar
      bug#10952 · 6116d017
      unknown authored
        "alter table from MyISAM to MERGE lost data without errors and warnings"
        Add new handlerton flag which prevent user from altering table storage
        engine to storage engines which would lose data. Both 'blackhole' and 
        'merge' are marked with the new flag.
        Tests included.
      
      
      mysql-test/r/blackhole.result:
        test for bug#10952
      mysql-test/r/merge.result:
        test for bug#10952
      mysql-test/t/blackhole.test:
        test for bug#10952
      mysql-test/t/merge.test:
        test for bug#10952
      sql/ha_blackhole.cc:
        Bug#10952
          shouldn't be able to alter a table into a blackhole
      sql/ha_myisammrg.cc:
        Bug#10952
          shouldn't be able to alter a table into a merge
      sql/handler.h:
        Bug#10952
          new handlerton flag
      sql/sql_table.cc:
        Bug#10952
          If alter is changing engine, check if new engine allows creating table
          via ALTER statement.
      6116d017
  20. 11 Feb, 2006 1 commit
    • unknown's avatar
      BUG#17314: Can't use index_merge/intersection for MERGE tables · 4b0cce48
      unknown authored
      1. Fix index access costs for MERGE tables, set block_size=myisam_block_size/#underlying_tables 
         instead of 0 which it was before.
      2. Make index scans on MERGE table to return records in (key_tuple, merge_table_rowid) order, 
         instead of just (key_tuple) order. This makes an index scan on MERGE table to be truly a ROR-scan
         which is a requirement for index_merge union/intersection.
      
      
      myisammrg/myrg_queue.c:
        BUG#17314: Make index scans on MERGE table return records ordered by (keytuple, merge_table_rowid).
      mysql-test/r/index_merge.result:
        Testcase for BUG#17314
      mysql-test/r/merge.result:
        BUG#17314: update testcase result
      mysql-test/t/index_merge.test:
        Testcase for BUG#17314
      sql/ha_myisammrg.cc:
        BUG#17314: For MERGE tables, set handler::block_size to myisam_block_size/#underlying_tables, and not to 0.
      4b0cce48
  21. 20 Dec, 2005 1 commit
    • unknown's avatar
      BUG#5390 - problems with merge tables · 5113bdff
      unknown authored
      Problem #1: INSERT...SELECT, Version for 5.0.
      Extended the unique table check by a check of lock data.
      Merge sub-tables cannot be detected by doing name checks only.
      
      
      mysql-test/r/create.result:
        BUG#5390 - problems with merge tables
        Removed a duplicate test.
      mysql-test/r/merge.result:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Added test results.
      mysql-test/t/create.test:
        BUG#5390 - problems with merge tables
        Removed a duplicate test.
      mysql-test/t/merge.test:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Added tests.
      sql/lock.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added a new function to find a duplicate lock in a list of tables.
      sql/mysql_priv.h:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added the thread handle to unique_table().
        Added a declaration for the new function.
      sql/sql_base.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added the thread handle to unique_table().
        Added a call to the new mysql_lock_have_duplicate(),
        which needs the thread handle, to unique_table().
      sql/sql_delete.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added the thread handle to unique_table().
      sql/sql_insert.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added the thread handle to unique_table().
      sql/sql_load.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added the thread handle to unique_table().
      sql/sql_parse.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added the thread handle to unique_table().
      sql/sql_update.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added the thread handle to unique_table().
        Replaced a call to find_table_in_local_list() by
        the newly extended unique_table().
      5113bdff
  22. 07 Dec, 2005 1 commit
    • unknown's avatar
      BUG#5390 - problems with merge tables · f6cac54b
      unknown authored
      Problem #1: INSERT...SELECT, Version for 4.1.
      INSERT ... SELECT with the same table on both sides (hidden
      below a MERGE table) does now work by buffering the select result.
      The duplicate detection works now after open_and_lock_tables() 
      on the locks.
      I did not find a test case that failed without the change in
      sql_update.cc. I made the change anyway as it should in theory
      fix a possible MERGE table problem with multi-table update.
      
      
      libmysqld/ha_blackhole.cc:
        BUG#5390 - problems with merge tables
        No idea, how the symlink change made it into my patch.
      mysql-test/r/create.result:
        BUG#5390 - problems with merge tables
        Removed a duplicate test.
      mysql-test/r/merge.result:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 4.1.
        Added test results.
      mysql-test/t/create.test:
        BUG#5390 - problems with merge tables
        Removed a duplicate test.
      mysql-test/t/merge.test:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 4.1.
        Added tests.
      sql/lock.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 4.1.
        Added a new function to find a duplicate lock in a list of tables.
      sql/mysql_priv.h:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 4.1.
        Added a declaration for the new function.
      sql/sql_parse.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 4.1.
        Changed the duplicate tables detection for INSERT ... SELECT
        to use the new function, which does also work for MERGE tables.
      sql/sql_update.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 4.1.
        Changed the duplicate tables detection for UPDATE
        to use the new function, which does also work for MERGE tables.
      f6cac54b
  23. 29 Nov, 2005 1 commit
    • unknown's avatar
      BUG#5390 - problems with merge tables · 38b7ede9
      unknown authored
      Problem #1: INSERT...SELECT
      INSERT ... SELECT with the same table on both sides (hidden
      below a MERGE table) does now work by buffering the select result.
      The duplicate detection works now after open_and_lock_tables() 
      on the locks.
      I did not find a test case that failed without the change in
      sql_update.cc. I made the change anyway as it should in theory
      fix a possible MERGE table problem with multi-table update.
      
      
      mysql-test/r/create.result:
        BUG#5390 - problems with merge tables
        Removed a duplicate test.
      mysql-test/r/merge.result:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Added test results.
      mysql-test/t/create.test:
        BUG#5390 - problems with merge tables
        Removed a duplicate test.
      mysql-test/t/merge.test:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Added tests.
      sql/lock.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Added a new function to find a duplicate lock in a list of tables.
      sql/mysql_priv.h:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Added a declaration for the new function.
      sql/sql_parse.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Changed the duplicate tables detection for INSERT ... SELECT
        to use the new function, which does also work for MERGE tables.
      sql/sql_update.cc:
        BUG#5390 - problems with merge tables
        Changed the duplicate tables detection for UPDATE
        to use the new function, which does also work for MERGE tables.
      38b7ede9
  24. 29 Sep, 2005 1 commit
  25. 27 Sep, 2005 1 commit
  26. 23 Sep, 2005 1 commit
    • unknown's avatar
      Bug#9112 - Merge table with composite index producing invalid results with some queries · 674c8165
      unknown authored
      The problem was an ab-use of last_rkey_length.
      Formerly we saved the packed key length (of the search key)
      in this element. But in certain cases it got replaced by 
      the (packed) result key length.
      Now we use a new element of MI_INFO to save the packed key 
      length of the search key.
      
      
      myisam/mi_dbug.c:
        Bug#9112 - Merge table with composite index producing invalid results with some queries
        Fixed the recognition of NULL values in _mi_print_key().
      myisam/mi_rkey.c:
        Bug#9112 - Merge table with composite index producing invalid results with some queries
        Saved the packed key length in a new element of MI_INFO.
      myisam/mi_search.c:
        Bug#9112 - Merge table with composite index producing invalid results with some queries
        Added a comment and trace prints.
      myisam/myisamdef.h:
        Bug#9112 - Merge table with composite index producing invalid results with some queries
        Added a new element to store the packed key length
        for use by the MyISAMMRG engine.
      myisammrg/myrg_rkey.c:
        Bug#9112 - Merge table with composite index producing invalid results with some queries
        Changed to use the new element of MI_INFO to get at the
        packed key length.
      mysql-test/r/merge.result:
        Bug#9112 - Merge table with composite index producing invalid results with some queries
        The test result.
      mysql-test/t/merge.test:
        Bug#9112 - Merge table with composite index producing invalid results with some queries
        The test case.
      674c8165
  27. 18 May, 2005 1 commit
    • unknown's avatar
      Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE · 0461b482
      unknown authored
      After review version.
      Added a condition for MERGE tables. These do not have unique
      indexes. But every key could be a unique key on the underlying
      MyISAM table. So get the maximum key length for MERGE tables
      instead of the maximum unique key length. This is used for
      buffer allocation in write_record().
      
      
      mysql-test/r/merge.result:
        Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
        The test result.
      mysql-test/t/merge.test:
        Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
        The test case does not in all cases show the problem
        without the bugfix. The improper memory allocation
        might get through undetected in many cases.
      sql/ha_myisammrg.h:
        Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
        Set a table_flag for the MERGE engine telling that any index
        might be unique without being specified as such.
      sql/handler.h:
        Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
        Added a new table_flag telling that any index
        might be unique without being specified as such.
      sql/sql_insert.cc:
        Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
        Changed the freeing of the memory to be symmetric to its
        allocation (my_safe_alloc -> my_safe_afree).
        This is not directly related to the bug.
      sql/table.cc:
        Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
        Added a condition for MERGE tables. These do not have unique
        indexes. But every key could be a unique key on the underlying
        MyISAM table. So get the maximum key length for MERGE tables
        instead of the maximum unique key length. This is used for
        buffer allocation in write_record().
      0461b482
  28. 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 · b21cf962
      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
      b21cf962
  29. 27 Dec, 2004 1 commit
    • unknown's avatar
      Fix for BUG#7377. This fix adds the same implementation for... · b4c61152
      unknown authored
      Fix for BUG#7377. This fix adds the same implementation for ha_myisammgr::index_type as in version 5.0.
      
      
      mysql-test/r/merge.result:
        Added test result for BUG#7377.
      mysql-test/t/merge.test:
        Added test for BUG#7377.
      sql/ha_myisammrg.cc:
        Added implementation for handler::index_type.
      sql/ha_myisammrg.h:
        Added implementation for handler::index_type.
      b4c61152
  30. 23 Dec, 2004 1 commit
    • unknown's avatar
      WL#1895 - Print message to error log in case of detected MyISAM corruption · bec3feaa
      unknown authored
      Changed my_error() to print error messages, which come from
      arbitrary registered ranges of error messages. Messages can
      be unregistered (and should be at end of the program).
      Added registration of handler error messages.
      Added a new mi_print_error() macro and a new 
      mi_report_error() function, which supply error
      messages with a table name.
      Added calls to mi_print_error() or mi_report_error()
      at all places in MyISAM, where table corruption is detected.
      
      
      extra/comp_err.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added prints for ER_ERROR_FIRST and ER_ERROR_LAST.
        Removed print for ER_ERROR_MESSAGES.
      include/errmsg.h:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added declaration for a new function.
        Added first and last error number defines.
      include/my_base.h:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added first and last error number defines.
      include/my_sys.h:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Removed obsolete defines.
        Removed a global variable, which held pointers to the error message arrays.
        Added declarations for new functions.
      include/mysys_err.h:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Removed an obsolete define.
        Changed two defines to use the new defines.
        Added first and last error number defines.
      libmysql/errmsg.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Replaced global array initialization by proper registration
        and unregistration of client error messages.
      libmysql/libmysql.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added a call for unregistration of client error messages.
      myisam/mi_delete.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
        Added a debugging call to pretend MyISAM corruption in case a special
        debug string is set.
        Added a debugging call to test undefined error numbers in case a special
        debug string is set.
      myisam/mi_extra.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_info.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added the error logging function.
      myisam/mi_key.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_keycache.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_locking.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_open.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
        Added a debugging call to pretend MyISAM corruption in case a special
        debug string is set.
      myisam/mi_page.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_range.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_rkey.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_search.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_update.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
        Added a debugging call to pretend MyISAM corruption in case a special
        debug string is set.
      myisam/mi_write.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
        Added a debugging call to pretend MyISAM corruption in case a special
        debug string is set.
      myisam/myisamdef.h:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added the declaration of the new error logging function
        and a new macro.
      mysql-test/r/merge.result:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changed test results. These come from the changed error reporting
        in openfrm().
      mysql-test/r/repair.result:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changed test results. These come from the changed error reporting
        in openfrm().
      mysql-test/t/merge.test:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changederror numbers. These come from the changed error reporting
        in openfrm().
      mysys/errors.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Dropped the assignment of the global errors to the
        dropped global pointer array.
      mysys/my_error.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changed my_error() from using a static array of pointers to
        error message arrays to using a linked list of structures
        with pointers to array message arrays.
        Added functions for registering and unregistering error 
        message arrays to the chain.
      sql/derror.cc:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changed reading of mysqld error messages to using the new
        registering and unregistering functions.
      sql/handler.cc:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added initialization and deinitialization of handler error messages.
        Included more handler error messages in the mapping to
        mysqld error messages.
      sql/mysqld.cc:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changed deinitialization of error messages to proper
        unregistration.
      sql/table.cc:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changed error reporting in openfrm() so that error messages from
        handler::ha_open() are reported by handler::print_error(). This
        changed messages from "Can't open 't1.MYI' (errno: 130)" to
        "Incorrect file format 't1'" for example.
      sql/unireg.h:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changed two defines to use the new defines.
      bec3feaa
  31. 06 Dec, 2004 1 commit
    • unknown's avatar
      Add support for up to VARCHAR (size up to 65535) · a8ea31fa
      unknown authored
      Renamed HA_VAR_LENGTH to HA_VAR_LENGTH_PART
      Renamed in all files FIELD_TYPE_STRING and FIELD_TYPE_VAR_STRING to MYSQL_TYPE_STRING and MYSQL_TYPE_VAR_STRING to make it easy to catch all possible errors
      Added support for VARCHAR KEYS to heap
      Removed support for ISAM
      Now only long VARCHAR columns are changed to TEXT on demand (not CHAR)
      Internal temporary files can now use fixed length tables if the used VARCHAR columns are short
      
      
      BitKeeper/deleted/.del-ha_isam.cc~4dce65904db2675e:
        Delete: sql/ha_isam.cc
      BitKeeper/deleted/.del-_cache.c~b5d80b5c3ae233b1:
        Delete: isam/_cache.c
      BitKeeper/deleted/.del-_dbug.c~88d7964ae5e3c9bd:
        Delete: isam/_dbug.c
      BitKeeper/deleted/.del-_dynrec.c~48dd758f5a5450df:
        Delete: isam/_dynrec.c
      BitKeeper/deleted/.del-_key.c~ce62d47a6c681084:
        Delete: isam/_key.c
      BitKeeper/deleted/.del-_locking.c~dea4cdc6ea425c67:
        Delete: isam/_locking.c
      BitKeeper/deleted/.del-_packrec.c~47ae1b16c007e9be:
        Delete: isam/_packrec.c
      BitKeeper/deleted/.del-_page.c~148b1a613d052ee8:
        Delete: isam/_page.c
      BitKeeper/deleted/.del-_search.c~f509292aa1ff18ff:
        Delete: isam/_search.c
      BitKeeper/deleted/.del-_statrec.c~58d9263b3475d58b:
        Delete: isam/_statrec.c
      BitKeeper/deleted/.del-changed.c~d075de80a314b02d:
        Delete: isam/changed.c
      BitKeeper/deleted/.del-close.c~fd62629496ee5bcc:
        Delete: isam/close.c
      BitKeeper/deleted/.del-create.c~96cecc433c0c2242:
        Delete: isam/create.c
      BitKeeper/deleted/.del-delete.c~65ee8daaa75a14b6:
        Delete: isam/delete.c
      BitKeeper/deleted/.del-extra.c~706f29d72beb2565:
        Delete: isam/extra.c
      BitKeeper/deleted/.del-info.c~96cfb747af8da0d:
        Delete: isam/info.c
      BitKeeper/deleted/.del-isamchk.c~c0f59c2687d2248f:
        Delete: isam/isamchk.c
      BitKeeper/deleted/.del-isamlog.c~85b6b31c6e2b8519:
        Delete: isam/isamlog.c
      BitKeeper/deleted/.del-log.c~55a973013d55cade:
        Delete: isam/log.c
      BitKeeper/deleted/.del-open.c~95b3b75042fae00a:
        Delete: isam/open.c
      BitKeeper/deleted/.del-pack_isam.c~43801f0df7504834:
        Delete: isam/pack_isam.c
      BitKeeper/deleted/.del-panic.c~f7fd71605324f8f3:
        Delete: isam/panic.c
      BitKeeper/deleted/.del-range.c~142f1f8ac4948082:
        Delete: isam/range.c
      BitKeeper/deleted/.del-rfirst.c~66f494291dc005d3:
        Delete: isam/rfirst.c
      BitKeeper/deleted/.del-rkey.c~cc54c6498352f999:
        Delete: isam/rkey.c
      BitKeeper/deleted/.del-rlast.c~d1fe1866139e9866:
        Delete: isam/rlast.c
      BitKeeper/deleted/.del-rnext.c~b308eaa1e11ea7de:
        Delete: isam/rnext.c
      BitKeeper/deleted/.del-rprev.c~b359f71fdea4bbce:
        Delete: isam/rprev.c
      BitKeeper/deleted/.del-rrnd.c~7fcfcce88d4a5200:
        Delete: isam/rrnd.c
      BitKeeper/deleted/.del-rsame.c~75a62d5548103a15:
        Delete: isam/rsame.c
      BitKeeper/deleted/.del-rsamepos.c~5b5652dd2cda6d5d:
        Delete: isam/rsamepos.c
      BitKeeper/deleted/.del-sort.c~e2e56b5a37ce86f4:
        Delete: isam/sort.c
      BitKeeper/deleted/.del-static.c~3a1354b84f4a9cc7:
        Delete: isam/static.c
      BitKeeper/deleted/.del-test1.c~64d52e9412d457ed:
        Delete: isam/test1.c
      BitKeeper/deleted/.del-test2.c~2f9a632cab572958:
        Delete: isam/test2.c
      BitKeeper/deleted/.del-test3.c~e8a7a4afe8a087:
        Delete: isam/test3.c
      BitKeeper/deleted/.del-isamdef.h~ac8d49e7e2201c66:
        Delete: isam/isamdef.h
      BitKeeper/deleted/.del-update.c~670264f51dc44934:
        Delete: isam/update.c
      BitKeeper/deleted/.del-write.c~8f1918b1f6770e54:
        Delete: isam/write.c
      BitKeeper/deleted/.del-Makefile.am~6cfa0db5e7778d09:
        Delete: isam/Makefile.am
      BitKeeper/deleted/.del-make-ccc~3ee55391eda0b0ab:
        Delete: isam/make-ccc
      BitKeeper/deleted/.del-ChangeLog~208984fb7a51e568:
        Delete: isam/ChangeLog
      BitKeeper/deleted/.del-test_all.res~c2aafb49a3a77db7:
        Delete: isam/test_all.res
      BitKeeper/deleted/.del-test_all~93c701e44a9c5b65:
        Delete: isam/test_all
      BitKeeper/deleted/.del-.cvsignore~54f6f0f2d5012561:
        Delete: isam/.cvsignore
      BitKeeper/deleted/.del-ha_isammrg.cc~dc682e4755d77a2e:
        Delete: sql/ha_isammrg.cc
      BitKeeper/deleted/.del-ha_isam.h~bf53d533be3d3927:
        Delete: sql/ha_isam.h
      BitKeeper/deleted/.del-ha_isammrg.h~66fd2e5bfe7207dc:
        Delete: sql/ha_isammrg.h
      acinclude.m4:
        Remove ISAM
      client/mysqldump.c:
        FIELD_TYPE -> MYSQL_TYPE
      client/mysqltest.c:
        Add missing DBUG_RETURN
      configure.in:
        Remove ISAM
      heap/heapdef.h:
        Add support for VARCHAR
      heap/hp_create.c:
        Add support for VARCHAR
      heap/hp_delete.c:
        Add support for VARCHAR
      heap/hp_hash.c:
        Add support for VARCHAR
        (VARCHAR keys was not supported before)
      heap/hp_rkey.c:
        Add support for VARCHAR
      heap/hp_update.c:
        Add support for VARCHAR
      heap/hp_write.c:
        Add support for VARCHAR
        (Added flag SEARCH_UPDATE to mark that this is an update)
      include/decimal.h:
        Remove not needed my_global.h
      include/m_ctype.h:
        Add support for VARCHAR
      include/my_base.h:
        Add support for VARCHAR
      include/my_handler.h:
        Moved general purpose macro from MyISAM code
      include/mysql_com.h:
        Add support for VARCHAR
      libmysql/libmysql.c:
        Add support for VARCHAR
      libmysqld/Makefile.am:
        Removed ISAM
      myisam/ft_static.c:
        Add support for VARCHAR
      myisam/ft_test1.c:
        Add support for VARCHAR
      myisam/ft_update.c:
        Add support for VARCHAR
      myisam/mi_check.c:
        Add support for VARCHAR
      myisam/mi_create.c:
        Add support for VARCHAR
        - VARCHAR key segments are marked with HA_VAR_LENGTH_PART
      myisam/mi_key.c:
        Add support for VARCHAR
        Fixed bug in old VARCHAR code when reading index-only
      myisam/mi_range.c:
        Fixed comment style
      myisam/mi_rnext_same.c:
        Handle case where equal keys can be of different length
      myisam/mi_search.c:
        Add support for VARCHAR
      myisam/mi_test1.c:
        Add support for VARCHAR
      myisam/mi_unique.c:
        Add support for VARCHAR
        (Some new code to handle keys that are equal but have different lengths)
      myisam/mi_write.c:
        Fixed comment
      myisam/myisamchk.c:
        Better infotext if wrong type
      mysql-test/r/bdb.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/create.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ctype_tis620.result:
        Updated old result and new results for VARCHAR
        (Old code sorted tis620 wrong)
      mysql-test/r/ctype_ucs.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/endspace.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/func_like.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/heap.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/innodb.result:
        Updated old result. This will change a bit when also InnoDB supports VARCHAR
      mysql-test/r/merge.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/myisam.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/mysqldump.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/order_by.result:
        Updated old result and new results for VARCHAR
        (Key length is different for VARCHAR)
      mysql-test/r/ps.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_1general.result:
        Updated results for new .frm version
        Don't print seconds in show full process list as this may change
      mysql-test/r/ps_2myisam.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_3innodb.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_4heap.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_5merge.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_6bdb.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/select.result.es:
        Updated results by hand
      mysql-test/r/select.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/select_found.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/show_check.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/strict.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/subselect.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/system_mysql_db.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/type_blob.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/type_ranges.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/type_ranges.result.es:
        Updated some results by hand
      mysql-test/t/bdb.test:
        Test VARCHAR
      mysql-test/t/ctype_ucs.test:
        Some fixes related to VARCHAR
      mysql-test/t/endspace.test:
        Fixes to make it easier to compare columns with end space
      mysql-test/t/heap.test:
        Test VARCHAR
      mysql-test/t/innodb.test:
        Prepare for testing VARCHAR
      mysql-test/t/myisam.test:
        Test VARCHAR
      mysql-test/t/ps_1general.test:
        Don't show seconds for show processlist
      mysql-test/t/ps_4heap.test:
        Update for VARCHAR
      mysql-test/t/strict.test:
        Fix test for VARCHAR
      mysql-test/t/type_blob.test:
        Update test for VARCHAR
        Note that now you can't store 'a' and 'a ' in an unique varchar/text index if the column is not binary
      mysys/my_handler.c:
        Add support for VARCHAR
      ndb/src/common/util/NdbSqlUtil.cpp:
        Fix for usage of strnncollsp
      scripts/mysql_fix_privilege_tables.sh:
        Simple fix so that my_print_defaults works
      sql/Makefile.am:
        Remove ISAM
      sql/field.cc:
        Add support for VARCHAR
        Fixed the keys for blob's are compared with strnncollsp
        Ensure that old tables from MySQL 4.0 works as they did before.
        (Old VARCHAR will be converted to new VARCHAR on ALTER TABLE)
      sql/field.h:
        Add support for VARCHAR
      sql/field_conv.cc:
        Change FIELD_TYPE_VAR_STRING -> MYSQL_TYPE_VARCHAR
        Added usage of HA_KEY_BLOB_LENGTH
      sql/ha_berkeley.cc:
        Add support for VARCHAR
        Added usage of table->insert_or_update if we would ever want to know in key_cmp if we are changing keys
      sql/ha_heap.cc:
        Add support for VARCHAR
      sql/ha_innodb.cc:
        Changed MYSQL_TYPE_VAR_STRING to MYSQL_TYPE_VARCHAR.
        Waiting for Heikki to add full VARCHAR support
      sql/ha_innodb.h:
        InnoDB doesn't support full VARCHAR yet
      sql/ha_myisam.cc:
        Add support for VARCHAR
      sql/ha_ndbcluster.cc:
        Add support for VARCHAR
      sql/handler.h:
        Added HA_NO_VARCHAR for table handler that doesn't support VARCHAR. In this case MySQL will create a normal CHAR instead
      sql/item.cc:
        Fixed access of already freed memory
        Added support of VARCHAR
        - varchar length is now checked in mysql_prepare
      sql/item_cmpfunc.cc:
        Added new parameter to strncollsp
      sql/item_sum.cc:
        Added new parameter to strncollsp
        FIELD_TYPE -> MYSQL_TYPE
      sql/key.cc:
        Add support for VARCHAR
      sql/opt_range.cc:
        Remove character set parameter from set_key_image()
      sql/opt_sum.cc:
        Remove character set parameter from set_key_image()
      sql/protocol.cc:
        Return MYSQL_TYPE_VAR_STRING instead of MYSQL_TYPE_VARCHAR to clients (to not cause compatiblity problems)
      sql/sql_acl.cc:
        Change key handling code so that we can use CHAR or VARCHAR for the user table columns
      sql/sql_base.cc:
        Remove old, not used code
      sql/sql_help.cc:
        Remove charset from get_key_image
      sql/sql_parse.cc:
        Ensure that OPTION_TABLE_LOCK is cleared ASAP; This fixed a problem in BDB transaction code when one used LOCK TABLES on a BDB table
        Added support for VARCHAR
        Moved field length checking and VARCHAR -> TEXT convert to mysql_prepare (as we need the know the character set for the column)
      sql/sql_select.cc:
        Added support of VARCHAR
        Added heuristic to use fixed size rows for tmp tables if we are using only a few short VARCHAR's
      sql/sql_string.cc:
        Added extra argument to strnncollsp
      sql/sql_table.cc:
        Add support for VARCHAR
        Automaticly convert (with warning) big VARCHAR (but not CHAR) to TEXT
        If handler doesn't support VARCHAR convert VARCHAR to CHAR
      sql/sql_update.cc:
        Fixed compiler warning
      sql/sql_yacc.yy:
        Add support for VARCHAR
      sql/strfunc.cc:
        Fixed valgrind warning
      sql/structs.h:
        Added 'table' to KEY structure to make life easier for some handler functions
      sql/table.cc:
        Add support for VARCHAR
        - New .frm version
        - FIELD_TYPE -> MYSQL_TYPE
      sql/table.h:
        Added insert_or_update; A bool flag a handler can set/reset if needed (for handler internal usage)
      sql/unireg.h:
        Add support for VARCHAR
      strings/ctype-big5.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-bin.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-czech.c:
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-gbk.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-latin1.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-mb.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-simple.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-sjis.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-tis620.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-uca.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-ucs2.c:
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-utf8.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-win1250ch.c:
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/decimal.c:
        Fixed include files usage
        Fixed some compiler warnings
      tests/client_test.c:
        Ensure tests works with VARCHAR
      a8ea31fa
  32. 29 Nov, 2004 1 commit
    • unknown's avatar
      Fix and testcase for BUG#6699 · 7ea16212
      unknown authored
      myisam/mi_rnext_same.c:
        Fix for BUG#6699: 
          MERGE handler now uses mi_rnext_same() with priority queue, so skip record unpacking if buf==NULL
      myisammrg/myrg_rnext_same.c:
        Fix for BUG#6699: 
         make myrg_rnext_same sort always sort records and return them in key order.
      mysql-test/r/merge.result:
        Test for BUG#6699
      mysql-test/t/merge.test:
        Test for BUG#6699
      7ea16212
  33. 02 Oct, 2004 1 commit
    • unknown's avatar
      More fixes for strict mode: · 6966e869
      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
      6966e869
  34. 10 Sep, 2004 1 commit
    • unknown's avatar
      thd pointer fixed · 76001900
      unknown authored
      BitKeeper/etc/ignore:
        Added libmysqld/sql_trigger.cc to the ignore list
      mysql-test/r/merge.result:
        fix of test
      76001900
  35. 04 Sep, 2004 1 commit
  36. 27 Aug, 2004 1 commit
  37. 25 Jun, 2004 1 commit
  38. 04 Mar, 2004 1 commit
  39. 10 Dec, 2003 1 commit
    • unknown's avatar
      WorkLog#1323 · 80ec8079
      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
      80ec8079
  40. 18 Nov, 2003 1 commit
    • unknown's avatar
      CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS · e72124c4
      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
      e72124c4