An error occurred fetching the project authors.
  1. 07 Jun, 2004 1 commit
    • unknown's avatar
      Post review fixes for "SQL Syntax for Prepared Statements". · 2f9a9e55
      unknown authored
      mysql-test/r/ps.result:
        Better error message
      mysys/my_error.c:
        Comments added
      sql/item.cc:
        Moved a chunk of code from sql_prepare.cc to Item_param::set_from_user_var
      sql/item.h:
        Moved a chunk of code from sql_prepare.cc to Item_param::set_from_user_var
      sql/item_func.cc:
        Code cleanup
      sql/mysql_priv.h:
        Code cleanup
      sql/sql_class.cc:
        Code cleanup
      sql/sql_parse.cc:
        use user_var_entry::val_str in PREPARE stmt FROM @var.
      sql/sql_prepare.cc:
        Post-review fixes and code cleanup.
      sql/sql_yacc.yy:
        Coding style fixes
      2f9a9e55
  2. 03 Jun, 2004 1 commit
    • unknown's avatar
      Implementation of WL#1824 "Add replication of character set variables in 4.1", · e784947a
      unknown authored
      by binlogging some SET ONE_SHOT CHARACTER_SETetc,
      which will be enough until we have it more compact and more complete in 5.0. With the present patch,
      replication will work ok between 4.1.3 master and slaves, as long as:
      - master and slave have the same GLOBAL.COLLATION_SERVER
      - COLLATION_DATABASE and CHARACTER_SET_DATABASE are not used
      - application does not use the fact that table is created with charset of the USEd db (BUG#2326).
      all of which are not too hard to fulfill. 
      ONE_SHOT is reserved for internal use of mysqlbinlog|mysql and works only for charsets,
      so we give error if used for non-charset vars.
      Fix for BUG#3875 "mysqlbinlog produces wrong ouput  if query uses
       variables containing quotes" and BUG#3943 "Queries with non-ASCII literals are not replicated
       properly after SET NAMES".
      Detecting that master and slave have different global charsets or server ids.
      
      
      mysql-test/r/rpl_server_id1.result:
        it's normal to not run as I have added a test to compare server ids of master and slave
        at startup and stop if equal (unless --replicate-same-server-id)
      mysql-test/r/rpl_user_variables.result:
        result update (as we now print charset of user var).
      mysql-test/r/user_var.result:
        result update
      mysql-test/t/rpl_server_id1.test:
        no need to select as slave is not running
      mysql-test/t/user_var.test:
        testing if the content of user vars is escaped when mysqlbinlog prints them,
        and if the name is backquoted.
      sql/lex.h:
        new keyword ONE_SHOT
      sql/log.cc:
        when writing to the binlog, before writing the actual statement, write some SET ONE_SHOT CHARACTER_SET_CLIENT etc
        for the slave to know the charset variables (which are important as they affect the inserted data).
      sql/log_event.cc:
        print charset and collation of user var in mysqlbinlog and SHOW BINLOG EVENTS.
        escape the content of the var. Backquote its name.
        Will ask Bar to check that using my_charset_bin for escaping is ok.
      sql/set_var.cc:
        understand SET CHARACTER_SET_CLIENT=10 (don't require a string, accept a number).
        Refuse changing of GLOBAL CHARACTER_SET_SERVER/COLLATION_SERVER if binlog or slave,
        as it will make the master or slave make wrong assumptions.
        A function to catch SET ONE_SHOT on non-charset variables (which is forbidden)
      sql/set_var.h:
        no_support_one_shot to know if the var supports ONE_SHOT (only charset vars do, soon timezones).
        Accept int arg in SET CHARACTER_SET_etc
      sql/slave.cc:
        when I/O slave thread starts, verify that master's and slave charsets match.
        And by the way verify that server ids are different.
        Don't fail if UNIX_TIMESTAMP() can't be done on master (very old master), that's
        not fatal.
      sql/sql_class.cc:
        one_shot
      sql/sql_class.h:
        one_shot
      sql/sql_lex.h:
        one_shot
      sql/sql_parse.cc:
        when SET ONE_SHOT is used, verify that it's only used for charset/collation vars;
        otherwise refuse.
      sql/sql_yacc.yy:
        ONE_SHOT keyword in SET
      e784947a
  3. 01 Jun, 2004 1 commit
    • unknown's avatar
      Changed --log-warnings to be integer instead of boolean. Given --skip-log-warnings · 42283b79
      unknown authored
      will disable warnings, --log-warnings will increment warning level by one, or the
      level can be given as an optional argument. Default level is 1.
      
      Changed aborted connection warning to be logged only if the level is > 1.
      
      
      sql/sql_class.h:
        Changed boolean into ulong.
      sql/sql_parse.cc:
        Changed aborted connection warning to be logged only if the level is > 1.
      42283b79
  4. 29 May, 2004 1 commit
  5. 24 May, 2004 2 commits
    • unknown's avatar
      Support for character set conversion in binary protocol: another go · eff961a9
      unknown authored
      after Monty's review.
      - Item_param was rewritten.
      - it turns out that we can't convert string data to character set of
        connection on the fly, because they first should be written to the binary
        log.
        To support efficient conversion we need to rewrite prepared statements
        binlogging code first.
      
      
      include/my_global.h:
        Macro swap(a, b, c) was renamed to resolve name conflict with
        String::swap() method.
      include/my_sys.h:
        Added declaration of escape_string_for_mysql()
      include/mysql_com.h:
        Removed and moved back: a macro which is visible to libmysql user but
        has sence only in prepared statement protocol implementation.
      isam/_search.c:
        swap -> swap_variables
      isam/test2.c:
        swap -> swap_variables
      libmysql/libmysql.c:
        - sub_escape_string moved to mysys/charset.c to be visible in sql/
        - few cleanups
      myisam/mi_test2.c:
        swap -> swap_variables
      mysys/charset.c:
        sub_escape_string was moved from libmysql.c to be able to use it in sql/
        code.
      mysys/my_chsize.c:
        rename: swap -> swap_variables
      mysys/my_compress.c:
        swap -> swap_variables
      mysys/my_handler.c:
        swap -> swap_variables
      sql/field.cc:
        Field::store_time refactored to use TIME_to_string function from time.cc
      sql/item.cc:
        New implementation of Item_param class:
        added support for character sets conversion.
      sql/item.h:
        Item_param:
        - 'state' member introduced instead of many boolean variables.
        - put ltime, int_value and real_value into union to save space.
        - remove unimplemented members
        - set_value renamed to set_str
      sql/item_timefunc.cc:
        Refactored to use functions from time.cc
      sql/lock.cc:
        rename: swap -> swap_variables
      sql/mysql_priv.h:
        - added declarations for TIME_to_ulonglong_*, TIME_to_string functions
        - const specifiers for make_date, make_time, make_datetime arguments
      sql/opt_range.cc:
        rename: swap -> swap_variables
      sql/protocol.cc:
        - added character set conversion support to binary protocol.
        - Protocol::convert changed to point at shared buffer in THD.
          This lets us use one convert buffer for binary and simple protocol.
          The same buffer is used for client->server conversions in prepared
          statements code.
        - string conversion code refactored to Protocol::store_string_aux function.
        - few more comments
      sql/protocol.h:
        - Protocol::convert now points at THD::convert_buffer: we want to share one
          buffer between all protocol implementations.
      sql/sql_class.cc:
        - implementation of THD::convert_string using THD::convert_buffer
          (conversion of strings allocated in the system heap).
      sql/sql_class.h:
        - THD::convert_buffer is shared between THD and network Protocols and
          used for character set conversion of strings.
        - new function to convert String object from one charset to another using
          THD::convert_buffer
      sql/sql_insert.cc:
        A little fix in a comment.
      sql/sql_parse.cc:
        Shrink convert buffer in the end of each statement.
      sql/sql_prepare.cc:
          Many changes:
        - static specifier for set_param_* family of functions.
        - FIELD_TYPE -> MYSQL_TYPE
        - added set_param_binary as handler for BLOB types.
        - added character set support
        - added support for param typecode in mysql_stmt_get_longdata
          (mysql_stmt_send_long_data handler)
        - changes in Item_param deployed
        - few cleanups
      sql/sql_select.cc:
        rename: swap -> swap_variables
      sql/sql_string.cc:
        - String::append rewritten to support character set conversion for
        single-byte encodings.
        - added String::swap method to efficiently exchange two string objects.
      sql/sql_string.h:
        Declraration for String::swap().
      sql/time.cc:
        - function TIME_to_string to convert TIME to String in default MySQL format
        - family of functions TIME_to_ulonglong_*
      tests/client_test.c:
        Test for support for character set conversions in prepared statements
        (binary and text data).
      eff961a9
    • unknown's avatar
      Added support for PREPARE stmt1 FROM @var, · 0ee68b31
      unknown authored
      Fixed the problem of previous patch with replication,
      More post-review fixes
      
      
      sql/sql_parse.cc:
        Added support for PREPARE stmt1 FROM @var
      sql/sql_prepare.cc:
        Added support for PREPARE stmt1 FROM @var, 
        Fixed the problem of previous patch with replication
        Post-review fixes.
      0ee68b31
  6. 21 May, 2004 2 commits
    • unknown's avatar
      Introduced parameter object "ALTER_INFO" for mysql_alter_table · edf2ea8e
      unknown authored
      to make list of parameters in mysql_alter_table shorted
      to avoid warning in MSVC (windows) building 
      
      
      sql/mysql_priv.h:
        Introduced parameter object "ALTER_INFO" for mysql_alter_table
        - changed declaration of mysql_alter_table
        - changed declaration of mysql_drop_index 
          (replaced List<Alter_drop> by ALTER_INFO)
      sql/sql_lex.h:
        Introduced parameter object "ALTER_INFO" for mysql_alter_table
        - declared struct ALTER_INFO
        - added ALTER_INFO alter_info; into LEX
        - removed fields which were added into ALTER_INFO from LEX
      sql/sql_parse.cc:
        Introduced parameter object "ALTER_INFO" for mysql_alter_table
        - changed invotaions of mysql_alter_table
        - replaced cleaning fields in SQLCOM_OPTIMIZE by ALTER_INFO::reset
        - changed invocation of mysql_drop_index (replaced lex->drop_list by &lex->alter_info)
        - changed definition of mysql_create_index and mysql_drop_index to use ALTER_INFO
      sql/sql_table.cc:
        Introduced parameter object "ALTER_INFO" for mysql_alter_table
        - changed definition of mysql_alter_table
      sql/sql_yacc.yy:
        Introduced parameter object "ALTER_INFO" for mysql_alter_table
        - replaced using of removed from LEX fields my fields of LEX::alter_info
      edf2ea8e
    • unknown's avatar
      WL#1622 "SQL Syntax for Prepared Statements": Post-review fixes (1 of 2) · cbb05d26
      unknown authored
      mysql-test/r/ps.result:
        Added tests for PREPARE stmt1 FROM @var syntax
      mysql-test/t/ps.test:
        Added tests for PREPARE stmt1 FROM @var syntax
      mysys/my_error.c:
        Added support for "%.*s" format
      sql/item.cc:
        Removed one redundant Item_param::set_value function
      sql/item.h:
        Removed one redundant Item_param::set_value function
      sql/mysqld.cc:
        Reformmated the code
      sql/share/czech/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/dutch/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/english/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/estonian/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/french/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/german/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/greek/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/hungarian/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/italian/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/japanese/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/korean/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/norwegian-ny/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/norwegian/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/polish/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/portuguese/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/romanian/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/russian/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/slovak/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/spanish/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/swedish/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/share/ukrainian/errmsg.txt:
        Changed ER_UNKNOWN_STMT_HANDLER format string
      sql/sql_class.h:
        SQL Prepared statements now can't be used by binary protocol commands
      sql/sql_lex.h:
        Added support for PREPARE stmt1 FROM @var syntax.
      sql/sql_parse.cc:
        Added support for PREPARE stmt1 FROM @var syntax.
      sql/sql_prepare.cc:
        Code cleanup
      sql/sql_yacc.yy:
        Added support for PREPARE stmt1 FROM @var syntax.
      cbb05d26
  7. 18 May, 2004 1 commit
  8. 15 May, 2004 2 commits
    • unknown's avatar
      Fixes for #3371, #3372, #3374, #3375, #3376 · 86009849
      unknown authored
      libmysql/libmysql.c:
        code to fix #3772
        counting of field->max_length moved to mysql_store_stmt_result so
        it will work in libmysqld also
      libmysqld/lib_sql.cc:
        to fix #3771 and #3775
        stmt->affected_rows specifying added
        code getting default values changed so it will add terminating /0 to
        values
      sql/sql_parse.cc:
        to fix #3773
        silly mistake here :\
      sql/sql_prepare.cc:
        to fix #3774 and #3776
        special function for datetime values in embedded server added
        unsigned flag now specified for values in embedded server
      tests/client_test.c:
        this test fails if privilege-checking pars are disabled
        (it's the default for libmysqld)
      86009849
    • unknown's avatar
      Extra safety fixes (probably not needed, but can't hurt) · bba41a1c
      unknown authored
      sql/ha_innodb.cc:
        simple optimization
      sql/sql_show.cc:
        Simple optimization
      bba41a1c
  9. 14 May, 2004 1 commit
    • unknown's avatar
      Many files: · aecddd8e
      unknown authored
        Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
      
      
      sql/sql_class.h:
        Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
      sql/ha_innodb.cc:
        Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
      sql/log_event.cc:
        Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
      sql/slave.cc:
        Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
      sql/sql_db.cc:
        Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
      sql/sql_parse.cc:
        Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
      sql/sql_show.cc:
        Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
      aecddd8e
  10. 11 May, 2004 1 commit
    • unknown's avatar
      Don't automaticly generate a new key for a foreign key constraint if there is already a usable key. · e8bd153f
      unknown authored
      Prefer not automatic keys before automatic keys. If there is two conf
      
      
      BitKeeper/etc/ignore:
        added *.d
      include/my_base.h:
        Added flag for automaticly generated key
      mysql-test/r/constraints.result:
        Update tests after bug fix
      mysql-test/r/create.result:
        Update tests after bug fix
      mysql-test/r/innodb.result:
        Added test of automatic creation of foreign keys
      mysql-test/t/innodb.test:
        Added test of automatic creation of foreign keys
      mysql-test/t/key_cache.test:
        Portability fixes (64 BIT os)
      sql/sql_acl.cc:
        Indentation fixes
      sql/sql_class.cc:
        Fix key comparison to handle prefix and optionally key segments in different order.
      sql/sql_class.h:
        Added flag for automaticly generated keys
      sql/sql_parse.cc:
        Added flag for automaticly generated keys
      sql/sql_table.cc:
        Don't automaticly generate a new key for a foreign key constraint if there is already a usable key.
        Prefer not automatic keys before automatic keys. If there is two conflicting automatic keys, prefer the longer one.
      sql/sql_yacc.yy:
        Added flag for automaticly generated keys
      strings/strings-x86.s:
        Portability fix.
      e8bd153f
  11. 05 May, 2004 4 commits
    • unknown's avatar
      caching of queries with isammerge tables forbiden using general way · f2efdcd8
      unknown authored
      SQL_SELECT_LIMIT as default will be applied only for SELECT statement if there was not explicit LIMIT clause
      correct table list passed to class constructor of select_update
      
      
      mysql-test/r/subselect.result:
        do not show limit if it is not explicit
      mysql-test/r/union.result:
        test of LIMIT + ORDER
      mysql-test/t/union.test:
        test of LIMIT + ORDER
      sql/ha_isammrg.h:
        caching of queries with isammerge tables forbiden
      sql/sql_cache.cc:
        removed check on isammerge
      sql/sql_lex.cc:
        tag of explicit limit in statement
      sql/sql_lex.h:
        tag of explicit limit in statement
      sql/sql_parse.cc:
        blanks in empty line removed
        no limit by default (SQL_SELECT_LIMIT as default will be applied only for SELECT statement if there was not explicit LIMIT clause)
      sql/sql_union.cc:
        reverted incorrect patch
      sql/sql_update.cc:
        reverted incorrect patch
        correct table list passed to class constructor
      sql/sql_yacc.yy:
        explicit LIMIT marked
      f2efdcd8
    • unknown's avatar
      WL#1622: Post-merge fixes · 1b0d35b5
      unknown authored
      1b0d35b5
    • unknown's avatar
      Delete Items created during Prepared Stat (memory leak bug) (Bug #3451) · eee63d2b
      unknown authored
      sql/sql_parse.cc:
        Delete Items created during Prepared Stat (memory leak bug)
      sql/sql_prepare.cc:
        Delete Items created during Prepared Stat (memory leak bug)
      eee63d2b
    • unknown's avatar
      Windows fixes for VC++ compiler compability · 2ebb6f23
      unknown authored
      myisam/myisam_ftdump.c:
        VC++ compiler compability fix
      mysys/my_getsystime.c:
        Applied Sergei's code for Windows (still subject to changes by him)
      sql/handler.cc:
        VC++ compiler compability fix
      sql/item_geofunc.cc:
        Removed non-used variable
      sql/item_strfunc.cc:
        VC++ compiler compability fix
      sql/opt_range.cc:
        VC++ compiler compability fix
      sql/sql_insert.cc:
        VC++ compiler compability fix
      sql/sql_lex.cc:
        VC++ compiler compability fix
      sql/sql_parse.cc:
        VC++ compiler compability fix
      sql/sql_prepare.cc:
        VC++ compiler compability fix
      sql/sql_union.cc:
        Removed non-used variable and VC++ compiler compability fix
      2ebb6f23
  12. 30 Apr, 2004 1 commit
    • unknown's avatar
      Update 'MYSQL_FIELD->max_length' on mysql_stmt_store_result() (Bug #1647) · 72163289
      unknown authored
      Added checking of cut read lines in bootstrap thread (Bug #2874)
      
      
      include/mysql.h:
        Added length to MYSQL_ROWS to enable sanity checking of packets
        Update 'MYSQL_FIELD->max_length' on mysql_stmt_store_result()
      libmysql/libmysql.c:
        Update 'MYSQL_FIELD->max_length' on mysql_stmt_store_result() (Bug #1647)
      scripts/fill_help_tables.sh:
        Added checking of maximum length of line in output (Bug #2874)
      scripts/mysql_install_db.sh:
        Added error message if help tables couldn't be done (Bug #2874)
      sql/sql_parse.cc:
        Added checking of cut read lines in bootstrap thread (Bug #2874)
      tests/client_test.c:
        Added --debug
        Changed some strange define names
        Less output
        Added testing of max_length for prepared statements
      72163289
  13. 15 Apr, 2004 1 commit
  14. 12 Apr, 2004 2 commits
    • unknown's avatar
      WL#1622 "SQL Syntax for Prepared Statements": post-review fixes: · e69f8367
      unknown authored
        Moved PS name to Statement class, Statement_map now handles name-to-statement resolution.
        Both named and unnamed statements are now executed in one function (sql_prepare.cc:execute_stmt)
        Fixed a problem: Malformed sequence of commands from client could cause server to use previously deleted objects.
        Some code cleanup and small fixes
      
      
      sql/mysql_priv.h:
        WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
      sql/sql_class.cc:
        WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
      sql/sql_class.h:
        WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
      sql/sql_parse.cc:
        WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
      sql/sql_prepare.cc:
        WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
      e69f8367
    • unknown's avatar
      Added missing return statement · fc67a828
      unknown authored
      sql/sql_delete.cc:
        Added missing return
      sql/sql_lex.cc:
        Comment fixes
      sql/sql_parse.cc:
        Comment fixes
      fc67a828
  15. 09 Apr, 2004 1 commit
    • unknown's avatar
      after review PS fixes · 77330300
      unknown authored
      sql/item_cmpfunc.cc:
        merged in one if
      sql/mysql_priv.h:
        removed unused paremeter of check_one_table_access
        declaration of new function for SP share code
      sql/set_var.cc:
        function descriotion added
        unneeded parantses removed
      sql/sql_acl.cc:
        new parameter to limit number of checked tables for check_grant
      sql/sql_acl.h:
        new parameter to limit number of checked tables for check_grant
      sql/sql_delete.cc:
        preparation moved in separate function
      sql/sql_insert.cc:
        preparation moved in separate function
      sql/sql_lex.cc:
        comment style fixed
        unneeded assignment removed
      sql/sql_parse.cc:
        new parameter to limit number of checked tables for check_grant
        table list manipulation removed (because of above)
        new precheck function
      sql/sql_prepare.cc:
        function rewrited to shere code with sql_prepare.cc
        flow control fixed
      sql/sql_show.cc:
        new parameter to limit number of checked tables for check_grant
      sql/sql_update.cc:
        preparation moved in separate function
      sql/table.h:
        flag renamed
      77330300
  16. 08 Apr, 2004 1 commit
    • unknown's avatar
      Don't enable HA_EXTRA_WRITE_CACHE if too few rows · 66434e70
      unknown authored
      Revert main parts of patch for online index builds. Should be done differently
      Added support for %lx in my_snprintf()
      
      
      sql/ha_myisam.cc:
        Don't enable HA_EXTRA_WRITE_CACHE if too few rows
      sql/handler.h:
        Indentaion fix
      sql/mysql_priv.h:
        Removed real_alter_table, mysql_add_column and mysql_drop_column
      sql/sql_class.cc:
        After merge fix
      sql/sql_insert.cc:
        Don't user bulk_insert if only one row (common case)
      sql/sql_parse.cc:
        Added mysql_create_index() and mysql_drop_index() as these are only wrappers for mysql_alter_table()
      sql/sql_table.cc:
        Revert main parts of patch for online index builds
        Changed back to use tabs to make merges possible between trees
      sql/unireg.cc:
        Added comments and minor cleanup
      strings/my_vsnprintf.c:
        Added support for %lx.
        Proper long support
      66434e70
  17. 07 Apr, 2004 3 commits
    • unknown's avatar
      new error for unsupported command in PS · 9802b134
      unknown authored
      fixed IN subselect with basic constant left expression
      SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
      fixed multiupdate privelege check (BUG#3408)
      fixed multiupdate tables check (BUG#3411)
      unchecked commands now is rejected by PS protocol to avoid serever crash
      fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)
      
      
      include/mysqld_error.h:
        new error for unsupported command in PS
      mysql-test/r/multi_update.result:
        test sutes (BUG#3408, BUG#3411)
      mysql-test/t/multi_update.test:
        test sutes (BUG#3408, BUG#3411)
      sql/item_cmpfunc.cc:
        fixed IN subselect with basic constant left expression
      sql/mysql_priv.h:
        some function frop sql_parse.h become public
      sql/set_var.cc:
        check for SET command via PS
      sql/set_var.h:
        check for SET command via PS
      sql/share/czech/errmsg.txt:
        new error for unsupported command in PS
      sql/share/danish/errmsg.txt:
        new error for unsupported command in PS
      sql/share/dutch/errmsg.txt:
        new error for unsupported command in PS
      sql/share/english/errmsg.txt:
        new error for unsupported command in PS
      sql/share/estonian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/french/errmsg.txt:
        new error for unsupported command in PS
      sql/share/german/errmsg.txt:
        new error for unsupported command in PS
      sql/share/greek/errmsg.txt:
        new error for unsupported command in PS
      sql/share/hungarian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/italian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/japanese/errmsg.txt:
        new error for unsupported command in PS
      sql/share/korean/errmsg.txt:
        new error for unsupported command in PS
      sql/share/norwegian-ny/errmsg.txt:
        new error for unsupported command in PS
      sql/share/norwegian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/polish/errmsg.txt:
        new error for unsupported command in PS
      sql/share/portuguese/errmsg.txt:
        new error for unsupported command in PS
      sql/share/romanian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/russian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/serbian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/slovak/errmsg.txt:
        new error for unsupported command in PS
      sql/share/spanish/errmsg.txt:
        new error for unsupported command in PS
      sql/share/swedish/errmsg.txt:
        new error for unsupported command in PS
      sql/share/ukrainian/errmsg.txt:
        new error for unsupported command in PS
      sql/sql_lex.cc:
        first table unlincking procedures for CREATE command
      sql/sql_lex.h:
        first table unlincking procedures for CREATE command
      sql/sql_parse.cc:
        used function to exclude first table from list
        SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
        fixed multiupdate privelege check (BUG#3408)
        fixed multiupdate tables check (BUG#3411)
      sql/sql_prepare.cc:
        fixed a lot of commands to be compatible with PS
        unchecked commands now is rejected to avoid serever crash
      sql/sql_select.cc:
        allow empty result for PS preparing
      sql/sql_union.cc:
        fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)
      sql/sql_update.cc:
        fixed update to use correct tables lists (BUG#3408)
      sql/table.h:
        flag to support multi update tables check (BUG#3408)
      tests/client_test.c:
        removed unsupported tables
        fixed show table test
        added new tests
      9802b134
    • unknown's avatar
      after review changes · 56507195
      unknown authored
      sql/log_event.cc:
        non_cachable_table flag changed to cacheable_table
      sql/repl_failsafe.cc:
        non_cachable_table flag changed to cacheable_table
      sql/slave.cc:
        non_cachable_table flag changed to cacheable_table
      sql/sql_acl.cc:
        non_cachable_table flag changed to cacheable_table
      sql/sql_base.cc:
        non_cachable_table flag changed to cacheable_table
      sql/sql_cache.cc:
        non_cachable_table flag changed to cacheable_table
      sql/sql_help.cc:
        non_cachable_table flag changed to cacheable_table
      sql/sql_insert.cc:
        non_cachable_table flag changed to cacheable_table
      sql/sql_parse.cc:
        non_cachable_table flag changed to cacheable_table
      sql/sql_prepare.cc:
        renamed DEBUG tag
      sql/table.h:
        non_cachable_table flag changed to cacheable_table
      56507195
    • unknown's avatar
      Portability fixes · ef79036c
      unknown authored
      Fixed problems with group_concat() and HAVING
      Updated crash-me values
      
      
      sql-bench/limits/mysql-4.0.cfg:
        Rename: sql-bench/limits/mysql.cfg -> sql-bench/limits/mysql-4.0.cfg
      include/my_global.h:
        Safety fix
      libmysqld/Makefile.am:
        Portability fix (For AIX 64 bit)
      mysql-test/r/func_gconcat.result:
        More tests
      mysql-test/t/func_gconcat.test:
        More tests
      sql/field.cc:
        Cleanups
      sql/init.cc:
        moved thread_stack_min to right place
      sql/item_sum.cc:
        Fixed problems with group_concat() and HAVING
        Removed some not needed variables
      sql/item_sum.h:
        Fixed problems with group_concat() and HAVING
        Removed some not needed variables
      sql/mysqld.cc:
        Moved thread_stack_min to right place to handle case where we didn't get as much stack space as we asked for
      sql/sql_parse.cc:
        More debugging
      sql/sql_select.cc:
        Cleanup
      sql/sql_yacc.yy:
        Fixed handling of Item_group_concat() in having. (Arguments should not be handled as refs)
      ef79036c
  18. 06 Apr, 2004 1 commit
    • unknown's avatar
      fixed · 6f021f42
      unknown authored
      bug #3342 "SHOW CREATE DATABASE seems to require DROP privilege"
      (now it require only SELECT privilege on database)
      
      
      mysql-test/r/show_check.result:
        added test for 
        bug #3342 "SHOW CREATE DATABASE seems to require DROP privilege"
      mysql-test/t/show_check.test:
        added test for 
        bug #3342 "SHOW CREATE DATABASE seems to require DROP privilege"
      6f021f42
  19. 05 Apr, 2004 3 commits
    • unknown's avatar
      reverting table list to be able to use it in next PS call (BUG#2811) · a3965451
      unknown authored
      
      sql/sql_parse.cc:
        reverting table list to be able to use it in next PS call
      sql/sql_rename.cc:
        reverting table list to be able to use it in next PS call
      tests/client_test.c:
        typo fixed
        test of crete/drop/rename commands
      a3965451
    • unknown's avatar
      Many files: · 9470bf84
      unknown authored
        SQL Syntax for Prepared Statements (WL#1622)
      ps.test, ps.result:
        new file
      
      
      sql/item.cc:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/item.h:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/lex.h:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/mysql_priv.h:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/mysqld.cc:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/sql_class.cc:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/sql_class.h:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/sql_lex.h:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/sql_parse.cc:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/sql_prepare.cc:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/sql_yacc.yy:
        SQL Syntax for Prepared Statements (WL#1622)
      9470bf84
    • unknown's avatar
      Fixed many compiler warnings · 3a0254a6
      unknown authored
      Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
      Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
      Set locked_in_memory properly
      
      
      include/mysql_com.h:
        Fixed compiler warning
      libmysqld/emb_qcache.cc:
        Removed not used variable
      libmysqld/lib_sql.cc:
        Removed not used variable
      myisam/mi_locking.c:
        Added comment
      myisam/mi_rnext.c:
        Fixed bug in concurrent insert
      myisam/mi_rprev.c:
        Simple optimization
      mysql-test/r/func_gconcat.result:
        New tests
      mysql-test/t/func_gconcat.test:
        New tests
      mysql-test/t/func_group.test:
        Cleanup
      sql-common/client.c:
        Removed compiler warning
      sql/derror.cc:
        Better comments
      sql/field.cc:
        Removed not used function/variable
      sql/field.h:
        Removed not needed variable
      sql/ha_innodb.cc:
        Removed not used function
      sql/item.cc:
        Fixed compiler warning
      sql/item_cmpfunc.cc:
        Fixed compiler warning
      sql/item_func.cc:
        Fixed compiler warning
      sql/item_geofunc.cc:
        Fixed compiler warning
      sql/item_sum.cc:
        Fixed bugs in group_concat and added more comments
        (Bugs #2695, #3381 and #3319)
        - field->abs_offset was not needed
        - Wrong assumption of field order in temporary table
        - Some not used variables removed
        - Added ORDER BY fields after argument fields so that code in sql_select.cc can move all fields to point to temporary tables, if needed.
        - Optimized loops
      sql/item_sum.h:
        Bug fixing and cleanup of group_concat()
      sql/log.cc:
        Removed wrong comment
      sql/log_event.cc:
        Removed compiler warning
      sql/mysqld.cc:
        Set locked_in_memory properly
      sql/protocol.cc:
        Removed compiler warning
      sql/set_var.cc:
        Code cleanup
      sql/slave.cc:
        Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
      sql/sql_cache.cc:
        Removed compiler warnings
      sql/sql_derived.cc:
        Removed not used variable
      sql/sql_insert.cc:
        Removed compiler warnings
      sql/sql_lex.cc:
        Removed not used lable
      sql/sql_lex.h:
        Removed compiler warnings
      sql/sql_parse.cc:
        Removed compiler warnings
      sql/sql_prepare.cc:
        Removed compiler warnings
      sql/sql_select.cc:
        Removed not used variables
        Added function comments
      sql/sql_show.cc:
        Removed compiler warnings
      sql/sql_yacc.yy:
        Fix for ORDER BY handling in GROUP_CONCAT()
      3a0254a6
  20. 03 Apr, 2004 1 commit
    • unknown's avatar
      fixed brocken of client_test · 7ce8fd9e
      unknown authored
      fixed aggregate functions in PS (BUG#3360)
      
      
      mysql-test/r/union.result:
        4.1 more correct error
      sql/item_cmpfunc.h:
        and_conds do not make fix fields
      sql/item_sum.cc:
        storing/restoring argument of aggregate function for prepared statements
        restoring order list of group_concat for safety
      sql/item_sum.h:
        storing/restoring argument of aggregate function for prepared statements
        layout fix
      sql/mysql_priv.h:
        just declaration
      sql/sql_base.cc:
        fix_fields() have to be called with temporary memory pool active
      sql/sql_parse.cc:
        removed hack with item pointer storing
      sql/sql_prepare.cc:
        debug output added
        removed hack with item pointer storing
      sql/sql_select.cc:
        fix_fields now should be called separately
      sql/sql_union.cc:
        removed wrong merged check from 4.0 (4.1 have its own protection)
      sql/table.h:
        removed hack with item pointer storing
      tests/client_test.c:
        new test fo PS
      7ce8fd9e
  21. 02 Apr, 2004 1 commit
    • unknown's avatar
      WL#1266 "Separate auto-set logic from TIMESTAMP type." · 4ada2ea9
      unknown authored
      Final version of patch.
      
      Adds support for specifying of DEFAULT NOW() and/or ON UPDATE NOW()
      clauses for TIMESTAMP field definition.
      Current implementation allows only one such field per table and
      uses several unireg types for storing info about this properties of
      field. It should be replaced with better implementation when new
      .frm format is introduced.
      
      
      include/mysqld_error.h:
        Added error codes for case when we have more than one column with NOW()
        in DEFAULT or ON UPDATE clauses and for case when we are using ON UPDATE
        clause with wrong type.
      mysql-test/r/create.result:
        Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
        non-TIMESTAMP fields.
      mysql-test/r/show_check.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW CREATE TABLE.
      mysql-test/r/system_mysql_db.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW CREATE TABLE.
      mysql-test/r/type_ranges.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW COLUMNS.
      mysql-test/r/type_timestamp.result:
        Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
        fields definitions.
      mysql-test/t/create.test:
        Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
        non-TIMESTAMP fields.
      mysql-test/t/type_timestamp.test:
        Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
        fields definitions.
      sql/field.cc:
        Added support for various combinations of DEFAULT and ON UPDATE clauses
        for TIMESTAMP field. 
        
        Setting TABLE::timestamp* members for TIMESTAMP fields with auto-set 
        option taking into account their unireg type (which corresponds to 
        various DEFAULT/ON UPDATE values combinations). Replaced 
        TABLE::time_stamp with TABLE::timestamp_default_now/on_update_now
        couple moved their setup to separate method set_timestamp_offsets(),
        which now is called from  open_table instead of Field_timestamp cons.
      sql/field.h:
        Added more unireg types for handling of DEFAULT NOW() and ON UPDATE
        NOW() for TIMESTAMP fields.
        Fixed value corresponding to DEFAULT item for TIMESTAMP field.
      sql/ha_berkeley.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_heap.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_innodb.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_isam.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_isammrg.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_myisam.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_myisammrg.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/item_func.h:
        We need to distinguish NOW() from other function for using in 
        DEFAULT and in ON UPDATE clauses.
      sql/item_timefunc.h:
        We need to distinguish NOW() from other function for using in 
        DEFAULT and in ON UPDATE clauses.
      sql/mysql_priv.h:
        Added parameter for ON UPDATE value to add_field_to_list() function.
      sql/share/czech/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/danish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/dutch/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/english/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/estonian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/french/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/german/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/greek/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/hungarian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/italian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/japanese/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/korean/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/norwegian-ny/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/norwegian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/polish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/portuguese/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/romanian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/russian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/serbian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/slovak/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/spanish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/swedish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/ukrainian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/sql_base.cc:
        Added setup of TABLE::timestamp_default_now/on_update_now pair
        for each statement to open_table().
      sql/sql_insert.cc:
        Using TABLE::timestamp_default_now/on_update_now pair instead of
        old TABLE::time_stamp. Added check for case then REPLACE could not
        be converted to UPDATE because of different DEFAULT/ON UPDATE values
        for TIMESTAMP field.
      sql/sql_lex.h:
        Added member for value used in ON UPDATE clause to st_lex.
      sql/sql_load.cc:
        Using TABLE::timestamp_default_now/on_update_now pair instead of
        old TABLE::time_stamp. We don't need to restore these members
        since they are set up for each statement in open_table().
      sql/sql_parse.cc:
        Added handling of DEFAULT NOW() and ON UPDATE NOW() clauses for
        TIMESTAMP fields to add_field_to_list() function.
      sql/sql_show.cc:
        Added support for DEFAULT CURRENT_TIMESTAMP (aka NOW() ) and 
        ON UPDATE CURRENT_TIMESTAMP to SHOW CREATE TABLE and SHOW COLUMNS.
      sql/sql_table.cc:
        mysql_create_table() function - added check for number of TIMESTAMP 
          fields with auto-set values and replacing of old style TIMESTAMPs
          with their newer analogs.
        mysql_alter_table(): Using TABLE::timestamp_default_now/on_update_now 
          pair instead of old TABLE::time_stamp. We don't need to restore these
          members since they are set up for each statement in open_table().
      sql/sql_update.cc:
        Left only setting of TABLE::timestamp_default_now/on_update_now
        to 0 since they should be already set up in open_table().
      sql/sql_yacc.yy:
        Added support for DEFAULT NOW() and ON UPDATE NOW() in field
        definitions.
      sql/table.h:
        Replaced TABLE::time_stamp withTABLE::timestamp_default_now/timestamp_on_update_now
        pair which allows to distinguish TIMESTAMP's with various DEFAULT/ON UPDATE
        clauses and optimize checks if TIMESTAMP field should be set to NOW()
        in handlers.
      sql/unireg.cc:
        Now we are marking only TIMESTAMP fields with NOW() as default or
        as on update value as special field for unireg.
      4ada2ea9
  22. 30 Mar, 2004 1 commit
    • unknown's avatar
      Worklog#1563 - Support of on-line CREATE/DROP INDEX. · c7534fad
      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.
      c7534fad
  23. 29 Mar, 2004 1 commit
    • unknown's avatar
      false/true -> FALSE/TRUE · a0354729
      unknown authored
      Fixes after last merge
      
      
      mysql-test/r/bdb-crash.result:
        fixed bad merge
      mysql-test/r/myisam.result:
        after merge fix
      mysql-test/r/order_by.result:
        fixed bad merge
      mysql-test/t/order_by.test:
        after merge fix
      sql/field_conv.cc:
        false/true -> FALSE/TRUE
      sql/handler.cc:
        false/true -> FALSE/TRUE
      sql/item.cc:
        false/true -> FALSE/TRUE
      sql/item_cmpfunc.cc:
        false/true -> FALSE/TRUE
      sql/item_sum.cc:
        false/true -> FALSE/TRUE
      sql/slave.cc:
        false/true -> FALSE/TRUE
      sql/sql_acl.cc:
        false/true -> FALSE/TRUE
      sql/sql_cache.cc:
        after merge fix
      sql/sql_help.cc:
        false/true -> FALSE/TRUE
      sql/sql_olap.cc:
        false/true -> FALSE/TRUE
      sql/sql_parse.cc:
        false/true -> FALSE/TRUE
      sql/sql_select.cc:
        fix after bad merge
      sql/sql_table.cc:
        fix after bad merge
      sql/sql_test.cc:
        false/true -> FALSE/TRUE
      a0354729
  24. 23 Mar, 2004 2 commits
  25. 22 Mar, 2004 1 commit
    • unknown's avatar
      aliases should be compared with my_strcasecmp (BUG#3251) · 013ca9f7
      unknown authored
      some db comparison code cleupup
      removed compiler warnings
      
      
      mysql-test/r/lowercase_table.result:
        test for BUG#3251
      mysql-test/t/lowercase_table.test:
        test for BUG#3251
      sql/item.cc:
        simple strcmp can be used for db name comparison
      sql/set_var.h:
        changed initialisation order to satisfy compiler
      sql/sql_cache.cc:
        simple strcmp can be used for db name comparison
      sql/sql_db.cc:
        better use special cherset for files
      sql/sql_parse.cc:
        simple strcmp can be used for db name comparison
        aliases should be compared with my_strcasecmp
      sql/sql_select.cc:
        aliases should be compared with my_strcasecmp
      013ca9f7
  26. 20 Mar, 2004 2 commits
    • unknown's avatar
      sys_var_str.value is never NULL · 9b6b9a6a
      unknown authored
      9b6b9a6a
    • unknown's avatar
      after review changes · 042b46fc
      unknown authored
      sql/item.cc:
        removed double_fix & already_fixed in Item_field
      sql/item.h:
        added quick_fix_field() for cases when we are sure that no need full fix_field processing
        fixed neg() method for numeric constants to have the same logic as constant parser
        Item_null, Item_real, ... are constant which are fixed by creation
      sql/item_cmpfunc.h:
        right fix_fields in and_conds call
      sql/item_func.cc:
        changed Item_field constructor call
        fix_field emulation call
      sql/item_strfunc.cc:
        correct layout
      sql/item_subselect.cc:
        correct layout
        changed Item_field constructor call
      sql/item_sum.cc:
        changed Item_field constructor call
      sql/item_sum.h:
        changed Item_field constructor call
      sql/sql_base.cc:
        fixed layout
        right fix_fields calls
      sql/sql_help.cc:
        changed Item_field constructor call
      sql/sql_load.cc:
        changed Item_field constructor call
      sql/sql_parse.cc:
        constant changed
      sql/sql_select.cc:
        fixed layout
        fix_field emulation insted of real fix_fields call
      sql/sql_show.cc:
        changed Item_field constructor call
      sql/sql_union.cc:
        changed Item_field constructor call
        double_fix removed
      sql/sql_update.cc:
        renamed variable, fixed layout
      sql/sql_yacc.yy:
        typo fixed
        fix_fields emulation calls
        hegation of numbers fixed
      042b46fc
  27. 18 Mar, 2004 1 commit
    • unknown's avatar
      DBUG_ASSERT(fixed == 1); added to val* · ad2c3773
      unknown authored
      small optimisation in signed_literal
      
      
      sql/field.cc:
        layout fixed
      sql/item.cc:
        DBUG_ASSERT(fixed == 1); added to val*
        layout fixed
        fixed= 1; added where it was forgoten in fix_fields
        Item_string can be used without fix_fields
      sql/item.h:
        DBUG_ASSERT(fixed == 1); added to val*
        Item_string can be used without fix_fields
      sql/item_cmpfunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_cmpfunc.h:
        fixed layout and getting Item statistic
      sql/item_func.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_func.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_geofunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_strfunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
        layout fixed
      sql/item_strfunc.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_subselect.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_sum.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_sum.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_timefunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_timefunc.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_uniq.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/sql_base.cc:
        Item creation revised
      sql/sql_help.cc:
        Item creation revised
      sql/sql_load.cc:
        Item creation revised
      sql/sql_parse.cc:
        fix_field call added
      sql/sql_select.cc:
        Item creation revised
      sql/sql_show.cc:
        Item creation revised
      sql/sql_union.cc:
        Item creation revised
      sql/sql_update.cc:
        Item creation revised
      sql/sql_yacc.yy:
        Item creation revised
        small optimisation in signed_literal
      ad2c3773