An error occurred fetching the project authors.
  1. 03 Jan, 2005 2 commits
    • unknown's avatar
      Better handling of ensuring that setup_tables() are not called twice · a1a4c2c6
      unknown authored
      This fixed a bug in prepared statements when used with outher joins
      Fixed a bug in SUM(DISTINCT) when used with prepared statements.
      Some safety fixes in test scripts to ensure that previous test failures shouldn't affect other tests
      
      
      mysql-test/r/mysqldump.result:
        Safety fix if a previous test would fail
      mysql-test/r/show_check.result:
        Safety fix if a previous test would fail
      mysql-test/r/sp.result:
        Fix for --ps-protocol
      mysql-test/r/synchronization.result:
        Safety fix if a previous test would fail
      mysql-test/r/system_mysql_db.result:
        Safety fix if a previous test would fail
      mysql-test/t/mysqldump.test:
        Safety fix if a previous test would fail
      mysql-test/t/select.test:
        Safety fix if a previous test would fail
      mysql-test/t/show_check.test:
        Safety fix if a previous test would fail
      mysql-test/t/sp.test:
        fix for --ps-protocol
      mysql-test/t/strict.test:
        Fix for --ps-protocol
      mysql-test/t/synchronization.test:
        Safety fix if a previous test would fail
      mysql-test/t/system_mysql_db.test:
        Safety fix if a previous test would fail
      sql/item_sum.cc:
        Fix bug in SUM(DISTINCT...) when using with prepared statements
      sql/item_sum.h:
        Fix bug in SUM(DISTINCT...) when using with prepared statements
      sql/mysql_priv.h:
        Better handling of ensuring that setup_tables() are not called twice
      sql/sql_base.cc:
        Better handling of ensuring that setup_tables() are not called twice
      sql/sql_insert.cc:
        Better handling of ensuring that setup_tables() are not called twice
      sql/sql_parse.cc:
        Better handling of ensuring that setup_tables() are not called twice
      sql/sql_prepare.cc:
        Better handling of ensuring that setup_tables() are not called twice
      sql/sql_select.cc:
        Better handling of ensuring that setup_tables() are not called twice
      sql/sql_union.cc:
        Better handling of ensuring that setup_tables() are not called twice
      sql/sql_update.cc:
        Better handling of ensuring that setup_tables() are not called twice
      sql/table.h:
        Better handling of ensuring that setup_tables() are not called twice
      a1a4c2c6
    • unknown's avatar
      Remove clear_insert_values() because it was far from trivial to handle the cleanup in all cases · b76b2ba6
      unknown authored
      (Old code failed for INSERT ... ON DUPLICATE with prepared statements) 
      Instead, always reset table->insert_values on open.
      
      
      mysql-test/t/trigger.test:
        Fix test for --ps-protocol
      sql/sql_base.cc:
        Clear insert_values on open_table
      sql/sql_insert.cc:
        Remove clear_insert_values()
      sql/sql_parse.cc:
        Remove clear_insert_values()
      sql/sql_prepare.cc:
        Remove clear_insert_values()
      sql/table.cc:
        Remove clear_insert_values()
      sql/table.h:
        Remove clear_insert_values()
      b76b2ba6
  2. 30 Dec, 2004 1 commit
    • unknown's avatar
      After merge fixes · 616a56b5
      unknown authored
      config/ac-macros/character_sets.m4:
        Added latin1_spanish_ci
      dbug/dbug_analyze.c:
        Remove compiler warnings
      include/my_handler.h:
        Reorder structure arguments to be more optimal
      innobase/dict/dict0load.c:
        Fixed wrong define tag (for MySQL 5.0)
      innobase/fil/fil0fil.c:
        Fixed compiler warning
      innobase/os/os0file.c:
        Fixed compiler warning
      myisam/ft_boolean_search.c:
        Fixed compiler warning
      myisam/ft_static.c:
        Update to use new HA_KEYSEG structure
      myisam/mi_open.c:
        Simple optimization
      myisammrg/myrg_static.c:
        Removed compiler warning
      mysql-test/r/grant.result:
        Update results after merge
      mysql-test/r/index_merge.result:
        Update results after merge
      mysql-test/r/information_schema_inno.result:
        Add missing drop table
      mysql-test/r/lowercase_table.result:
        safety fix
      mysql-test/r/multi_update.result:
        safety fix
      mysql-test/r/ps_1general.result:
        safety fix
      mysql-test/r/ps_2myisam.result:
        Update results after merge
        (set is not anymore of binary type)
      mysql-test/r/ps_3innodb.result:
        Update results after merge
      mysql-test/r/ps_4heap.result:
        Update results after merge
      mysql-test/r/ps_5merge.result:
        Update results after merge
      mysql-test/r/ps_6bdb.result:
        Update results after merge
      mysql-test/r/show_check.result:
        Update results after merge
      mysql-test/r/subselect.result:
        Update results after merge
        (added missing quotes)
      mysql-test/r/timezone2.result:
        Update results after merge
      mysql-test/r/view.result:
        Update results after merge
        (note that INSERT IGNORE will work again after next merge from 4.1)
      mysql-test/t/derived.test:
        Removed empty line
      mysql-test/t/grant.test:
        Update results after merge
      mysql-test/t/information_schema_inno.test:
        added missing drop table
      mysql-test/t/lowercase_table.test:
        safety fix
      mysql-test/t/multi_update.test:
        safety fix
      mysql-test/t/ps_1general.test:
        safety fix
      mysql-test/t/view.test:
        update error codes after merge
      ndb/src/mgmsrv/main.cpp:
        after merge fix
      ndb/tools/ndb_test_platform.cpp:
        removed compiler warnings
      regex/main.c:
        remove compiler warnings
      sql/field.cc:
        Remove compiler warning
      sql/gen_lex_hash.cc:
        Added DBUG support
      sql/ha_myisam.cc:
        Removed warning from valgrind
      sql/ha_ndbcluster.cc:
        Remove compiler warning
      sql/item_cmpfunc.cc:
        Better to use val_int() instead of val_real() as we don't want Item_func_nop_all to return different value than the original ref element
      sql/mysqld.cc:
        Remove compiler warning
      sql/sql_acl.cc:
        More debugging
      sql/sql_lex.cc:
        Remove unnecessary 'else'
      sql/sql_parse.cc:
        After merge fixes
        Simplify reset of thd->server_status for SQLCOM_CALL
      sql/sql_prepare.cc:
        After merge fixes
        Removed possible core dump in mysql_stmt_fetch()
      sql/sql_update.cc:
        After merge fixes (together with Sanja)
      strings/ctype-czech.c:
        Remove compiler warning
      strings/ctype-ucs2.c:
        Remove compiler warning
      strings/ctype-win1250ch.c:
        Remove compiler warning
      strings/xml.c:
        Remove compiler warning
      tests/client_test.c:
        Fix test to work with 5.0
      vio/test-sslserver.c:
        Portability fix
      616a56b5
  3. 24 Dec, 2004 1 commit
  4. 13 Dec, 2004 1 commit
    • unknown's avatar
      WL#2274 - INSERT..SELECT..UPDATE · 333389be
      unknown authored
        UPDATE clause conflicts with SELECT for use of item_list field.
        Alter UPDATE clause to use new lex field update_list
        Tests included
      
      
      mysql-test/r/insert_update.result:
        WL#2274
          New tests for INSERT..SELECT..UPDATE
      mysql-test/t/insert_update.test:
        WL#2274
          New tests for INSERT..SELECT..UPDATE
      sql/mysql_priv.h:
        Remove function - insert_select_precheck()
      sql/sql_class.h:
        WL#2274
          New constructor for class select_insert
      sql/sql_insert.cc:
        WL#2274
          Move code into mysql_prepare_insert
          Add checks as param values may be NULL
      sql/sql_lex.cc:
        WL#2274
          initialize lex->update_list
      sql/sql_lex.h:
        WL#2274
          New field in LEX: update_list
      sql/sql_parse.cc:
        WL#2274
          INSERT..UPDATE clause now populates lex->update_list
          Remove redundant function: insert_select_precheck()
      sql/sql_prepare.cc:
        WL#2274
          invoke insert_precheck() instead of insert_select_precheck()
      sql/sql_yacc.yy:
        WL#2274
          Enable INSERT..SELECT..UPDATE syntax
          New rule - insert_update_list, to populate lex->update_list
      333389be
  5. 09 Dec, 2004 1 commit
    • unknown's avatar
      Fix for bug #6765 "Implicit access to time zone description · 7b96bc55
      unknown authored
      tables requires privileges for them if some table or column level grants
      present" (with after-review fixes).
      
      We should set SELECT_ACL for implicitly opened tables in 
      my_tz_check_n_skip_implicit_tables() to be able to bypass privilege
      checking in check_grant(). Also we should exclude those tables from
      privilege checking in multi-update.
      
      
      mysql-test/r/timezone2.result:
        Extended test for bug #6116 "SET time_zone := ... requires access to
        mysql.time_zone tables"
        Added test for bug #6765 "Implicit access to time zone description 
        tables requires privileges for them if some table or column level grants
        present"
      mysql-test/t/timezone2.test:
        Extended test for bug #6116 "SET time_zone := ... requires access to
        mysql.time_zone tables"
        Added test for bug #6765 "Implicit access to time zone description 
        tables requires privileges for them if some table or column level grants
        present"
      sql/item_geofunc.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/item_strfunc.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/log.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/mysql_priv.h:
        Now we have to include sql_acl.h before tztime.h, since 
        my_tz_check_n_skip_implicit_tables() defined there requires
        SELECT_ACL constant defined in sql_acl.h.
      sql/mysqld.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/repl_failsafe.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/set_var.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_acl.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_base.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_cache.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_class.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_db.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_derived.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_do.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_insert.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_parse.cc:
        check_one_table_access(): Tweaked comments.
        multi_update_precheck(): Added skipping of implicitly opened tables
          during privilege checking.
      sql/sql_prepare.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_repl.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_show.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_update.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_yacc.yy:
        sql_acl.h is now included via mysql_priv.h
      sql/tztime.h:
        my_tz_check_n_skip_implicit_tables():
          We should set SELECT_ACL for implictly opened tables to be able to
          bypass privilege checking in check_grant().
      7b96bc55
  6. 06 Dec, 2004 1 commit
    • unknown's avatar
      After merge fixes · 7bd0e1a4
      unknown authored
      Fixed compiler warnings
      Fix core dump when sending SIGHUP to mysqld
      
      
      mysql-test/r/drop_temp_table.result:
        After merge fixes
      mysql-test/r/grant.result:
        After merge fixes
      mysql-test/r/group_min_max.result:
        After merge fixes
      mysql-test/r/innodb.result:
        After merge fixes
      mysql-test/r/insert_select.result:
        After merge fixes
      mysql-test/r/rpl_charset.result:
        After merge fixes
      mysql-test/r/rpl_create_database.result:
        After merge fixes
      mysql-test/r/rpl_loaddata_rule_m.result:
        After merge fixes
      mysql-test/t/rpl_charset.test:
        After merge fixes
      mysql-test/t/rpl_create_database.test:
        After merge fixes
      sql-common/client.c:
        After merge fixes
      sql/item.cc:
        After merge fixes
      sql/mysqld.cc:
        Fix core dump when sending SIGHUP to mysqld
      sql/sql_acl.cc:
        Better comment
      sql/sql_derived.cc:
        Fixed comment
        Added missing DBUG_RETURN
      sql/sql_insert.cc:
        Fixed compiler warnings
        After merge fixes
      sql/sql_lex.cc:
        After merge fixes
        Removed compiler warnings
      sql/sql_parse.cc:
        After merge fixes
      sql/sql_select.cc:
        More debugging
      sql/sql_table.cc:
        Added missing DBUG_VOID_RETURN
      sql/sql_update.cc:
        Fixed compiler warning
      sql/sql_view.cc:
        Added missing DBUG_RETURN
        Fixed compiler warnings
        Added flag to signal that the view is a derived table
      7bd0e1a4
  7. 03 Dec, 2004 2 commits
    • unknown's avatar
      sql/sql_class.h · 109245a5
      unknown authored
          Bug #6284 - report truncation warnings in INSERT ... SELECT only for "INSERT" part
      sql/sql_insert.cc
          Bug #6284 - report truncation warnings in INSERT ... SELECT only for "INSERT" part
      
      
      sql/sql_class.h:
        Bug #6284 - report truncation warnings in INSERT ... SELECT only for "INSERT" part
      sql/sql_insert.cc:
        Bug #6284 - report truncation warnings in INSERT ... SELECT only for "INSERT" part
      109245a5
    • unknown's avatar
      Bug#6391 (binlog-do-db rules ignored) · 7980920b
      unknown authored
        CREATE DATABASE statement used the current database instead of the
        database created when checking conditions for replication.
        CREATE/DROP/ALTER DATABASE statements are now replicated based on
        the manipulated database.
      
      
      mysql-test/t/rpl_until.test:
        Longer sleep to allow slave to stop.
      mysql-test/t/rpl_charset.test:
        Position change in binary file.
      mysql-test/r/drop_temp_table.result:
        Position change in binlog.
      mysql-test/r/rpl_loaddata_rule_m.result:
        Position change in binlog.
      mysql-test/r/rpl_charset.result:
        Position change in binlog.
      sql/log_event.h:
        Added new flag and parameter to suppress generation of
        USE statements.
      sql/log_event.cc:
        Added parameter and code to suppress generation of
        USE statements.
      sql/sql_db.cc:
        Suppress generation of USE before CREATE/ALTER/DROP DATABASE
        statements.
      sql/log.cc:
        Query_log_event have new extra parameter.
      sql/sql_table.cc:
        Query_log_event have new extra parameter.
      sql/sql_base.cc:
        Query_log_event have new extra parameter.
      sql/sql_update.cc:
        Query_log_event have new extra parameter.
      sql/sql_insert.cc:
        Query_log_event have new extra parameter.
      sql/sql_rename.cc:
        Query_log_event have new extra parameter.
      sql/sql_delete.cc:
        Query_log_event have new extra parameter.
      sql/sql_acl.cc:
        Query_log_event have new extra parameter.
      sql/handler.cc:
        Query_log_event have new extra parameter.
      sql/item_func.cc:
        Query_log_event have new extra parameter.
      sql/sql_parse.cc:
        Query_log_event have new extra parameter.
      7980920b
  8. 02 Dec, 2004 1 commit
    • unknown's avatar
      Prevent adding 'CREATE TABLE .. SELECT' query to the binary log when the · e11175b7
      unknown authored
      insertion of new records partially failed. It would get logged because of the
      logic to log a partially-failed 'INSERT ... SELECT' (which can't be rolled back
      in non-transactional tables), but 'CREATE TABLE ... SELECT' is always rolled
      back on failure, even for non-transactional tables. (Bug #6682)
      (Original fix reimplemented after review by Serg and Guilhem.)
      
      
      mysql-test/t/insert_select.test:
        Add test case for Bug #6682
      mysql-test/r/insert_select.result:
        Add results for test case for Bug #6682
      sql/sql_table.cc:
        moved tmp_disable_binlog() and reenable_binlog macros to sql/sql_class.h
      sql/sql_insert.cc:
        disable binlog during call to super's ::send_error in select_create class
      sql/sql_class.h:
        add select_create::send_error()
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      e11175b7
  9. 25 Nov, 2004 1 commit
    • unknown's avatar
      post-merge fix · 04b6bf2c
      unknown authored
      mysql-test/r/view.result:
        changes in error number, and key in view processing
      mysql-test/t/view.test:
        changes in error number, and key in view processing
      sql/mysql_priv.h:
        changes functions
      sql/sp.cc:
        now we report to setup_tables(), are we setuping SELECT...INSERT
      sql/sql_base.cc:
        fixed finding table, taking in account join view, which can have not TABLE pointer
        now we report to setup_tables(), are we setuping SELECT...INSERT and ennumerete insert table separately
      sql/sql_delete.cc:
        now we report to setup_tables(), are we setuping SELECT...INSERT
      sql/sql_help.cc:
        now we report to setup_tables(), are we setuping SELECT...INSERT
      sql/sql_insert.cc:
        fixed returning value of functions
      sql/sql_load.cc:
        now we report to setup_tables(), are we setuping SELECT...INSERT
        removed second setup_tables call (merge)
      sql/sql_olap.cc:
        now we report to setup_tables(), are we setuping SELECT...INSERT
      sql/sql_parse.cc:
        UPDATE->MULTIUPDATE switching fixed
      sql/sql_prepare.cc:
        UPDATE->MULTIUPDATE switching fixed
      sql/sql_select.cc:
        now we report to setup_tables(), are we setuping SELECT...INSERT
      sql/sql_update.cc:
        UPDATE->MULTIUPDATE switching fixed
      sql/sql_view.cc:
        returning value fixed
      sql/sql_view.h:
        returning value fixed
      04b6bf2c
  10. 21 Nov, 2004 1 commit
  11. 18 Nov, 2004 1 commit
  12. 13 Nov, 2004 1 commit
    • unknown's avatar
      now my_printf_error is not better then my_error, but my_error call is shorter · 065a55e8
      unknown authored
      used only one implementation of format parser of (printf)
      fixed multistatement
      
      
      include/mysqld_error.h:
        newerror messages
      mysql-test/t/key.test:
        unknown error replaced with real error
      mysys/my_error.c:
        my_error & my_printf_error use my_vsprintf
      sql/field_conv.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/ha_innodb.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/handler.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_cmpfunc.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_func.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_strfunc.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/lock.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/log.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/parse_file.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/procedure.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/protocol.cc:
        no need reset thd->lex->found_colon to break multiline sequance now, send_error called too late
      sql/repl_failsafe.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/set_var.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/share/czech/errmsg.txt:
        new errors converted from unknown error
      sql/share/danish/errmsg.txt:
        new errors converted from unknown error
      sql/share/dutch/errmsg.txt:
        new errors converted from unknown error
      sql/share/english/errmsg.txt:
        new errors converted from unknown error
      sql/share/estonian/errmsg.txt:
        new errors converted from unknown error
      sql/share/french/errmsg.txt:
        new errors converted from unknown error
      sql/share/german/errmsg.txt:
        new errors converted from unknown error
      sql/share/greek/errmsg.txt:
        new errors converted from unknown error
      sql/share/hungarian/errmsg.txt:
        new errors converted from unknown error
      sql/share/italian/errmsg.txt:
        new errors converted from unknown error
      sql/share/japanese/errmsg.txt:
        new errors converted from unknown error
      sql/share/korean/errmsg.txt:
        new errors converted from unknown error
      sql/share/norwegian-ny/errmsg.txt:
        new errors converted from unknown error
      sql/share/norwegian/errmsg.txt:
        new errors converted from unknown error
      sql/share/polish/errmsg.txt:
        new errors converted from unknown error
      sql/share/portuguese/errmsg.txt:
        new errors converted from unknown error
      sql/share/romanian/errmsg.txt:
        new errors converted from unknown error
      sql/share/russian/errmsg.txt:
        new errors converted from unknown error
      sql/share/serbian/errmsg.txt:
        new errors converted from unknown error
      sql/share/slovak/errmsg.txt:
        new errors converted from unknown error
      sql/share/spanish/errmsg.txt:
        new errors converted from unknown error
      sql/share/swedish/errmsg.txt:
        new errors converted from unknown error
      sql/share/ukrainian/errmsg.txt:
        new errors converted from unknown error
      sql/slave.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sp.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sp_head.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_acl.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_analyse.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_base.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_class.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_db.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_delete.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_handler.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_insert.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_load.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_map.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_parse.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
        multi-row command fixed
      sql/sql_prepare.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
        remover send_error ingected from 4.1
      sql/sql_rename.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_repl.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_select.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_show.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_table.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_trigger.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_udf.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_update.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_view.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_yacc.yy:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/table.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      strings/my_vsnprintf.c:
        * format support added to my_vsprint
      065a55e8
  13. 12 Nov, 2004 1 commit
    • unknown's avatar
      post-review fixes · a31c2d3d
      unknown authored
      mysql-test/r/rpl_rotate_logs.result:
        removed host dependence in error messages
      mysql-test/t/rpl_rotate_logs.test:
        removed host dependence in error messages
      mysys/my_error.c:
        comment about using my_error family functions
      sql/filesort.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/ha_innodb.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/handler.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_cmpfunc.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_func.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_strfunc.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_subselect.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_sum.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/lock.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/log.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/mysql_priv.h:
        error check moved to fill_record
      sql/mysqld.cc:
        fixed error messages
      sql/parse_file.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/protocol.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/protocol_cursor.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/repl_failsafe.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/set_var.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/slave.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp_head.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp_rcontext.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_acl.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_analyse.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_base.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_class.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_class.h:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_db.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_delete.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_handler.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_help.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_insert.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_lex.cc:
        layout fixed
      sql/sql_load.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_map.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_parse.cc:
        error check moved to fill_record
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_prepare.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_rename.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_repl.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_select.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_show.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_table.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_trigger.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_udf.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_union.cc:
        error check moved to fill_record
      sql/sql_update.cc:
        error check moved to fill_record
      sql/sql_view.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_yacc.yy:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/table.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/unireg.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      a31c2d3d
  14. 07 Nov, 2004 1 commit
    • unknown's avatar
      Simpler arena swapping code · dda7a6a9
      unknown authored
      Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root.
      This gives us the following benefits:
      - Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases)
      - Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT)
      - We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root
      
      
      
      client/mysqltest.c:
        Remove some not needed defines
        (Things like this should be done in config-win.h)
      include/config-win.h:
        Added popen() and pclose() compatibility macros
      mysql-test/t/rpl_failed_optimize-master.opt:
        Portability fix
      sql/ha_berkeley.cc:
        New thd->memroot handling
      sql/item_cmpfunc.cc:
        Simpler arena swapping code
      sql/item_func.cc:
        Simpler arena swapping code
      sql/item_subselect.cc:
        Simpler arena swapping code
        New thd->mem_root handling
      sql/item_sum.cc:
        New thd->mem_root handling
      sql/item_timefunc.cc:
        Fixed not-initalized usage errors found by valgrind
      sql/log_event.cc:
        New thd->mem_root handling
      sql/mysql_priv.h:
        New thd->mem_root handling
      sql/mysqld.cc:
        New thd->mem_root handling
      sql/opt_range.cc:
        New thd->mem_root handling
      sql/repl_failsafe.cc:
        New thd->mem_root handling
      sql/set_var.cc:
        New thd->mem_root handling
      sql/sql_acl.cc:
        New thd->mem_root handling
      sql/sql_base.cc:
        Simpler arena swapping code
        New thd->mem_root handling
      sql/sql_class.cc:
        New thd->mem_root handling
      sql/sql_class.h:
        Simpler arena swapping code
        New thd->mem_root handling
      sql/sql_db.cc:
        New thd->mem_root handling
      sql/sql_error.cc:
        New thd->mem_root handling
      sql/sql_help.cc:
        New thd->mem_root handling
      sql/sql_insert.cc:
        New thd->mem_root handling
      sql/sql_parse.cc:
        New thd->mem_root handling
        Added some extra checking of return value of new
      sql/sql_prepare.cc:
        New thd->mem_root handling
      sql/sql_select.cc:
        New thd->mem_root handling
      sql/sql_select.h:
        New thd->mem_root handling
      sql/sql_union.cc:
        Simpler arena swapping code
      sql/sql_yacc.yy:
        New thd->mem_root handling
      sql/table.cc:
        New thd->mem_root handling
      sql/thr_malloc.cc:
        New thd->mem_root handling
      tests/client_test.c:
        Added drop table to some tests
        Changed some table names to 't1'
      dda7a6a9
  15. 27 Oct, 2004 1 commit
    • unknown's avatar
      Fixed access to freed memory · f748b29f
      unknown authored
      innobase/srv/srv0srv.c:
        after merge fix
      sql/set_var.cc:
        after merge fix
      sql/sql_cache.cc:
        after merge fix
      f748b29f
  16. 26 Oct, 2004 1 commit
    • unknown's avatar
      A lot of fixes for prepared statements (PS): · 8255e5a3
      unknown authored
      New mysqltest that can run mysqltest with PS
      Added support for ZEROFILL in PS
      Fixed crash when one called mysql_stmt_store_result() without a preceding mysql_stmt_bind_result()
      Updated test cases to support --ps-protocol
      (Some tests are still run using old protocol)
      Fixed crash in PS when using SELECT * FROM t1 NATURAL JOIN t2...
      Fixed crash in PS when using sub queries
      Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
      Fixed wrong permissions check in PS and multi-table updates (one could get permission denied for legal quries)
      Fix for PS and SELECT ... PROCEDURE
      Reset all warnings when executing a new PS query
      group_concat(...ORDER BY) didn't work with PS
      Fixed problem with test suite when not using innodb
      
      
      BitKeeper/deleted/.del-innodb-lock-master.opt~f76a4a1999728f87:
        Delete: mysql-test/t/innodb-lock-master.opt
      client/Makefile.am:
        mysqltest now uses regex
      client/mysqltest.c:
        Added support for testing of prepared statements (with --ps-protocol)
        Main code was done by Kent, I did mainly some cleanups and minor bug fixes
        New test commands:
        --disable_ps_protocol
        --enable_ps_protocol
        NOTE: new code still has some things that needs to be cleaned up.
        For example run_query_stmt_handle_error() should be made more general so that same code can be used also by 'normal' queries
      configure.in:
        mysqltest now uses regex
      libmysql/libmysql.c:
        Reset warning_count after prepare (safety). In the future we should also provide warnings on prepare
        integer -> string conversion now handles ZEROFILL
        double -> string conversion is now closer to the one in the server
        Fixed crash when one called mysql_stmt_store_result() without preceding mysql_stmt_bind_result()
      libmysqld/examples/Makefile.am:
        mysqltest now uses regex
      mysql-test/include/have_query_cache.inc:
        Fixes for --ps-protocol
      mysql-test/include/ps_conv.inc:
        Fixes for --ps-protocol
      mysql-test/mysql-test-run.sh:
        Added options --ps-protocol
      mysql-test/r/ctype_utf8.result:
        Fixed test case
      mysql-test/r/fulltext_cache.result:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/r/fulltext_left_join.result:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/r/fulltext_multi.result:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/r/innodb-lock.result:
        Fixed test to work even if Innodb is not compiled in.
      mysql-test/t/create.test:
        Fixes for --ps-protocol
      mysql-test/t/ctype_utf8.test:
        Remove warnings
      mysql-test/t/date_formats.test:
        Fixes for --ps-protocol
      mysql-test/t/fulltext_cache.test:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/t/fulltext_left_join.test:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/t/fulltext_multi.test:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/t/func_group.test:
        Fixes for --ps-protocol
      mysql-test/t/func_sapdb.test:
        Fixes for --ps-protocol
      mysql-test/t/innodb-lock.test:
        Fixed test to work even if Innodb is not compiled in.
      mysql-test/t/insert.test:
        Fixes for --ps-protocol
      mysql-test/t/insert_select.test:
        Fixes for --ps-protocol
      mysql-test/t/insert_update.test:
        Fixes for --ps-protocol
      mysql-test/t/metadata.test:
        Fixes for --ps-protocol
      mysql-test/t/multi_statement.test:
        Fixes for --ps-protocol
      mysql-test/t/ps_1general.test:
        Fixes for --ps-protocol
      mysql-test/t/rollback.test:
        Fixes for --ps-protocol
      mysql-test/t/rpl_redirect.test:
        Fixes for --ps-protocol
      mysql-test/t/rpl_user_variables.test:
        Fixes for --ps-protocol
      mysql-test/t/select.test:
        Fixes for --ps-protocol
      mysql-test/t/status.test:
        Fixes for --ps-protocol
      mysql-test/t/type_blob.test:
        Fixes for --ps-protocol
      mysql-test/t/type_float.test:
        Fixes for --ps-protocol
      mysql-test/t/union.test:
        Fixes for --ps-protocol
      mysql-test/t/warnings.test:
        Fixes for --ps-protocol
      mysys/my_alloc.c:
        More debugging information
      sql-common/client.c:
        More debugging information
      sql-common/my_time.c:
        TIME didn't support full range with PS
      sql/field.cc:
        TIME didn't support full range with PS
      sql/item_cmpfunc.cc:
        IN(constants,...) didn't work with PS
      sql/item_subselect.cc:
        Some subqueries didn't work with PS
      sql/item_sum.cc:
        group_concat(...ORDER BY) didn't work with PS
        Removed variable warning_available as 'warning' can be used for this.
      sql/item_sum.h:
        Removed not needed variable
      sql/protocol.cc:
        TIME didn't support full range with PS
      sql/set_var.cc:
        Style fix
      sql/sql_base.cc:
        setup_wild() didn't properly restore old arena, which caused core dump in PS when using
        SELECT * FROM t1 NATURAL JOIN t2...
      sql/sql_class.cc:
        Style fix
      sql/sql_error.cc:
        Style fix
      sql/sql_insert.cc:
        Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
      sql/sql_lex.h:
        Fix for PS and procedures
      sql/sql_parse.cc:
        More debugging information
        Make a copy of 'db' in PS as this may change
        Fixed wrong permissions check in PS and multi-table updates
      sql/sql_prepare.cc:
        Fix for PS and SELECT ... PROCEDURE
        Reset all warnings when executing a new query
      sql/sql_union.cc:
        Fixes for PS and SELECT ... PROCEDURE
        Reset 'with_wild' as 'wild' is resolved on prepare
      8255e5a3
  17. 25 Oct, 2004 1 commit
    • unknown's avatar
      fixed detection of updating table on which we select (BUG#6032) · c96a77d3
      unknown authored
      mysql-test/r/view.result:
        Trys update table from which we select using views and subqueries
      mysql-test/t/view.test:
        Trys update table from which we select using views and subqueries
      sql/sql_acl.cc:
        fix of fix for bug BUG#5976
      sql/sql_base.cc:
        protection against temporary tables which have not table->table->table_cache_key
        fixed unique check to skip the same table instences
      sql/sql_delete.cc:
        removed next_independent to allow to check VIEW subqueries
      sql/sql_insert.cc:
        removed next_independent to allow to check VIEW subqueries
      sql/sql_parse.cc:
        removed next_independent to allow to check VIEW subqueries
      sql/sql_update.cc:
        removed next_independent to allow to check VIEW subqueries
      sql/sql_view.cc:
        removed next_independent to allow to check VIEW subqueries
        optimisation to mark as non-updatable views with subqueries by same table.
      sql/table.h:
        removed next_independent to allow to check VIEW subqueries
      c96a77d3
  18. 21 Oct, 2004 2 commits
  19. 20 Oct, 2004 1 commit
    • unknown's avatar
      errors without code removed · 9d3fe09b
      unknown authored
      net_printf/send_error calls replaced by my_error family functions
      -1/1 (sent/unsent) error reporting removed
      (WL#2133)
      
      
      include/mysqld_error.h:
        new errors added.
      mysql-test/r/rpl_charset.result:
        new error
      mysql-test/r/rpl_timezone.result:
        new error
      mysql-test/r/sp-security.result:
        more clean error message
      mysql-test/r/sp.result:
        now error state intercepted correctly
      mysql-test/t/connect.test:
        new error message
      mysql-test/t/rpl_charset.test:
        new error message
      mysql-test/t/rpl_timezone.test:
        new error
      mysql-test/t/sp-security.test:
        more correct error handling
      mysql-test/t/sp.test:
        now error state intercepted correctly
      sql/ha_innodb.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/ha_innodb.h:
        -1/1 (sent/unsent) error reporting removed
      sql/item.cc:
        only boolean values should be returned by fix_fields()
      sql/item_cmpfunc.cc:
        only boolean values should be returned by fix_fields()
      sql/item_func.cc:
        only boolean values should be returned by fix_fields()
        net_printf/send_error calls replaced by my_error family functions
      sql/item_row.cc:
        only boolean values should be returned by fix_fields()
      sql/item_subselect.cc:
        only boolean values should be returned by fix_fields()
        -1/1 (sent/unsent) error reporting removed
      sql/item_subselect.h:
        -1/1 (sent/unsent) error reporting removed
      sql/item_sum.cc:
        only boolean values should be returned by fix_fields()
      sql/item_timefunc.cc:
        only boolean values should be returned by fix_fields()
      sql/item_uniq.h:
        only boolean values should be returned by fix_fields()
      sql/mysql_priv.h:
        -1/1 (sent/unsent) error reporting removed
      sql/mysqld.cc:
        net_printf/send_error calls replaced by my_error family functions
        changes in my_message_sql to support error handling correctly
      sql/protocol.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/protocol_cursor.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/repl_failsafe.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/repl_failsafe.h:
        -1/1 (sent/unsent) error reporting removed
      sql/set_var.cc:
        net_printf/send_error calls replaced by my_error family functions
      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/slave.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/slave.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sp.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sp_head.cc:
        new eror handling support
        net_printf/send_error calls replaced by my_error family functions
      sql/sp_rcontext.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_acl.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_acl.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_base.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_class.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_class.h:
        my_messhage_sql now set/reset query_error flag
      sql/sql_db.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_delete.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_do.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_error.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_handler.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_help.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_insert.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_lex.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_load.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_map.cc:
        errors without code removed
      sql/sql_parse.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed from mysql_execute_command
      sql/sql_prepare.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_repl.cc:
        error messages fixed
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_repl.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_select.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_select.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_show.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_table.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_trigger.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_udf.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_union.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_update.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_view.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_view.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_yacc.yy:
        net_printf/send_error calls replaced by my_error family functions
      9d3fe09b
  20. 05 Oct, 2004 1 commit
  21. 04 Oct, 2004 1 commit
  22. 02 Oct, 2004 1 commit
    • unknown's avatar
      More fixes for strict mode: · d4f0cdc5
      unknown authored
      More tests.
      Better error messages.
      Fixed bug when checking if we updated all needed columns for INSERT.
      Give an error if we encounter a wrong float value during parsing.
      Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS.
      Fixed UPDATE IGNORE when using STRICT mode.
      
      
      include/mysqld_error.h:
        More error messages for strict mode
      include/sql_state.h:
        Fixed wrong state
        New error message
      mysql-test/r/alter_table.result:
        Updated results for not automatic default fields
      mysql-test/r/auto_increment.result:
        Better error messages
      mysql-test/r/create.result:
        Updated results for not automatic default fields
        Better error messages
      mysql-test/r/ctype_collate.result:
        Updated results for not automatic default fields
      mysql-test/r/ctype_latin1_de.result:
        Updated results for not automatic default fields
      mysql-test/r/ctype_many.result:
        Updated results for not automatic default fields
      mysql-test/r/ctype_recoding.result:
        Updated results for not automatic default fields
      mysql-test/r/gis-rtree.result:
        Updated results for not automatic default fields
      mysql-test/r/gis.result:
        Updated results for not automatic default fields
      mysql-test/r/innodb.result:
        Updated results for not automatic default fields
      mysql-test/r/insert.result:
        Better error messages
      mysql-test/r/insert_select.result:
        Better error messages
      mysql-test/r/isam.result:
        Updated results for not automatic default fields
      mysql-test/r/key.result:
        Better error messages
      mysql-test/r/merge.result:
        Updated results for not automatic default fields
      mysql-test/r/null.result:
        Better error messages
      mysql-test/r/null_key.result:
        Better error messages
      mysql-test/r/ps_1general.result:
        Updated results for not automatic default fields
      mysql-test/r/select.result:
        Drop views that may interfere with later results
      mysql-test/r/show_check.result:
        Updated results for not automatic default fields
      mysql-test/r/sp.result:
        Updated results for not automatic default fields
      mysql-test/r/strict.result:
        More tests
      mysql-test/r/type_set.result:
        Updated results for not automatic default fields
      mysql-test/r/warnings.result:
        Better error messages
      mysql-test/t/insert.test:
        Using wrong float values now gives an error
      mysql-test/t/select.test:
        Drop views that may interfere with later results
      mysql-test/t/strict.test:
        More tests
      scripts/mysql_fix_privilege_tables.sql:
        Add missing DEFAULT's
      sql/field.cc:
        Fix some strict mode issues for float and double
      sql/field.h:
        Fix DEFAULT handling
      sql/item.cc:
        Give an error if we encounter a wrong float value during parsing.
        Give an error if we use DEFAULT() on a field that doesn't have a default value.
      sql/item.h:
        Give an error if we encounter a wrong float value during parsing.
      sql/mysqld.cc:
        More debug info
      sql/share/czech/errmsg.txt:
        Better error messages
      sql/share/danish/errmsg.txt:
        Better error messages
      sql/share/dutch/errmsg.txt:
        Better error messages
      sql/share/english/errmsg.txt:
        Better error messages
      sql/share/estonian/errmsg.txt:
        Better error messages
      sql/share/french/errmsg.txt:
        Better error messages
      sql/share/german/errmsg.txt:
        Better error messages
      sql/share/greek/errmsg.txt:
        Better error messages
      sql/share/hungarian/errmsg.txt:
        Better error messages
      sql/share/italian/errmsg.txt:
        Better error messages
      sql/share/japanese/errmsg.txt:
        Better error messages
      sql/share/korean/errmsg.txt:
        Better error messages
      sql/share/norwegian-ny/errmsg.txt:
        Better error messages
      sql/share/norwegian/errmsg.txt:
        Better error messages
      sql/share/polish/errmsg.txt:
        Better error messages
      sql/share/portuguese/errmsg.txt:
        Better error messages
      sql/share/romanian/errmsg.txt:
        Better error messages
      sql/share/russian/errmsg.txt:
        Better error messages
      sql/share/serbian/errmsg.txt:
        Better error messages
      sql/share/slovak/errmsg.txt:
        Better error messages
      sql/share/spanish/errmsg.txt:
        Better error messages
      sql/share/swedish/errmsg.txt:
        Better error messages
      sql/share/ukrainian/errmsg.txt:
        Better error messages
      sql/sql_insert.cc:
        Fixed bug in last push of checking of default values.
      sql/sql_parse.cc:
        Enum fields has always a default value
      sql/sql_show.cc:
        Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS
      sql/sql_table.cc:
        Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
      sql/sql_update.cc:
        Don't abort for wrong values for UPDATE IGNORE
      sql/sql_yacc.yy:
        Abort if we find a wrong float value
      sql/table.cc:
        Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
      d4f0cdc5
  23. 01 Oct, 2004 1 commit
    • unknown's avatar
      Support for TIMESTAMP columns holding NULL values. Unlike all other · c2a25521
      unknown authored
      column types TIMESTAMP is NOT NULL by default, so in order to have 
      TIMESTAMP column holding NULL valaues you have to specify NULL as
      one of its attributes (this needed for backward compatibility).
      
      Main changes:
      Replaced TABLE::timestamp_default_now/on_update_now members with
      TABLE::timestamp_auto_set_type flag which is used everywhere
      for determining if we should auto-set value of TIMESTAMP field 
      during this operation or not. We are also use Field_timestamp::set_time()
      instead of handler::update_timestamp() in handlers.
      
      
      mysql-test/r/type_timestamp.result:
        Added test for TIMESTAMP columns which are able to store NULL values.
      mysql-test/t/type_timestamp.test:
        Added test for TIMESTAMP columns which are able to store NULL values.
      sql/field.cc:
        Added support for TIMESTAMP fields holding NULL values.
        We don't need Field_timestamp::set_timestamp_offsets() anymore.
        Instead we need Field_timestamp::get_auto_set_type() function
        which will convert TIMESTAMP auto-set type stored in Field in 
        unireg_check to value from timestamp_auto_set_type_enum.
        (We can't replace this function with additional Field_timestamp member
        and some code in constructor because then we will have troubles
        with Field::new_field() method).
        We should also set field to not null in Field_timestamp::set_time() now.
      sql/field.h:
        Added support for TIMESTAMP fields holding NULL values.
        We don't need Field_timestamp::set_timestamp_offsets() anymore.
        Instead we need Field_timestamp::get_auto_set_type() function,
        which will convert TIMESTAMP auto-set type stored in Field in 
        unireg_check to value from timestamp_auto_set_type_enum.
        We also have to support NULL values in Field_timestamp::get_timestamp()
        function.
      sql/field_conv.cc:
        Added comment clarifying behavior in case of TIMESTAMP fields which are
        able to store NULL values.
      sql/ha_berkeley.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_heap.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_innodb.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_isam.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_isammrg.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_myisam.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_myisammrg.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_ndbcluster.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/handler.cc:
        handler::update_timestamp() is no longer needed since now we use
        Field_timestamp::set_time() instead.
        (we can't use handler::update_timestamp() anyway since field position
        only is not enough for TIMESTAMP fields which are able to store NULLs)
      sql/handler.h:
        handler::update_timestamp() is no longer needed since now we use
        Field_timestamp::set_time() instead.
      sql/item_timefunc.cc:
        Since now TIMESTAMP fields can hold NULL values we should take this into
        account.
      sql/sql_base.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now. 
        (Here we use Field_timestamp::get_auto_set_type() to setup its value
         before further statement execution).
      sql/sql_insert.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_load.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_parse.cc:
        Added support for TIMESTAMP fields holding NULL values.
        We should distinguish NULL default values and non-specified default
        values for such fields (because latter could mean DEFAULT NOW()
        ON UPDATE NOW() in some cases).
      sql/sql_show.cc:
        Added support for TIMESTAMP fields holding NULL values.
        Unlike all other fields these are NOT NULL by default
        so we have to specify NULL attribute explicitly for them.
      sql/sql_table.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_update.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_yacc.yy:
        Added support for TIMESTAMP fields holding NULL values.
        Unlike all other fields these are NOT NULL by default
        (so we have to set NOT_NULL_FLAG properly for them).
      sql/table.h:
        Added timestamp_auto_set_type enum which values are used for indicating
        during which operations we should automatically set TIMESTAPM field
        value to current timestamp.
        TABLE: Replaced timestamp_default_now/on_update_now members with
        timestamp_auto_set_type flag (Now when TIMESTAMP field are able to 
        store NULL values, single position of field in record is not enough 
        for updating this field anyway).
      c2a25521
  24. 29 Sep, 2004 1 commit
    • unknown's avatar
      post review changes: · a132f3db
      unknown authored
      CHECK OPTION moved to one function
      view name added to error messages
      
      
      mysql-test/r/view.result:
        error messages changed
      sql/share/czech/errmsg.txt:
        view name added
      sql/share/danish/errmsg.txt:
        view name added
      sql/share/dutch/errmsg.txt:
        view name added
      sql/share/english/errmsg.txt:
        view name added
      sql/share/estonian/errmsg.txt:
        view name added
      sql/share/french/errmsg.txt:
        view name added
      sql/share/german/errmsg.txt:
        view name added
      sql/share/greek/errmsg.txt:
        view name added
      sql/share/hungarian/errmsg.txt:
        view name added
      sql/share/italian/errmsg.txt:
        view name added
      sql/share/japanese/errmsg.txt:
        view name added
      sql/share/korean/errmsg.txt:
        view name added
      sql/share/norwegian-ny/errmsg.txt:
        view name added
      sql/share/norwegian/errmsg.txt:
        view name added
      sql/share/polish/errmsg.txt:
        view name added
      sql/share/portuguese/errmsg.txt:
        view name added
      sql/share/romanian/errmsg.txt:
        view name added
      sql/share/russian/errmsg.txt:
        view name added
      sql/share/serbian/errmsg.txt:
        view name added
      sql/share/slovak/errmsg.txt:
        view name added
      sql/share/spanish/errmsg.txt:
        view name added
      sql/share/swedish/errmsg.txt:
        view name added
      sql/share/ukrainian/errmsg.txt:
        view name added
      sql/sql_class.h:
        view reference saved
      sql/sql_insert.cc:
        CHECK OPTION moved to one function
      sql/sql_update.cc:
        CHECK OPTION moved to one function
      sql/sql_view.cc:
        view name added to error message
      sql/table.cc:
        CHECK OPTION moved to one function
      sql/table.h:
        CHECK OPTION moved to one function
      a132f3db
  25. 28 Sep, 2004 1 commit
    • unknown's avatar
      Strict mode & better warnings · cf5e6660
      unknown authored
      Under strict mode MySQL will generate an error message if there was any conversion when assigning data to a field.
      Added checking of date/datetime fields.
      If strict mode, give error if we have not given value to field without a default value (for INSERT)
      
      
      client/mysqltest.c:
        Added --exit as an option to abort a test in a middle (good for debugging)
      include/my_time.h:
        Added flags to allow checking of dates in strict mode
      include/mysql_com.h:
        Added flag to check if field has a default value or not
      include/mysqld_error.h:
        New error messages for strict mode
      include/sql_state.h:
        Fixed SQL states (for strict mode tests)
      mysql-test/r/auto_increment.result:
        Updated error messages
      mysql-test/r/func_sapdb.result:
        Added test for ALLOW_INVALID_DATES
      mysql-test/r/func_str.result:
        Updated error messages
      mysql-test/r/func_time.result:
        Updated error messages
      mysql-test/r/insert.result:
        Updated error messages
      mysql-test/r/loaddata.result:
        Updated error messages
      mysql-test/r/select.result:
        Updated error messages
      mysql-test/r/sp.result:
        Updated error messages
      mysql-test/r/timezone2.result:
        Updated error messages
      mysql-test/r/type_datetime.result:
        Updated error messages
      mysql-test/r/type_decimal.result:
        Updated error messages
      mysql-test/r/type_float.result:
        Updated error messages
      mysql-test/r/type_ranges.result:
        Updated error messages
      mysql-test/r/type_time.result:
        Updated error messages
      mysql-test/r/type_uint.result:
        Updated error messages
      mysql-test/r/warnings.result:
        Updated error messages
      mysql-test/t/func_sapdb.test:
        Aded test
      sql-common/my_time.c:
        Added checking of dates
      sql/field.cc:
        Better error messages
        Optimization of warning handling (by introducing of check_int())
        Changed to use my_strtoll10()
      sql/field.h:
        Added check_int()
      sql/item_func.cc:
        Warnings when dividing by NULL
      sql/item_func.h:
        Warnings when dividing by NULL
      sql/item_timefunc.cc:
        Testing of date/datetime
        Use macros instead of constants
      sql/mysql_priv.h:
        New modes (part of strict mode)
      sql/mysqld.cc:
        New modes (part of strict mode)
      sql/opt_range.cc:
        Simple optimizations
      sql/protocol.cc:
        Add note/warning level to find_handler()
      sql/set_var.cc:
        Added mode 'traditional'
      sql/share/czech/errmsg.txt:
        New error messages for strict mode
      sql/share/danish/errmsg.txt:
        New error messages for strict mode
      sql/share/dutch/errmsg.txt:
        New error messages for strict mode
      sql/share/english/errmsg.txt:
        New error messages for strict mode
      sql/share/estonian/errmsg.txt:
        New error messages for strict mode
      sql/share/french/errmsg.txt:
        New error messages for strict mode
      sql/share/german/errmsg.txt:
        New error messages for strict mode
      sql/share/greek/errmsg.txt:
        New error messages for strict mode
      sql/share/hungarian/errmsg.txt:
        New error messages for strict mode
      sql/share/italian/errmsg.txt:
        New error messages for strict mode
      sql/share/japanese/errmsg.txt:
        New error messages for strict mode
      sql/share/korean/errmsg.txt:
        New error messages for strict mode
      sql/share/norwegian-ny/errmsg.txt:
        New error messages for strict mode
      sql/share/norwegian/errmsg.txt:
        New error messages for strict mode
      sql/share/polish/errmsg.txt:
        New error messages for strict mode
      sql/share/portuguese/errmsg.txt:
        New error messages for strict mode
      sql/share/romanian/errmsg.txt:
        New error messages for strict mode
      sql/share/russian/errmsg.txt:
        New error messages for strict mode
      sql/share/serbian/errmsg.txt:
        New error messages for strict mode
      sql/share/slovak/errmsg.txt:
        New error messages for strict mode
      sql/share/spanish/errmsg.txt:
        New error messages for strict mode
      sql/share/swedish/errmsg.txt:
        New error messages for strict mode
      sql/share/ukrainian/errmsg.txt:
        New error messages for strict mode
      sql/sp_rcontext.cc:
        Add note/warning level to find_handler()
      sql/sp_rcontext.h:
        Add note/warning level to find_handler()
      sql/sql_base.cc:
        Fix bug for detecting crashed table
      sql/sql_class.cc:
        Variables for strct mode
      sql/sql_class.h:
        Variables for strct mode
      sql/sql_error.cc:
        In strict mode, convert warnings to errors
      sql/sql_insert.cc:
        Strict mode
        If strict mode, give error if we have not given value to field without a default value
      sql/sql_load.cc:
        Strict mode
      sql/sql_parse.cc:
        Strict mode.
        Add flag to field if it doesn't have a default value
      sql/sql_select.cc:
        Added comment
        Prepare for upper level handling of table->status
      sql/sql_union.cc:
        Added THD to write_record()
      sql/sql_update.cc:
        Strict mode
      sql/table.cc:
        Handling of default values
      sql/time.cc:
        Checking of dates
      cf5e6660
  26. 17 Sep, 2004 1 commit
    • unknown's avatar
      Removed wrong warnings in test suite (This was because select_insert /... · d209efc0
      unknown authored
      Removed wrong warnings in test suite (This was because select_insert / select_create results was not freed.
      Added thd to openfrm() for initialization of TABLE->in_use. This fixed a bug in BDB handling where table->in_use was used early
      
      
      mysql-test/r/key.result:
        Added new tests that shows a bug in warnings hat
      mysql-test/t/key.test:
        Added new tests that shows a bug in warnings hat
      sql/handler.cc:
        Added thd to openfrm() for initialization of TABLE->in_use
      sql/item.cc:
        New function to avoid warnings when giving field a value
      sql/item.h:
        New function to avoid warnings when giving field a value
      sql/mysql_priv.h:
        Added thd to openfrm() for initialization of TABLE->in_use
      sql/opt_range.cc:
        Don't give warnings in optimizer when internally storing a field value in a field. (Should be ok as we ar checking the feild in the WHERE clause later)
      sql/sql_base.cc:
        Give memroot explicitely to open_unireg_entry() and open_table() (Makes code simpler)
        Ensure that table->in_use is set early
        New arguments for openfrm()
      sql/sql_insert.cc:
        More debugging & comments
      sql/sql_parse.cc:
        Delete results for select_insert and select_create. This fixed a bug that generated warnings in test suite
      sql/sql_select.h:
        Don't give warnings in optimizer when internally storing a field value in a field. (Should be ok as we ar checking the feild in the WHERE clause later)
      sql/sql_table.cc:
        New arguments to open_table() and openfrm()
      sql/table.cc:
        Added thd to openfrm() for initialization of TABLE->in_use
        This fixes some bugs in BDB where table->in_use was used
      d209efc0
  27. 16 Sep, 2004 1 commit
    • unknown's avatar
      updateability of field with collation support (BUG#5506) · 35840efc
      unknown authored
      mysql-test/r/view.result:
         Collation with view update
      mysql-test/t/view.test:
         Collation with view update
      sql/item.h:
        updateability of field with collation support
      sql/item_strfunc.h:
        updateability of field with collation support
      sql/sql_insert.cc:
        updateability of field with collation support
      sql/sql_update.cc:
        updateability of field with collation support
      sql/sql_view.cc:
        updateability of field with collation support
      35840efc
  28. 15 Sep, 2004 2 commits
    • unknown's avatar
      support of join view updateability (WL#1809) · cb579091
      unknown authored
      include/mysqld_error.h:
        new error mesaages
      mysql-test/r/view.result:
        tests of updatint/inserting join views
      mysql-test/t/view.test:
        tests of updatint/inserting join views
      sql/mysql_priv.h:
        support of "usual UPDATE" -> "multi UPDATE" conversion
      sql/share/czech/errmsg.txt:
        new error mesaages
      sql/share/danish/errmsg.txt:
        new error mesaages
      sql/share/dutch/errmsg.txt:
        new error mesaages
      sql/share/english/errmsg.txt:
        new error mesaages
      sql/share/estonian/errmsg.txt:
        new error mesaages
      sql/share/french/errmsg.txt:
        new error mesaages
      sql/share/german/errmsg.txt:
        new error mesaages
      sql/share/greek/errmsg.txt:
        new error mesaages
      sql/share/hungarian/errmsg.txt:
        new error mesaages
      sql/share/italian/errmsg.txt:
        new error mesaages
      sql/share/japanese/errmsg.txt:
        new error mesaages
      sql/share/korean/errmsg.txt:
        new error mesaages
      sql/share/norwegian-ny/errmsg.txt:
        new error mesaages
      sql/share/norwegian/errmsg.txt:
        new error mesaages
      sql/share/polish/errmsg.txt:
        new error mesaages
      sql/share/portuguese/errmsg.txt:
        new error mesaages
      sql/share/romanian/errmsg.txt:
        new error mesaages
      sql/share/russian/errmsg.txt:
        new error mesaages
      sql/share/serbian/errmsg.txt:
        new error mesaages
      sql/share/slovak/errmsg.txt:
        new error mesaages
      sql/share/spanish/errmsg.txt:
        new error mesaages
      sql/share/swedish/errmsg.txt:
        new error mesaages
      sql/share/ukrainian/errmsg.txt:
        new error mesaages
      sql/sql_base.cc:
        test to avoid join virew to be catched here
      sql/sql_class.h:
        support of join views add to update
      sql/sql_delete.cc:
        support of join views add to delete(error issue)
      sql/sql_insert.cc:
        support of join views add to insert
        (order of some check changed, to allow find table which will be inserted in, when we will know which fields will be inserted)
        mechanism of calling setup_tables() only once fixed for INSERT SELECT
      sql/sql_parse.cc:
        support of "usual UPDATE" -> "multi UPDATE" conversion
        mysql_insert_select_prepare now called in same environment for usual queries and PS preparing
        support of join views add to delete (error issue)
      sql/sql_prepare.cc:
        support of "usual UPDATE" -> "multi UPDATE" conversion
        support of join views add to delete (error issue)
      sql/sql_update.cc:
        support of join views add to update
      sql/sql_view.cc:
        join views made updatable
      sql/sql_view.h:
        insert_view_fields now can check some errors
      sql/table.cc:
        methods to support recursive walk by tables tree
      sql/table.h:
        methods to support recursive walk by tables tree
      cb579091
    • unknown's avatar
      Added options --auto-increment-increment and --auto-increment-offset. · 8267fd7a
      unknown authored
      This allows one to setup a master <-> master replication with non conflicting auto-increment series.
      Cleaned up binary log code to make it easyer to add new state variables.
      Added simpler 'upper level' logic for artificial events (events that should not cause cleanups on slave).
      Simplified binary log handling.
      Changed how auto_increment works together with to SET INSERT_ID=# to make it more predictable: Now the inserted rows in a multi-row statement are set independent of the existing rows in the table. (Before only InnoDB did this correctly)
      
      
      
      
      mysql-test/r/mix_innodb_myisam_binlog.result:
        Disable End_log_pos column from 'show binlog events' as this is now different from before
      mysql-test/t/mix_innodb_myisam_binlog.test:
        Disable End_log_pos column from 'show binlog events' as this is now different from before
      sql/ha_berkeley.cc:
        Changed prototype for get_auto_increment()
      sql/ha_berkeley.h:
        Changed prototype for get_auto_increment()
      sql/ha_heap.cc:
        Changed prototype for get_auto_increment()
      sql/ha_heap.h:
        Changed prototype for get_auto_increment()
      sql/ha_innodb.cc:
        Change how auto-increment is calculated.
        Now the auto-increment logic is done in 'update_auto_increment()' to ensure that all handlers has the same auto-increment usage
      sql/ha_innodb.h:
        Changed prototype for get_auto_increment()
      sql/ha_myisam.cc:
        Changed prototype for get_auto_increment()
      sql/ha_myisam.h:
        Changed prototype for get_auto_increment()
      sql/ha_ndbcluster.cc:
        Changed prototype for get_auto_increment()
      sql/ha_ndbcluster.h:
        Changed prototype for get_auto_increment()
      sql/handler.cc:
        Remove some usage of current_thd
        Changed how auto_increment works with SET INSERT_ID to make it more predictable
        (Now we should generate same auto-increment serie on a slave, even if the table has rows that was not on the master.
        Use auto_increment_increment and auto_increment_offset
      sql/handler.h:
        Changed prototype for get_auto_increment()
      sql/log.cc:
        Remove usage of 'set_log_pos()' to make code simpler. (Now log_pos is set in write_header())
        Use 'data_written' instead of 'get_event_len()' to calculate how much data was written in the log
      sql/log_event.cc:
        Simple optimizations.
        Remove cached_event_len (not used variable)
        Made comments fit into 79 chars
        Removed Log_event::set_log_pos(). Now we calculate log_pos in write_header().
        Renamed write_data() to write() as the original write() function was not needed anymore.
        Call writing of event header from event::write() functions. This made it easier to calculate the length of an event.
        Simplified 'write_header' and remove 'switches' from it.
        Changed all write() functions to return 'bool'. (The previous return values where not consistent)
        Store auto_increment_increment and auto_increment_offset in binary log
        Simplified how Query_log_event's where written and read. Now it's much easier to add now status variables for a query event to the binary log.
        Removed some old MySQL 4.x code to make it easier to grep for functions used in 5.0
      sql/log_event.h:
        Changed return type of write() functions to bool. (Before we returned -1 or 1 for errors)
        write_data() -> write()
        Added 'data_written' member to make it easier to get length of written event.
        Removed 'cached_event_len' and 'get_event_len()'
        Added usage of auto_increment_increment and auto_increment_offset
        Added 'artifical_event' to Start_log_event_v3, to hide logic that we in the binary log use log_pos=0 as a flag for an artifical event.
      sql/mysqld.cc:
        Added options --auto-increment-increment and --auto-increment-offset
      sql/set_var.cc:
        Added variables auto_increment_increment and auto_increment_offset
      sql/slave.cc:
        Changed errors -> warnings & information (in error log)
      sql/sql_class.cc:
        Added THD::cleanup_after_query(). This makes some code simpler and allows us to clean up 'next_insert_id' after query
      sql/sql_class.h:
        Added new auto_increment_xxx variables
        Moved some functions/variables in THD class
      sql/sql_help.cc:
        Removed compiler warning
      sql/sql_insert.cc:
        Call 'restore_auto_increment()' if row was not inserted.
        This makes it easier for handler to reuse the last generated auto-incrment value that was not used (for example in case of duplicate key)
      sql/sql_parse.cc:
        Use cleanup_after_query()
      sql/sql_prepare.cc:
        Use cleanup_after_query()
      sql/sql_table.cc:
        R
      8267fd7a
  29. 14 Sep, 2004 1 commit
    • unknown's avatar
      fixed merged view fields names (BUG#5147) · 33ebdba8
      unknown authored
      support of merged VIEW over several tables added (WL#1809)
      
      
      mysql-test/r/view.result:
        merge of VIEW with several tables
      mysql-test/t/view.test:
        merge of VIEW with several tables
      sql/item.cc:
        renaming Item and restoring item name on cleunup()
      sql/item.h:
        renaming Item and restoring item name on cleunup()
        debug output added
      sql/item_cmpfunc.h:
        setup_conds() changed to support two tables lists
      sql/item_subselect.cc:
        list of table leaves used instead of local table list for name resolving
      sql/mysql_priv.h:
        setup_conds() and setup_tables() changed to support two tables lists
      sql/opt_sum.cc:
        list of table leaves used instead of local table list for name resolving
      sql/sp.cc:
        setup_tables() changed to support two tables lists
      sql/sql_base.cc:
        skip temporary tables in table finding
        fixed merged view fields names (BUG#5147)
      sql/sql_delete.cc:
        setup_conds() and setup_tables() changed to support two tables lists
      sql/sql_help.cc:
        setup_tables() changed to support two tables lists
      sql/sql_insert.cc:
        setup_tables() changed to support two tables lists
        name handling support
      sql/sql_lex.cc:
        allow view with several tables for MERGE
      sql/sql_lex.h:
        new table list
      sql/sql_load.cc:
        setup_tables() changed to support two tables lists
      sql/sql_olap.cc:
        setup_tables() changed to support two tables lists
      sql/sql_parse.cc:
        new list support
      sql/sql_prepare.cc:
        new list support
      sql/sql_select.cc:
        list of table leaves used instead of local table list for name resolving
      sql/sql_update.cc:
        setup_conds() and setup_tables() changed to support two tables lists
      sql/sql_view.cc:
        support of MERGED VIEWS with several tables
      sql/sql_yacc.yy:
        removed blanks in new code
      sql/table.cc:
        fixed setup view code
        support of merged VIEW over several tables added
      sql/table.h:
        fixed merged view fields names (BUG#5147)
      33ebdba8
  30. 08 Sep, 2004 1 commit
    • unknown's avatar
      test of updating and fetching from the same table check (BUG##5157) · cbdbccaf
      unknown authored
      mysql-test/r/lowercase_view.result:
        test of updating and fetching from the same table check
      mysql-test/r/view.result:
        test of updating and fetching from the same table check
      mysql-test/t/lowercase_view.test:
        test of updating and fetching from the same table check
      mysql-test/t/view.test:
        test of updating and fetching from the same table check
      sql/mysql_priv.h:
        unique table test
      sql/sql_base.cc:
        unique table test which take into account views added
      sql/sql_delete.cc:
        unique table test which take into account views added
      sql/sql_insert.cc:
        unique table test which take into account views added
      sql/sql_parse.cc:
        unique table test which take into account views added
      sql/sql_update.cc:
        unique table test which take into account views added
      sql/sql_view.cc:
        unique table test which take into account views added
      sql/table.h:
        save next independent (do not belong to current view) table
      cbdbccaf
  31. 07 Sep, 2004 1 commit
    • unknown's avatar
      WL#1218 "Triggers". Some very preliminary version of patch. · 960c429d
      unknown authored
      Mostly needed for Monty for him getting notion what needed for triggers 
      from new .FRM format. 
      
      Things to be done:
      - Right placement of trigger's invocations
      - Right handling of errors in triggers (including transaction rollback)
      - Support for priviliges
      - Right handling of DROP/RENAME table (hope that it will be handled automatically
        with merging of .TRG into .FRM file)
      - Saving/restoring some information critical for trigger creation and replication
        with their definitions (e.g. sql_mode, creator, ...)
      - Replication
      
      Already has some known bugs so probably not for general review.
      
      
      include/mysqld_error.h:
        Added trigger related error codes.
      sql/Makefile.am:
        Added sql_trigger.* files to list of sources from which mysqld is built.
      sql/item.cc:
        Added Item_trigger_field class representing field of new/old version of row which is 
        inserted/updated/deleted and for which trigger is invoked.
      sql/item.h:
        Added enums for describing trigger properties. (Here because of dependencies).
        Added Item_trigger_field class representing field of new/old version of row which is 
        inserted/updated/deleted and for which trigger is invoked.
      sql/item_func.cc:
        Added Item_func_set_user_var::print_as_stmt() for printing of assignment to ser variable
        from stored procedures.
        Added comment clarifying why we don't need set no_send_ok when calling stored functions.
      sql/item_func.h:
        Added Item_func_set_user_var::print_as_stmt() for printing of assignment to ser variable
        from stored procedures.
      sql/lex.h:
        Symbols used in statements defining triggers were added.
      sql/mysql_priv.h:
        Exported some functions needed for triggers implementation.
      sql/parse_file.cc:
        Cleaned up FILE_OPTIONS_STRLIST handling (needed for triggers).
      sql/parse_file.h:
        Cleaned up FILE_OPTIONS_STRLIST handling (needed for triggers).
      sql/share/czech/errmsg.txt:
        Added trigger related error messages.
      sql/share/danish/errmsg.txt:
        Added trigger related error messages.
      sql/share/dutch/errmsg.txt:
        Added trigger related error messages.
      sql/share/english/errmsg.txt:
        Added trigger related error messages.
      sql/share/estonian/errmsg.txt:
        Added trigger related error messages.
      sql/share/french/errmsg.txt:
        Added trigger related error messages.
      sql/share/german/errmsg.txt:
        Added trigger related error messages.
      sql/share/greek/errmsg.txt:
        Added trigger related error messages.
      sql/share/hungarian/errmsg.txt:
        Added trigger related error messages.
      sql/share/italian/errmsg.txt:
        Added trigger related error messages.
      sql/share/japanese/errmsg.txt:
        Added trigger related error messages.
      sql/share/korean/errmsg.txt:
        Added trigger related error messages.
      sql/share/norwegian-ny/errmsg.txt:
        Added trigger related error messages.
      sql/share/norwegian/errmsg.txt:
        Added trigger related error messages.
      sql/share/polish/errmsg.txt:
        Added trigger related error messages.
      sql/share/portuguese/errmsg.txt:
        Added trigger related error messages.
      sql/share/romanian/errmsg.txt:
        Added trigger related error messages.
      sql/share/russian/errmsg.txt:
        Added trigger related error messages.
      sql/share/serbian/errmsg.txt:
        Added trigger related error messages.
      sql/share/slovak/errmsg.txt:
        Added trigger related error messages.
      sql/share/spanish/errmsg.txt:
        Added trigger related error messages.
      sql/share/swedish/errmsg.txt:
        Added trigger related error messages.
      sql/share/ukrainian/errmsg.txt:
        Added trigger related error messages.
      sql/sp_head.cc:
        sp_head::init_strings(): added support for triggers 
          (we don't have most of strings for them)
        sp_head::execute_function(): triggers don't require RETURN
        sp_head::reset_lex(): added propagation of trigger properties to LEX used for 
         parsing of statements composing trigger body.
        Added two more SP instructions:
        - sp_instr_set_user_var for setting user variables in stored functions and triggers
          (we can't use sp_instr_stmt and "SET @A:=..." statement since it will close open 
          tables and thus break execution of calling statement.
        - sp_instr_set_trigger_field for assignment to fields of row being updated/inserted in
          triggers
      sql/sp_head.h:
        Added new type of sp_head object - TYPE_ENUM_TRIGGER
        Added two more SP instructions:
        - sp_instr_set_user_var for setting user variables in stored functions and triggers
          (we can't use sp_instr_stmt and "SET @A:=..." statement since it will close open 
          tables and thus break execution of calling statement.
        - sp_instr_set_trigger_field for assignment to fields of row being updated/inserted in
          triggers
      sql/sql_base.cc:
        Now freeing memory occupied by trigger related structures when closing tables.
        open_unireg_entry(): added loading of triggers for table.
        find_field_in_real_table() is now public since it required by Item_trigger_field in item.cc
      sql/sql_delete.cc:
        Added triggers invocation for DELETE (should be fixed for sure :))
      sql/sql_insert.cc:
        Added triggers invocation for INSERT (should be fixed for sure :))
      sql/sql_lex.cc:
        Added trg_new_row_fake_var variable pointer to which is used for distinguishing between
        assignment to NEW row field (when parsing trigger definition) and structured variable.
        Added initialization of LEX->trg_table to lex_start(). (When triggers are parsed during
        opening of table it points to table object.)
      sql/sql_lex.h:
        Added trigger related commands.
        Added st_trg_chistics structure describing properties of trigger being created
        (as struct and as LEX member).
        Added trg_new_row_fake_var variable pointer to which is used for
        distinguishing between assignment to NEW row field (when parsing trigger definition)
        and structured variable.
        Added LEX::trg_table which points to table being opened when we are parsing trigger
        definition while opening table.
      sql/sql_parse.cc:
        Added support for CREATE/DROP TRIGGER commands.
      sql/sql_table.cc:
        Cleanup. close_cached_table() always returns 0 and its result is not analyzed in most
        places so chenged its return type to void.
      sql/sql_update.cc:
        Added triggers invocation for UPDATE (should be fixed for sure :))
      sql/sql_yacc.yy:
        Added support for CREATE/DROP TRIGGER statements.
        Added support for OLD/NEW row identifiers in trigger.
        Made assignment to user variables not to break execution of stored function or trigger.
      sql/table.h:
        Added TABLE::triggers member representing triggers for this table.
      960c429d
  32. 06 Sep, 2004 3 commits
    • unknown's avatar
      added CHECK option test for INSERT ... ON DUPLICATE KEY UPDATE (WL#1983) · 7ef517c5
      unknown authored
      mysql-test/r/view.result:
        CHECK OPTION with INSERT ... ON DUPLICATE KEY UPDATE
      mysql-test/t/view.test:
        CHECK OPTION with INSERT ... ON DUPLICATE KEY UPDATE
      sql/sql_class.h:
        new parameters added to save CHECK OPTION
        constructor moved
      sql/sql_insert.cc:
        new parameters added to save CHECK OPTION
        check of CHECK OPTION added
        constructor moved
      sql/sql_parse.cc:
        new parameters added to save CHECK OPTION
      7ef517c5
    • unknown's avatar
      do not use Item_ref for view fields if it is UPDATE of INSERT (BUG#5263) · f1fa0d87
      unknown authored
      mysql-test/r/view.result:
        INSERT into VIEW with ON DUPLICATE
      mysql-test/t/view.test:
        INSERT into VIEW with ON DUPLICATE
      sql/sql_insert.cc:
        do not use Item_ref for view fields if it is UPDATE of INSERT
      f1fa0d87
    • unknown's avatar
      postmerge fix · 70feaa28
      unknown authored
      70feaa28
  33. 04 Sep, 2004 1 commit
    • unknown's avatar
      Print value of Item_param if it has a value (when debugging) · 7e49a21c
      unknown authored
      libmysql/libmysql.c:
        More debug
      sql/item.h:
        Print value of param if it has a value (when debugging)
      sql/log.cc:
        Better variable name
      sql/sql_insert.cc:
        Fix bug casused by merge
      sql/sql_parse.cc:
        Added missing command names (caused crash when running with --debug)
      sql/sql_select.cc:
        More debugging
      sql/sql_yacc.yy:
        Fixed typo
      tests/client_test.c:
        More debugging
      7e49a21c
  34. 03 Sep, 2004 1 commit
    • unknown's avatar
      Cleanup of new code pushed into 5.0 since last pull · 4f219919
      unknown authored
      Merged the different find_xxxx_table_in_list functions to one + some inline functions
      
      
      mysql-test/r/view.result:
        Fix result (remove not used view from show tables)
      sql/item_subselect.cc:
        Remove not used functions
      sql/item_subselect.h:
        Remove not used functions
      sql/mysql_priv.h:
        Merged the different find_xxxx_table_in_list functions to one + some inline functions
      sql/sql_acl.cc:
        More debugging + simple cleanups
      sql/sql_base.cc:
        Merged the different find_xxxx_table_in_list functions to one + some inline functions
        Indentation cleanups & more comments
      sql/sql_delete.cc:
        Namechange
      sql/sql_insert.cc:
        Simple optimizations & Style cleanups
        Merged common code (in mysql_prepare_insert_check_table)
      sql/sql_lex.cc:
        function name changes
        More comments
      sql/sql_parse.cc:
        Function name changes
        Made check_one_table_access returning bool
        More debugging in 'check_access'
        Added function 'check_some_access', which is used when creating a view
      sql/sql_prepare.cc:
        Resetting flag directly after test makes code easier to read
      sql/sql_select.cc:
        Code simplifications
      sql/sql_show.cc:
        Indentation cleanups.
        Fixed typo in name
      sql/sql_update.cc:
        Function name change
      sql/sql_view.cc:
        Simple optimizations.
        Style fixes.
        Remove view_field_names[]
        Simplified 'check_key_in_view()'
      sql/table.cc:
        Simplified new code in openfrm()
        variable name change i -> item
        Indentation changes
      sql/table.h:
        Fixed typo in variable name
        Method name change in field iterator: end() -> end_of_fields()
      tests/client_test.c:
        Changed number to macro
      4f219919