1. 30 Mar, 2004 1 commit
    • unknown's avatar
      Worklog#1563 - Support of on-line CREATE/DROP INDEX. · f5297edc
      unknown authored
      This is to enable table handlers to implement online create/drop index.
      It consists of some parts:
      - New default handler methods in handler.h
      - Split of mysql_alter_table. It decides if only one kind of
        alteration is to be done (e.g. only create indexes or only drop
        indexes etc.) It then calls the specialized new handler method if
        the handler implements it. Otherwise it calls real_alter_table.
      - The parser sets flags for each alter operation detected in a
        command. These are used by mysql_alter_table for the decision.
      - mysql_prepare_table is pulled out of mysql_create_table. This is
        also used by mysql_create_index to prepare the key structure array
        for the handler. It is also used by mysql_create_index and
        mysql_drop_index to prepare a call to mysql_create_frm.
      - mysql_create_frm is pulled out of rea_create_table for use by
        mysql_create_index and mysql_drop_index after the index is
        created/dropped.
      Thanks to Antony who supplied most of the changes.
      
      
      sql/handler.h:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        New virtual handler methods with default implementation and return flags.
      sql/mysql_priv.h:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        New function prototypes. mysql_prepare_table is pulled out of
        mysql_create_table. It prepares a table structure, which is used by 
        mysql_create_table, mysql_create_index and mysql_drop_index.
        real_alter_table is pulled out of mysql_alter_table. The latter only
        looks if the requested operation can be done by specialized functions
        or else calls real_alter_table, which does the real thing.
        mysql_add_column and mysql_drop_colunm are for future use. They simply
        call real_alter_table. mysql_create_frm is pulled out of
        rea_create_table. It is called also from mysql_create_index and
        mysql_drop_index after successful create/drop index.
        mysql_alter_table prototype is extended by the new alter_flags argument.
      sql/sql_base.cc:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        mysql_create_index and mysql_drop_index moved to sql_table.cc.
      sql/sql_lex.h:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        Definitions for the new alter_flags.
      sql/sql_parse.cc:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        Extend the calls to mysql_alter_table by the new alter_flags argument.
      sql/sql_table.cc:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        mysql_prepare_table is pulled out of mysql_create_table.
        mysql_create_index and mysql_drop_index are changed so that they use
        the new handler functions if the handler implements them.
        mysql_add_column and mysql_drop_column are for future use. They simply
        call real_alter_table. mysql_alter_table only decides which function
        to use for the requested operation. real_alter_table implements most
        of what mysql_alter_table did before.
      sql/sql_yacc.yy:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        Set the alter_flags where appropriate.
      sql/unireg.cc:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        mysql_create_frm is pulled out of rea_create_table.
      f5297edc
  2. 19 Mar, 2004 7 commits
  3. 18 Mar, 2004 17 commits
  4. 17 Mar, 2004 15 commits
    • unknown's avatar
      Don't change server suffix if given to configure · f107cb70
      unknown authored
      Portability fixes
      
      
      client/mysqltest.c:
        Fixed output of 'affected rows'
      innobase/os/os0file.c:
        Portability fix (for AIX)
      mysql-test/r/rpl_trunc_binlog.result:
        Update results after merge
      sql/mysqld.cc:
        Don't change server suffix if given to configure
      f107cb70
    • unknown's avatar
      merge fixes (use old code) · 24148f04
      unknown authored
      
      client/mysqladmin.c:
        Auto merged
      client/mysqltest.c:
        Auto merged
      innobase/dict/dict0dict.c:
        Auto merged
      innobase/include/os0file.h:
        Auto merged
      innobase/os/os0file.c:
        Auto merged
      myisam/mi_check.c:
        Auto merged
      sql/ha_innodb.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/opt_range.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_cache.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_handler.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      24148f04
    • unknown's avatar
      after merge fixes · 022c5241
      unknown authored
      
      include/my_tree.h:
        After merge fixes
      mysql-test/r/create.result:
        After merge fixes
      mysql-test/r/insert.result:
        After merge fixes
      mysql-test/r/multi_update.result:
        After merge fixes
      mysql-test/r/query_cache.result:
        After merge fixes
      mysql-test/r/rpl_error_ignored_table.result:
        After merge fixes
      mysql-test/r/rpl_optimize.result:
        After merge fixes
      mysql-test/r/show_check.result:
        After merge fixes
      mysql-test/t/insert.test:
        After merge fixes (Remove columns with space last)
      mysql-test/t/multi_update.test:
        After merge fixes
      mysql-test/t/show_check.test:
        After merge fixes
      sql/field.cc:
        Remove compiler warnings
      sql/sql_base.cc:
        Fix bug when table was refreshed
      022c5241
    • unknown's avatar
      ha_innodb.cc: · 7395d54d
      unknown authored
        Add a comment that InnoDB always retrieves the row id, if the clustered index was internally generated by InnoDB. Then we know the 'ref' to the row.
      
      
      sql/ha_innodb.cc:
        Add a comment that InnoDB always retrieves the row id, if the clustered index was internally generated by InnoDB. Then we know the 'ref' to the row.
      7395d54d
    • unknown's avatar
      Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1 · fd2b1a58
      unknown authored
      into teton.kitebird.com:/home/paul/mysql-4.1
      
      
      fd2b1a58
    • unknown's avatar
      Fix typo. · 6d35642f
      unknown authored
      6d35642f
    • unknown's avatar
      Many files: · 68273f0f
      unknown authored
        Fix Bug #1942: do not retrieve all columns in a table if we only need the 'ref' of the row (usually, the PRIMARY KEY) to calculate an ORDER BY
      
      
      innobase/dict/dict0dict.c:
        Fix Bug #1942: do not retrieve all columns in a table if we only need the 'ref' of the row (usually, the PRIMARY KEY) to calculate an ORDER BY
      innobase/include/dict0dict.h:
        Fix Bug #1942: do not retrieve all columns in a table if we only need the 'ref' of the row (usually, the PRIMARY KEY) to calculate an ORDER BY
      innobase/include/row0mysql.h:
        Fix Bug #1942: do not retrieve all columns in a table if we only need the 'ref' of the row (usually, the PRIMARY KEY) to calculate an ORDER BY
      sql/ha_innodb.cc:
        Fix Bug #1942: do not retrieve all columns in a table if we only need the 'ref' of the row (usually, the PRIMARY KEY) to calculate an ORDER BY
      sql/sql_select.cc:
        Fix Bug #1942: do not retrieve all columns in a table if we only need the 'ref' of the row (usually, the PRIMARY KEY) to calculate an ORDER BY
      include/my_base.h:
        Fix Bug #1942: do not retrieve all columns in a table if we only need the 'ref' of the row (usually, the PRIMARY KEY) to calculate an ORDER BY
      68273f0f
    • unknown's avatar
      Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1 · 88fb419f
      unknown authored
      into teton.kitebird.com:/home/paul/mysql-4.1
      
      
      88fb419f
    • unknown's avatar
      merge · 8bdbfee9
      unknown authored
      
      sql/item.h:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/subselect.result:
        resolving conflicts
      mysql-test/t/subselect.test:
        resolving conflicts
      8bdbfee9
    • unknown's avatar
      Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1 · 8f705fbc
      unknown authored
      into teton.kitebird.com:/home/paul/mysql-4.1
      
      
      8f705fbc
    • unknown's avatar
      Added test case for the bug #3155: strange results with index (x, y) ... WHERE... · 47f561de
      unknown authored
      Added test case for the bug #3155: strange results with index (x, y) ... WHERE x=val_1 AND y>=val_2 ORDER BY pk;
      (thankee Monty)
      
      
      mysql-test/r/order_by.result:
        Added test case for the bug #3155: strange results with index (x, y) ... WHERE x=val_1 AND y>=val_2 ORDER BY pk;
      mysql-test/t/order_by.test:
        Added test case for the bug #3155: strange results with index (x, y) ... WHERE x=val_1 AND y>=val_2 ORDER BY pk;
      47f561de
    • unknown's avatar
      Code cleanup: · 6ff6a5ea
      unknown authored
      - added unsigned_flag= 1; to Item_uint constructors
      - removed Item_uint::fix_fields()
      - added a comment about fix_fields() call
      
      
      sql/item.h:
        added unsigned_flag= 1; to Item_uint constructors
        removed Item_uint::fix_fields()
      sql/item_func.cc:
        added a comment about fix_fields() call.
      6ff6a5ea
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.1 · 0de92f82
      unknown authored
      into gluh.mysql.r18.ru:/home/gluh/mysql-4.1.clear
      
      
      0de92f82
    • unknown's avatar
      ca0ece13
    • unknown's avatar
      Fix for the bug #3155: strange results with index (x, y) ... WHERE x=val_1 AND... · 3d13c402
      unknown authored
      Fix for the bug #3155: strange results with index (x, y) ... WHERE x=val_1 AND y>=val_2 ORDER BY pk;
      (test case is too big to be included, take a look at the bug database)
      
      
      
      3d13c402