An error occurred fetching the project authors.
  1. 13 Sep, 2005 1 commit
    • unknown's avatar
      Fixed BUG#12712: SET AUTOCOMMIT should fail within SP/functions/triggers · e588b8e0
      unknown authored
        Second version after review. Allow 'set autocommit' in procedures, but not
        functions or triggers. Can return error in run-time (when a function calls
        a procedure).
      
      
      mysql-test/r/sp-error.result:
        New test case for BUG#12712.
      mysql-test/t/sp-error.test:
        New test case for BUG#12712.
      sql/set_var.cc:
        Made sys_autocommit external, to allow testing in sql_yacc.yy.
      sql/set_var.h:
        Made sys_autocommit external, to allow testing in sql_yacc.yy.
      sql/share/errmsg.txt:
        New error message for disallowing the setting of autocommit in stored functions and triggers.
      sql/sp_head.h:
        New flag: has 'set autocommit', and testing for this in is_not_allowed_in_function().
      sql/sql_yacc.yy:
        Disallow setting AUTOCOMMIT in stored function and triggers.
      e588b8e0
  2. 07 Sep, 2005 1 commit
    • unknown's avatar
      Fix for bug#11775 Variable character_set_system does not exist (sometimes). · f72d05d6
      unknown authored
        Variable character_set_system is selectable now
        More accurate error message results during 
        update of character_set_system and some other read only variables
      
      
      mysql-test/r/variables.result:
        Fix for bug#11775 Variable character_set_system does not exist (sometimes).
          test case
      mysql-test/t/variables.test:
        Fix for bug#11775 Variable character_set_system does not exist (sometimes).
          test case
      f72d05d6
  3. 30 Aug, 2005 2 commits
    • unknown's avatar
      set_var.cc: · 27d48f3e
      unknown authored
        Reorder out-of-order system variables
      
      
      sql/set_var.cc:
        Reorder out-of-order system variables
      27d48f3e
    • unknown's avatar
      Bug#12363 · af30b05e
      unknown authored
      character_set_results is nullable, but value_ptr returns string "NULL"
      
      set_var.cc:
        Create Item_null instead of Item_string for NULL values
      
      variables.result, variables.test:
        adding test case
      
      
      sql/set_var.cc:
        Bug#12363
        character_set_results is nullable, but value_ptr returns string "NULL"
        Create Item_null instead of Item_string for NULL values
      mysql-test/t/variables.test:
        fixing tests accordingly
      mysql-test/r/variables.result:
        fixing tests accordingly
      af30b05e
  4. 29 Aug, 2005 1 commit
    • unknown's avatar
      set_var.cc: · 37d42b83
      unknown authored
        Reorder out-of-order system variables.
      
      
      sql/set_var.cc:
        Reorder out-of-order system variables.
      37d42b83
  5. 28 Aug, 2005 2 commits
    • unknown's avatar
      set_var.cc: · debc99ec
      unknown authored
        Reorder out-of-order system variables.
      
      
      sql/set_var.cc:
        Reorder out-of-order system variables.
      debc99ec
    • unknown's avatar
      set_var.cc: · dee3b44a
      unknown authored
        Reorder out-of-order system variables.
      
      
      sql/set_var.cc:
        Reorder out-of-order system variables.
      dee3b44a
  6. 26 Aug, 2005 1 commit
  7. 22 Aug, 2005 1 commit
    • unknown's avatar
      Use the hostname with which the user authenticated when determining which · e14b2869
      unknown authored
      user to update with 'SET PASSWORD = ...'. (Bug #12302)
      
      
      mysql-test/r/grant2.result:
        Add new results
      mysql-test/t/grant2.test:
        Add new tests
      sql/set_var.cc:
        Pass priv_host into check_change_password().
      sql/sql_acl.cc:
        Add exact flag for find_acl_user, so we can specify that we want
        an exact match on the hostname.
      e14b2869
  8. 11 Aug, 2005 1 commit
    • unknown's avatar
      set_var.cc, mysqld.cc, ha_innodb.h, ha_innodb.cc, srv0srv.c, srv0srv.h: · 5b8d65b8
      unknown authored
        Added innodb_commit_concurrency variable
      
      
      innobase/include/srv0srv.h:
        Added innodb_commit_concurrency variable
      innobase/srv/srv0srv.c:
        Added innodb_commit_concurrency variable
      sql/ha_innodb.cc:
        Added innodb_commit_concurrency variable
      sql/ha_innodb.h:
        Added innodb_commit_concurrency variable
      sql/mysqld.cc:
        Added innodb_commit_concurrency variable
      sql/set_var.cc:
        Added innodb_commit_concurrency variable
      5b8d65b8
  9. 07 Aug, 2005 1 commit
    • unknown's avatar
      Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO · 09f0d423
      unknown authored
      Give the user a warning if he tries to destroy the default key cache.
      
      
      mysql-test/r/key_cache.result:
        Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO
        The test result.
      mysql-test/t/key_cache.test:
        Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO
        The test case.
      sql/share/errmsg.txt:
        Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO
        The new message string.
      09f0d423
  10. 31 Jul, 2005 2 commits
    • unknown's avatar
      After merge fixes · 4e862e00
      unknown authored
      Review of new pushed code
      
      
      client/mysqlbinlog.cc:
        After merge fixes
      sql/set_var.cc:
        After merge fixes
      sql/sql_select.cc:
        Removed not needed test (field->maybe_null() also tests field->table->maybe_null)
      4e862e00
    • unknown's avatar
      Fixes during review of new pushed code · f5589f21
      unknown authored
      Change bool in C code to my_bool
      Added to mysqltest --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
      Added comparison of LEX_STRING's and use this to compare file types for view and trigger files.
      
      
      client/client_priv.h:
        Added OPT_TRIGGERS (to get rid of compiler warning)
      client/mysql.cc:
        Added cast to get rid of compiler warning
      client/mysqldump.c:
        Added OPT_TRIGGERS (to get rid of compiler warning)
        Abort if we can't write to outfile (even if --ignore-errors is given)
      client/mysqltest.c:
        Added --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
      include/my_sys.h:
        Make my_progname const
      include/my_time.h:
        Avoid using 'bool' in C programs
      mysql-test/lib/init_db.sql:
        Align with mysql_create_system_tables
        (Ideally this file should be auto-generated from the above script)
      mysql-test/r/mysqltest.result:
        Test for --enable_parsing
      mysql-test/r/variables.result:
        Update results after fix for overflow checking of max_heap_table_size
      mysql-test/t/information_schema.test:
        USe --enable/disable parsing instead of comments
      mysql-test/t/mysqltest.test:
        Test for --enable_parsing
      mysql-test/t/sp.test:
        USe --enable/disable parsing instead of comments
      mysql-test/t/variables.test:
        Portability fix for 64 bit systems
      mysql-test/t/view.test:
        USe --enable/disable parsing instead of comments
      mysys/my_init.c:
        May my_progname const
      mysys/my_static.c:
        May my_progname const
      mysys/thr_lock.c:
        Remove not needed casts
      sql-common/my_time.c:
        Change bool -> my_bool as bool is not portable in C programs
      sql/field.cc:
        Test number_to_datetime() for -1 instead of < 0 (Safety fix)
        New prototype for TIME_to_timestamp()
      sql/item.h:
        Don't have prototypes for both uint32 and ulong as these 'may' be the same thing
      sql/item_timefunc.cc:
        New prototype for TIME_to_timestamp()
      sql/log.cc:
        Remove compiler warnings
      sql/mysql_priv.h:
        New prototype for TIME_to_timestamp()
        Added function for comparing LEX_STRING
      sql/set_var.cc:
        Added overflow checking when setting ulong variable
      sql/sql_base.cc:
        Added function is_equal()
        Changed strncmp -> is_equal() as strncmp() to not match "V" (instead of "VIEW")
      sql/sql_class.cc:
        Added comment
      sql/sql_select.cc:
        Portability fixes
        After review fixes
      sql/sql_trigger.cc:
        Use 'tables_alias_charset' for comparing database name
        Use 'is_equal()' to compare file type. (Old code didn't do the comparison correctly)
      sql/sql_view.cc:
        Use 'is_equal()' to compare file type. (Old code didn't do the comparison correctly)
      sql/time.cc:
        New prototype for TIME_to_timestamp() to allow easyer mapping to C function
      sql/tztime.cc:
        bool -> my_bool (to allow calling C code from C++ code)
      sql/tztime.h:
        bool -> my_bool (to allow calling C code from C++ code)
      f5589f21
  11. 29 Jul, 2005 2 commits
    • unknown's avatar
      Added sql_mode saving to mysql_dump (BUG#5891, part 2) · 3c8f29cd
      unknown authored
      client/client_priv.h:
        add OPT_ for --trigger parameter
      client/mysqldump.c:
        fixed short simbol for trigger
        fixed lines break for more compiler compatibility
        added sql_mode output
        added comments
        made protection of trigger and view restoring commands from execution by old versions of mysql
      mysql-test/r/mysqldump.result:
        changed test, to test sql_mode
      mysql-test/r/sp.result:
        now sql_mode preserved in SP
      mysql-test/t/mysqldump.test:
        changed test, to test sql_mode
      mysql-test/t/sp.test:
        now sql_mode preserved in SP
      sql/set_var.cc:
        fixed comment
      3c8f29cd
    • unknown's avatar
      Fix for handling of unsigned long options on 32-bit platforms that · e0593575
      unknown authored
      allowed unintended overflows. (Bug #10351)
      
      
      mysql-test/r/select_safe.result:
        Update results
      mysql-test/r/variables.result:
        Update results
      mysql-test/t/select_safe.test:
        Remove "SELECT @@MAX_SEEKS_FOR_KEY;" because it depends on
        size of unsigned long of the system.
      mysql-test/t/variables.test:
        Fix test for #10351 to test the actual problem
      sql/mysqld.cc:
        Undo unnecessary change to default and max of max_seeks_for_key
      sql/set_var.cc:
        On platforms where SIZEOF_LONG != SIZEOF_LONGLONG, make sure to handle
        max values for ulong-sized options correctly.
      e0593575
  12. 28 Jul, 2005 1 commit
    • unknown's avatar
      store/restore sql_mode which was in force during ctrigger creation (BUG#5891) · c630a7ba
      unknown authored
      other sql_mode fixes
      
      
      mysql-test/r/information_schema.result:
        changes in information schema
      mysql-test/r/trigger.result:
        storing and restoring sql modes for triggers
      mysql-test/t/trigger.test:
        storing and restoring parsing modes for triggers
      sql/mysqld.cc:
        add length of mode names
      sql/parse_file.cc:
        new type of list (ulonglong)
      sql/parse_file.h:
        new type of list (ulonglong)
      sql/set_var.cc:
        mode output made as static method
      sql/set_var.h:
        mode output made as static method
      sql/sp_head.cc:
        added sql_mode storing/restoring during SP execution
        optimised sql_mode printing
      sql/sp_head.h:
        comment fixed according this changes
      sql/sql_show.cc:
        added sql_mode field
      sql/sql_trigger.cc:
        store/restore sql_mode which was in force during ctrigger creation
      sql/sql_trigger.h:
        store/restore sql_mode which was in force during ctrigger creation
      sql/sql_view.cc:
        fixed sql_mode
      c630a7ba
  13. 22 Jul, 2005 1 commit
    • unknown's avatar
      Fix value returned from SELECT of unsigned long system · 008d8f07
      unknown authored
      variables. (Bug #10351)
      
      
      mysql-test/r/variables.result:
        Update results
      mysql-test/t/variables.test:
        Add regression test
      sql/item.h:
        Add Item_uint(ulong) constructor
      sql/mysqld.cc:
        Fix default/max max_seeks_for_key to UINT_MAX32
      sql/set_var.cc:
        Use correct Item_uint() constructors in sys_var::item()
      008d8f07
  14. 19 Jul, 2005 1 commit
    • unknown's avatar
      A fix and a test case for Bug#10760 and complementary cleanups. · 5f07c9d2
      unknown authored
      The idea of the patch
      is that every cursor gets its own lock id for table level locking.
      Thus cursors are protected from updates performed within the same 
      connection. Additionally a list of transient (must be closed at
      commit) cursors is maintained and all transient cursors are closed
      when necessary. Lastly, this patch adds support for deadlock
      timeouts to TLL locking when using cursors.
      + post-review fixes.
      
      
      include/thr_lock.h:
        - add a notion of lock owner to table level locking. When using
          cursors, lock owner can not be identified by a thread id any more, 
          as we must protect cursors from updates issued within the same 
          connection (thread). So, each cursor has its own lock identifier to 
          use with table level locking.
        - extend return values of thr_lock and thr_multi_lock with
          THR_LOCK_TIMEOUT and THR_LOCK_DEADLOCK, since these conditions
          are now possible (see comments to thr_lock.c)
      mysys/thr_lock.c:
        Better support for cursors:
        - use THR_LOCK_OWNER * as lock identifier, not pthread_t.
        - check and return an error for a trivial deadlock case, when an
          update statement is issued to a table locked by a cursor which has 
          been previously opened in the same connection.
        - add support for locking timeouts: with use of cursors, trivial 
          deadlocks can occur. For now the only remedy is the lock wait timeout,
          which is initialized from a new global variable 'table_lock_wait_timeout'
          Example of a deadlock (assuming the storage engine does not downgrade 
          locks):
          con1: open cursor for select * from t1;
          con2: open cursor for select * from t2;
          con1: update t2 set id=id*2;  -- blocked
          con2: update t1 set id=id*2;  -- deadlock
          Lock timeouts are active only if a connection is using cursors.
        - the check in the wait_for_lock loop has been changed from
          data->cond != cond to data->cond != 0. data->cond is zeroed
          in every place it's changed. 
        - added comments
      sql/examples/ha_archive.cc:
        - extend the handlerton with the info about cursor behaviour at commit.
      sql/examples/ha_archive.h:
        - ctor moved to .cc to make use of archive handlerton
      sql/examples/ha_example.cc:
        - add handlerton instance, init handler::ht with it
      sql/examples/ha_example.h:
        - ctor moved to .cc to make use of ha_example handlerton
      sql/examples/ha_tina.cc:
        - add handlerton instance, init handler::ht with it
      sql/examples/ha_tina.h:
        - ctor moved to .cc to make use of CSV handlerton
      sql/ha_berkeley.cc:
        - init handlerton::flags and handler::ht
      sql/ha_berkeley.h:
        - ctor moved to .cc to make use of BerkeleyDB handlerton
      sql/ha_blackhole.cc:
        - add handlerton instance, init handler::ht with it
      sql/ha_blackhole.h:
        - ctor moved to .cc to make use of blackhole handlerton
      sql/ha_federated.cc:
        - add handlerton instance, init handler::ht with it
      sql/ha_federated.h:
        - ctor moved to .cc to make use of federated handlerton
      sql/ha_heap.cc:
        - add handlerton instance, init handler::ht with it
      sql/ha_heap.h:
        - ctor moved to .cc to make use of ha_heap handlerton
      sql/ha_innodb.cc:
        - init handlerton::flags and handler::ht of innobase storage engine
      sql/ha_innodb.h:
        - ctor moved to .cc to make use of archive handlerton
      sql/ha_myisam.cc:
        - add handlerton instance, init handler::ht with it
      sql/ha_myisam.h:
        - ctor moved to .cc to make use of MyISAM handlerton
      sql/ha_myisammrg.cc:
        - init handler::ht in the ctor
      sql/ha_myisammrg.h:
        - ctor moved to .cc to make use of MyISAM MERGE handlerton
      sql/ha_ndbcluster.cc:
        - init handlerton::flags and handler::ht
      sql/handler.cc:
        - drop support for ISAM storage engine, which was removed from 5.0
        - close all "transient" cursors at COMMIT/ROLLBACK. A "transient"
          SQL level cursor is a cursor that uses tables that have a transaction-
          specific state.
      sql/handler.h:
        - extend struct handlerton with flags, add handlerton *ht to every
          handler instance.
      sql/lock.cc:
        - extend mysql_lock_tables to send error to the client if 
          thr_multi_lock returns a timeout or a deadlock error.
      sql/mysqld.cc:
        - add server option --table_lock_wait_timeout (in seconds)
      sql/set_var.cc:
        - add new global variable 'table_lock_wait_timeout' to specify
        a wait timeout for table-level locks of MySQL (in seconds). The default
        timeout is 50 seconds. The timeout is active only if the connection
        has open cursors.
      sql/sql_class.cc:
        - implement Statement_map::close_transient_cursors
        - safety suggests that we need an assert ensuring 
         llock_info->n_cursors is functioning properly, adjust destruction of
         the Statement_map to allow such assert in THD::~THD
      sql/sql_class.h:
        - add support for Cursors registry to Statement map.
      sql/sql_prepare.cc:
        - maintain a list of cursors that must be closed at commit/rollback.
      sql/sql_select.cc:
        - extend class Cursor to support specific at-COMMIT/ROLLBACK behavior.
        If a cursor uses tables of a storage engine that 
        invalidates all open tables at COMMIT/ROLLBACK, it must be closed
        before COMMIT/ROLLBACK is executed.
      sql/sql_select.h:
        - add an own lock_id and commit/rollback status flag to class Cursor
      tests/mysql_client_test.c:
        A test case for Bug#10760 and complementary issues: test a simple
        deadlock case too.
      mysql-test/var:
        New BitKeeper file ``mysql-test/var''
      5f07c9d2
  15. 15 Jul, 2005 1 commit
    • unknown's avatar
      A fix and a test case for Bug#9359 "Prepared statements take snapshot · 0b9cb876
      unknown authored
       of system vars at PREPARE time": implement a special Item
      to handle system variables. This item substitutes itself with 
      a basic constant containing variable value at fix_fields.
      
      
      mysql-test/r/ps.result:
        - test results fixed (Bug#9359).
      mysql-test/t/ps.test:
        - add a test case for Bug#9359 "Prepared statements take snapshot
         of system vars at PREPARE time"
      sql/item_func.cc:
        - implement Item_func_get_system_var: we should not evaluate system
        variables in the parser, but instead should create an item which 
        is evaluated to a constant at execute.
        - remove an unused function
      sql/item_func.h:
        Add a new item, Item_func_get_system_var
      sql/mysql_priv.h:
        Move necessary declarations to make set_var.h objects visible in 
        item_func.h
      sql/set_var.cc:
        - we should not print to network from get_system_var: if it's called
        from prepared statement prepare, we get packets out of order when using
        the binary protocol. Instead report the error to be sent to the user later.
        This is a backport from 5.0.
      sql/set_var.h:
        - declaration of enum_var_type moved to mysql_priv.h
      0b9cb876
  16. 01 Jul, 2005 1 commit
    • unknown's avatar
      Name resolution context added (BUG#6443) · f75ad371
      unknown authored
      include/my_bitmap.h:
        new bitmap operation
      mysql-test/r/view.result:
        added warnings
        Correct inserting data check (absence of default value) for view underlying tables (BUG#6443)
      mysql-test/t/view.test:
        Correct inserting data check (absence of default value) for view underlying tables (BUG#6443)
      mysys/my_bitmap.c:
        new bitmap operation
      sql/field.h:
        index of field in table added
      sql/item.cc:
        Name resolution context added
        table list removed from fix_fields() arguments
      sql/item.h:
        Name resolution context added
        table list removed from fix_fields() arguments
      sql/item_cmpfunc.cc:
        table list removed from fix_fields() arguments
      sql/item_cmpfunc.h:
        table list removed from fix_fields() arguments
      sql/item_func.cc:
        table list removed from fix_fields() arguments
      sql/item_func.h:
        table list removed from fix_fields() arguments
      sql/item_row.cc:
        table list removed from fix_fields() arguments
      sql/item_row.h:
        table list removed from fix_fields() arguments
      sql/item_strfunc.cc:
        fixed server crash on NULL argument
      sql/item_strfunc.h:
        table list removed from fix_fields() arguments
      sql/item_subselect.cc:
        table list removed from fix_fields() arguments
      sql/item_subselect.h:
        table list removed from fix_fields() arguments
      sql/item_sum.cc:
        table list removed from fix_fields() arguments
      sql/item_sum.h:
        table list removed from fix_fields() arguments
      sql/item_timefunc.cc:
        table list removed from fix_fields() arguments
      sql/item_timefunc.h:
        table list removed from fix_fields() arguments
      sql/item_uniq.h:
        table list removed from fix_fields() arguments
      sql/log_event.cc:
        Name resolution context added
      sql/log_event.h:
        Name resolution context added
      sql/mysql_priv.h:
        Name resolution context added
      sql/set_var.cc:
        table list removed from fix_fields() arguments
      sql/share/errmsg.txt:
        new error message
      sql/sp.cc:
        Name resolution context added
      sql/sp_head.cc:
        table list removed from fix_fields() arguments
      sql/sp_head.h:
        Name resolution context added
      sql/sql_base.cc:
        table list removed from fix_fields() arguments
        Name resolution context added
      sql/sql_class.cc:
        renamed variable
      sql/sql_delete.cc:
        Name resolution context added
      sql/sql_derived.cc:
        Name resolution context added
      sql/sql_do.cc:
        table list removed from fix_fields() arguments
      sql/sql_handler.cc:
        Name resolution context added
      sql/sql_help.cc:
        Name resolution context added
      sql/sql_insert.cc:
        Name resolution context added
        table list removed from fix_fields() arguments
      sql/sql_lex.cc:
        Name resolution context added
      sql/sql_lex.h:
        removed resolve mode (information stored into name resolution context)
      sql/sql_load.cc:
        table list removed from fix_fields() arguments
      sql/sql_olap.cc:
        Name resolution context added
      sql/sql_parse.cc:
        Name resolution context added
      sql/sql_prepare.cc:
        table list removed from fix_fields() arguments
      sql/sql_select.cc:
        table list removed from fix_fields() arguments
      sql/sql_show.cc:
        Name resolution context added
      sql/sql_trigger.cc:
        table list removed from fix_fields() arguments
      sql/sql_udf.h:
        table list removed from fix_fields() arguments
      sql/sql_union.cc:
        Name resolution context added
      sql/sql_update.cc:
        Name resolution context added
      sql/sql_view.cc:
        Name resolution context added
      sql/sql_view.h:
        table list removed from fix_fields() arguments
      sql/sql_yacc.yy:
        Name resolution context added
      sql/table.cc:
        Name resolution context added
        merged view processing moved
      sql/table.h:
        merged view processing moved
      f75ad371
  17. 24 Jun, 2005 1 commit
    • unknown's avatar
      Make status of NO_BACKSLASH_ESCAPES mode known to the client so · f0424872
      unknown authored
      it can use it to switch to only quoting apostrophes by doubling
      them when it is in effect. (Bug #10214)
      
      
      include/my_sys.h:
        Add new escape_quotes_for_mysql() function
      include/mysql_com.h:
        Add SERVER_STATUS_NO_BACKSLASH_ESCAPES
      libmysql/libmysql.c:
        Use SERVER_STATUS_NO_BACKSLASH_ESCAPES in server_status to determine
        how mysql_real_escape_string() should do quoting.
      mysys/charset.c:
        Add new escape_quotes_for_mysql() function that only quotes
        apostrophes by doubling them up.
      sql/set_var.cc:
        Set SERVER_STATUS_NO_BACKSLASH_ESCAPES when MODE_NO_BACKSLASH_ESCAPES
        changes.
      sql/sql_class.cc:
        Set SERVER_STATUS_NO_BACKSLASH_ESCAPES when necessary on thread creation.
      tests/mysql_client_test.c:
        Add new test for sending NO_BACKSLASH_ESCAPES as part of server_status.
      f0424872
  18. 22 Jun, 2005 1 commit
    • unknown's avatar
      WL#2286 - Compile MySQL w/YASSL support · 1e2ffbf0
      unknown authored
      Fix GCC 4.0 link failure.
      Better CXX_VERSION guessing.
      
      
      config/ac-macros/misc.m4:
        Better CXX_VERSION guessing.
      configure.in:
        CXX_VERSION guessing moved to misc.m4.
        HAVE_EXPLICIT_TEMPLATE_INSTANTIATION moved to config.h.
        Use compiler AR with MIPSpro and Forte instead of instantiating templates explicitly.
      extra/yassl/src/crypto_wrapper.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      extra/yassl/src/template_instnt.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      extra/yassl/src/yassl_int.cpp:
        GCC 4.0 link fix. This file needs __cxa_pure_virtual.
      extra/yassl/taocrypt/include/runtime.hpp:
        Fix GCC 4.0 link failure. Instruct compiler to always emit __cxa_pure_virtual even if
        it seems to be never used.
      extra/yassl/taocrypt/include/types.hpp:
        Include config.h.
      extra/yassl/taocrypt/src/algebra.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      extra/yassl/taocrypt/src/dh.cpp:
        GCC 4.0 link fix. This file needs __cxa_pure_virtual.
      extra/yassl/taocrypt/src/dsa.cpp:
        GCC 4.0 link fix. This file needs __cxa_pure_virtual.
      extra/yassl/taocrypt/src/integer.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      extra/yassl/taocrypt/src/rsa.cpp:
        GCC 4.0 link fix. This file needs __cxa_pure_virtual.
      extra/yassl/taocrypt/src/template_instnt.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/field.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/item.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/item_buff.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/mysqld.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/opt_range.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/set_var.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/slave.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_acl.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_class.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_insert.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_map.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_select.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_show.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/table.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      1e2ffbf0
  19. 21 Jun, 2005 1 commit
    • unknown's avatar
      Cleanup during review of new code · 8cdb0f0c
      unknown authored
      Fixed wrong allocation that could cause buffer overrun when using join cache
      
      
      myisam/mi_open.c:
        Fixed indentation
      mysql-test/r/lowercase_table2.result:
        Drop tables and databases used in the test
      mysql-test/t/lowercase_table2.test:
        Drop tables and databases used in the test
      mysys/my_fopen.c:
        Cleanup of comments and parameter names
        Simple optimization
        Removed compiler warnings
      sql/field.cc:
        Fixed wrong allocation that could cause buffer overrun
      sql/mysqld.cc:
        Removed not needed code
      sql/set_var.cc:
        Simply code
      sql/sql_select.cc:
        Use int2store/int2korr to store length of cached VARCHAR fields
        (Not dependent on type and faster code as we avoid one possible call)
      8cdb0f0c
  20. 19 Jun, 2005 1 commit
    • unknown's avatar
      WL#2286 - Compile MySQL w/YASSL support · c47a33ab
      unknown authored
      Fix for yaSSL link failures with Forte Developer 7, MIPSpro Compilers, Compaq C++.
      These compilers have problem with implicit template instantiation in archives
      (libyassl.a, libtaocrypt.a). Instantiate templates explicitly.
      
      Fix for yaSSL link failure on powermacg5 (gcc 3.3). When -O3 is specified gcc inlines
      __cxa_pure_virtual. This is wrong behavior, __cxa_pure_virtual must never be inlined.
      
      
      configure.in:
        Better CXX_VERSION guessing.
        EXPLICIT_TEMPLATE_INSTANTIATION macro indicates whether to instantiate templates explicitly.
        Instantiate templates explicitly on MIPSpro, Compaq, Forte.
      extra/yassl/src/crypto_wrapper.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      extra/yassl/src/template_instnt.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
        More portable templates instantiation.
      extra/yassl/src/yassl_int.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
        More portable templates instantiation.
      extra/yassl/taocrypt/include/runtime.hpp:
        Fix for link failure on powermacg5 (gcc 3.3). __cxa_pure_virtual must never be inlined.
      extra/yassl/taocrypt/src/algebra.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      extra/yassl/taocrypt/src/integer.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      extra/yassl/taocrypt/src/template_instnt.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/field.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/item.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/item_buff.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/mysqld.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/opt_range.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/set_var.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/slave.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_acl.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_class.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_insert.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_map.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_select.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_show.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/table.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      c47a33ab
  21. 17 Jun, 2005 1 commit
    • unknown's avatar
      Bug#6877 MySQL should give an error if the requested table type is not available · 6c085d9f
      unknown authored
        Implement new SQL mode - NO_ENGINE_SUBSTITUTION
      
      
      mysql-test/r/sql_mode.result:
        Test for bug 6877
      mysql-test/t/sql_mode.test:
        Test for bug 6877
      sql/handler.cc:
        change to ha_checktype()
      sql/handler.h:
        change to ha_checktype()
      sql/mysql_priv.h:
        new sql mode NO_ENGINE_SUBSTITUTION
        change to args for get_table_type() and create_frm()
      sql/mysqld.cc:
        new sql mode NO_ENGINE_SUBSTITUTION
      sql/set_var.cc:
        change to ha_checktype() args
      sql/sql_delete.cc:
        change to get_table_type() args
      sql/sql_rename.cc:
        change to get_table_type() args
      sql/sql_table.cc:
        move common code to check_engine()
        change to ha_checktype(), get_table_type() args
      sql/table.cc:
        change to ha_checktype(), create_frm(), get_table_type() args
      sql/unireg.cc:
        change to create_frm() args
      6c085d9f
  22. 09 Jun, 2005 1 commit
  23. 05 Jun, 2005 1 commit
  24. 03 Jun, 2005 1 commit
    • unknown's avatar
      Move USE_PRAGMA_IMPLEMENTATION to proper place · 90931c2e
      unknown authored
      Ensure that 'null_value' is not accessed before val() is called in FIELD() functions
      Fixed initialization of key maps. This fixes some problems with keys when you have more than 64 keys
      Fixed that ROLLUP don't always create a temporary table. This fix ensures that func_gconcat.test results are now predictable
      
      
      mysql-test/r/func_gconcat.result:
        Move innodb specific test to innodb.test
        Changed table name r2 -> t2
        More test to see how ROLLUP was optimized
      mysql-test/r/innodb.result:
        Moved test here form func_gconcat
      mysql-test/r/olap.result:
        New test results after optimization
      mysql-test/t/func_gconcat.test:
        Move innodb specific test to innodb.test
        Changed table name r2 -> t2
        More test to see how ROLLUP was optimized
      mysql-test/t/innodb.test:
        Moved test here form func_gconcat
      sql/field.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_berkeley.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_blackhole.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_heap.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_innodb.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_isam.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_isammrg.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_myisam.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_myisammrg.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_ndbcluster.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/handler.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/hash_filo.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_cmpfunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_func.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
        Ensure that 'null_value' is not accessed before val() is called
      sql/item_geofunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_strfunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_subselect.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_sum.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_timefunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_uniq.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/log_event.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/mysql_priv.h:
        Change key_map_full to not be const as we are giving it a proper value on startup
      sql/mysqld.cc:
        Move key_map variables here and initialize key_map_full properly
      sql/opt_range.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/opt_range.h:
        Fix that test_quick_select() works with any ammount of keys
      sql/procedure.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/protocol.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/protocol_cursor.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/set_var.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_analyse.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_class.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_crypt.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_insert.cc:
        Fixed that max_rows is ulong
      sql/sql_list.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_map.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_olap.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_select.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
        Fixed that ROLLUP don't have to always create a temporary table
        Added new argument to remove_const() to make above possible
        Fixed some errors that creapt up when we don't always do a temporary table for ROLLUP
      sql/sql_string.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_table.cc:
        Simple optimizations
        Fixed wrong checking of build_table_path() in undef-ed code
      sql/sql_udf.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_yacc.yy:
        removed extra {}
      90931c2e
  25. 02 Jun, 2005 2 commits
    • unknown's avatar
      item_func.cc: · 2bf8c6c9
      unknown authored
      set_var.cc:
      variables.result
      variables.test
      
        Bug #10904 Illegal mix of collations between a system variable and a constant
        Changing coercibility of system variables to SYSCONST,
        to be the same with USER(), DATABASE(), etc.
      
      
      sql/item_func.cc:
        Bug #10904 Illegal mix of collations between a system variable and a constant
        Changing coercibility of system variables to SYSCONST
        To be the same with USER(), DATABASE(), etc.
      2bf8c6c9
    • unknown's avatar
      tztime.cc: · 504d71aa
      unknown authored
        Set #pragma implementation" earlier
      Many files:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      
      
      client/sql_string.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      mysys/raid.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/field.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_berkeley.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_blackhole.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_heap.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_innodb.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_isam.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_isammrg.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisam.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisammrg.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_ndbcluster.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/handler.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/hash_filo.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_cmpfunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_func.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_geofunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_strfunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_subselect.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_sum.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_timefunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_uniq.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/log_event.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/opt_range.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/procedure.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/protocol.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/protocol_cursor.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/set_var.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_analyse.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_class.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_crypt.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_list.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_map.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_olap.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/examples/ha_archive.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_select.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_string.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_udf.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/examples/ha_example.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/examples/ha_tina.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/tztime.cc:
        Set #pragma implementation" earlier
      504d71aa
  26. 26 May, 2005 1 commit
    • unknown's avatar
      Add ifdefs to control when "#pragma implementation" should be used · 50dfbb61
      unknown authored
      Added some more ifdefs for "#pragma interface"
      
      
      client/sql_string.cc:
        USE_PRAGMA_IMPLEMENTATION
      client/sql_string.h:
        USE_PRAGMA_INTERFACE
      include/my_global.h:
        Use pragma implementation for gcc pre version 3
      mysys/raid.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/field.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_berkeley.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_blackhole.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_heap.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_innodb.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_isam.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_isammrg.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisam.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisammrg.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_ndbcluster.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/handler.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/hash_filo.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_cmpfunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_func.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_geofunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_strfunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_subselect.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_sum.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_timefunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_uniq.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_uniq.h:
        USE_PRAGMA_INTERFACE
      sql/log_event.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/log_event.h:
        USE_PRAGMA_INTERFACE
      sql/opt_range.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/procedure.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/protocol.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/protocol_cursor.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/set_var.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_analyse.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_analyse.h:
        USE_PRAGMA_INTERFACE
      sql/sql_class.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_crypt.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_crypt.h:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_list.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_map.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_map.h:
        USE_PRAGMA_INTERFACE
      sql/sql_olap.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_select.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_string.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_udf.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/tztime.cc:
        USE_PRAGMA_IMPLEMENTATION
      50dfbb61
  27. 13 May, 2005 2 commits
    • unknown's avatar
      a fix (bug #10339: Incorrect error is displayed if try to set value of internal ' warning_count '). · 037706fe
      unknown authored
      sql/set_var.cc:
        a fix (bug #10339: Incorrect error is displayed if try to set value of internal ' warning_count ').
        test for read only variables added.
      sql/set_var.h:
        a fix (bug #10339: Incorrect error is displayed if try to set value of internal ' warning_count ').
        sys_var::is_readonly() method introduced.
      037706fe
    • unknown's avatar
      concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file · 6103d1a4
      unknown authored
      myisam_max_extra_sort_file_size is depricated
      Ensure that myisam_data_pointer_size is honoured when creating new MyISAM files
      Changed default value of myisam_data_pointer_size from 4 to 6 to get rid of 'table-is-full' errors
      
      
      
      include/myisam.h:
        Change type of myisam_block_size and myisam_concurrent_insert to make them changeable in mysqld.cc
        Removed not used varaible myisam_max_extra_temp_length
      include/thr_lock.h:
        Added extra parameter to get_status
      myisam/mi_create.c:
        Ensure that myisam_data_pointer_size is honoured
      myisam/mi_dynrec.c:
        If 'append_insert_at_end' is set, only write at end of myisam record file
      myisam/mi_locking.c:
        Add extra argument to 'mi_get_status' to allow thr_lock to signal that we want to do a concurrent insert
        If this is used, we will append new insert rows at end of data file.
        Change mi_check_status() to allow concurrent_inserts even if there are holes in the file when myisam_concurent_insert=2
      myisam/mi_static.c:
        Change behavior of myisam_concurrent_insert so that setting this to 2 allows inserts even if there is a hole in the data file.
        Default value is 2 for MyISAM direct usage but will be set to 1 (old default) by mysqld.cc
      myisam/mi_statrec.c:
        If 'append_insert_at_end' is set, only write at end of myisam record file
      myisam/mi_write.c:
        If 'append_insert_at_end' is set, only write at end of myisam record file
      myisam/myisamdef.h:
        Support for insert-at-end even if there is holes in data file
      mysql-test/r/gis-rtree.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/group_min_max.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/index_merge.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/index_merge_ror.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/merge.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/myisam.result:
        Test of concurrent_insert=2
      mysql-test/r/null.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/preload.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/ps_1general.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/range.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/variables.result:
        concurrent_insert is now a integer, not a boolean
        myisam_extra_sort_file_size is deleted
      mysql-test/r/view.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/t/index_merge.test:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/t/myisam.test:
        Test of concurrent_insert=2
      mysql-test/t/ps_1general.test:
        Drop test table
      mysql-test/t/variables.test:
        concurrent_insert is now a integer, not a boolean
        myisam_extra_sort_file_size is deleted
      mysql-test/t/view.test:
        Drop tables that may be left from previous tests
      mysys/thr_lock.c:
        Extra paramter to get_status to signal if concurrent_insert was used
      sql/mysqld.cc:
        concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file
        myisam_max_extra_sort_file_size is depricated
      sql/set_var.cc:
        concurrent-insert is now an integer, not a bool
        myisam_max_extra_sort_file_size is deleted
      6103d1a4
  28. 07 May, 2005 1 commit
    • unknown's avatar
      Add support for slave_compressed_protocol, slave_load_tmpdir, and · 6d8de4d1
      unknown authored
      slave_skip_errors in SHOW VARIABLES. (Bug #7800)
      
      
      sql/structs.h:
        Add SHOW_SLAVE_SKIP_ERRORS
      sql/set_var.cc:
        Add slave_compressed_protocol, slave_load_tmpdir, slave_skip_errors to list
        of variables.
      mysql-test/t/rpl_variables.test:
        Add test for additional slave-related variables
      mysql-test/r/rpl_variables.result:
        Update results
      sql/sql_show.cc:
        Handle showing slave_skip_errors
      6d8de4d1
  29. 05 May, 2005 2 commits
    • unknown's avatar
      A lot of fixes to Precision math · 94dca613
      unknown authored
      Mostly about precision/decimals of the results of the operations
      
      
      include/decimal.h:
        decimal interface changed a little
      sql/field.cc:
        a lot of precision/decimals related changes to the Field_new_decimal
      sql/field.h:
        Field_new_decimal interface changed
      sql/ha_ndbcluster.cc:
        f->precision should be used here
      sql/item.cc:
        precision/decimals counting related changes
      sql/item.h:
        precision/decimals counting related changes
      sql/item_cmpfunc.cc:
        precision/decimals counting related changes
      sql/item_cmpfunc.h:
        precision/decimals counting related changes
      sql/item_func.cc:
        precision/decimals counting related changes
      sql/item_func.h:
        precision/decimals counting related changes
      sql/item_sum.cc:
        precision/decimals counting related changes
      sql/item_sum.h:
        precision/decimals counting related changes
      sql/my_decimal.cc:
        precision/decimals counting related changes
      sql/my_decimal.h:
        precision/decimals counting related changes
      sql/mysqld.cc:
        precision/decimals counting related changes
      sql/set_var.cc:
        precision/decimals counting related changes
      sql/sp_head.cc:
        dbug_decimal_print was replaced with dbug_decimal_as_string
      sql/sql_class.h:
        div_precincrement variable added
      sql/sql_parse.cc:
        precision/decimals counting related changes
      sql/sql_select.cc:
        precision/decimals counting related changes
      sql/sql_show.cc:
        Field::representation_length was removed
      strings/decimal.c:
        decimal_actual_fraction was introduced
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      94dca613
    • unknown's avatar
      Approximative fixes for BUG#2610,2611,9100 i.e. WL#2146... · 684d2a62
      unknown authored
        Approximative fixes for BUG#2610,2611,9100 i.e. WL#2146 binlogging/replication of routines (stored procs and functions).
        Approximative, because it's using our binlogging way (what we call "query"-level) and this is not as good as record-level binlog (5.1) would be. It imposes several
        limitations to routines, and has caveats (which I'll document, and for which the server will try to issue errors but that is not always possible).
        Reason I don't propagate caller info to the binlog as planned is that on master and slave
        users may be different; even with that some caveats would remain.
      
      
      mysql-test/mysql-test-run.sh:
        In the testsuite we know what we do, we are not creating nasty routines, and breaking binlog is ok except in rpl_sp.
      mysql-test/r/blackhole.result:
        Updating results now that 4.1 has been merged
      mysql-test/valgrind.supp:
            Some suppressions for Valgrind (useful on my machine Suse 9.1);
            this is just adding to the already existing suppressions of pthread and dl.
      sql/item_func.cc:
            Don't binlog the substatements when executing a function. If the function
            is declared to modify data and does not complete, warning "broken binlog".
            Note that SELECT myfunc() will not be binlogged even if myfunc() updates data (will be documented);
            but INSERT INTO t VALUES(myfunc()) will be binlogged (what decides is if the caller
            gets binlogged; the function changes nothing to binlogging).
      sql/log_event.cc:
            Just making functions which can be re-used when we binlog more strings
            in status_vars in Query_log_event (e.g. one day "user", "host").
      sql/log_event.h:
        comment
      sql/mysql_priv.h:
            --log-bin-trust-routine-creators
      sql/mysqld.cc:
            --log-bin-trust-routine-creators
      sql/set_var.cc:
            --log-bin-trust-routine-creators
      sql/share/errmsg.txt:
        error messages to warn about problems with routines and binlog
      sql/slave.cc:
            If in a routine, replication table inclusion/exclusion rules always answer "replicate!" (see comment in code).
      sql/sp.cc:
            If binlog is on: errors if one wants to create a non-deterministic update routine
            (repeatability problem - note that the test is not perfect for functions) or does not have SUPER (because routines can easily
            be made to destroy slave's data with just CREATE ROUTINE and EXECUTE priv on master).
            --log-bin-trust-routine-creators removes these errors.
            Binlogging of CREATE PROCEDURE|FUNCTION.
      sql/sql_acl.cc:
            No thd==0 in tables_ok().
      sql/sql_parse.cc:
            Binlogging of CALL (and not of the substatements of the SP).
            If SP returns error, we don't binlog it (see comment); we push warning in this case.
            Binlogging of ALTER|DROP PROCEDURE|FUNCTION with safety messages.
      684d2a62
  30. 22 Apr, 2005 1 commit
    • unknown's avatar
      Fixes for BUG#10039 "MEMORY engine is reported as HEAP", · 70a159bd
      unknown authored
      BUG#9738 "SHOW VARIABLES still displays the deprecated 'log_update' in 5.0",
      BUG#9542 "MySQL dies with signal 11 when it is using non-existent location of binary logs"
      
      
      
      mysql-test/r/create.result:
        MEMORY, not HEAP
      mysql-test/r/ps_1general.result:
        order changed in SHOW STORAGE ENGINES
      mysql-test/r/variables.result:
        MEMORY, not HEAP
      sql/handler.cc:
        the array of storage engine names is searched in index order, so we must put the preferred name
        before the alias so that the preferred name is printed by MySQL instead of the alias.
      sql/log.cc:
        TC_LOG::open(): don't try to open if the index (relevant only for binlog TC log)
        could not be opened.
      sql/set_var.cc:
        --log-update is deprecated and replaced by --log-bin so don't show log_update in SHOW VARIABLES.
      70a159bd
  31. 20 Apr, 2005 1 commit
    • unknown's avatar
      Many files: · 9a4bb471
      unknown authored
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      
      
      sql/ha_innodb.cc:
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      sql/handler.cc:
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      sql/mysqld.cc:
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      sql/set_var.cc:
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      sql/sql_repl.cc:
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      sql/ha_innodb.h:
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      sql/handler.h:
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      9a4bb471
  32. 16 Apr, 2005 1 commit
    • unknown's avatar
      Fixed core dump with long timezone names · 1bde86a0
      unknown authored
      Don't abort on bootstrap if a wrong --default-storage-engine is specified
      
      
      sql/handler.cc:
        Combined code
      sql/mysqld.cc:
        Fixed core dump with long timezone names
        Don't abort on bootstrap if a wrong --default-storage-engine is specified
        Don't print strange messages if one sends 'kill' to a mysqld --bootstrap
      sql/set_var.cc:
        Indentaion change
      1bde86a0
  33. 15 Apr, 2005 1 commit
    • unknown's avatar
      Adding --innodb_fast_shutdown=2 which shuts down InnoDB faster than the default "1": · 1850d56b
      unknown authored
      most InnoDB threads are not terminated properly and the buffer pool is not flushed
      to disk. Still no committed transaction is lost as we flush the logs to disk.
      InnoDB does crash recovery at startup after this shutdown.
      Using this shutdown in testsuite (mysql-test-run --mysqld=--innodb_fast_shutdown=2) saved 3 minutes (13% of total time).
      
      
      innobase/include/srv0srv.h:
        srv_fast_shutdown now int to allow 3 values, replacing the srv_fast_shutdown/srv_very_fast_shutdown combo
      innobase/log/log0log.c:
        srv_very_fast_shutdown -> (srv_fast_shutdown == 2)
      innobase/srv/srv0srv.c:
        srv_very_fast_shutdown -> (srv_fast_shutdown == 2)
      innobase/srv/srv0start.c:
        moving message to the InnoDB internal code (like "InnoDB: Starting shutdown" is)
        instead of ha_innodb.cc. That's to have ut_print_timestamp().
      sql/ha_innodb.cc:
        As innodb_fast_shutdown is now settable, srv_fast_shutdown must be
        set at shutdown, not at startup.
      sql/ha_innodb.h:
        innobase_fast_shutdown now ulong to accept 3 values
      sql/mysqld.cc:
        Making the "very fast" InnoDB shutdown accessible to users, by passing
        --innodb-fast-shutdown=2 (disabled on Netware)
      sql/set_var.cc:
        innodb_fast_shutdown now settable on the fly (global variable).
        So that user can decide to do a normal/fast/fastest shutdown
        just before doing it.
      1850d56b