An error occurred fetching the project authors.
  1. 01 Apr, 2004 1 commit
    • unknown's avatar
      fix for table/field caching mechanism · a949b869
      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
      a949b869
  2. 31 Mar, 2004 3 commits
    • unknown's avatar
      c51e7f3a
    • unknown's avatar
      Fix for Bug #3307 "FLUSH TABLES sometimes breaks prepared statement · ca25de03
      unknown authored
      table resolution".
      Added members to Item_ident for storing original db, table and field
      names since those that set later from Field have shorter life-time 
      than required by prep. stmt. So we need to restore original names in 
      Item_ident::cleanup(). Also now using special construnctor for creation
      of Item_field from Field object that ensures that table and field name 
      have big enough life-time.
      
      "Fix" for bug #2050 "10 to 1 performance drop with server 4.1.1"
      Clean ups in implementation of caching of field number in table.
      Added caching of table in which field is found in find_field_in_tables(). 
      
      
      sql/item.cc:
        Added members to Item_ident for storing original db, table and field
        names since those that set later from Field have shorter life-time 
        than required by prep. stmt. So we need to restore original names in 
        Item_ident::cleanup().
        Added Item_ident::cached_table for caching table there we found 
        our field.
        Added special constructor for creation of Item_field from Field object
        that ensures that table and field name have big enough life-time.
      sql/item.h:
        Added members to Item_ident for storing original db, table and field
        names since those that set later from Field have shorter life-time 
        than required by prep. stmt. So we need to restore original names in 
        Item_ident::cleanup().
        Changed type of Item_ident::cached_field_index from int to uint
        (and so NO_CACHED_FIELD_INDEX is UINT_MAX now) because we want to
        save one comparison in find_field_in_table().
        Added Item_ident::cached_table for caching table there we found 
        our field.
        Added special constructor for creation of Item_field from Field object
        that ensures that table and field name have big enough life-time.
      sql/mysql_priv.h:
        Changed type of cached_field_index_ptr from int* to uint*
        (and so NO_CACHED_FIELD_INDEX is UINT_MAX now) because we want to
        save one comparison in find_field_in_table().
      sql/sql_acl.cc:
        Changed type of find_field_in_table() paremeter to make it 
        faster.
      sql/sql_base.cc:
        find_field_in_table(): small optimization and soime clean ups in 
         caching of field index.
        find_field_in_tables(): added aggresive caching of table in which
         field is found in Item_ident::cached_table.
        insert_fields():
         using special construnctor for creation of Item_field from Field 
         object that ensures that table and field name have big enough life-time.
      ca25de03
    • unknown's avatar
      simple optimzation · 58402416
      unknown authored
      Portability fixes
      
      
      client/mysqltest.c:
        Fixed that if error number 0 is included in --error, we will not generate an error message
      include/mysql.h:
        Portability fix
      mysql-test/mysql-test-run.sh:
        Portability fix
      mysql-test/r/heap_btree.result:
        Portability fix
      mysql-test/r/rpl_error_ignored_table.result:
        Portability fix
      mysql-test/t/heap_btree.test:
        Portability fix
      mysql-test/t/rpl_error_ignored_table.test:
        Portability fix
      sql/sql_base.cc:
        simple optimzation
      sql/sql_yacc.yy:
        simple optimzation
      58402416
  3. 30 Mar, 2004 1 commit
    • unknown's avatar
      An improvement of · 928a6d13
      unknown authored
      ChangeSet
        1.1707 04/03/19 12:36:55 ram@gw.mysql.r18.ru +4 -0
        Fix for the bug #2976: NATURAL JOIN produces duplicate columns.
      
      928a6d13
  4. 29 Mar, 2004 1 commit
  5. 28 Mar, 2004 1 commit
    • unknown's avatar
      "Fix" for BUG #2050 "10 to 1 performance drop with server 4.1.1". · 12dd5008
      unknown authored
      Actually it is not a bug but right behavior observed as pefomance 
      degradation after we have forced Item_field::fix_fields() to 
      re-execute each time when we are executing prep stmt.
      
      This patch implements small optimization which heals this bad 
      behavior. We are caching field position in TABLE::field array in
      Item's member and are using this position for speeding up field
      lookups in fix_fields() in case of its re-execution.
      
      
      sql/item.cc:
        Added cached_field_index member to Item_ident for caching field
        position in TABLE::field array for quicker field lookup in case 
        fix_fields() is executed twice.
      sql/item.h:
        Added cached_field_index member to Item_ident for caching field
        position in TABLE::field array for quicker field lookup in case 
        fix_fields() is executed twice.
      sql/mysql_priv.h:
        Now find_field_in_table has one more in-out parameter which is used
        for caching field index in TABLE::field array stored for quicker
        field look up.
      sql/sql_acl.cc:
        Now find_field_in_table has one more in-out parameter which is used
        for caching field index in TABLE::field array stored for quicker
        field look up.
      sql/sql_base.cc:
        Optimization: Now when we are looking up Field by its name we are 
        caching its position in TABLE::field array in Item_ident::cached_field_index,
        so when we will call fix_fields() second time for this item (e.g.
        when we are re-executing prep statement) we can reuse this index
        to speed up this lookup.
      sql/table.cc:
        Now we storing in TABLE::name_hash pointers to elements of 
        TABLE::field array, because this allows easily retrieve index
        of field in this array when it is looked up by its name.
      sql/table.h:
        Added comment claryfying what we store in TABLE::name_hash.
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      12dd5008
  6. 26 Mar, 2004 1 commit
  7. 25 Mar, 2004 1 commit
    • unknown's avatar
      Cleanups & safety fixes · cf5e9e65
      unknown authored
      include/mysql.h:
        cleanup of load data infile patch
      libmysql/libmysql.c:
        cleanup of load data infile patch
      myisam/mi_search.c:
        Added missing assert.h
      mysql-test/r/func_time.result:
        Make test more secure
      mysql-test/t/func_time.test:
        Make test more secure
      sql/item.cc:
        restore to use str_value in item::save_in_field
      sql/item.h:
        Simple cleanup
      sql/item_cmpfunc.cc:
        Safety fix
      sql/item_cmpfunc.h:
        Simple optimization
      sql/item_func.cc:
        Updated comment
      sql/sql_base.cc:
        Simple optimization
      sql/sql_select.cc:
        Simple optimization
      sql/sql_union.cc:
        safey fixes
      cf5e9e65
  8. 24 Mar, 2004 1 commit
  9. 20 Mar, 2004 2 commits
    • unknown's avatar
      The automatic DROP TEMPORARY TABLE is now DROP TEMPORARY TABLE IF EXISTS, · 96f2820f
      unknown authored
      this is better in this case:
      - imagine user1 has created a temp table
      - imagine user2 does FLUSH TABLES WITH READ LOCK, then takes a backup,
      then RESET MASTER then UNLOCK TABLES, like mysqldump --first-slave
      - then in the binlog you will finally have the DROP TEMPORARY TABLE,
      but not the CREATE TEMPORARY TABLE, so when you later restore with
      mysqlbinlog|mysql, mysql will complain that table does not exist.
      Replication was already protected of this (it processes DROP TEMPORARY
      TABLE as if there was a IF EXISTS), now I add it directly to the query
      for mysqlbinlog|mysql to work.
      
      
      mysql-test/r/drop_temp_table.result:
        result update (query changed)
      96f2820f
    • unknown's avatar
      after review changes · 042b46fc
      unknown authored
      sql/item.cc:
        removed double_fix & already_fixed in Item_field
      sql/item.h:
        added quick_fix_field() for cases when we are sure that no need full fix_field processing
        fixed neg() method for numeric constants to have the same logic as constant parser
        Item_null, Item_real, ... are constant which are fixed by creation
      sql/item_cmpfunc.h:
        right fix_fields in and_conds call
      sql/item_func.cc:
        changed Item_field constructor call
        fix_field emulation call
      sql/item_strfunc.cc:
        correct layout
      sql/item_subselect.cc:
        correct layout
        changed Item_field constructor call
      sql/item_sum.cc:
        changed Item_field constructor call
      sql/item_sum.h:
        changed Item_field constructor call
      sql/sql_base.cc:
        fixed layout
        right fix_fields calls
      sql/sql_help.cc:
        changed Item_field constructor call
      sql/sql_load.cc:
        changed Item_field constructor call
      sql/sql_parse.cc:
        constant changed
      sql/sql_select.cc:
        fixed layout
        fix_field emulation insted of real fix_fields call
      sql/sql_show.cc:
        changed Item_field constructor call
      sql/sql_union.cc:
        changed Item_field constructor call
        double_fix removed
      sql/sql_update.cc:
        renamed variable, fixed layout
      sql/sql_yacc.yy:
        typo fixed
        fix_fields emulation calls
        hegation of numbers fixed
      042b46fc
  10. 19 Mar, 2004 1 commit
    • unknown's avatar
      Fix for the bug #2976: NATURAL JOIN produces duplicate columns. · 62699903
      unknown authored
      Improvement natural join code in the setup_conds(). 
      
      
      mysql-test/r/join.result:
        Fix for the bug #2976: NATURAL JOIN produces duplicate columns
      mysql-test/r/join_outer.result:
        Fix for the bug #2976: NATURAL JOIN produces duplicate columns
      mysql-test/r/select.result:
        Fix for the bug #2976: NATURAL JOIN produces duplicate columns
      62699903
  11. 18 Mar, 2004 1 commit
    • unknown's avatar
      DBUG_ASSERT(fixed == 1); added to val* · ad2c3773
      unknown authored
      small optimisation in signed_literal
      
      
      sql/field.cc:
        layout fixed
      sql/item.cc:
        DBUG_ASSERT(fixed == 1); added to val*
        layout fixed
        fixed= 1; added where it was forgoten in fix_fields
        Item_string can be used without fix_fields
      sql/item.h:
        DBUG_ASSERT(fixed == 1); added to val*
        Item_string can be used without fix_fields
      sql/item_cmpfunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_cmpfunc.h:
        fixed layout and getting Item statistic
      sql/item_func.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_func.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_geofunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_strfunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
        layout fixed
      sql/item_strfunc.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_subselect.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_sum.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_sum.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_timefunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_timefunc.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_uniq.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/sql_base.cc:
        Item creation revised
      sql/sql_help.cc:
        Item creation revised
      sql/sql_load.cc:
        Item creation revised
      sql/sql_parse.cc:
        fix_field call added
      sql/sql_select.cc:
        Item creation revised
      sql/sql_show.cc:
        Item creation revised
      sql/sql_union.cc:
        Item creation revised
      sql/sql_update.cc:
        Item creation revised
      sql/sql_yacc.yy:
        Item creation revised
        small optimisation in signed_literal
      ad2c3773
  12. 17 Mar, 2004 3 commits
    • unknown's avatar
      after merge fixes · 2a760bdf
      unknown authored
      include/my_tree.h:
        After merge fixes
      mysql-test/r/create.result:
        After merge fixes
      mysql-test/r/insert.result:
        After merge fixes
      mysql-test/r/multi_update.result:
        After merge fixes
      mysql-test/r/query_cache.result:
        After merge fixes
      mysql-test/r/rpl_error_ignored_table.result:
        After merge fixes
      mysql-test/r/rpl_optimize.result:
        After merge fixes
      mysql-test/r/show_check.result:
        After merge fixes
      mysql-test/t/insert.test:
        After merge fixes (Remove columns with space last)
      mysql-test/t/multi_update.test:
        After merge fixes
      mysql-test/t/show_check.test:
        After merge fixes
      sql/field.cc:
        Remove compiler warnings
      sql/sql_base.cc:
        Fix bug when table was refreshed
      2a760bdf
    • unknown's avatar
      DBUG_ASSERT(fixed == 0) added to fix_fields() · cd32a2f4
      unknown authored
      sql/item.cc:
        layout fixed
        fixed bug in prepared statements with subqueries and outer references
      sql/item.h:
        neg_transformer get thd argument to call fix_fields
      sql/item_cmpfunc.cc:
        DBUG_ASSERT(fixed == 0) added to fix_fields()
        fixed Item_in_optimizer fixed flag
        neg_arguments(), neg_transformer() call fix_field() on created items to avoid bouble fix field or non-called fixfields()
      sql/item_cmpfunc.h:
        neg_transformer get thd argument to call fix_fields
        fixed forgoten cleanup() call of parent class
      sql/item_func.cc:
        DBUG_ASSERT(fixed == 0) and fixed flag check added to fix_fields()
      sql/item_func.h:
        DBUG_ASSERT(fixed == 0) added to fix_fields()
        fixed forgoten cleanup() call of parent class
      sql/item_row.cc:
        DBUG_ASSERT(fixed == 0) added to fix_fields()
        added forgoten 'fixed' flag set
      sql/item_subselect.cc:
        DBUG_ASSERT(fixed == 0) added to fix_fields()
        fixed subquery transformation
      sql/sql_base.cc:
        check of fixed flag added
      sql/sql_derived.cc:
        fixed cleunup union in derived table during EXPLAIN command processing
      sql/sql_select.cc:
        thd argument add to function to allow call fix_fields() of new created items
        fixed EXPLAIN double preparation
        check of fixed flag added
        eliminate_not_funcs fixed for corrcet fix_fields call of new created items
      sql/sql_select.h:
        thd argument add to function to allow call fix_fields() of new created items
      sql/sql_union.cc:
        union processing fixed
      tests/client_test.c:
        layout fixed
        new test of outer references fron subqueries
      cd32a2f4
    • unknown's avatar
      After merge fixes · 1740ff48
      unknown authored
      1740ff48
  13. 16 Mar, 2004 1 commit
    • unknown's avatar
      Fix for #233 (the second one) · 59f0afdd
      unknown authored
      sql/field.cc:
        Field_geom::store() returns -1 as a sign of fatal error
      sql/field_conv.cc:
        set_field_to_null* return -1 now as the fatal error
      sql/item.cc:
        no sign inversions needed
      sql/opt_range.cc:
        -1 is the sign of fatal error now
      sql/sql_base.cc:
        -1 is the fatal error
      59f0afdd
  14. 11 Mar, 2004 1 commit
    • unknown's avatar
      Ensure that install_test_db.sh script works with both 'make install' and... · 7b18a6d1
      unknown authored
      Ensure that install_test_db.sh script works with both 'make install' and 'make_binary_distribution' layouts
      Abort if we can't allocate memory for table cache
      Fix bug with multi-update-tables and BDB tables.
      
      
      extra/replace.c:
        Fix comments
      mysql-test/install_test_db.sh:
        Change internal option from -bin to --bin
        Ensure that script works with both 'make install' and 'make_binary_distribution' layouts (Bug #3031)
      mysql-test/mysql-test-run.sh:
        Change internal option from -bin to --bin
      sql/ha_berkeley.cc:
        More debug
      sql/mysql_priv.h:
        Change table_cache_init to return error
      sql/mysqld.cc:
        Abort if we can't allocate memory for table cache. (Bug #3085)
        Enable warnings by default
      sql/sql_base.cc:
        Change table_cache_init to return error
      sql/sql_update.cc:
        Fix bug with multi-update-tables and BDB tables. Bug #3098
        Problem was that we didn't initialize BDB for calls to rnd_pos()
      7b18a6d1
  15. 10 Mar, 2004 1 commit
    • unknown's avatar
      Fixed memory leak in DROP DATABASE when using RAID tables (Bug #2882) · 98cd9f93
      unknown authored
      BUILD/compile-pentium-debug-max:
        Added --with-raid
      configure.in:
        Removed -DFN_NO_CASE_SENCE for Mac OS X as this is not always true
      mysql-test/install_test_db.sh:
        Added --skip-warnings
      mysql-test/mysql-test-run.sh:
        Fixes to get --gdb and --ddd to work
      mysql-test/r/lowercase_table2.result:
        Test for lower_case_table_names=2 and temporary tables
      mysql-test/r/lowercase_table3.result:
        Fixed error message
      mysql-test/r/multi_update.result:
        Test of behaviour of multi-table-delete and alias
      mysql-test/t/lowercase_table2.test:
        Test for lower_case_table_names=2 and temporary tables
      mysql-test/t/lowercase_table3.test:
        Fixed error
      mysql-test/t/multi_update.test:
        Test of behaviour of multi-table-delete and alias (Bug #2940)
      mysys/mf_iocache.c:
        Renamed _flush_io_cache to my_b_flush_io_cache
      sql/ha_myisam.cc:
        Added comment
      sql/lock.cc:
        Extra debugging
      sql/log.cc:
        New parameter to flush_relay_log_info
      sql/log_event.cc:
        New parameter to flush_relay_log_info
      sql/mf_iocache.cc:
        Removed not used header files
      sql/mysqld.cc:
        More debugging info
        Less warnings when run with --skip-warnings
      sql/opt_range.cc:
        More debug information
      sql/repl_failsafe.cc:
        New parameter to flush_relay_log_info
      sql/slave.cc:
        First start SQL thread, then start IO thread. This fixed a raze condition in SLAVE START (Bug #2921)
        Ensure that we have a lock on the IO thread before flushing a relay log file that. The original code could core dump when a relay log rotated.
      sql/slave.h:
        New parameter to flush_relay_log_info
      sql/sql_base.cc:
        Added warning
      sql/sql_handler.cc:
        Indentation fix
      sql/sql_repl.cc:
        New parameter to flush_relay_log_info
      sql/sql_select.cc:
        Fixed problem with deleting temporary tables when using lower_case_table_names=2. (Bug #2858)
      sql/sql_table.cc:
        Fixed comment
      sql/sql_yacc.yy:
        Removed compiler warning
      include/my_sys.h:
        Fixed usage of unpack_filename
      mysys/mf_pack.c:
        Changed unpack_filename() to return length of result string.
      mysys/test_fn.c:
        Fixed usage of unpack_filename
      sql/sql_db.cc:
        Fixed memory leak with raid tables
      sql/table.cc:
        Fixed usage of unpack_filename
      98cd9f93
  16. 04 Mar, 2004 1 commit
  17. 22 Feb, 2004 2 commits
    • unknown's avatar
      Complement to · b7afc683
      unknown authored
      ChangeSet 1.1616.23.1
      Fix for BUG#1858 "SQL-Thread stops working when using optimize table".
      A test for this.
      
      
      sql/sql_base.cc:
        In remove_table_from_cache(), kill only delayed threads.
      b7afc683
    • unknown's avatar
      After merge fixes · 416dc3b4
      unknown authored
      Fixed wrong test of database name (affected optimization of ORDER BY)
      
      
      VC++Files/client/mysqlclient.dsp:
        Add my_file.c
      VC++Files/mysys/mysys.dsp:
        Add my_file.c
      mysql-test/r/negation_elimination.result:
        Fix wrong test
      sql-common/client.c:
        After merge fix
      sql/sql_base.cc:
        Fixed testing of database name
      416dc3b4
  18. 20 Feb, 2004 1 commit
    • unknown's avatar
      after review fix · ebebf515
      unknown authored
      sql/item.h:
        typo fixed
      sql/item_func.h:
        clear refernce on deleted variable
      sql/item_subselect.cc:
        layout fixed
      sql/sql_base.cc:
        temporary memory pool allocation moved from open_and_lock_tables
      sql/sql_prepare.cc:
        temporary memory pool allocation moved
        changing in routine suggeted by Monty
      tests/client_test.c:
        uncomment accidently commented test
      ebebf515
  19. 17 Feb, 2004 1 commit
    • unknown's avatar
      revision of fix_fields() calls (BUG2838) · 83e69302
      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
      83e69302
  20. 16 Feb, 2004 1 commit
    • unknown's avatar
      ulternative bugfix for BUG#2508 and fix for BUG#2809 - every table has its own TABLE structure · 435fdbc2
      unknown authored
      mysql-test/r/union.result:
        fix for union test becuase now not all fields in UNION allow NULLS
        fix of test
        test suite for BUG#2809
      mysql-test/t/union.test:
        test suite for BUG#2809
      sql/mysql_priv.h:
        removed unused parameter of setup_tables()
      sql/sql_base.cc:
        removed unused parameter of setup_tables()
        cleanup of unused code
      sql/sql_class.h:
        removed unused field
      sql/sql_help.cc:
        removed unused parameter of setup_tables()
      sql/sql_insert.cc:
        removed unused parameter of setup_tables()
      sql/sql_lex.cc:
        excluded duplicate tables finding for UNION
      sql/sql_load.cc:
        removed unused parameter of setup_tables()
      sql/sql_olap.cc:
        removed unused parameter of setup_tables()
      sql/sql_prepare.cc:
        removed unused parameter of setup_tables()
      sql/sql_select.cc:
        removed unused parameter of setup_tables()
        revert old BUG#2508 patch
      sql/sql_union.cc:
        revert old BUG#2508 patch
        removed unused code
      sql/sql_update.cc:
        removed unused parameter of setup_tables()
      sql/table.h:
        shared used only for multi-update for now
      435fdbc2
  21. 12 Feb, 2004 2 commits
    • unknown's avatar
      PS fixed to be compatible with derived tables (BUG#2641) · 1fa1c516
      unknown authored
      sql/mysql_priv.h:
        description moved to be accessable from sql_class.h
      sql/sql_base.cc:
        put all derived table preparation in temporary memory pull
      sql/sql_class.h:
        close tables to close derived tables before freeing memory pool where they are placed
      sql/sql_prepare.cc:
        now temporary memory pool for prrepared statements registration is oppened in open_and_lock_tables
        thd->current_statement set only for tables preparation, because we do not need memory pool tricks for PS executing
      tests/client_test.c:
        derived table added to test
        expression with aggregate functions added to test
      1fa1c516
    • unknown's avatar
      memory leacks in PS with subqueries fixed (adddition to fix of BUG#2462) · 00392bf8
      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
      00392bf8
  22. 09 Feb, 2004 1 commit
    • unknown's avatar
      ufter revview fix (BUG#2120) · 76ebbe91
      unknown authored
      mysql-test/r/derived.result:
        test of error handling in derived tables with UPDATE & DELETE
      mysql-test/t/derived.test:
        test of error handling in derived tables with UPDATE & DELETE
      sql/mysql_priv.h:
        opened tables counter added to avoid loop of tables calculating in lock_tables
      sql/sql_acl.cc:
        opened tables counter added to avoid loop of tables calculating in lock_tables, here it is just for compatibility
      sql/sql_base.cc:
        removed unneeded assignment
        opened tables counter added to avoid loop of tables calculating in lock_tables
        commentary fixed
      sql/sql_derived.cc:
        mysql_derived made static
        variable res moved in place where it used
        priveleges written in correct place
      sql/sql_handler.cc:
        opened tables counter added to avoid loop of tables calculating in lock_tables
      sql/sql_parse.cc:
        mistyping in commentary fixed
      76ebbe91
  23. 03 Feb, 2004 1 commit
    • unknown's avatar
      Give error if locked table is used twice in query. This fixes strange error... · dccf911f
      unknown authored
      Give error if locked table is used twice in query. This fixes strange error message when doing LOCK TABLES t1 WRITE; INSERT TABLE t1 SELECT * from t1 (Bug #2296)
      
      
      client/mysqldump.c:
        Better help for flush-logs
      mysql-test/r/lock.result:
        Test for LOCK TABLES ; INSERT ... SELECT
      mysql-test/t/lock.test:
        Test for LOCK TABLES ; INSERT ... SELECT
      dccf911f
  24. 01 Feb, 2004 1 commit
    • unknown's avatar
      now all tables of query are locked in one place (including derived tables) · 3cabe5de
      unknown authored
      fixed BUG#2120 and other problem with EXPLAINing derived tables
      
      
      mysql-test/r/derived.result:
        correct tables names & Co in derived tables
        test case for BUG#2120
      mysql-test/t/derived.test:
        test case for BUG#2120
      sql/mysql_priv.h:
        derived tables processing moved after open/locking all tables (in open_and_lock_tables)
      sql/repl_failsafe.cc:
        correct initialization of TABLE_LIST
      sql/sql_acl.cc:
        used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX
      sql/sql_base.cc:
        derived tables processing moved after open/locking all tables (in open_and_lock_tables)
      sql/sql_delete.cc:
        all tables processing is done during opening
      sql/sql_derived.cc:
        derived tables processing moved after open/locking all tables (in open_and_lock_tables) to sutisfy "all query tables locking" at the moment
      sql/sql_insert.cc:
        all tables processing is done during opening
        correct initialization of TABLE_LIST
      sql/sql_lex.cc:
        now table list will be created for whole query
        layout fix
        correct check of updated table in subqueries
      sql/sql_lex.h:
        now table list will be created for whole query
        correct check of updated table in subqueries
      sql/sql_olap.cc:
        THIS FUNCTION IS USED NOWHERE
        it will be good to remove it at all (handle_olaps)
      sql/sql_parse.cc:
        derived tables processing moved after open/locking all tables (in open_and_lock_tables)
      sql/sql_prepare.cc:
        new creating list parameters
        all tables processing is done during opening
      sql/sql_select.cc:
        all tables processing is done during opening
      sql/sql_select.h:
        now it used only within file where is defined
      sql/sql_udf.cc:
        used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX
      sql/sql_update.cc:
        all tables processing is done during opening
      3cabe5de
  25. 29 Jan, 2004 1 commit
    • unknown's avatar
      Fix for BUG#2477 "Slave stop with error after master reboot if use HEAP tables": · e7a90646
      unknown authored
      when we open the HEAP table for the first time since server restart,
      in hp_open(), we set a flag to propagate this info to the handler level
      which then writes a DELETE FROM this_heap_table to the binlog.
      It is not a perfect solution for the bug, because between the server start and 
      the first open of the table, the slave still had old data in his table so
      a SELECT on the slave may show wrong content. But if there is a --init-file
      to populate the HEAP table on master as startup, then this is a safe fix
      (I'll put a note about init-file in the HEAP section of the manual).
      
      
      heap/hp_info.c:
        new info variable implicit_emptied
      heap/hp_open.c:
        If this is the first open of the HEAP table, it means it is empty,
        so we mark it.
      include/heap.h:
        new variables implicit_emptied
        (we need one in HEAPINFO for the hp_info() call).
      sql/ha_heap.cc:
        report info to upper level
      sql/handler.h:
        new info 'implicit_emptied' in the handler level; only HEAP uses it.
      sql/sql_base.cc:
        When a HEAP table is opened for the first time, write a DELETE FROM to the binlog,
        for replication and mysqlbinlog|mysql.
        Monty: I added the
        entry->file->implicit_emptied= 0;
      e7a90646
  26. 28 Jan, 2004 1 commit
  27. 02 Jan, 2004 1 commit
    • unknown's avatar
      removed droping field->query_id for reinitialization tables for subquery. · 2276624f
      unknown authored
      (BUG#2089)
      
      
      mysql-test/r/subselect_innodb.result:
        correct results
      sql/mysql_priv.h:
        new parameter for setup_tables()
      sql/sql_base.cc:
        new parameter for setup_tables() added to avoid dropping query_id of fields during reinitialization subquery
      sql/sql_class.cc:
        layout fixed
      sql/sql_help.cc:
        new parameter for setup_tables()
      sql/sql_insert.cc:
        new parameter for setup_tables()
      sql/sql_lex.cc:
        removed incorrect code
      sql/sql_load.cc:
        new parameter for setup_tables()
      sql/sql_olap.cc:
        new parameter for setup_tables()
      sql/sql_prepare.cc:
        new parameter for setup_tables()
      sql/sql_select.cc:
        new parameter for setup_tables()
      sql/sql_update.cc:
        new parameter for setup_tables()
      2276624f
  28. 19 Dec, 2003 2 commits
    • unknown's avatar
      THD::lex now points to THD::main_lex like in 5.0 · 0b098472
      unknown authored
      All tests pass (client_test included)
      
      
      libmysqld/lib_sql.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/filesort.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/ha_innodb.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/ha_myisam.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_cmpfunc.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_create.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_func.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_subselect.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_sum.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/mysql_priv.h:
        THD::lex now points to THD::main_lex like in 5.0
      sql/mysqld.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/protocol.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/repl_failsafe.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/slave.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_acl.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_base.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_cache.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_class.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_class.h:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_delete.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_error.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_insert.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_lex.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_lex.h:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_parse.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_prepare.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_repl.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_select.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_table.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_union.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_update.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_yacc.yy:
        THD::lex now points to THD::main_lex like in 5.0
      0b098472
    • unknown's avatar
      Fixes after merge with 4.0 · c9f5145a
      unknown authored
      Cleaned up embedded library access and query cache handling
      Changed min stack size to 128K (to allow longer MyISAM keys)
      Fixed wrong priority for XOR (should be less than NEG to get -1^1 to work)
      
      
      client/mysqldump.c:
        Fixed bugs found after merge
      include/mysql_embed.h:
        Disable query cache when using embedded version
      myisam/mi_check.c:
        Removed not used variable
      mysql-test/r/auto_increment.result:
        Fixed bugs found after merge
      mysql-test/r/bdb.result:
        Fixed bugs found after merge
      mysql-test/r/func_group.result:
        Fixed bugs found after merge
      mysql-test/r/func_str.result:
        Fixed bugs found after merge
      mysql-test/r/func_time.result:
        Fixed bugs found after merge
      mysql-test/r/group_by.result:
        Fixed bugs found after merge
      mysql-test/r/innodb.result:
        Fixed bugs found after merge
      mysql-test/r/insert.result:
        Fixed bugs found after merge
      mysql-test/r/join_outer.result:
        Fixed bugs found after merge
      mysql-test/r/loaddata.result:
        Fixed bugs found after merge
      mysql-test/r/multi_update.result:
        Fixed bugs found after merge
      mysql-test/r/mysqldump.result:
        Update results
      mysql-test/r/rpl_EE_error.result:
        Fixed bugs found after merge
      mysql-test/r/rpl_multi_update.result:
        Fixed bugs found after merge
      mysql-test/r/symlink.result:
        Update results
      mysql-test/r/type_blob.result:
        Update results
      mysql-test/r/type_datetime.result:
        Update results
      mysql-test/r/type_decimal.result:
        Update results
      mysql-test/r/type_enum.result:
        Fixed bugs found after merge
      mysql-test/r/type_timestamp.result:
        Update results
      mysql-test/r/union.result:
        Update results
      mysql-test/r/warnings.result:
        Update results
      mysql-test/t/bdb.test:
        Fix test for 4.1
      mysql-test/t/innodb.test:
        Fix test for 4.1
      mysql-test/t/multi_update.test:
        Fix test for 4.1
      mysql-test/t/mysqldump.test:
        Fix test for 4.1
      mysql-test/t/rpl_EE_error.test:
        Fix test for 4.1
      mysql-test/t/rpl_multi_update.test:
        Fix test for 4.1
      mysql-test/t/union.test:
        Cleanup
      mysys/charset.c:
        Check results from my_once_alloc()
      mysys/my_handler.c:
        part of 4.0 merge
      sql-common/client.c:
        Part of 4.0 merge
      sql/field.cc:
        After merge fixes
      sql/field.h:
        After merge fixes
      sql/ha_innodb.cc:
        Remove duplicate include files
      sql/item.cc:
        Changed automatic int conversion to be of type binary
      sql/item.h:
        After merge fixes
      sql/item_func.cc:
        Changed automatic int conversion to be of type binary
      sql/item_func.h:
        After merge fixes
      sql/item_strfunc.cc:
        Added comments
      sql/item_subselect.cc:
        Indentation fixes
      sql/item_sum.cc:
        Changed automatic int conversion to be of type binary
      sql/item_sum.h:
        After merge fixes
      sql/mysql_priv.h:
        Cleanup embedded library access checks
      sql/mysqld.cc:
        Changed min stack size to 128K (to allow longer MyISAM keys)
      sql/set_var.cc:
        Fixed compiler warnings
      sql/share/czech/errmsg.txt:
        Better error message
      sql/share/danish/errmsg.txt:
        Better error message
      sql/share/dutch/errmsg.txt:
        Better error message
      sql/share/english/errmsg.txt:
        Better error message
      sql/share/estonian/errmsg.txt:
        Better error message
      sql/share/french/errmsg.txt:
        Better error message
      sql/share/greek/errmsg.txt:
        Better error message
      sql/share/hungarian/errmsg.txt:
        Better error message
      sql/share/italian/errmsg.txt:
        Better error message
      sql/share/japanese/errmsg.txt:
        Better error message
      sql/share/korean/errmsg.txt:
        Better error message
      sql/share/norwegian-ny/errmsg.txt:
        Better error message
      sql/share/norwegian/errmsg.txt:
        Better error message
      sql/share/polish/errmsg.txt:
        Better error message
      sql/share/romanian/errmsg.txt:
        Better error message
      sql/share/russian/errmsg.txt:
        Better error message
      sql/share/serbian/errmsg.txt:
        Better error message
      sql/share/slovak/errmsg.txt:
        Better error message
      sql/share/spanish/errmsg.txt:
        Better error message
      sql/share/swedish/errmsg.txt:
        Better error message
      sql/share/ukrainian/errmsg.txt:
        Better error message
      sql/sql_acl.h:
        Cleaned up embedded library acccess checks
      sql/sql_base.cc:
        After merge fixes
      sql/sql_client.cc:
        After merge fixes
      sql/sql_parse.cc:
        After merge fixes
        Changed access check code for embedded library (needed to make code shorter and ensure that check_table_access() is called)
        Recoded create-table handling for CREATE TABLE ... SELECT to make code shorter and faster
      sql/sql_prepare.cc:
        Add missing arguments
      sql/sql_select.cc:
        After merge fixes
      sql/sql_update.cc:
        After merge fixes
      sql/sql_yacc.yy:
        Fixed wrong priority for XOR (should be less than NEG to get -1^1 to work)
      sql/table.cc:
        After merge fixes
      c9f5145a
  29. 16 Dec, 2003 1 commit
    • unknown's avatar
      Fix for BUG#2083 · 69c24cce
      unknown authored
      "EE_ error codes (EE_DELETE, EE_WRITE) end up in the binlog, making slave stop".
      The problem was that during execution of the command on the master, an error
      can occur (for example, not space left on device, then mysqld waits and when
      there is space it completes successfully: so finally it worked but the error
      EE_WRITE remains in thd->net.last_errno and thd->net.last_error).
      To know if finally the command succeeded, we test the 'error' variable in
      every place, and if it shows no failure we reset thd->net.last_err* using
      the function THD::clear_error() which is backported from 4.1.
      A new test to see if now only real errors get to the binlog (note: the test
      uses "rm").
      
      Also a bit of memory free/alloc saving in log_event.cc (do not free the whole
      mem_root after every query in the slave SQL thread: we can keep the initial
      block of it; which will be freed when the thread terminates).
      
      
      sql/log_event.cc:
        In the slave SQL thread, it's a waste to free the initial block of the mem_root
        after every query. We can instead keep it. It will be freed when the thread
        terminates (in THD::~THD()).
      sql/sql_acl.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_base.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_class.h:
        Backport of THD::clear_error() from 4.1:
        clears the error in thd->net.last_errno
      sql/sql_db.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_delete.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_insert.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_parse.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_rename.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_table.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_update.cc:
        clear the error in thd->net.last_errno as there was no error
      69c24cce
  30. 14 Dec, 2003 1 commit
    • unknown's avatar
      Extend max_allowed_packet to 2G in mysql and mysqldump (Bug #2105) · 199f0cea
      unknown authored
      Don't dump data for MRG_ISAM or MRG_MYISAM tables. (Bug #1846)
      Ensure that 'lower_case_table_names' is always set on case insensitive file systems. (Bug #1812)
      One can now configure MySQL as windows service as a normal user. (Bug #1802)
      Database names is now compared with lower case in ON clause when lower_case_table_names is set. (Bug #1736)
      IGNORE ... LINES option didn't work when used with fixed length rows. (Bug #1704)
      Change INSERT DELAYED ... SELECT... to INSERT .... SELECT (Bug #1983)
      Safety fix for service 'mysql start' (Bug #1815)
      
      
      client/mysql.cc:
        Extend max_allowed_packet to 2G (Bug #2105)
      client/mysqldump.c:
        Extend max_allowed_packet to 2G (Bug #2105)
        Don't dump data for MRG_ISAM or MRG_MYISAM tables. (Bug #1846)
      configure.in:
        Test for file linux/config.h
      include/my_global.h:
        Portability fix (Bug #1924)
      mysql-test/r/insert.result:
        Update test results
      mysql-test/r/loaddata.result:
        Update test results
      mysql-test/r/lowercase_table.result:
        Update test results
      mysql-test/t/insert.test:
        Test INSERT ... DELAYED ... SELECT
      mysql-test/t/loaddata.test:
        Added test of LOAD DATA INFILE ... IGNORE # LINES for fixed size tables
      mysql-test/t/lowercase_table.test:
        Test mixed lower/uppercase database names
      sql/item.cc:
        Made function not inline (to make it easier to modify it without recompilation of all files)
      sql/item.h:
        Moved function to item.cc
      sql/mysqld.cc:
        Merge pidfile create code
        Ensure that 'lower_case_table_names' is always set on case insensitive file systems. (Bug #1812)
      sql/nt_servc.cc:
        One can now configure MySQL as windows service as a normal user. (Bug #1802)
      sql/sql_base.cc:
        Database names is now compared with lower case in ON clause when lower_case_table_names is set. (Bug #1736)
      sql/sql_class.h:
        Fixed type
      sql/sql_load.cc:
        IGNORE ... LINES option didn't work when used with fixed length rows. (Bug #1704)
      sql/sql_parse.cc:
        Change INSERT DELAYED ... SELECT... to INSERT .... SELECT
      strings/ctype-tis620.c:
        Ensure that memory is freed properly (Partly becasue of bug #1770)
        Bar should check the proposed patch in #1770 if we can use it
      support-files/mysql.server.sh:
        Safety fix (Bug #1815)
      199f0cea
  31. 11 Dec, 2003 1 commit
    • unknown's avatar
      Fixed a possible memory leak on MacOSX when using the shared libmysql.so library (Bug #2061) · bdeadbb6
      unknown authored
      mysql_server_init() now returns error code if something went wrong (Bug #2062)
      Don't use my_fopen() when reading symlink information as this may cause problems when a lot of files are opened.
      Free thread keys with pthread_key_delete() instead of relying on automatic free. (Bug #2062)
      Fixed bug in UNION statement with alias '*'. (Bug #1249)
      Fixed a bug in DELETE ... ORDER BY ... LIMIT where the rows where not deleted in the proper order. (Bug #1024).
      FOUND_ROWS() could return incorrect number of rows after a query with an impossible WHERE condition.
      HOW DATABASES doesn't anymore show .sym files (on windows) that doesn't point to a valid directory. (Bug #1385)
      
      
      include/config-win.h:
        Ensure that USE_SYMDIR is set for all windows versions
        (This is set in makefiles, so this is just an extra safety measure)
      include/my_pthread.h:
        Fixed a possible memory leak on MacOSX when using the shared libmysql.so library (Bug #2061)
      include/my_sys.h:
        my_init() now returns error code if something went wrong
      include/mysql.h:
        mysql_once_init() now returns error code if something went wrong
      include/mysql_com.h:
        my_init() now returns error code if something went wrong
      libmysql/libmysql.c:
        mysql_server_init() and mysql_once_init() now returns error code if something went wrong (Bug #2062)
      mysql-test/r/limit.result:
        Update results
      mysql-test/r/select_found.result:
        Update results
      mysql-test/r/union.result:
        Update results
      mysql-test/t/limit.test:
        Added test for DELETE ... ORDER BY ... LIMIT (bug #1024)
      mysql-test/t/select_found.test:
        Added test for problem with impossible WHERE (Bug #1468)
      mysql-test/t/union.test:
        Added test for problem with alias '*' (Bug #1249)
      mysys/mf_pack.c:
        Don't use my_fopen() when reading symlink information as this may cause problems when a lot of files are opened.
      mysys/my_init.c:
        my_init() now returns error code if something went wrong
      mysys/my_lib.c:
        More debug information
      mysys/my_thr_init.c:
        Free thread keys with pthread_key_delete() instead of relying on automatic free. (Bug #2062)
      sql/sql_base.cc:
        Fixed bug in UNION statement with alias '*'. (Bug #1249)
      sql/sql_delete.cc:
        Fixed a bug in DELETE ... ORDER BY ... LIMIT where the rows where not deleted in the proper order. (Bug #1024).
      sql/sql_select.cc:
        FOUND_ROWS() could return incorrect number of rows after a query with an impossible WHERE condition.
      sql/sql_show.cc:
        SHOW DATABASES doesn't anymore show .sym files (on windows) that doesn't point to a valid directory. (Bug #1385)
      sql/sql_yacc.yy:
        Allow syntax UNION DISTINCT
      bdeadbb6
  32. 28 Nov, 2003 1 commit