An error occurred fetching the project authors.
  1. 14 Sep, 2004 1 commit
    • unknown's avatar
      BUG#5318 - failure: 'IGNORE_SPACE' affects numeric values after DEFAULT. · b4e557fd
      unknown authored
      Added a check to recover from IGNORE_SPACE in this situation: 
      <ident-character(s)><space><dot><ident-character(s)>
      The ignored space led to the false identification of the dot
      as an ident separator (like "db.table").
      
      
      mysql-test/r/sql_mode.result:
        BUG#5318 - failure: 'IGNORE_SPACE' affects numeric values after DEFAULT.
        Added the test results.
      mysql-test/t/sql_mode.test:
        BUG#5318 - failure: 'IGNORE_SPACE' affects numeric values after DEFAULT.
        Added new tests for the bug.
      sql/sql_lex.cc:
        BUG#5318 - failure: 'IGNORE_SPACE' affects numeric values after DEFAULT.
        Added code to recover from skipped spaces in mode IGNORE_SPACES,
        when testing for an ident separator (which happens to be a dot).
      b4e557fd
  2. 08 Sep, 2004 1 commit
    • unknown's avatar
      check that table used in multi-update is unique added (BUG#5455) · 6c233040
      unknown authored
      mysql-test/r/multi_update.result:
        multi* unique updating table check
      mysql-test/t/multi_update.test:
        multi* unique updating table check
      sql/sql_lex.cc:
        new method to check table only in subqueries
      sql/sql_lex.h:
        new method to check table only in subqueries
      sql/sql_parse.cc:
        used new method to check table only in subqueries
      sql/sql_update.cc:
        check that table is unique added
      6c233040
  3. 24 Aug, 2004 1 commit
    • 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
  4. 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
  5. 13 Aug, 2004 1 commit
    • unknown's avatar
      skip resolving field in table list if table list is not accessable due to groupping (BUG#4814) · d0c87702
      unknown authored
      mysql-test/r/func_gconcat.result:
        fix of test queries
      mysql-test/r/subselect.result:
        resolving fields of grouped outer SELECT
      mysql-test/t/func_gconcat.test:
        fix of test queries
      mysql-test/t/subselect.test:
        resolving fields of grouped outer SELECT
      sql/item.cc:
        skip resolving field in table list if table list is not accessable due to groupping
        layout fixed
      sql/item_subselect.cc:
        detection of place of subquery
      sql/item_subselect.h:
        detection of place of subquery
      sql/mysql_priv.h:
        enum_parsing_place made global type
      sql/sql_lex.cc:
        enum_parsing_place made global type
      sql/sql_lex.h:
        enum_parsing_place made global type
      sql/sql_yacc.yy:
        enum_parsing_place made global type
      d0c87702
  6. 10 Aug, 2004 1 commit
    • unknown's avatar
      Fix for bug #4508 "CONVERT_TZ() function with new time zone as param crashes server". · 68d7b266
      unknown authored
      Instead of trying to open time zone tables during calculation of CONVERT_TZ() function
      or setting of @@time_zone variable we should open and lock them with the rest of 
      statement's table (so we should add them to global table list) and after that use such 
      pre-opened tables for loading info about time zones.
      
      
      mysql-test/r/timezone2.result:
        Added test for bug #4508
      mysql-test/t/timezone2.test:
        Added test for bug #4508
      scripts/mysql_create_system_tables.sh:
        Added one more test time zone to time zone tables which is needed for test for bug #4508.
      sql/item_create.cc:
        CONVERT_TZ() now is treated as special function.
      sql/item_create.h:
        CONVERT_TZ() now is treated as special function.
      sql/item_timefunc.cc:
        Item_func_convert_tz now uses list of pre-opened time zone tables instead of trying to
        open them ad-hoc. Also it avoid calling of current_thd.
      sql/item_timefunc.h:
        Added comment describing special nature of CONVERT_TZ() function.
        Optimization: Added own fix_fields() method and tz_tables member for caching pointer
        to list of open time zone tables to Item_func_convert_tz class.
      sql/lex.h:
        CONVERT_TZ() now is treated as special function.
      sql/mysql_priv.h:
        Removed function which is no longer used.
      sql/set_var.cc:
        Now my_tz_find() accepts list of pre-opened time zone tables as last argument 
        and no longer needs pointer to current THD.
      sql/set_var.h:
        Exported sys_time_zone, which is now used in sql_yacc.yy for quick finding out if we are
        setting @@time_zone variable.
      sql/sql_base.cc:
        Moved propagation of pointers to open tables from global list to local select lists to
        open_and_lock_tables(), also added implicit usage of time zone tables as condition for
        such propagation.
      sql/sql_lex.cc:
        Added fake_time_zone_tables_list which is used to indicate that time zone tables are
        implicitly used in statement.
        st_select_lex_unit::create_total_list(): if time zone tables are implicitly used in
        statement add them to global tables list.
      sql/sql_lex.h:
        Added LEX::time_zone_tables_used member which is used to indicate that time zone tables 
        are implicitly used in this statement (by pointing to fake_time_zone_table_list) and 
        for holding pointer to those tables after they've been opened.
      sql/sql_parse.cc:
        We should also create global table list if statement uses time zone tables implicitly.
        Added initialization of LEX::time_zone_tables_used to mysql_query_init().
      sql/sql_prepare.cc:
        We should also create global table list if statement uses time zone tables implicitly.
      sql/sql_select.cc:
        Removed functions which are no longer used.
      sql/sql_yacc.yy:
        CONVERT_TZ() and @@time_zone variable are handled in special way since they implicitly 
        use time zone tables.
      sql/tztime.cc:
        Fix for bug #4508 "CONVERT_TZ() function with new time zone as param crashes server".
        If statement uses CONVERT_TZ() function or @@time_zone variable is set then it implicitly
        uses time zone tables. We need to open and lock such tables with all other tables of 
        such statement.
        
        All code responsible for opening table was removed from tz_load_from_db() and function was 
        renamed to tz_load_from_open_tables() (which uses list of pre-opened tables).
        We also have new functions for construction and initialization of table list of time
        zone tables.
        my_tz_find() now always require list of pre-opened time zone tables and no longer needs
        current THD. So we have to pre-open them in my_tz_init().
        Also now we try to open time zone tables only if they were found during startup.
      sql/tztime.h:
        New function for construction of table list of time zone tables my_tz_get_table_list().
        Now my_tz_find() requires list of pre-pened time zone tables instead of current thread.
      68d7b266
  7. 21 Jul, 2004 1 commit
  8. 10 Jun, 2004 1 commit
  9. 09 Jun, 2004 1 commit
    • unknown's avatar
      do not unlock tables early if we have subquery in HAVING clause (BUG#3984) · 07b5fdbc
      unknown authored
      mysql-test/r/subselect_innodb.result:
        test of unlocking innodb tables and subquery in HAVING clause
      mysql-test/t/subselect_innodb.test:
        test of unlocking innodb tables and subquery in HAVING clause
      sql/item_subselect.cc:
        mark SELECT with subquery in HAVING clause
      sql/sql_lex.cc:
        mark SELECT with subquery in HAVING clause
      sql/sql_lex.h:
        mark SELECT with subquery in HAVING clause
      sql/sql_select.cc:
        do not unlock tables early if we have subquery in HAVING clause
      07b5fdbc
  10. 24 May, 2004 1 commit
    • unknown's avatar
      Fix for bug which caused temp_table.test fail on Darwin 7.3 · 0bf85cfd
      unknown authored
      The code in mysql_create_table() code assumes that if lower_case_names==2 then table alias 
      should contain unchanged table name, and this was not true for temporary tables which
      had 'tmp-table' constant as alias. Now we are using table name as alias for such tables.
      
      
      sql/sql_lex.cc:
        Removed tmp_table_alias constant which is no longer used.
      sql/sql_lex.h:
        Removed tmp_table_alias constant which is no longer used.
      sql/sql_yacc.yy:
        Let us use table name instead of 'tmp-table' as alias for table being created by 
        CREATE TEMPORARY TABLE statement. This fixes failing temp_table.test on Darwin 7.3 
        since mysql_create_table() code assumes that if lower_case_names==2 then table alias 
        should contain unchanged table name (and now this assumtion is true but it were false
        for temporary tables before...).
      0bf85cfd
  11. 07 May, 2004 1 commit
    • unknown's avatar
      keep old engine & JOIN if we changed subquery Item (Bug #3646) · e54ca13b
      unknown authored
      mysql-test/r/subselect.result:
        ALL/ANY test
      mysql-test/t/subselect.test:
        ALL/ANY test
      sql/item_subselect.cc:
        keep old engine & JOIN if we changed subquery Item, which allow avoid second all SELECT items fix_fields call with pervios clean up (because of second setup_tables which remove table->key_use and maybe something else)
        keep list when we change Item in SELECT list
        processing inserted max/min function (now JOIN::prepare will be called only once)
        methods of changing item for subselect engines
      sql/item_subselect.h:
        change item & results procedure
      sql/item_sum.cc:
        Item_sum_hybrid::clear moved to .cc file (to keep .h clean and to make inserving/removing debug info easy)
      sql/item_sum.h:
        Item_sum_hybrid::clear moved to .cc file (to keep .h clean and to make inserving/removing debug info easy)
      sql/sql_lex.cc:
        note about new method
      sql/sql_lex.h:
        method for changing result of UNION JOINs
      sql/sql_select.cc:
        method for changing result in JOIN
      sql/sql_select.h:
        method for changing result in JOIN
      sql/sql_union.cc:
        method for changing result in JOIN
      e54ca13b
  12. 06 May, 2004 1 commit
    • unknown's avatar
      EXPLAIN UNION using same routing which used for execution which allow return... · 1a4f499c
      unknown authored
      EXPLAIN UNION using same routing which used for execution which allow return correct bug messages (Bug #3639)
      EXPLAIN of hidden SELECT of UNION
      
      
      mysql-test/r/derived.result:
        explain of hidden select
      mysql-test/r/subselect.result:
        explain of hidden select
      mysql-test/r/union.result:
        explain of hidden select
        correct error messages on explain
      mysql-test/t/subselect.test:
        show eliminated costants in WHERE clause
      mysql-test/t/union.test:
        correct error messages on EXPLAIN with union
      sql/item.cc:
        fixed name constructing for global ORDER BY items
      sql/sql_class.h:
        select ID can be negative (for hidden SELECTs)
        removed unused field
      sql/sql_lex.cc:
        new flag of UNION EXPLAIN
      sql/sql_lex.h:
        new flag of UNION EXPLAIN
        select ID can be negative (for hidden SELECTs)
      sql/sql_select.cc:
        EXPLAIN UNION using same routing which used for execution
        explain for hidden SELECT of UNION
      sql/sql_union.cc:
        EXPLAIN UNION using same routing which used for execution
      1a4f499c
  13. 05 May, 2004 2 commits
    • unknown's avatar
      caching of queries with isammerge tables forbiden using general way · f6428e8b
      unknown authored
      SQL_SELECT_LIMIT as default will be applied only for SELECT statement if there was not explicit LIMIT clause
      correct table list passed to class constructor of select_update
      
      
      mysql-test/r/subselect.result:
        do not show limit if it is not explicit
      mysql-test/r/union.result:
        test of LIMIT + ORDER
      mysql-test/t/union.test:
        test of LIMIT + ORDER
      sql/ha_isammrg.h:
        caching of queries with isammerge tables forbiden
      sql/sql_cache.cc:
        removed check on isammerge
      sql/sql_lex.cc:
        tag of explicit limit in statement
      sql/sql_lex.h:
        tag of explicit limit in statement
      sql/sql_parse.cc:
        blanks in empty line removed
        no limit by default (SQL_SELECT_LIMIT as default will be applied only for SELECT statement if there was not explicit LIMIT clause)
      sql/sql_union.cc:
        reverted incorrect patch
      sql/sql_update.cc:
        reverted incorrect patch
        correct table list passed to class constructor
      sql/sql_yacc.yy:
        explicit LIMIT marked
      f6428e8b
    • unknown's avatar
      Windows fixes for VC++ compiler compability · bddee0c1
      unknown authored
      myisam/myisam_ftdump.c:
        VC++ compiler compability fix
      mysys/my_getsystime.c:
        Applied Sergei's code for Windows (still subject to changes by him)
      sql/handler.cc:
        VC++ compiler compability fix
      sql/item_geofunc.cc:
        Removed non-used variable
      sql/item_strfunc.cc:
        VC++ compiler compability fix
      sql/opt_range.cc:
        VC++ compiler compability fix
      sql/sql_insert.cc:
        VC++ compiler compability fix
      sql/sql_lex.cc:
        VC++ compiler compability fix
      sql/sql_parse.cc:
        VC++ compiler compability fix
      sql/sql_prepare.cc:
        VC++ compiler compability fix
      sql/sql_union.cc:
        Removed non-used variable and VC++ compiler compability fix
      bddee0c1
  14. 27 Apr, 2004 1 commit
  15. 26 Apr, 2004 1 commit
  16. 15 Apr, 2004 1 commit
    • unknown's avatar
      Formatting changes requested by Monty · 43dcf48e
      unknown authored
      sql/gen_lex_hash.cc:
        Minor changes 
         - fix space between for and (
      sql/item_subselect.cc:
        Minor changes 
         - fix space between for and (
      sql/sql_lex.cc:
        Minor changes 
         - fix space between for and (
      sql/sql_string.cc:
        Minor changes 
         - fix space between for and (
      43dcf48e
  17. 12 Apr, 2004 1 commit
    • unknown's avatar
      Added missing return statement · 0ba6cb48
      unknown authored
      sql/sql_delete.cc:
        Added missing return
      sql/sql_lex.cc:
        Comment fixes
      sql/sql_parse.cc:
        Comment fixes
      0ba6cb48
  18. 09 Apr, 2004 1 commit
    • unknown's avatar
      after review PS fixes · 8ab58393
      unknown authored
      sql/item_cmpfunc.cc:
        merged in one if
      sql/mysql_priv.h:
        removed unused paremeter of check_one_table_access
        declaration of new function for SP share code
      sql/set_var.cc:
        function descriotion added
        unneeded parantses removed
      sql/sql_acl.cc:
        new parameter to limit number of checked tables for check_grant
      sql/sql_acl.h:
        new parameter to limit number of checked tables for check_grant
      sql/sql_delete.cc:
        preparation moved in separate function
      sql/sql_insert.cc:
        preparation moved in separate function
      sql/sql_lex.cc:
        comment style fixed
        unneeded assignment removed
      sql/sql_parse.cc:
        new parameter to limit number of checked tables for check_grant
        table list manipulation removed (because of above)
        new precheck function
      sql/sql_prepare.cc:
        function rewrited to shere code with sql_prepare.cc
        flow control fixed
      sql/sql_show.cc:
        new parameter to limit number of checked tables for check_grant
      sql/sql_update.cc:
        preparation moved in separate function
      sql/table.h:
        flag renamed
      8ab58393
  19. 07 Apr, 2004 1 commit
    • unknown's avatar
      new error for unsupported command in PS · c9d856c8
      unknown authored
      fixed IN subselect with basic constant left expression
      SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
      fixed multiupdate privelege check (BUG#3408)
      fixed multiupdate tables check (BUG#3411)
      unchecked commands now is rejected by PS protocol to avoid serever crash
      fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)
      
      
      include/mysqld_error.h:
        new error for unsupported command in PS
      mysql-test/r/multi_update.result:
        test sutes (BUG#3408, BUG#3411)
      mysql-test/t/multi_update.test:
        test sutes (BUG#3408, BUG#3411)
      sql/item_cmpfunc.cc:
        fixed IN subselect with basic constant left expression
      sql/mysql_priv.h:
        some function frop sql_parse.h become public
      sql/set_var.cc:
        check for SET command via PS
      sql/set_var.h:
        check for SET command via PS
      sql/share/czech/errmsg.txt:
        new error for unsupported command in PS
      sql/share/danish/errmsg.txt:
        new error for unsupported command in PS
      sql/share/dutch/errmsg.txt:
        new error for unsupported command in PS
      sql/share/english/errmsg.txt:
        new error for unsupported command in PS
      sql/share/estonian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/french/errmsg.txt:
        new error for unsupported command in PS
      sql/share/german/errmsg.txt:
        new error for unsupported command in PS
      sql/share/greek/errmsg.txt:
        new error for unsupported command in PS
      sql/share/hungarian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/italian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/japanese/errmsg.txt:
        new error for unsupported command in PS
      sql/share/korean/errmsg.txt:
        new error for unsupported command in PS
      sql/share/norwegian-ny/errmsg.txt:
        new error for unsupported command in PS
      sql/share/norwegian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/polish/errmsg.txt:
        new error for unsupported command in PS
      sql/share/portuguese/errmsg.txt:
        new error for unsupported command in PS
      sql/share/romanian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/russian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/serbian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/slovak/errmsg.txt:
        new error for unsupported command in PS
      sql/share/spanish/errmsg.txt:
        new error for unsupported command in PS
      sql/share/swedish/errmsg.txt:
        new error for unsupported command in PS
      sql/share/ukrainian/errmsg.txt:
        new error for unsupported command in PS
      sql/sql_lex.cc:
        first table unlincking procedures for CREATE command
      sql/sql_lex.h:
        first table unlincking procedures for CREATE command
      sql/sql_parse.cc:
        used function to exclude first table from list
        SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
        fixed multiupdate privelege check (BUG#3408)
        fixed multiupdate tables check (BUG#3411)
      sql/sql_prepare.cc:
        fixed a lot of commands to be compatible with PS
        unchecked commands now is rejected to avoid serever crash
      sql/sql_select.cc:
        allow empty result for PS preparing
      sql/sql_union.cc:
        fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)
      sql/sql_update.cc:
        fixed update to use correct tables lists (BUG#3408)
      sql/table.h:
        flag to support multi update tables check (BUG#3408)
      tests/client_test.c:
        removed unsupported tables
        fixed show table test
        added new tests
      c9d856c8
  20. 05 Apr, 2004 1 commit
    • unknown's avatar
      Fixed many compiler warnings · 7873b89f
      unknown authored
      Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
      Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
      Set locked_in_memory properly
      
      
      include/mysql_com.h:
        Fixed compiler warning
      libmysqld/emb_qcache.cc:
        Removed not used variable
      libmysqld/lib_sql.cc:
        Removed not used variable
      myisam/mi_locking.c:
        Added comment
      myisam/mi_rnext.c:
        Fixed bug in concurrent insert
      myisam/mi_rprev.c:
        Simple optimization
      mysql-test/r/func_gconcat.result:
        New tests
      mysql-test/t/func_gconcat.test:
        New tests
      mysql-test/t/func_group.test:
        Cleanup
      sql-common/client.c:
        Removed compiler warning
      sql/derror.cc:
        Better comments
      sql/field.cc:
        Removed not used function/variable
      sql/field.h:
        Removed not needed variable
      sql/ha_innodb.cc:
        Removed not used function
      sql/item.cc:
        Fixed compiler warning
      sql/item_cmpfunc.cc:
        Fixed compiler warning
      sql/item_func.cc:
        Fixed compiler warning
      sql/item_geofunc.cc:
        Fixed compiler warning
      sql/item_sum.cc:
        Fixed bugs in group_concat and added more comments
        (Bugs #2695, #3381 and #3319)
        - field->abs_offset was not needed
        - Wrong assumption of field order in temporary table
        - Some not used variables removed
        - Added ORDER BY fields after argument fields so that code in sql_select.cc can move all fields to point to temporary tables, if needed.
        - Optimized loops
      sql/item_sum.h:
        Bug fixing and cleanup of group_concat()
      sql/log.cc:
        Removed wrong comment
      sql/log_event.cc:
        Removed compiler warning
      sql/mysqld.cc:
        Set locked_in_memory properly
      sql/protocol.cc:
        Removed compiler warning
      sql/set_var.cc:
        Code cleanup
      sql/slave.cc:
        Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
      sql/sql_cache.cc:
        Removed compiler warnings
      sql/sql_derived.cc:
        Removed not used variable
      sql/sql_insert.cc:
        Removed compiler warnings
      sql/sql_lex.cc:
        Removed not used lable
      sql/sql_lex.h:
        Removed compiler warnings
      sql/sql_parse.cc:
        Removed compiler warnings
      sql/sql_prepare.cc:
        Removed compiler warnings
      sql/sql_select.cc:
        Removed not used variables
        Added function comments
      sql/sql_show.cc:
        Removed compiler warnings
      sql/sql_yacc.yy:
        Fix for ORDER BY handling in GROUP_CONCAT()
      7873b89f
  21. 23 Mar, 2004 2 commits
  22. 15 Mar, 2004 1 commit
  23. 16 Feb, 2004 2 commits
    • unknown's avatar
      Changed wellformedlen to well_formed_len · 709356d4
      unknown authored
      Fixed that blobs >16M can be inserted/updated
      Fixed bug when doing CREATE TEMPORARY TABLE ... LIKE
      
      
      include/m_ctype.h:
        Changed wellformedlen to well_formed_len
      include/mysql.h:
        Fixed comment
      libmysql/libmysql.c:
        Fixed indentation
      libmysqld/lib_sql.cc:
        Fixed indentation
      mysql-test/r/ctype_utf8.result:
        updated warning numbers
      mysql-test/r/innodb.result:
        Moved test to right place
      mysql-test/r/myisam-blob.result:
        More test for blobs
      mysql-test/r/rpl000002.result:
        Move test to better place
      mysql-test/r/rpl_log.result:
        Move test to better place
      mysql-test/r/union.result:
        Move test to better place
      mysql-test/t/innodb.test:
        Moved test to right place
      mysql-test/t/myisam-blob.test:
        More test of blobs
      mysql-test/t/rpl000002.test:
        Move test to better place
      mysql-test/t/rpl_log.test:
        Move test to better place
      mysql-test/t/union.test:
        Move test to better place
      sql/field.cc:
        Changed wellformedlen to well_formed_len.
        Fixed that blobs >16M can be inserted/updated (new bug)
      sql/field.h:
        Code optimization
      sql/sql_lex.cc:
        Changed short variable names
      sql/sql_show.cc:
        Optimized quote handling
      sql/sql_table.cc:
        Fixed bug when doing CREATE TEMPORARY TABLE ... LIKE
      sql/sql_union.cc:
        Added comment
      strings/ctype-big5.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-bin.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-euc_kr.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-gb2312.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-gbk.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-latin1.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-mb.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-simple.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-sjis.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-tis620.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-ucs2.c:
        Changed wellformedlen to well_formed_len
        Indentation changes
      strings/ctype-ujis.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-utf8.c:
        Changed wellformedlen to well_formed_len
      709356d4
    • unknown's avatar
      ulternative bugfix for BUG#2508 and fix for BUG#2809 - every table has its own TABLE structure · 54d93c41
      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
      54d93c41
  24. 13 Feb, 2004 1 commit
    • unknown's avatar
      a little optimization in yylex · f05d5c84
      unknown authored
      (case MY_LEX_USER_VARIABLE_DELIMITER for multichar strings)
      and my_mbcharlen
      
      
      include/m_ctype.h:
        a trivial optimization of my_mbcharlen (case !USE_MB)
      sql/sql_lex.cc:
        a little optimization in yylex 
        (case MY_LEX_USER_VARIABLE_DELIMITER for multichar strings)
      f05d5c84
  25. 12 Feb, 2004 2 commits
    • unknown's avatar
      Bug#2703 · 1e8dcbe0
      unknown authored
      "MySQL server does not detect if garbage chara at the end of query"
      
      Allow the parser to see the garbage characters.
      Garbage should cause the parser to report an error.
      
      
      sql/sql_lex.cc:
        Return END_OF_INPUT when at the end of the input buffer.
        Allows the parser to determine if there is junk after a \0 character.
      sql/sql_parse.cc:
        Undo 1.314.1.1 04/02/11 12:32:42 guilhem@mysql.com
      sql/sql_prepare.cc:
        Undo 1.73 04/02/11 12:32:42 guilhem@mysql.com
      1e8dcbe0
    • 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
  26. 10 Feb, 2004 2 commits
  27. 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
  28. 06 Feb, 2004 2 commits
    • unknown's avatar
      fixed bug #2592 mysqldump doesn't quote "tricky" names correctly · a54adfc3
      unknown authored
      mysql-test/r/mysqldump.result:
        added test for 
        bug #2592 mysqldump doesn't quote "tricky" names correctly
        please note, output's still looking wrong because of bug #2593
        it will be fixed when fix for bug #2593 will be pushed
      mysql-test/t/mysqldump.test:
        added test for bug 
        #2592 mysqldump doesn't quote "tricky" names correctly
      sql/sql_lex.cc:
        fixed processing of multibyte quoted variables
      a54adfc3
    • unknown's avatar
      1. fixed bug @2593 "SHOW CREATE TABLE doesn't properly double quotes" · dfbaa161
      unknown authored
      2. added automatic quotation of keywords in SHOW CREATE TABLE
      
      
      mysql-test/r/show_check.result:
        added tests for 
        bug #2593 "SHOW CREATE TABLE doesn't properly double quotas"
        and for automatic quotation of keywords
      mysql-test/t/show_check.test:
        added tests for 
        bug #2593 "SHOW CREATE TABLE doesn't properly double quotas"
        and for automatic quotation of keywords
      sql/mysql_priv.h:
        added declaration of function is_keyword
      sql/sql_lex.cc:
        added implementation of function is_keyword
      sql/sql_show.cc:
        changed function append_identifier and it's subfunctions
        1. fixed bug @2593 "SHOW CREATE TABLE doesn't properly double quotes"
        2. added automatic quotation of keywords
      dfbaa161
  29. 04 Feb, 2004 1 commit
    • unknown's avatar
      correct assignment of default limit (BUG#2600) · fc248069
      unknown authored
      mysql-test/r/subselect.result:
        test of global limit and subqueries
      mysql-test/t/subselect.test:
        test of global limit and subqueries
      sql/sql_lex.cc:
        correct detection of non-default limits
      sql/sql_parse.cc:
        correct assignment of default limit
      sql/sql_yacc.yy:
        correct assignment of default limit
      fc248069
  30. 01 Feb, 2004 1 commit
    • unknown's avatar
      now all tables of query are locked in one place (including derived tables) · 68c0a299
      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
      68c0a299
  31. 29 Jan, 2004 1 commit
  32. 21 Jan, 2004 1 commit
    • unknown's avatar
      yet another cleanup()-related fix · b5567d15
      unknown authored
      sql/sql_lex.cc:
        We need these to be clean.
        Otherwise restoring of the order_list and group_list could fail
        in mysql_stmt_execute()
      b5567d15
  33. 02 Jan, 2004 1 commit
    • unknown's avatar
      removed droping field->query_id for reinitialization tables for subquery. · b21d8b0e
      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()
      b21d8b0e
  34. 19 Dec, 2003 1 commit
    • unknown's avatar
      THD::lex now points to THD::main_lex like in 5.0 · 8d987f9e
      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
      8d987f9e