An error occurred fetching the project authors.
  1. 22 Sep, 2004 1 commit
    • unknown's avatar
      A fix and test case for Bug#5315 "mysql_change_user() doesn't free · ccf52b4f
      unknown authored
      prepared statements."
      
      
      include/hash.h:
        New declaration for hash_reset() function. The old version was not used.
      libmysql/client_settings.h:
        Declaration for mysql_detach_stmt_list().
      libmysql/libmysql.c:
        Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
        add call to mysql_detach_stmt_list(prepared statements) to
        mysql_change_user(): all statements are freed by server, so client
        counterparts need to be marked as not usable.
      mysys/hash.c:
        Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
        implementation of hash_reset(), which frees all hash elements
        and prepares the hash for reuse.
      sql-common/client.c:
        Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
        implementation of mysql_detach_stmt_list(): zero connection pointer
        in given statement list, thus marking given statements as not usable.
      sql/sql_class.cc:
        Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
        reset prepared statements map in THD::change_user().
      sql/sql_class.h:
        Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
        implementation of Statement_map::reset().
        A little cleanup of ~Statement_map(): first empty names_hash, as st_hash
        has a free function, which will delete statements.
      tests/client_test.c:
        A test case for bug #5315 "mysql_change_user() doesn't free prepared
        statements".
      ccf52b4f
  2. 16 Sep, 2004 1 commit
  3. 13 Sep, 2004 1 commit
  4. 08 Sep, 2004 1 commit
    • unknown's avatar
      A fix and test case for bug#5399 "Wrong statement executed by MySQL · e5af92b0
      unknown authored
       server" (use my_charset_bin for stmt id hash).
      
      
      sql/sql_class.cc:
        Fix for bug#5399 "Wrong statement executed by MySQL server": 
        we hash stmt ids bytewise, need to use binary collation for it.
      tests/client_test.c:
        Test case for bug#5399 "Wrong statement executed by MySQL server":
        create number of statements returning different results, execute them
        one by one.
      e5af92b0
  5. 07 Sep, 2004 1 commit
    • unknown's avatar
      A set of mysql_home_path-related fixes · 89ee6395
      unknown authored
      mysys/mf_format.c:
        I think here i fixed a bug
      sql/item_strfunc.cc:
        mysql_real_data_home added
      sql/sql_class.cc:
        it's more closer to what manual says
      sql/sql_load.cc:
        code rewritten to be similar
      sql/sql_table.cc:
        mysql_real_data_home added to the path
      89ee6395
  6. 03 Sep, 2004 1 commit
    • unknown's avatar
      renamed ha_recovery_logging to ha_enable_transaction · e8c2e418
      unknown authored
      added tests to alter table for "large" alter tables and truncates in ndbcluster
      added debug printout in restart() in ndbcluster
      added flag THD::transaction.on to enable/disable transaction
      
      
      mysql-test/r/ndb_alter_table.result:
        added tests to alter table for "large" alter tables and truncates
      mysql-test/t/ndb_alter_table.test:
        added tests to alter table for "large" alter tables and truncates
      ndb/src/ndbapi/NdbConnection.cpp:
        added debug printout in restart()
      sql/ha_ndbcluster.cc:
        added support for large alter table and truncate
      sql/handler.cc:
        renamed ha_recovery_logging to ha_enable_transaction
      sql/handler.h:
        renamed ha_recovery_logging to ha_enable_transaction
      sql/sql_class.cc:
        added flag THD::transaction.on to enable/disable transaction
      sql/sql_class.h:
        added flag THD::transaction.on to enable/disable transaction
      sql/sql_delete.cc:
        added disable transaction for mysql_truncate
      sql/sql_table.cc:
        renamed ha_recovery_logging to ha_enable_transaction
      e8c2e418
  7. 02 Sep, 2004 2 commits
    • unknown's avatar
      Remove extra '/' after mysql_real_data_home · 1b51f98e
      unknown authored
      Add missing parameter to strxnmov() that caused some INTO OUTFILE commands to core dump
      
      
      mysql-test/mysql-test-run.sh:
        Ensure that clients used the supplied --socket argument
      mysql-test/r/lowercase_table.result:
        Remove tables used in other tests that may affect this one
      mysql-test/r/rename.result:
        Remove tables used in other tests that may affect this one
      mysql-test/t/lowercase_table.test:
        Remove tables used in other tests that may affect this one
      mysql-test/t/rename.test:
        Remove tables used in other tests that may affect this one
      sql/item_cmpfunc.cc:
        Remove not relevant comment
      sql/sql_class.cc:
        Add missing parameter to strxnmov() that caused some INTO OUTFILE commands to core dump
      sql/sql_load.cc:
        Remove extra '/' after mysql_real_data_home
      sql/sql_table.cc:
        Remove extra '/' after mysql_real_data_home
      1b51f98e
    • unknown's avatar
      Addition to the fix for #4815 · 848414cf
      unknown authored
      sql/sql_class.cc:
        Code simplified with strxnmov
      848414cf
  8. 31 Aug, 2004 1 commit
  9. 29 Aug, 2004 1 commit
  10. 24 Aug, 2004 4 commits
    • unknown's avatar
      Fix for bug #4815 (embedded server calculates wrong places for outfiles) · 9d3009ea
      unknown authored
      In some places in mysqld behaviour depends on system working directory
      It works badly in libmysqld because user can set it in the way he needs.
      I think we should explicitly insert mysql_real_data_home value in
      paths in these places
      
      
      sql/sql_class.cc:
        here we concat mysql_real_data_home and thd->db to be the prefix
      sql/sql_load.cc:
        it's better to build the prefix from mysql_real_data_home
        also i think it's better always to call my_load_path to not to depend
        of current system working directory
      9d3009ea
    • unknown's avatar
      Fix for Bug#5034 "prepared "select 1 into @arg15", second · 49bd559e
      unknown authored
      execute crashes server": we were deleting lex->result
      after each execute, but prepared statements assumed that
      it's left intact.
      The fix adds cleanup() method to select_result hierarchy,
      so that result objects can be reused.
      Plus we now need to delete result objects more wisely.
      
      
      mysql-test/r/ps.result:
        Test results fixed: test case for bug#5034
      mysql-test/t/ps.test:
        A test case for bug#5034, few followups
      sql/sql_class.cc:
        - fix warning in THD::THD
        - implementation of cleanup() for select_result hierarchy
        - select_export::send_eof was identical to 
          select_dump::send_eof: moved to the base class select_to_file.
        - Statement::end_statement() to end lex, free items, and
          delete possible select_result
      sql/sql_class.h:
        - select_result::cleanup() declaration
        -
      sql/sql_insert.cc:
        - implementation of select_insert::cleanup(): currently
          we always create a new instance of select_insert/
          select_create on each execute.
      sql/sql_lex.cc:
        - with more complicated logic of freeing lex->result it's 
          easier to have it non-zero only if it points to a valid
          result.
      sql/sql_lex.h:
        Now st_lex::st_lex is not empty.
      sql/sql_parse.cc:
        mysql_execute_command():
        - delete select_result *result only if it was created in
          this function.
        - use end_statement() to cleanup lex and thd in the end of
          each statement.
        - no need to save THD::lock if this is explain. This save
          apparently left from times when derived tables were 
          materialized here, not in open_and_lock_tables.
      sql/sql_prepare.cc:
        - call result->cleanup() in reset_stmt_for_execute
        - now Statement is responsible for freeing its lex->result.
      sql/sql_select.cc:
        handle_select():
        - don't delete result, it might be needed
          for next executions
        - result is never null
      49bd559e
    • unknown's avatar
      Portablity fixes & simple optimizations · 20f24a42
      unknown authored
      sql/ha_ndbcluster.cc:
        Added missing cast
      sql/item.cc:
        Portability fix (for windows)
      sql/lock.cc:
        Cleanup + more comments
      sql/sql_class.cc:
        Portability fix + more comments
      sql/sql_select.cc:
        Portability fix
      sql/sql_table.cc:
        Simpler handling of auto_increment in ALTER TABLE
      20f24a42
    • unknown's avatar
      Fix to compile with msvc: converted static const int Item_arena::* to enum members, undefine ERROR · d261072f
      unknown authored
      include/config-win.h:
        Undefine ERROR #defined by WINGDI
      sql/sql_class.cc:
        Fix to compile with msvc: converted static const int Item_arena::* to enum members
      sql/sql_class.h:
        Fix to compile with msvc: converted static const int Item_arena::* to enum members
      sql/sql_prepare.cc:
        Fix to compile with msvc: converted static const int Item_arena::* to enum members
      d261072f
  11. 20 Aug, 2004 1 commit
    • unknown's avatar
      Fix for bug#4912 "mysqld crashs in case a statement is executed · 095b686c
      unknown authored
       a second time". The bug was caused by incompatibility of
      negations elimination algorithm and PS: during first statement 
      execute a subtree with negation was replaced with equivalent 
      subtree without NOTs.
      The problem was that although this transformation was permanent, 
      items of the new subtree were created in execute-local memory.
      The patch adds means to check if it is the first execute of a
      prepared statement, and if this is the case, to allocate items
      in memory of the prepared statement.
      The implementation:
      - backports Item_arena from 5.0
      - adds Item_arena::is_stmt_prepare(), 
        Item_arena::is_first_stmt_execute().
      - deletes THD::allocate_temporary_pool_for_ps_preparing(),
        THD::free_temporary_pool_for_ps_preparing(); they
        were redundant.
      and adds a few invariants:
      - thd->free_list never contains junk (= freed items)
      - thd->current_arena is never null. If there is no
        prepared statement, it points at the thd. 
      The rest of the patch contains mainly mechanical changes and
      cleanups.
      
      
      mysql-test/r/ps.result:
        Test results updated (test case for Bug#4912)
      mysql-test/t/ps.test:
        A test case for Bug#4912 "mysqld crashs in case a statement is 
        executed a second time"
      sql/item_cmpfunc.cc:
        current_statement -> current_arena
      sql/item_subselect.cc:
        Statement -> Item_arena, current_statement -> current_arena
      sql/item_subselect.h:
        Item_subselect does not need to save thd->current_statement.
      sql/item_sum.cc:
        Statement -> Item_arena
      sql/item_sum.h:
        Statement -> Item_arena
      sql/mysql_priv.h:
        Statement -> Item_arena
      sql/sql_base.cc:
        current_statement -> current_arena
      sql/sql_class.cc:
        - Item_arena
        - convenient set_n_backup_statement, restore_backup_statement
        (nice idea, Sanja)
      sql/sql_class.h:
        - Item_arena: backport from 5.0
        - allocate_temporary_pool_for_ps_preparing,
          free_temporary_pool_for_ps_preparing removed.
      sql/sql_derived.cc:
        current_statement -> current_arena
      sql/sql_lex.cc:
        current_statement -> current_arena
      sql/sql_parse.cc:
        Deploy invariant that thd->free_list never contains junk items
        (backport from 5.0).
      sql/sql_prepare.cc:
        - backporting Item_arena
        - no need to allocate_temporary_pool_for_ps_preparing().
      sql/sql_select.cc:
        Fix for bug#4912 "mysqld crashs in case a statement is 
        executed a second time": if this is the first execute of
        a prepared statement, negation elimination is
        done in memory of the prepared statement.
      sql/sql_union.cc:
        Backporting Item_arena from 5.0.
      095b686c
  12. 29 Jul, 2004 1 commit
    • unknown's avatar
      Avoiding a theoretically possible crash (pthread_mutex_lock(0)) which could... · d475643d
      unknown authored
      Avoiding a theoretically possible crash (pthread_mutex_lock(0)) which could (at least in POSIX Threads books)
      happen on SMP machines, when a thread is going to wait on a condition and it is KILLed at the
      same time.
      Cleaning code a bit by adding a test in enter_cond() that we have the mutex (was already the case in all places
      where it's called except one which is fixed here).
      
      
      sql/log.cc:
        safe_mutex_assert_owner() is now in THD::enter_cond()
      sql/slave.cc:
        lock mutex before waiting on condition.
      sql/sql_class.cc:
        THD::awake(): before locking the mutex, let's test it's not zero;
        in theory indeed, the killer thread may see current_cond non-zero and current_mutex zero
        (order of assignments is not guaranteed by POSIX).
        A comment noting that there is still a small chance a KILL does not work and needs
        being re-issued.
      sql/sql_class.h:
        Assert in enter_cond() that we have the mutex.
        It is already the case in all places where we call enter_cond(), so better ensure it there.
      d475643d
  13. 06 Jul, 2004 1 commit
  14. 21 Jun, 2004 1 commit
    • unknown's avatar
      After merge fixes · b5dfd056
      unknown authored
      Return NULL if a time argument is given to date_add(). (Warning will be shown after Dimitri's timezone patch is pushed)
      
      
      client/mysqltest.c:
        Added MAX_VAR_NAME which was lost in merge
        Added more debugging
        Fixed bug in 'eval'
      innobase/data/data0type.c:
        After merge fix
      innobase/fil/fil0fil.c:
        After merge fix
      innobase/log/log0recv.c:
        After merge fix
      myisam/mi_unique.c:
        Better checksum handling
      mysql-test/r/func_time.result:
        Return NULL if a time argument is given to date_add()
      mysql-test/r/rpl_free_items.result:
        After merge fix
      mysql-test/r/rpl_get_lock.result:
        Test was depending on when server was restarted.
      mysql-test/r/type_date.result:
        After merge fix
      mysql-test/r/type_decimal.result:
        After merge fix
      mysql-test/t/func_time.test:
        Removed comment that is not needed anymore
        (After Dimitri's timezone patch is pushed, we should get a warning for the date_add(time...) entry)
      mysql-test/t/rpl_get_lock.test:
        Test was depending on when server was restarted.
      mysql-test/t/type_date.test:
        Addded missing explanation for bug
      netware/mysqld_safe.c:
        Removed end \r
        Run program through indent-ex to get MySQL indentation
      sql-common/client.c:
        After merge fix
      sql/field.cc:
        Fixed that get_date(time) gives a warning
      sql/field.h:
        After merge fix
      sql/net_serv.cc:
        More debugging (if DEBUG_DATA_PACKETS is set)
      sql/sql_class.cc:
        Removed compiler warning
      sql/table.cc:
        Better comment
      b5dfd056
  15. 18 Jun, 2004 1 commit
    • unknown's avatar
      WL#1264 "Per-thread time zone support infrastructure". · 6aaccbcb
      unknown authored
      Added basic per-thread time zone functionality (based on public
      domain elsie-code). Now user can select current time zone
      (from the list of time zones described in system tables).
      All NOW-like functions honor this time zone, values of TIMESTAMP
      type are interpreted as values in this time zone, so now
      our TIMESTAMP type behaves similar to Oracle's TIMESTAMP WITH
      LOCAL TIME ZONE (or proper PostgresSQL type).
        
      WL#1266 "CONVERT_TZ() - basic time with time zone conversion 
      function".
        
      Fixed problems described in Bug #2336 (Different number of warnings 
      when inserting bad datetime as string or as number). This required
      reworking of datetime realted warning hadling (they now generated 
      at Field object level not in conversion functions).
        
      Optimization: Now Field class descendants use table->in_use member
      instead of current_thd macro.
      
      
      include/my_global.h:
        Added macro for reading of 32-bit ints stored in network order from
        unaligned memory location.
      include/mysqld_error.h:
        Added error-code for invalid timestamp warning and error-code
        for wrong or unknown time zone specification.
      libmysqld/Makefile.am:
        Added main per-thread time zone support file to libmysqld
      libmysqld/lib_sql.cc:
        Added initialization of time zones infrastructure to embedded server.
      mysql-test/r/connect.result:
        Updated test result since now mysql database contains more
        system tables.
      mysql-test/r/date_formats.result:
        Now when truncation occurs during conversion to datetime value we are producing Warnings 
        instead of Notes. Also we are giving more clear warnings about this in some cases.
      mysql-test/r/func_sapdb.result:
        New warnings about truncation occured during conversion to datetime value added due
        their better handling.
      mysql-test/r/func_time.result:
        New warnings about truncation occured during conversion to datetime value added due
        their better handling.
      mysql-test/r/select.result:
        New warnings about truncation occured during conversion to datetime value added due
        their better handling. Also tweaked test a bit to made it less ambigious for reader.
      mysql-test/r/system_mysql_db.result:
        Updated test result because new system tables holding time zone descriptions were 
        added.
      mysql-test/r/timezone.result:
        Updated timezone.test to use new system variable which shows system time zone.
        Added test of warning which is produced if someone tries to store non-existing (due 
        falling into spring time-gap) datetime value into TIMESTAMP field.
      mysql-test/r/type_datetime.result:
        Separated and extended test of values and warnings produced for bad values stored in 
        DATETTIME fields.
      mysql-test/r/type_time.result:
        Now we are producing more consistent warning when we are truncating datetime value while
        storing it in TIME field.
      mysql-test/r/type_timestamp.result:
        Separated and extended test of values and warnings produced for bad
        values stored in TIMESTAMP fields.
      mysql-test/t/select.test:
        Updated test to make it less ambigous for reader.
      mysql-test/t/timezone.test:
        Updated timezone.test to use new system variable which shows system time zone.
        Added test of warning which is produced if someone tries to store non-existing (due 
        falling into spring time-gap) datetime value into TIMESTAMP field.
      mysql-test/t/type_datetime.test:
        Separated and extended test of values and warnings produced for bad
        values stored in DATETTIME fields.
      mysql-test/t/type_timestamp.test:
        Separated and extended test of values and warnings produced for bad
        values stored in TIMESTAMP fields.
      scripts/mysql_create_system_tables.sh:
        Added creation of tables with time zone descriptions.
        Also added descriptions of time zones used in tests.
      scripts/mysql_fix_privilege_tables.sql:
        Added mysql.time_zone* tables family.
      sql/Makefile.am:
        Added files implementing time zone support to server, also added
        rules for building of mysql_tzinfo_to_sql converter and test_time
        test.
      sql/field.cc:
        Now we are using per-thread time zone for TIMESTAMP <-> whatever conversion.
        Fixed generation of warnings for datetime types (DATETIME/TIMESTAMP/DATE/...) and
        any other Field to datetime conversion (now we are generating warnings no in lower
        level functions like in str_to_TIME() but in Field methods. This allows generate
        better and more consistent warnings and to reuse code of str_to_TIME() outside of
        server).
        
        Added 3rd parameter to set_warning() method to be able to not increment cut fields
        but still produce a warning. Also added set_datetime_warning() family of auxiliary 
        methods which allow easier generate datetime related warnings.
        Also replaced occurences of current_thd with table->in_use member, added
        asserts for catching all places there we need to set table->in_use
        accordingly. Renamed fix_datetime() function to number_to_TIME() and
        moved it to sql/time.cc there it fits better.
      sql/field.h:
        Added comment about places where we can use table->in_use member
        instead of current_thd.
        Added 3rd parameter to Field::set_warning() method and set_datetime_warning()
        family of methods.
      sql/field_conv.cc:
        Field::set_warning() method with 2 arguments was replaced with more 
        generic set_warning() method with 3 arguments.
      sql/ha_berkeley.cc:
        Now we set table->in_use for temporary tables so we have to use
        table->tmp_table for checking if table is temporary.
      sql/item.cc:
        Replaced calls to str_to_time() and str_to_TIME() funcs with their warning
        generating analogs.
      sql/item_create.cc:
        Added creation of CONVERT_TZ function as FUNC_ARG3.
      sql/item_create.h:
        Added creation of CONVERT_TZ function as FUNC_ARG3.
      sql/item_timefunc.cc:
        Added support of per-thread time zone to NOW-like and FROM_UNIXTIME,
        UNIX_TIMESTAMP functions. 
        Added support for CONVERT_TZ function.
        Removed call to str_to_timestamp function which caused non-optimal
        behavior in certain cases. Replaced calls to str_to_time() function 
        with its warning generating analog.
      sql/item_timefunc.h:
        Added support of per-thread time zone to NOW-like and
        FROM_UNIXTIME, UNIX_TIMESTAMP functions.
        Added support of CONVERT_TZ function.
      sql/lex.h:
        Added support of CONVERT_TZ function.
      sql/log.cc:
        Added support for replication of statements depending on time zone.
      sql/mysql_priv.h:
        Now including headers with per-thread time zone support functions
        and classes. Added portable replacement of time_t - my_time_t type. 
        Added time zone as one of query distinguishing parameters for
        query cache. 
        Fixed declarations of str_to_TIME, str_to_time and 
        my_system_gmt_sec (former my_gmt_sec) since now they have one more
        out parameter which informs about wrong datetime value or data 
        truncation during conversion.
        Added warning generating version of str_to_TIME() and str_to_time()
        functions.
        Thrown away str_to_datetime/timestamp functions since they are not
        needed any longer. Added number_to_TIME function.
      sql/mysqld.cc:
        Added per-thread time zone support initialization.
        Added new startup parameter --default-time-zone.
      sql/set_var.cc:
        Added support for per-thread time_zone variable.
        Renamed old timezone variable to system_time_zone.
      sql/set_var.h:
        Added support for per-thread time_zone variable.
      sql/share/czech/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/danish/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/dutch/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/english/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/estonian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/french/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/german/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/greek/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/hungarian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/italian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/japanese/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/korean/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/norwegian-ny/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/norwegian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/polish/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/portuguese/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/romanian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/russian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/serbian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/slovak/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/spanish/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/swedish/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/ukrainian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/slave.cc:
        In order to support replication of statements using time zones in 4.1 we should 
        ensure that both master and slave have same default time zone.
      sql/sql_base.cc:
        Now we are setting TABLE::in_use member for all tables (which assume
        calls to Field::store or val_ methods).
      sql/sql_cache.cc:
        Added time zone as one more query distinguishing parameter
        for query cache.
      sql/sql_class.cc:
        Added THD::time_zone_used variable indicating that this query
        uses per thread time zone.
      sql/sql_class.h:
        Added per-thread time zone variable. Added THD::time_zone_used
        variable indicating that this query uses per thread time zone
        so if this is updating query the time zone should be logged to 
        binlog.
      sql/sql_insert.cc:
        We should set TABLE::in_use member pointing to thread which is called
        INSERT DELAYED and not to worker thread.
      sql/sql_load.cc:
        Field::set_warning() now has one more argument now.
      sql/sql_parse.cc:
        Resetting THD::time_zone_used variable in the end of query
        processing.
      sql/sql_select.cc:
        Now we are setting TABLE::in_use member for all tables (which assume
        calls to Field::store or val_ methods).
      sql/sql_show.cc:
        Now using per thread time zone for extended show tables.
      sql/time.cc:
        Added support for per-thread time zones for TIMESTAMP type and
        reworked generation of warnings for TIMESTAMP and DATETIME types.
        (Introduced new TIME_to_timestamp() function. Removed hours 
        normalisation from former my_gmt_sec() since it was not working 
        and not used anywhere now, but breaks parameter constness, added
        to this function generation of warning if we are falling in spring 
        time-gap. Removed str_to_timestamp and str_to_datetime functions 
        which are no longer used. Moved fix_datetime function from
        sql/field.cc to this file as number_to_TIME() function. Added
        out parameter for str_to_TIME and str_to_time functions which
        indicates if value was truncated during conversion, removed direct 
        generation of warnings from this functions.)
      sql/unireg.cc:
        Now we are setting TABLE::in_use member for all tables (which assume
          calls to Field::store or val_ methods).
      BitKeeper/etc/ignore:
        Added sql/test_time sql/mysql_tzinfo_to_sql libmysqld/tztime.cc to the ignore list
      6aaccbcb
  16. 07 Jun, 2004 1 commit
    • unknown's avatar
      Post review fixes for "SQL Syntax for Prepared Statements". · 1d4ee7f8
      unknown authored
      mysql-test/r/ps.result:
        Better error message
      mysys/my_error.c:
        Comments added
      sql/item.cc:
        Moved a chunk of code from sql_prepare.cc to Item_param::set_from_user_var
      sql/item.h:
        Moved a chunk of code from sql_prepare.cc to Item_param::set_from_user_var
      sql/item_func.cc:
        Code cleanup
      sql/mysql_priv.h:
        Code cleanup
      sql/sql_class.cc:
        Code cleanup
      sql/sql_parse.cc:
        use user_var_entry::val_str in PREPARE stmt FROM @var.
      sql/sql_prepare.cc:
        Post-review fixes and code cleanup.
      sql/sql_yacc.yy:
        Coding style fixes
      1d4ee7f8
  17. 03 Jun, 2004 1 commit
    • unknown's avatar
      Implementation of WL#1824 "Add replication of character set variables in 4.1", · 934bb37d
      unknown authored
      by binlogging some SET ONE_SHOT CHARACTER_SETetc,
      which will be enough until we have it more compact and more complete in 5.0. With the present patch,
      replication will work ok between 4.1.3 master and slaves, as long as:
      - master and slave have the same GLOBAL.COLLATION_SERVER
      - COLLATION_DATABASE and CHARACTER_SET_DATABASE are not used
      - application does not use the fact that table is created with charset of the USEd db (BUG#2326).
      all of which are not too hard to fulfill. 
      ONE_SHOT is reserved for internal use of mysqlbinlog|mysql and works only for charsets,
      so we give error if used for non-charset vars.
      Fix for BUG#3875 "mysqlbinlog produces wrong ouput  if query uses
       variables containing quotes" and BUG#3943 "Queries with non-ASCII literals are not replicated
       properly after SET NAMES".
      Detecting that master and slave have different global charsets or server ids.
      
      
      mysql-test/r/rpl_server_id1.result:
        it's normal to not run as I have added a test to compare server ids of master and slave
        at startup and stop if equal (unless --replicate-same-server-id)
      mysql-test/r/rpl_user_variables.result:
        result update (as we now print charset of user var).
      mysql-test/r/user_var.result:
        result update
      mysql-test/t/rpl_server_id1.test:
        no need to select as slave is not running
      mysql-test/t/user_var.test:
        testing if the content of user vars is escaped when mysqlbinlog prints them,
        and if the name is backquoted.
      sql/lex.h:
        new keyword ONE_SHOT
      sql/log.cc:
        when writing to the binlog, before writing the actual statement, write some SET ONE_SHOT CHARACTER_SET_CLIENT etc
        for the slave to know the charset variables (which are important as they affect the inserted data).
      sql/log_event.cc:
        print charset and collation of user var in mysqlbinlog and SHOW BINLOG EVENTS.
        escape the content of the var. Backquote its name.
        Will ask Bar to check that using my_charset_bin for escaping is ok.
      sql/set_var.cc:
        understand SET CHARACTER_SET_CLIENT=10 (don't require a string, accept a number).
        Refuse changing of GLOBAL CHARACTER_SET_SERVER/COLLATION_SERVER if binlog or slave,
        as it will make the master or slave make wrong assumptions.
        A function to catch SET ONE_SHOT on non-charset variables (which is forbidden)
      sql/set_var.h:
        no_support_one_shot to know if the var supports ONE_SHOT (only charset vars do, soon timezones).
        Accept int arg in SET CHARACTER_SET_etc
      sql/slave.cc:
        when I/O slave thread starts, verify that master's and slave charsets match.
        And by the way verify that server ids are different.
        Don't fail if UNIX_TIMESTAMP() can't be done on master (very old master), that's
        not fatal.
      sql/sql_class.cc:
        one_shot
      sql/sql_class.h:
        one_shot
      sql/sql_lex.h:
        one_shot
      sql/sql_parse.cc:
        when SET ONE_SHOT is used, verify that it's only used for charset/collation vars;
        otherwise refuse.
      sql/sql_yacc.yy:
        ONE_SHOT keyword in SET
      934bb37d
  18. 28 May, 2004 1 commit
    • unknown's avatar
      Proposed fix for bug #3412 (embedded server: prepared statement returns · 431d0e61
      unknown authored
      empty recordset where some records should be found)
      
      
      sql/ha_myisam.cc:
        Code simplified with vio_ok()
      sql/mysqld.cc:
        vio_ok used
      sql/slave.cc:
        vio_ok used
      sql/sql_class.cc:
        Here is the place of the error - we should not examine net.vio in
        embedded library
      sql/sql_class.h:
        method added to always return TRUE in embedded library, and to
        sheck thd.net.vio otherwise
      sql/sql_show.cc:
        code simplified with vio_ok()
      431d0e61
  19. 24 May, 2004 1 commit
    • unknown's avatar
      Support for character set conversion in binary protocol: another go · 093d6292
      unknown authored
      after Monty's review.
      - Item_param was rewritten.
      - it turns out that we can't convert string data to character set of
        connection on the fly, because they first should be written to the binary
        log.
        To support efficient conversion we need to rewrite prepared statements
        binlogging code first.
      
      
      include/my_global.h:
        Macro swap(a, b, c) was renamed to resolve name conflict with
        String::swap() method.
      include/my_sys.h:
        Added declaration of escape_string_for_mysql()
      include/mysql_com.h:
        Removed and moved back: a macro which is visible to libmysql user but
        has sence only in prepared statement protocol implementation.
      isam/_search.c:
        swap -> swap_variables
      isam/test2.c:
        swap -> swap_variables
      libmysql/libmysql.c:
        - sub_escape_string moved to mysys/charset.c to be visible in sql/
        - few cleanups
      myisam/mi_test2.c:
        swap -> swap_variables
      mysys/charset.c:
        sub_escape_string was moved from libmysql.c to be able to use it in sql/
        code.
      mysys/my_chsize.c:
        rename: swap -> swap_variables
      mysys/my_compress.c:
        swap -> swap_variables
      mysys/my_handler.c:
        swap -> swap_variables
      sql/field.cc:
        Field::store_time refactored to use TIME_to_string function from time.cc
      sql/item.cc:
        New implementation of Item_param class:
        added support for character sets conversion.
      sql/item.h:
        Item_param:
        - 'state' member introduced instead of many boolean variables.
        - put ltime, int_value and real_value into union to save space.
        - remove unimplemented members
        - set_value renamed to set_str
      sql/item_timefunc.cc:
        Refactored to use functions from time.cc
      sql/lock.cc:
        rename: swap -> swap_variables
      sql/mysql_priv.h:
        - added declarations for TIME_to_ulonglong_*, TIME_to_string functions
        - const specifiers for make_date, make_time, make_datetime arguments
      sql/opt_range.cc:
        rename: swap -> swap_variables
      sql/protocol.cc:
        - added character set conversion support to binary protocol.
        - Protocol::convert changed to point at shared buffer in THD.
          This lets us use one convert buffer for binary and simple protocol.
          The same buffer is used for client->server conversions in prepared
          statements code.
        - string conversion code refactored to Protocol::store_string_aux function.
        - few more comments
      sql/protocol.h:
        - Protocol::convert now points at THD::convert_buffer: we want to share one
          buffer between all protocol implementations.
      sql/sql_class.cc:
        - implementation of THD::convert_string using THD::convert_buffer
          (conversion of strings allocated in the system heap).
      sql/sql_class.h:
        - THD::convert_buffer is shared between THD and network Protocols and
          used for character set conversion of strings.
        - new function to convert String object from one charset to another using
          THD::convert_buffer
      sql/sql_insert.cc:
        A little fix in a comment.
      sql/sql_parse.cc:
        Shrink convert buffer in the end of each statement.
      sql/sql_prepare.cc:
          Many changes:
        - static specifier for set_param_* family of functions.
        - FIELD_TYPE -> MYSQL_TYPE
        - added set_param_binary as handler for BLOB types.
        - added character set support
        - added support for param typecode in mysql_stmt_get_longdata
          (mysql_stmt_send_long_data handler)
        - changes in Item_param deployed
        - few cleanups
      sql/sql_select.cc:
        rename: swap -> swap_variables
      sql/sql_string.cc:
        - String::append rewritten to support character set conversion for
        single-byte encodings.
        - added String::swap method to efficiently exchange two string objects.
      sql/sql_string.h:
        Declraration for String::swap().
      sql/time.cc:
        - function TIME_to_string to convert TIME to String in default MySQL format
        - family of functions TIME_to_ulonglong_*
      tests/client_test.c:
        Test for support for character set conversions in prepared statements
        (binary and text data).
      093d6292
  20. 15 May, 2004 1 commit
    • unknown's avatar
      Better fix for bug #3749 (bug in deleting automatic generated foreign keys) · c9667f11
      unknown authored
      mysql-test/r/func_encrypt.result:
        Update tests (left after sanjas last push)
      mysql-test/r/innodb.result:
        Added test for bug #3749 (bug in deleting automatic generated foreign keys)
      mysql-test/t/innodb.test:
        Added test for bug #3749 (bug in deleting automatic generated foreign keys)
      sql/sql_class.cc:
        Updated comment
      tests/client_test.c:
        Added missing mysql_stmt_close()
      c9667f11
  21. 11 May, 2004 1 commit
    • unknown's avatar
      Don't automaticly generate a new key for a foreign key constraint if there is already a usable key. · d3fcd8d4
      unknown authored
      Prefer not automatic keys before automatic keys. If there is two conf
      
      
      BitKeeper/etc/ignore:
        added *.d
      include/my_base.h:
        Added flag for automaticly generated key
      mysql-test/r/constraints.result:
        Update tests after bug fix
      mysql-test/r/create.result:
        Update tests after bug fix
      mysql-test/r/innodb.result:
        Added test of automatic creation of foreign keys
      mysql-test/t/innodb.test:
        Added test of automatic creation of foreign keys
      mysql-test/t/key_cache.test:
        Portability fixes (64 BIT os)
      sql/sql_acl.cc:
        Indentation fixes
      sql/sql_class.cc:
        Fix key comparison to handle prefix and optionally key segments in different order.
      sql/sql_class.h:
        Added flag for automaticly generated keys
      sql/sql_parse.cc:
        Added flag for automaticly generated keys
      sql/sql_table.cc:
        Don't automaticly generate a new key for a foreign key constraint if there is already a usable key.
        Prefer not automatic keys before automatic keys. If there is two conflicting automatic keys, prefer the longer one.
      sql/sql_yacc.yy:
        Added flag for automaticly generated keys
      strings/strings-x86.s:
        Portability fix.
      d3fcd8d4
  22. 30 Apr, 2004 1 commit
  23. 21 Apr, 2004 1 commit
    • unknown's avatar
      Introduce keys in child tables corresponding to FOREIGN KEYs · c9e15382
      unknown authored
      Remove redundant keys in CREATE TABLE and ALTER TABLE
      
      
      mysql-test/r/constraints.result:
        Remove redundant keys
      mysql-test/r/create.result:
        Remove redundant keys
      mysql-test/r/innodb.result:
        Remove redundant keys
      mysql-test/r/range.result:
        Remove redundant keys
      mysql-test/t/range.test:
        Remove redundant keys
      sql/sql_class.cc:
        Equality comparison of keys (ignoring name)
      sql/sql_class.h:
        Equality comparison of keys (ignoring name)
      sql/sql_table.cc:
        Remove redundant keys
      sql/sql_yacc.yy:
        Introduce keys in child tables corresponding to FOREIGN KEYs
      c9e15382
  24. 12 Apr, 2004 1 commit
    • unknown's avatar
      WL#1622 "SQL Syntax for Prepared Statements": post-review fixes: · 756223bb
      unknown authored
        Moved PS name to Statement class, Statement_map now handles name-to-statement resolution.
        Both named and unnamed statements are now executed in one function (sql_prepare.cc:execute_stmt)
        Fixed a problem: Malformed sequence of commands from client could cause server to use previously deleted objects.
        Some code cleanup and small fixes
      
      
      sql/mysql_priv.h:
        WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
      sql/sql_class.cc:
        WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
      sql/sql_class.h:
        WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
      sql/sql_parse.cc:
        WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
      sql/sql_prepare.cc:
        WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
      756223bb
  25. 08 Apr, 2004 1 commit
    • unknown's avatar
      Don't enable HA_EXTRA_WRITE_CACHE if too few rows · 10e15762
      unknown authored
      Revert main parts of patch for online index builds. Should be done differently
      Added support for %lx in my_snprintf()
      
      
      sql/ha_myisam.cc:
        Don't enable HA_EXTRA_WRITE_CACHE if too few rows
      sql/handler.h:
        Indentaion fix
      sql/mysql_priv.h:
        Removed real_alter_table, mysql_add_column and mysql_drop_column
      sql/sql_class.cc:
        After merge fix
      sql/sql_insert.cc:
        Don't user bulk_insert if only one row (common case)
      sql/sql_parse.cc:
        Added mysql_create_index() and mysql_drop_index() as these are only wrappers for mysql_alter_table()
      sql/sql_table.cc:
        Revert main parts of patch for online index builds
        Changed back to use tabs to make merges possible between trees
      sql/unireg.cc:
        Added comments and minor cleanup
      strings/my_vsnprintf.c:
        Added support for %lx.
        Proper long support
      10e15762
  26. 07 Apr, 2004 1 commit
    • unknown's avatar
      Cleanup/optimizations of structures and key usage to make it easier to move... · 3cb13f79
      unknown authored
      Cleanup/optimizations of structures and key usage to make it easier to move key-range-search to handler
      
      
      sql/field.cc:
        Use 'HA_KEY_BLOB_LENGTH' instead of '2' for 'packed-length'
        Changed 'get_key_image' and 'set_key_image' to take length data part of key (without length-store bytes). This makes the interface easier to use from opt_range.cc
      sql/field.h:
        Indentation fix
      sql/opt_range.cc:
        Changed KEY_PART to use KEY_PART_INFO->store_length (which includes null-byte if needed)
        This makes some functions easier and allowed us to easier use the new get_key_image/set_key_image interfaces
        Simple loop optimization.
      sql/opt_range.h:
        Changed part_length -> store_length and added length to KEY_PART.
        This make this structure more like KEY_PART_INFO
        Added 'sorted' to QUICK_SELECT for NDB
      sql/sql_class.cc:
        Fixed compiler warning
      sql/sql_select.cc:
        Set 'quick->sorted' if keys should be sorted (for NDB)
      sql/table.cc:
        GEOMETRY KEYS doesn't have length prefix in keys
      3cb13f79
  27. 05 Apr, 2004 1 commit
    • unknown's avatar
      Many files: · ef8a5401
      unknown authored
        SQL Syntax for Prepared Statements (WL#1622)
      ps.test, ps.result:
        new file
      
      
      sql/item.cc:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/item.h:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/lex.h:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/mysql_priv.h:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/mysqld.cc:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/sql_class.cc:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/sql_class.h:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/sql_lex.h:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/sql_parse.cc:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/sql_prepare.cc:
        SQL Syntax for Prepared Statements (WL#1622)
      sql/sql_yacc.yy:
        SQL Syntax for Prepared Statements (WL#1622)
      ef8a5401
  28. 04 Apr, 2004 1 commit
    • unknown's avatar
      removed old way to prevent using stack tables for caching Items in PS · 3c01162f
      unknown authored
      fixed error code in union test
      
      
      mysql-test/t/union.test:
        right code worr 4.1 error
      sql/log_event.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/repl_failsafe.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/slave.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/sql_acl.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/sql_base.cc:
        assign non-cachable for Item status for all stack tables for safety
        non-cachable status processing
      sql/sql_cache.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/sql_class.cc:
        removed ald way to prevent using stack tables for caching Items in PS
      sql/sql_class.h:
        removed old way to prevent using stack tables for caching Items in PS
      sql/sql_help.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/sql_insert.cc:
        assign non-cachable for Item status for all stack tables for safety
        removed old way to prevent using stack tables for caching Items in PS
      sql/table.h:
        non-cachable for Item status for tables
      3c01162f
  29. 01 Apr, 2004 1 commit
    • unknown's avatar
      fix for table/field caching mechanism · 54a8eb62
      unknown authored
      save moving ON/USING tables conditions to WHERE clause (BUG#2794)
      
      
      sql/sql_base.cc:
        fix for table/field caching mechanism (global lock of it and right table passed as parameter)
        save moving ON/USING tables conditions to WHERE clause (BUG#2794)
      sql/sql_class.cc:
        lock for using field/table cache in Item name resolution
      sql/sql_class.h:
        lock for using field/table cache in Item name resolution
      sql/sql_insert.cc:
        lock for using field/table cache in Item name resolution
      tests/client_test.c:
        Test of PS queries with ON condition
      54a8eb62
  30. 26 Mar, 2004 1 commit
    • unknown's avatar
      To save 32KB memory per thread when --log-bin is not used, we do not · 11bea84e
      unknown authored
      init the binlog_cache (THD::transaction.trans_log).
      I have checked all places where trans_log is used, because as now
      it may not be inited in some cases, we have to be cautious
      (will forward this commit mail to Heikki).
      
      
      sql/handler.cc:
        Do not use the transaction binlog cache if binlog is not open
      sql/sql_class.cc:
        We do not init the transaction binlog cache if binlog is not open.
        This saves 32 KB memory per thread, if --log-bin is not used.
      sql/sql_class.h:
        warning comment
      11bea84e
  31. 02 Mar, 2004 1 commit
    • unknown's avatar
      Desperate attempt to push part of prepared statements cleanup which was · 7b68eaaf
      unknown authored
      reviewed in Saint-Petersbourg (including post-review fixes).
      
      
      include/my_sys.h:
        Added clear_alloc_root (reset alloc root without freeing its memory)
      sql/item.h:
        - rename setup_param -> set_parap (function assigns parameter value to item)
      sql/mysql_priv.h:
        - all return values are void, because return value is never checked in
            dispatch_command
        - removed unused declaration of setup_param_functions
      sql/protocol.h:
        - unused declarations of setup_params_data* removed
      sql/sql_class.cc:
        Cleanup:
          - bzero(mem_root) replaced with clear_alloc_root
          - query_id and command members moved back to THD from Statement
        Assignment of mem_root, free_list, query_id and command optimized
        away from set_statement().
      sql/sql_class.h:
        - query_id and command moved back to THD from Statement
      sql/sql_lex.h:
        - better type for param_list
        - param_count is the same thing as param_list.elements
      sql/sql_parse.cc:
        - comments for dispatch_command
      sql/sql_prepare.cc:
        Cleanup:
        - added comments to many functions and removed trailing spaces in many 
          lines, some stale comments removed.
        - it's faster to iterate using pointers, than classes
        - Renames: error_in_prepare renamed to get_longdata_error (because it is set
          when there is an error in mysql_send_longdata, rather than in
          mysql_prepare), embedded versions of placeholder assignement functions
          now have prefix emb_, setup_ functions renamed to set_, because they
          perform assignment, not installation, setup_params_data now doesn't
          call insert_params and was renamed to setup_set_param_functions,
        - find_prepared_statement should not send error if called from no-reply
          calls, like mysql_stmt_reset
        - error reporting is checked up, to always report errors and not report
          errors twice. send_prep_stmt can be done mostly in send_prepare_result, 
          rather than in test_* functions.
        - now we don't need to reinit THD->mem_root/free_list in mysql_stmt_execute,
          because it's not reset there.
      tests/client_test.c:
        - removed second call to test_subqueries
      7b68eaaf
  32. 27 Feb, 2004 1 commit
    • unknown's avatar
      my_gethwaddr() for linux/freebsd · 1e191736
      unknown authored
      UUID() function
      
      
      BitKeeper/etc/ignore:
        Added mysys/test_gethwaddr to the ignore list
      include/my_sys.h:
        my_gethwaddr()
      mysys/Makefile.am:
        my_gethwaddr
      sql/item_create.cc:
        UUID() function
      sql/item_create.h:
        UUID() function
      sql/item_strfunc.cc:
        UUID() function
      sql/item_strfunc.h:
        UUID() function
      sql/lex.h:
        UUID() function
      sql/mysql_priv.h:
        UUID() function
      sql/mysqld.cc:
        UUID() function
      sql/sql_class.cc:
        cleanup
      1e191736
  33. 17 Feb, 2004 1 commit
    • unknown's avatar
      revision of fix_fields() calls (BUG2838) · ae7eec92
      unknown authored
      mysql-test/r/subselect.result:
        test suite for BUG#2838
      mysql-test/t/subselect.test:
        test suite for BUG#2838
      sql/item.cc:
        revision of fix_fields() calls
        removed unnecessary variabl, and used correct last parameter of fix_fields()
      sql/item_cmpfunc.cc:
        revision of fix_fields() calls (BUG#2838)
      sql/item_func.cc:
        revision of fix_fields() calls
      sql/item_row.cc:
        changed for efficience (and to be similar for Item_func::fix_fields)
      sql/item_subselect.cc:
        fixed last arguments for fix_fields call
      sql/item_sum.cc:
        layout fixed
        revision of fix_fields() calls
      sql/log_event.cc:
        revision of fix_fields() calls
      sql/set_var.cc:
        revision of fix_fields() calls
      sql/sql_base.cc:
        revision of fix_fields() calls
      sql/sql_class.cc:
        revision of fix_fields() calls
      sql/sql_handler.cc:
        revision of fix_fields() calls
      ae7eec92
  34. 12 Feb, 2004 1 commit
    • unknown's avatar
      memory leacks in PS with subqueries fixed (adddition to fix of BUG#2462) · 4b37cf65
      unknown authored
      sql/item.h:
        mechanism to keep reference in cache array for row IN
      sql/item_cmpfunc.cc:
        mechanism to keep reference in cache array for row IN
        layout fixed
      sql/item_cmpfunc.h:
        mechanism to keep reference in cache array for row IN
      sql/item_subselect.cc:
        fixed memory pools swapping
        prevented deleting Item_in_optimizer cache in case of row IN subquery
      sql/mysql_priv.h:
        declarations of function moved to be useful in sql_class.h
      sql/sql_base.cc:
        keep fields expanded from '*' in statement memory pool
      sql/sql_class.cc:
        fixed restoring/backup of memory pool and list of items
      sql/sql_class.h:
        memory allocation methods moved to Statement
        memory pool substituting for preparing
      sql/sql_lex.cc:
        ref_pointer_array kept in statement memory
      sql/sql_lex.h:
        reinitialization of UNIT
      sql/sql_prepare.cc:
        memory allocation/swapping fixed
      tests/client_test.c:
        layout fixed
      4b37cf65
  35. 09 Feb, 2004 1 commit
    • unknown's avatar
      Added --compact to mysqlbinlog · 35b1f544
      unknown authored
      Fixed output from mysqlbinlog when using --skip-comments
      Fixed warnings from valgrind
      Fixed ref_length when used with HEAP tables
      More efficent need_conversion()
      Fixed error handling in UPDATE with not updateable tables
      Fixed bug in null handling in CAST to signed/unsigned
      
      
      
      client/client_priv.h:
        cleanup & added OPT_COMPACT
      client/mysqldump.c:
        Added option --compact to get a compact readable dump.
        Ensure that SET CHARACTER_SET_CLIENT is not done if we have not remembered the old character set
        Print optimization comments even if --skip-comments are given as these are not true comments. (Before these where only printed at end, which was a bug)
      mysql-test/r/cast.result:
        More cast tests
      mysql-test/r/derived.result:
        Removed warnings
      mysql-test/r/mysqldump.result:
        Update results after fixing mysqlbinlog
      mysql-test/r/query_cache.result:
        Make test usable with --extern
        more tests
      mysql-test/r/rpl_until.result:
        Make test repeatable under valgrind
      mysql-test/r/sql_mode.result:
        Fix test result
      mysql-test/r/subselect.result:
        Make test smaller. Update wrong results
      mysql-test/t/cast.test:
        More cast tests
      mysql-test/t/derived.test:
        Removed warnings
      mysql-test/t/query_cache.test:
        Make test usable with --extern
        more tests
      mysql-test/t/rpl_until.test:
        fix for valgrind.  Becasue of unknown reason one got 'Slave_SQL_Running=yes' in this setup
      mysql-test/t/subselect.test:
        Make test case smaller
      sql/field.cc:
        Updated need_conversion() to use new arguments
      sql/ha_heap.cc:
        Moved initialization of ref_length to right place. This fixed problem that we had a ref_length of 8 for heap tables, which was not efficent.
      sql/item_func.cc:
        Cleanup
      sql/item_func.h:
        Fixed bug in null_handling for cast to signed/unsigned
      sql/item_strfunc.cc:
        Optimized/cleaned up Item_func_conv_charset3
      sql/item_sum.cc:
        Cleanup.
        Ensure that some flag variables are cleared in cleanup()
      sql/item_sum.h:
        Fixed references to uninitialized memory
      sql/opt_range.cc:
        Fixed spelling error
      sql/sql_class.cc:
        Fixed wrong return code, which could case protocol problems
      sql/sql_class.h:
        After merge fix
      sql/sql_prepare.cc:
        Added comments
      sql/sql_show.cc:
        Cleanup
      sql/sql_string.cc:
        Optimzed usage of need_conversion().
        - Removed not used argument
        - Save diff lenght in 'offset' to not have to recalculate length several times.
        Cleaned up comment
        Optimized copy_aligned() based on the knowledge that it's only called when you have wrong data
      sql/sql_string.h:
        Updated need_conversion() and copy_aligned() to use new arguments
      sql/sql_update.cc:
        Fixed error handling with non-updateable tables
      sql/sql_yacc.yy:
        Ensure that lex->lock_options are set correctly (to get rid of warnings from valgrind)
        Ensure that cast_type sets lex->charset and lex->length. Without these CONVERT() didn't work properly
      35b1f544
  36. 08 Feb, 2004 1 commit
    • unknown's avatar
      fixed subquery with PS (BUG#2462) · 541cb675
      unknown authored
      fixed UNION preparation
      
      
      sql/item.cc:
        debug output added
      sql/item.h:
        debug output added
      sql/item_cmpfunc.cc:
        correct cleunup() for Item_in_optimizer
      sql/item_cmpfunc.h:
        correct cleunup() for Item_in_optimizer
        debug output added
      sql/item_func.h:
        debug output added
      sql/item_subselect.cc:
        support of prepared statemnts added - mostly memorry allocation manegement, only one trabsformatio & correct cleupup()
      sql/item_subselect.h:
        support of prepared statemnts added - mostly memorry allocation manegement, only one trabsformatio & correct cleupup()
      sql/item_sum.cc:
        debug output added
      sql/item_sum.h:
        debug output added
      sql/sql_class.cc:
        function to switch allocation arena for Items
      sql/sql_class.h:
        function to switch allocation arena for Items
        pointer on current prepared statement added
      sql/sql_lex.cc:
        comment fixed
      sql/sql_lex.h:
        item cleanup support
      sql/sql_prepare.cc:
        - fixed preparation of PS to avoid storing junk in its memory + correct work with union
        - fixed tables cleanup for UNION & subqueries
      sql/sql_select.cc:
        removed condition which is always true for now
        fixed layout
      sql/sql_union.cc:
        support of UNION subquery cleanup
      tests/client_test.c:
        test of repeatable subqueries
        test of correct UNION initialisation
      541cb675