1. 13 Nov, 2006 5 commits
    • unknown's avatar
      several fixes to make tests pass in embedded-server mode · e250fa84
      unknown authored
      
      libmysqld/lib_sql.cc:
        check for bootstrap added
      mysql-test/include/federated.inc:
        disabled in embedded
      mysql-test/mysql-test-run.pl:
        we disable ssh in embedded server
      mysql-test/r/bdb.result:
        part moved to bdb_notembedded as it uses binlog
      mysql-test/r/flush_block_commit.result:
        part moved to flush_block_commit_notembedded
      mysql-test/r/insert.result:
        part moved to insert_notembedded as delayed works differently in embedded server
      mysql-test/r/insert_select.result:
        part moved to insert_notembedded as GRANTS usually disabled in embedded server
      mysql-test/r/join.result:
        access rights hidden in result
      mysql-test/t/backup.test:
        now available in embedded server
      mysql-test/t/bdb.test:
        part moved to bdb_notembedded as it uses binlog
      mysql-test/t/delayed.test:
        code trimmed
      mysql-test/t/execution_constants.test:
        skipped in embedded-server mode
      mysql-test/t/flush_block_commit.test:
        moved to flush_block_commit_notembedded
      mysql-test/t/information_schema_db.test:
        skipped in embedded-server
      mysql-test/t/innodb.test:
        directories replaced to be embedded-server compliant
      mysql-test/t/insert.test:
        part moved to insert_notembedded
      mysql-test/t/insert_select.test:
        part moved to insert_notembedded
      mysql-test/t/join.test:
        access rights hidden
      mysql-test/t/status.test:
        skipped in embedded server
      mysql-test/t/trigger.test:
        directories replaced to be embedded-server compliant
      sql/item_strfunc.cc:
        extra contexts not needed whan access checks disabled
      sql/share/errmsg.txt:
        bigger paths reserved to prevent test's fails
      mysql-test/r/bdb_notembedded.result:
        ***MISSING WEAVE***
      mysql-test/r/flush_block_commit_notembedded.result:
        added
      mysql-test/r/insert_notembedded.result:
        added
      mysql-test/t/bdb_notembedded.test:
        ***MISSING WEAVE***
      mysql-test/t/flush_block_commit_notembedded.test:
        added
      mysql-test/t/insert_notembedded.test:
        added
      e250fa84
    • unknown's avatar
      Merge mysql.com:/home/hf/work/embt/my41-embt · 50da5dc5
      unknown authored
      into  mysql.com:/home/hf/work/embt/my50-embt
      
      
      mysql-test/t/delayed.test:
        Auto merged
      50da5dc5
    • unknown's avatar
      delayed.test fixed · 4c561e00
      unknown authored
      
      mysql-test/t/delayed.test:
        shouldn't be tested in embedded server
      4c561e00
    • unknown's avatar
      Merge mysql.com:/home/hf/work/embt/my41-embt · 740aaa9f
      unknown authored
      into  mysql.com:/home/hf/work/embt/my50-embt
      
      
      sql/item_func.cc:
        Auto merged
      mysql-test/t/innodb.test:
        merging
      libmysqld/lib_sql.cc:
        SCCS merged
      740aaa9f
    • unknown's avatar
      embedded-mode tests fixed · 3fd44e15
      unknown authored
      
      libmysqld/examples/test-run:
        mysql_embedded should be run here
      libmysqld/lib_sql.cc:
        thd->real_id setup added
        bootstrap check added
      mysql-test/t/innodb.test:
        paths can be different in embedded server - replace_result added
      sql/item_func.cc:
        we should compare real_id-s in embedded server
      3fd44e15
  2. 08 Nov, 2006 3 commits
  3. 07 Nov, 2006 8 commits
    • unknown's avatar
      BUG#24056: Crash in subquery: · 4c554f8c
      unknown authored
      Don't assume that condition that was pushed down into subquery has 
      produced exactly one KEY_FIELD element - it could produce several or
      none at all, handle all of those cases.
      
      4c554f8c
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 82bbba16
      unknown authored
      into  rakia.gmz:/home/kgeorge/mysql/autopush/B11032-5.0-opt
      
      82bbba16
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · fd6271cc
      unknown authored
      into  mysql.com:/home/hf/work/mysql-5.0.clean
      
      fd6271cc
    • unknown's avatar
      bug fixed · 99bf55db
      unknown authored
      
      sql/field.cc:
        datatime length is 19, not 12
      99bf55db
    • unknown's avatar
      Merge macbook.gmz:/Users/kgeorge/mysql/work/B11032-4.1-opt · 96f12139
      unknown authored
      into  macbook.gmz:/Users/kgeorge/mysql/work/B11032-5.0-opt
      
      
      mysql-test/r/subselect.result:
        merge fixes
      mysql-test/t/subselect.test:
        merge fixes
      sql/item_subselect.cc:
        merge fixes
      sql/item_subselect.h:
        merge fixes
      96f12139
    • unknown's avatar
      Bug #11032: getObject() returns a String for a sub-query of type datetime · 7881866a
      unknown authored
       - When returning metadata for scalar subqueries the actual type of the
         column was calculated based on the value type, which limits the actual
         type of a scalar subselect to the set of (currently) 3 basic types : 
         integer, double precision or string. This is the reason that columns
         of types other then the basic ones (e.g. date/time) are reported as
         being of the corresponding basic type.
         Fixed by storing/returning information for the column type in addition
         to the result type.
      
      
      mysql-test/r/subselect.result:
        Bug #11032: getObject() returns a String for a sub-query of type datetime
         - test case
      mysql-test/t/subselect.test:
        Bug #11032: getObject() returns a String for a sub-query of type datetime
         - test case
      sql/item_subselect.cc:
        Bug #11032: getObject() returns a String for a sub-query of type datetime
         - store and return the field type as well in addition to result type for 
           single row subqueries
      sql/item_subselect.h:
        Bug #11032: getObject() returns a String for a sub-query of type datetime
         - store and return the field type as well in addition to result type for 
           single row subqueries
      7881866a
    • unknown's avatar
      item.cc: · 5055c826
      unknown authored
        merge fixes
      
      
      sql/item.cc:
        merge fixes
      5055c826
    • unknown's avatar
      Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-4.1-opt · c2c513be
      unknown authored
      into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
      
      
      sql/item.cc:
        Auto merged
      mysql-test/r/order_by.result:
        SCCS merged
      c2c513be
  4. 06 Nov, 2006 3 commits
  5. 03 Nov, 2006 1 commit
    • unknown's avatar
      Bug #22457: Column alias in ORDER BY works, but not if in an expression · f8ba4f1f
      unknown authored
       The parser is allocating Item_field for references by name in ORDER BY
       expressions. Such expressions however may point not only to Item_field 
       in the select list (or to a table column) but also to an arbitrary Item. 
       This causes Item_field::fix_fields to throw an error about missing 
       column.
       The fix substitutes Item_field for the reference with an Item_ref when 
       not pointing to Item_field.
      
      
      mysql-test/r/order_by.result:
        Bug #22457: Column alias in ORDER BY works, but not if in an expression
         - test case
      mysql-test/t/order_by.test:
        Bug #22457: Column alias in ORDER BY works, but not if in an expression
         - test case
      sql/item.cc:
        Bug #22457: Column alias in ORDER BY works, but not if in an expression
         - transform the Item_field made by the parser into Item_ref if it 
           doesn't point to Item_field and it is in allowed context
      f8ba4f1f
  6. 01 Nov, 2006 4 commits
    • unknown's avatar
      Merge rurik.mysql.com:/home/igor/mysql-5.0-opt · ad57291f
      unknown authored
      into  rurik.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug21727
      
      
      mysql-test/r/subselect.result:
        Auto merged
      mysql-test/t/subselect.test:
        Auto merged
      sql/filesort.cc:
        Auto merged
      sql/item_subselect.h:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/records.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      ad57291f
    • unknown's avatar
      Merge mysql.com:/home/hf/work/19491/my50-19491 · 97a67eb2
      unknown authored
      into  mysql.com:/home/hf/work/mysql-5.0.19491
      
      
      sql/field.cc:
        Auto merged
      sql/field.h:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_timefunc.cc:
        Auto merged
      97a67eb2
    • unknown's avatar
      test result fixed · a6434107
      unknown authored
      a6434107
    • unknown's avatar
      Fixed bug #21727. · 0388991b
      unknown authored
      This is a performance issue for queries with subqueries evaluation
      of which requires filesort.
      Allocation of memory for the sort buffer at each evaluation of a
      subquery may take a significant amount of time if the buffer is rather big.
      With the fix we allocate the buffer at the first evaluation of the
      subquery and reuse it at each subsequent evaluation.
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #21727.
      mysql-test/t/subselect.test:
        Added a test case for bug #21727.
      sql/item_subselect.h:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Added an implementation for Item_subselect::is_uncacheable()
        returning TRUE if the engine if the subselect is uncacheable.
      sql/mysql_priv.h:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Added a new boolean parameter to the filesort_free_buffers procedure.
        If the value of this parameter is TRUE the procedure frees the sort_keys
        buffpek buffers.
      sql/records.cc:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Added a new boolean parameter to the filesort_free_buffers procedure.
        If the value of this parameter is TRUE the procedure frees the sort_keys
        buffpek buffers.
      sql/sql_base.cc:
        Fixed bug #21727.
        Made sure that st_table::pos_in_table_list would be always initialized.
      sql/sql_select.cc:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Added a new boolean parameter to the filesort_free_buffers procedure.
        If the value of this parameter is TRUE the procedure frees the sort_keys
        buffpek buffers.
      sql/sql_show.cc:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Added a new boolean parameter to the filesort_free_buffers procedure.
        If the value of this parameter is TRUE the procedure frees the sort_keys
        buffpek buffers.
      sql/sql_table.cc:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Cleanup.
      sql/table.cc:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Added st_table_list::in_subselect() returning for a table the subselect that 
        contains the FROM list this table is taken from (if there is any).
      sql/table.h:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Added fields for sort_keys and buffpek buffers to the FILESORT_INFO structure.
      0388991b
  7. 31 Oct, 2006 8 commits
    • unknown's avatar
      Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · cfa33200
      unknown authored
      into  mysql.com:/home/psergey/mysql-5.0-bug8804-r4
      
      
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      cfa33200
    • unknown's avatar
      BUG#8804: Incorrect results for NULL IN (SELECT ...): review fixes: · 63f2210f
      unknown authored
      - Better comments
      - Remove redundant and dead code.
      
      63f2210f
    • unknown's avatar
      a75de272
    • unknown's avatar
      BUG#8804: wrong results for NULL IN (SELECT ...) · 9dfc7e78
      unknown authored
      Evaluate "NULL IN (SELECT ...)" in a special way: Disable pushed-down 
      conditions and their "consequences": 
       = Do full table scans instead of unique_[index_subquery] lookups.
       = Change appropriate "ref_or_null" accesses to full table scans in
         subquery's joins.
      Also cache value of NULL IN (SELECT ...) if the SELECT is not correlated 
      wrt any upper select.
      
      
      mysql-test/r/subselect.result:
        BUG#8804: wrong results for NULL IN (SELECT ...): 
         - Updated test results
      sql/item.h:
        BUG#8804: wrong results for NULL IN (SELECT ...): 
         - Added comments
      sql/item_cmpfunc.cc:
        BUG#8804: wrong results for NULL IN (SELECT ...): 
        Made Item_in_optimizer to:
        - cache the value of "NULL IN (uncorrelated select)"
        - Turn off pushed-down predicates when evaluating "NULL IN (SELECT ...)"
      sql/item_cmpfunc.h:
        BUG#8804: wrong results for NULL IN (SELECT ...): 
        - Made Item_in_optimizer cache the value of "NULL IN (uncorrelated select)"
        - Added comments
      sql/item_subselect.cc:
        BUG#8804: wrong results for NULL IN (SELECT ...):
        - When needed, wrap the predicates we push into subquery into an 
          Item_func_trig_cond so we're able to turn them off when evaluating 
          NULL IN (SELECT ...).
        - Added code to evaluate NULL IN (SELECT ...) in a special way:
          = In [unique_]index_subquery, do full table scan to see if there 
            are any rows.
          = For other subqueries, change ref[_or_null] to ALL if the
            ref[_or_null] was created from pushed-down predicate.
      sql/item_subselect.h:
        BUG#8804: wrong results for NULL IN (SELECT ...):
        - Added Item_subselect::is_correlated
        - Added comments
      sql/records.cc:
        BUG#8804: wrong results for NULL IN (SELECT ...):
        - Make rr_sequential() non-static
      sql/sql_lex.cc:
        BUG#8804: wrong results for NULL IN (SELECT ...):
        - Added st_select_lex::is_correlated and Item_subselect::is_correlated.
      sql/sql_lex.h:
        BUG#8804: wrong results for NULL IN (SELECT ...):
        - Added st_select_lex::is_correlated
      sql/sql_select.cc:
        BUG#8804: wrong results for NULL IN (SELECT ...):
        - Added KEY_FIELD::outer_ref to keep track of which ref accesses are 
          created from predicates that were pushed down into the subquery.
      sql/sql_select.h:
        BUG#8804: wrong results for NULL IN (SELECT ...):
        - Added KEYUSE::outer_ref
      mysql-test/r/subselect3.result:
        New BitKeeper file ``mysql-test/r/subselect3.result''
      mysql-test/t/subselect3.test:
        New BitKeeper file ``mysql-test/t/subselect3.test''
      9dfc7e78
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · ba7823b3
      unknown authored
      into  mysql.com:/usersnfs/abotchkov/mysql-5.0-opt1
      
      ba7823b3
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 704d5d60
      unknown authored
      into  rakia.gmz:/home/kgeorge/mysql/autopush/B21809-5.0-opt
      
      
      sql/item.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      704d5d60
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 24e4fed7
      unknown authored
      into  rakia.gmz:/home/kgeorge/mysql/autopush/B23184-5.0-opt
      
      24e4fed7
    • unknown's avatar
      Bug #23184: SELECT causes server crash · 98362d6a
      unknown authored
       Item::val_xxx() may be called by the server several times at execute time 
       for a single query. Calls to val_xxx() may be very expensive and sometimes
       (count(distinct), sum(distinct), avg(distinct)) not possible.
       To avoid that problem the results of calculation for these aggregate 
       functions are cached so that val_xxx() methods just return the calculated 
       value for the second and subsequent calls.
      
      
      mysql-test/r/func_group.result:
        Bug #23184: SELECT causes server crash
         - test case
      mysql-test/t/func_group.test:
        Bug #23184: SELECT causes server crash
         - test case
      sql/item_sum.cc:
        Bug #23184: SELECT causes server crash
         - caching of the aggregate function results so no need to recalculate at val_xxx()
      sql/item_sum.h:
        Bug #23184: SELECT causes server crash
         - caching of the aggregate function results so no need to recalculate at val_xxx()
      98362d6a
  8. 25 Oct, 2006 1 commit
    • unknown's avatar
      bug #19491 (CAST do DATETIME wrong result) · 8361922e
      unknown authored
      
      mysql-test/r/type_datetime.result:
        result fixed
      mysql-test/r/type_newdecimal.result:
        result fixed
      mysql-test/t/type_datetime.test:
        testcase
      mysql-test/t/type_newdecimal.test:
        testcase
      sql/field.cc:
        Field_new_decimal::store_time implemented
      sql/field.h:
        Field_new_decimal::store_time added
      sql/item.cc:
        auxiliary methods implemented to operate with datatimes
      sql/item.h:
        auxiliary methods declared in Item to operate with datatimes
      sql/item_timefunc.cc:
        Item_date::save_in_field old implementation removed
      sql/item_timefunc.h:
        my_decimal and save_in_field methods implemented for datetime items
      sql/my_decimal.cc:
        date2my_decimal implemented
      sql/my_decimal.h:
        date2my_decimal declared
      8361922e
  9. 24 Oct, 2006 7 commits
    • unknown's avatar
      Merge mysql.com:/usersnfs/abotchkov/mysql-4.1-opt · 9ba0678d
      unknown authored
      into  mysql.com:/usersnfs/abotchkov/mysql-4.1-opt1
      
      9ba0678d
    • unknown's avatar
      Merge mysql.com:/usersnfs/abotchkov/mysql-5.0-opt · da5b6702
      unknown authored
      into  mysql.com:/usersnfs/abotchkov/mysql-5.0-opt1
      
      da5b6702
    • unknown's avatar
      Merge abotchkov@production.mysql.com:mysql-5.0-opt1 · 30ff2800
      unknown authored
      into  mysql.com:/home/hf/work/current_stmt/my50-current_stmt
      
      30ff2800
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-4.1-opt · 0117177c
      unknown authored
      into  mysql.com:/home/hf/work/0current_stmt/my41-current_stmt
      
      0117177c
    • unknown's avatar
      Merge mysql.com:/home/hf/work/0current_stmt/my41-current_stmt · 8f4196d3
      unknown authored
      into  mysql.com:/home/hf/work/current_stmt/my50-current_stmt
      
      
      include/mysql.h:
        merging
      libmysqld/lib_sql.cc:
        merging
      sql/sql_class.h:
        merging
      8f4196d3
    • unknown's avatar
      Bug #21809: Error 1356 while selecting from view with grouping though underlying · bf3ff2ea
      unknown authored
                  select OK.
      The SQL parser was using Item::name to transfer user defined function attributes
      to the user defined function (udf). It was not distinguishing between user defined 
      function call arguments and stored procedure call arguments. Setting Item::name 
      was causing Item_ref::print() method to print the argument as quoted identifiers 
      and caused views that reference aggregate functions as udf call arguments (and 
      rely on Item::print() for the text of the view to store) to throw an undefined 
      identifier error.
      Overloaded Item_ref::print to print aggregate functions as such when printing
      the references to aggregate functions taken out of context by split_sum_func2()
      Fixed the parser to properly detect using AS clause in stored procedure arguments
      as an error.
      Fixed printing the arguments of udf call to print properly the udf attribute.
      
      
      mysql-test/r/udf.result:
        Bug #21809: Error 1356 while selecting from view with grouping though underlying
                    select OK.
         - test cases
      mysql-test/t/udf.test:
        Bug #21809: Error 1356 while selecting from view with grouping though underlying
                    select OK.
         - test cases
      sql/item.cc:
        Bug #21809: Error 1356 while selecting from view with grouping though underlying
                    select OK.
         - Don't print the refs to SUM functions as refs.
      sql/item_func.cc:
        Bug #21809: Error 1356 while selecting from view with grouping though underlying
                    select OK.
         - print the aliases in the udf calls
      sql/item_func.h:
        Bug #21809: Error 1356 while selecting from view with grouping though underlying
                    select OK.
         - print the aliases in the udf calls
      sql/sql_lex.cc:
        Bug #21809: Error 1356 while selecting from view with grouping though underlying
                    select OK.
         - disable aliases for arguments in stored routine calls
      sql/sql_lex.h:
        Bug #21809: Error 1356 while selecting from view with grouping though underlying
                    select OK.
         - disable aliases for arguments in stored routine calls
      sql/sql_yacc.yy:
        Bug #21809: Error 1356 while selecting from view with grouping though underlying
                    select OK.
         - disable aliases for arguments in stored routine calls
         - fix bison duplicate symbol warnings
      bf3ff2ea
    • unknown's avatar
      Bug #23427 (incompatible ABI change) · 92224b87
      unknown authored
      the incompatibility was caused by current_stmt member added to the MYSQL
      structure.
      It's possible to move it to THD structure instead which saves ABI
      
      
      include/mysql.h:
        member moved to the THD structure
      libmysqld/lib_sql.cc:
        now we use THD member here
      sql/sql_class.h:
        current_stmt member added for the embedded server
      92224b87