1. 17 Jan, 2005 1 commit
    • unknown's avatar
      Bug #7966 query cache doesn't work properly with batch statements · 21321600
      unknown authored
      sql_lex.cc:
        Set query to not cacheable if we are using multistatements and there are multiple statements in this query
      
      
      sql/sql_lex.cc:
        Set query to not cacheable if we are using multistatements and there are multiple statements in this query
      21321600
  2. 31 Dec, 2004 1 commit
    • unknown's avatar
      Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag · 9ceb74f5
      unknown authored
      This allows use to use INSERT IGNORE ... ON DUPLICATE ...
      
      
      mysql-test/r/drop.result:
        safety fix
      mysql-test/t/drop.test:
        safety fix
      mysql-test/t/multi_update.test:
        ensure we cover all possible errors
      sql/log_event.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/log_event.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/mysql_priv.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_class.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_delete.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_insert.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_lex.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_lex.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_load.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_parse.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_repl.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_repl.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_select.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_table.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_union.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_update.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_yacc.yy:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      9ceb74f5
  3. 13 Dec, 2004 1 commit
    • unknown's avatar
      WL#2274 - INSERT..SELECT..UPDATE · 333389be
      unknown authored
        UPDATE clause conflicts with SELECT for use of item_list field.
        Alter UPDATE clause to use new lex field update_list
        Tests included
      
      
      mysql-test/r/insert_update.result:
        WL#2274
          New tests for INSERT..SELECT..UPDATE
      mysql-test/t/insert_update.test:
        WL#2274
          New tests for INSERT..SELECT..UPDATE
      sql/mysql_priv.h:
        Remove function - insert_select_precheck()
      sql/sql_class.h:
        WL#2274
          New constructor for class select_insert
      sql/sql_insert.cc:
        WL#2274
          Move code into mysql_prepare_insert
          Add checks as param values may be NULL
      sql/sql_lex.cc:
        WL#2274
          initialize lex->update_list
      sql/sql_lex.h:
        WL#2274
          New field in LEX: update_list
      sql/sql_parse.cc:
        WL#2274
          INSERT..UPDATE clause now populates lex->update_list
          Remove redundant function: insert_select_precheck()
      sql/sql_prepare.cc:
        WL#2274
          invoke insert_precheck() instead of insert_select_precheck()
      sql/sql_yacc.yy:
        WL#2274
          Enable INSERT..SELECT..UPDATE syntax
          New rule - insert_update_list, to populate lex->update_list
      333389be
  4. 30 Nov, 2004 1 commit
    • unknown's avatar
      now we create temporary join for all queries with subqueries to make correct... · 1ef933d6
      unknown authored
      now we create temporary join for all queries with subqueries to make correct cleunup of tables and avoid too early unlock (BUG#6841)
      
      
      mysql-test/t/subselect_innodb.test:
        possible early unlock
      sql/sql_lex.cc:
        subqueries presence flag
      sql/sql_lex.h:
        subqueries presence flag
      sql/sql_parse.cc:
        subqueries presence flag
      sql/sql_select.cc:
        removed some too optimistic optimisation, now we create temporary join for all queries with subqueries to make correct cleunup of tables and avoid too early unlock
      1ef933d6
  5. 15 Nov, 2004 1 commit
    • unknown's avatar
      moved procedure list initialization (BUG#6517) · 522d790b
      unknown authored
      mysql-test/r/subselect.result:
        Subselect in non-select command just after connection
      mysql-test/t/subselect.test:
        Subselect in non-select command just after connection
      sql/sql_lex.cc:
        moved procedure initialization
      sql/sql_parse.cc:
        moved procedure initialization
      522d790b
  6. 14 Oct, 2004 1 commit
    • unknown's avatar
      true,false -> TRUE, FALSE · b76f5cd2
      unknown authored
      Simple fixes/optimization of things discovered during review of new pushed code
      
      
      include/my_sys.h:
        Ensure that clear_alloc_root() interacts correctly with alloc_root_inited()
      mysys/hash.c:
        More comments
        Simple optimization (merge identical code)
      mysys/my_bitmap.c:
        Change inline -> static inline
      sql/examples/ha_archive.cc:
        Fixed compiler warning
      sql/ha_ndbcluster.cc:
        true,false -> TRUE, FALSE
        Change if (false) -> #ifdef NOT_USED
      sql/ha_ndbcluster.h:
        true,false -> TRUE, FALSE
      sql/handler.cc:
        More comments
        Remove not needed initializations.
        #ifdef not used code
      sql/item_cmpfunc.h:
        true,false -> TRUE, FALSE
      sql/item_strfunc.cc:
        Move local variables to function beginning
        Remove wrong comments
      sql/log_event.h:
        true,false -> TRUE, FALSE
      sql/sql_base.cc:
        true,false -> TRUE, FALSE
        More comments
      sql/sql_help.cc:
        true,false -> TRUE, FALSE
      sql/sql_lex.cc:
        Simple optimization of new code
      sql/sql_parse.cc:
        true,false -> TRUE, FALSE
      sql/sql_prepare.cc:
        true,false -> TRUE, FALSE
      sql/sql_table.cc:
        true,false -> TRUE, FALSE
      sql/sql_yacc.yy:
        true,false -> TRUE, FALSE
      b76f5cd2
  7. 13 Oct, 2004 1 commit
    • unknown's avatar
      A fix and test case for Bug#5985 ""prepare stmt from "select rand(?)" · e7a0d543
      unknown authored
      crashes server." The fix makes Item_func_rand prepared-statements
      aware plus it fixes the case when RAND is used in prepared
      statements and replication is on (as well as several similar issues).
      Until now we did not reset THD before every execution of a prepared
      statement, so if some execution had set thd->time_zone_used
      or thd->rand_used they would not be reset until next mysql_parse.
      Some of post-review fixes done.
      
      
      mysql-test/r/ps.result:
        A test case for Bug#5985: test results fixed.
      mysql-test/t/ps.test:
        A test case for Bug#5985 "prepare stmt from "select rand(?)" crashes
        server."
      sql/item_func.cc:
        Actual fix for Bug#5985: Item_func_rand rewritten to be 
        prepared statements aware.
      sql/item_func.h:
        Actual fix for Bug#5985: Item_func_rand rewritten to be 
        prepared statements aware.
      sql/mysql_priv.h:
        We need a separate call to reset THD state before every execute of
        a prepared statement. Otherwise things like THD->user_var_events
        are never cleaned up and bloat binary log (as the list of events
        grows from execution to execution).
      sql/sql_class.cc:
        Statement::end_statement -> THD::end_statement()
        (a leftover from some design change which is not to pushed now, but the
        leftover is to be pushed).
      sql/sql_class.h:
        Statement::end_statement -> THD::end_statement()
        (a leftover from some design change which is not to pushed now, but the
        leftover is to be pushed).
      sql/sql_lex.cc:
        Move the part responsible for initializing LEX from mysql_init_query
        to lex_start.
      sql/sql_lex.h:
        All lex-related initialization is now in lex_start.
        Move thd->select_number to lex->select_number to be able to use it
        easily in lex_start.
      sql/sql_parse.cc:
        Split mysql_init_query into two functions: mysql_reset_thd_for_next_query,
        which is used in PS and conventional execution, and lex_start, used only
        when we want to parse something.
        Fix init_connect to use initialized THD.
      sql/sql_prepare.cc:
        Deploy mysql_reset_thd_for_next_query to reset THD state before
        execution of a prepared statement.
        Normally this should have been added to just one place, but
        we have to reset thd before assigning placeholders from variables,
        thus we can't do that in execute_stmt (yuck).
      e7a0d543
  8. 16 Sep, 2004 1 commit
  9. 14 Sep, 2004 1 commit
    • unknown's avatar
      BUG#5318 - failure: 'IGNORE_SPACE' affects numeric values after DEFAULT. · efba2225
      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).
      efba2225
  10. 08 Sep, 2004 1 commit
    • unknown's avatar
      check that table used in multi-update is unique added (BUG#5455) · eebf51f3
      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
      eebf51f3
  11. 24 Aug, 2004 1 commit
    • unknown's avatar
      Fix for Bug#5034 "prepared "select 1 into @arg15", second · dd5022c0
      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
      dd5022c0
  12. 20 Aug, 2004 1 commit
    • unknown's avatar
      Fix for bug#4912 "mysqld crashs in case a statement is executed · 48bb5630
      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 con...
      48bb5630
  13. 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) · 5535bce5
      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
      5535bce5
  14. 10 Aug, 2004 1 commit
    • unknown's avatar
      Fix for bug #4508 "CONVERT_TZ() function with new time zone as param crashes server". · cfa6cf90
      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 CO...
      cfa6cf90
  15. 21 Jul, 2004 1 commit
  16. 10 Jun, 2004 1 commit
  17. 09 Jun, 2004 1 commit
    • unknown's avatar
      do not unlock tables early if we have subquery in HAVING clause (BUG#3984) · d6f19d42
      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
      d6f19d42
  18. 24 May, 2004 1 commit
    • unknown's avatar
      Fix for bug which caused temp_table.test fail on Darwin 7.3 · 786810e6
      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...).
      786810e6
  19. 07 May, 2004 1 commit
    • unknown's avatar
      keep old engine & JOIN if we changed subquery Item (Bug #3646) · e6f09f3b
      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
      e6f09f3b
  20. 06 May, 2004 1 commit
    • unknown's avatar
      EXPLAIN UNION using same routing which used for execution which allow return... · d57010cb
      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
      d57010cb
  21. 05 May, 2004 2 commits
    • unknown's avatar
      caching of queries with isammerge tables forbiden using general way · f2efdcd8
      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
      f2efdcd8
    • unknown's avatar
      Windows fixes for VC++ compiler compability · 2ebb6f23
      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
      2ebb6f23
  22. 27 Apr, 2004 1 commit
  23. 26 Apr, 2004 1 commit
  24. 15 Apr, 2004 1 commit
    • unknown's avatar
      Formatting changes requested by Monty · accc0f73
      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 (
      accc0f73
  25. 12 Apr, 2004 1 commit
    • unknown's avatar
      Added missing return statement · fc67a828
      unknown authored
      sql/sql_delete.cc:
        Added missing return
      sql/sql_lex.cc:
        Comment fixes
      sql/sql_parse.cc:
        Comment fixes
      fc67a828
  26. 09 Apr, 2004 1 commit
    • unknown's avatar
      after review PS fixes · 77330300
      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
      77330300
  27. 07 Apr, 2004 1 commit
    • unknown's avatar
      new error for unsupported command in PS · 9802b134
      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
      9802b134
  28. 05 Apr, 2004 1 commit
    • unknown's avatar
      Fixed many compiler warnings · 3a0254a6
      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 ...
      3a0254a6
  29. 23 Mar, 2004 2 commits
  30. 15 Mar, 2004 1 commit
  31. 16 Feb, 2004 2 commits
    • unknown's avatar
      Changed wellformedlen to well_formed_len · f9976eb1
      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
      f9976eb1
    • 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
  32. 13 Feb, 2004 1 commit
    • unknown's avatar
      a little optimization in yylex · 96e5b12b
      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)
      96e5b12b
  33. 12 Feb, 2004 2 commits
    • unknown's avatar
      Bug#2703 · bef510dd
      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
      bef510dd
    • 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
  34. 10 Feb, 2004 2 commits
  35. 08 Feb, 2004 1 commit
    • unknown's avatar
      fixed subquery with PS (BUG#2462) · d8703464
      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
      d8703464