1. 28 May, 2011 2 commits
    • Michael Widenius's avatar
      automatic merge with 5.2 · bf33056e
      Michael Widenius authored
      bf33056e
    • Michael Widenius's avatar
      Merge with 5.1-microseconds · f197991f
      Michael Widenius authored
      A lot of small fixes and new test cases.
      
      client/mysqlbinlog.cc:
        Cast removed
      client/mysqltest.cc:
        Added missing DBUG_RETURN
      include/my_pthread.h:
        set_timespec_time_nsec() now only takes one argument
      mysql-test/t/date_formats.test:
        Remove --disable_ps_protocl as now also ps supports microseconds
      mysys/my_uuid.c:
        Changed to use my_interval_timer() instead of my_getsystime()
      mysys/waiting_threads.c:
        Changed to use my_hrtime()
      sql/field.h:
        Added bool special_const_compare() for fields that may convert values before compare (like year)
      sql/field_conv.cc:
        Added test to get optimal copying of identical temporal values.
      sql/item.cc:
        Return that item_int is equal if it's positive, even if unsigned flag is different.
        Fixed Item_cache_str::save_in_field() to have identical null check as other similar functions
        Added proper NULL check to Item_cache_int::save_in_field()
      sql/item_cmpfunc.cc:
        Don't call convert_constant_item() if there is nothing that is worth converting.
        Simplified test when years should be converted
      sql/item_sum.cc:
        Mark cache values in Item_sum_hybrid as not constants to ensure they are not replaced by other cache values in compare_datetime()
      sql/item_timefunc.cc:
        Changed sec_to_time() to take a my_decimal argument to ensure we don't loose any sub seconds.
        Added Item_temporal_func::get_time() (This simplifies some things)
      sql/mysql_priv.h:
        Added Lazy_string_decimal()
      sql/mysqld.cc:
        Added my_decimal constants max_seconds_for_time_type, time_second_part_factor
      sql/table.cc:
        Changed expr_arena to be of type CONVENTIONAL_EXECUTION to ensure that we don't loose any items that are created by fix_fields()
      sql/tztime.cc:
        TIME_to_gmt_sec() now sets *in_dst_time_gap in case of errors
        This is needed to be able to detect if timestamp is 0
      storage/maria/lockman.c:
        Changed from my_getsystime() to set_timespec_time_nsec()
      storage/maria/ma_loghandler.c:
        Changed from my_getsystime() to my_hrtime()
      storage/maria/ma_recovery.c:
        Changed from my_getsystime() to mmicrosecond_interval_timer()
      storage/maria/unittest/trnman-t.c:
        Changed from my_getsystime() to mmicrosecond_interval_timer()
      storage/xtradb/handler/ha_innodb.cc:
        Added support for new time,datetime and timestamp
      unittest/mysys/thr_template.c:
        my_getsystime() -> my_interval_timer()
      unittest/mysys/waiting_threads-t.c:
        my_getsystime() -> my_interval_timer()
      f197991f
  2. 27 May, 2011 2 commits
  3. 26 May, 2011 6 commits
  4. 25 May, 2011 1 commit
  5. 23 May, 2011 2 commits
    • Hakan Kuecuekyilmaz's avatar
      Enable PBXT to be a transactional engine for sql-bench. · c102ab13
      Hakan Kuecuekyilmaz authored
      HEAP is deprecated in favor of MEMORY.
      c102ab13
    • Michael Widenius's avatar
      Fixed errors found in buildbot · de44b51e
      Michael Widenius authored
      mysql-test/suite/funcs_1/r/innodb_func_view.result:
        Updated results
      mysql-test/suite/funcs_1/r/memory_func_view.result:
        Updated results
      mysql-test/suite/funcs_1/r/myisam_func_view.result:
        Updated results
      mysql-test/suite/pbxt/r/func_str.result:
        Updated error numbers
      mysql-test/suite/pbxt/r/type_newdecimal.result:
        Updated error numbers
      mysql-test/valgrind.supp:
        Added suppression for warning on Work (OpenSuse 11.3 64 bit)
      de44b51e
  6. 22 May, 2011 1 commit
  7. 21 May, 2011 2 commits
  8. 20 May, 2011 10 commits
    • Sergei Golubchik's avatar
      db_low_byte_first is gone · 7c459960
      Sergei Golubchik authored
      7c459960
    • Michael Widenius's avatar
      Changed MariaDB error numbers to start from 1900 to not conflict with MySQL error numbers · f610296d
      Michael Widenius authored
      
      extra/comp_err.c:
        Allow one to have multiple start-error-numbers in the same error.txt file.
        Generate 'empty' error strings for the missing error numbers in the errmsg.sys file
      mysql-test/r/bigint.result:
        Update results to use new error numbers
      mysql-test/r/dyncol.result:
        Update results to use new error numbers
      mysql-test/r/func_math.result:
        Update results to use new error numbers
      mysql-test/r/func_str.result:
        Update results to use new error numbers
      mysql-test/r/plugin.result:
        Update results to use new error numbers
      mysql-test/r/table_options.result:
        Update results to use new error numbers
      mysql-test/r/type_newdecimal.result:
        Update results to use new error numbers
      mysql-test/r/warnings.result:
        Update results to use new error numbers
      mysql-test/suite/vcol/r/vcol_ins_upd_innodb.result:
        Update results to use new error numbers
      mysql-test/suite/vcol/r/vcol_ins_upd_myisam.result:
        Update results to use new error numbers
      mysql-test/suite/vcol/r/vcol_misc.result:
        Update results to use new error numbers
      sql/derror.cc:
        Ensure we don't read a errmsg.sys with a missing required error message;  This change was needed as errmsg.sys may now contain empty error messages between the MySQL and MariaDB error messages.
        If error message file didn't exist and we have not read one in the past, don't continue.
        Give better error message if the errmsg.sys header has changed.
      sql/share/errmsg.txt:
        Create new section, starting from 1900, for MariaDB error messages
      f610296d
    • Sergey Petrunya's avatar
    • Sergey Petrunya's avatar
      e3cfbb39
    • Michael Widenius's avatar
      Ensure we don't read a MariaDB 5.3 errmsg.sys file or new errmsg.sys file with... · c9a0d733
      Michael Widenius authored
      Ensure we don't read a MariaDB 5.3 errmsg.sys file or new errmsg.sys file with holes for not used error messages
      
      sql/derror.cc:
        Ensure we don't read a MariaDB 5.3 errmsg.sys file with moved error messages or a new errmsg.sys file with holes for not used error messages
        If error message file didn't exist and we have not read one in the past, don't continue.
        Give better error message if the errmsg.sys header has changed.
      c9a0d733
    • Sergey Petrunya's avatar
      4d7c06b3
    • Sergey Petrunya's avatar
      Merge fix for BUG#784723 · 23cfe126
      Sergey Petrunya authored
      23cfe126
    • Igor Babaev's avatar
      Merge · 3d34cada
      Igor Babaev authored
      3d34cada
    • Igor Babaev's avatar
      Merged the fix for bug 777745 into 5.3. · 8e33aa9a
      Igor Babaev authored
      8e33aa9a
    • Igor Babaev's avatar
      Fixed LP bug #777745. · 016a09cb
      Igor Babaev authored
      Fields belonging to views in general cannot be substituted for 
      equal items, in particular for constants, because all references
      to a view field refer to the same Item_field object while they 
      could be used in different OR parts of the where condition and
      belong to different equivalence classes (to different Item_equals).
      That's why substitution for equal items in any context is allowed
      only in place of Item_direct_view_ref objects, but not in place of
      Item_fields these objects refer to.
      Due to some erroneous code in the patch for bug 717577 substitution
      for view fields were allowed in some context.This could lead
      to wrong results returned by queries using views.
      
      The fix prohibits substitution of view fields for equal items 
      in any context.
      
      The patch also changes slightly the compile method for the Item_func
      class. Now if the analyze method returns NULL in his parameter the
      compile method is not called for the arguments of the function
      at all. A similar change was made for the Item_ref class.     
      016a09cb
  9. 19 May, 2011 12 commits
    • Vladislav Vaintroub's avatar
      merge · 2c62cf25
      Vladislav Vaintroub authored
      2c62cf25
    • Vladislav Vaintroub's avatar
      merge · d7fb598c
      Vladislav Vaintroub authored
      d7fb598c
    • Vladislav Vaintroub's avatar
      - Properly terminate options array with all-zero entry. · f4ae8b76
      Vladislav Vaintroub authored
      - Fix CRLF end of lines, use LF instead
      f4ae8b76
    • Sergey Petrunya's avatar
      BUG#784723: Wrong result with semijoin + nested subqueries in maria-5.3 · d1138283
      Sergey Petrunya authored
      - in advance_sj_state(), remember join->cur_dups_producing_tables in 
        pos->prefix_dups_producing_tables *before* we modify it, so that 
        restore_prev_sj_state() restores cur_dups_producing_tables in all cases.
      - Updated test results in subselect_sj2[_jcl6].result (the original EXPLAIN
        was invalid there)
      d1138283
    • Sergei Golubchik's avatar
      microseconds in log tables: · 8767540a
      Sergei Golubchik authored
        TIMESTAMP -> TIMESTAMP(6)
        TIME -> TIME(6)
      in general_log and slow_log tables.
      
      include/my_sys.h:
        use constants
      8767540a
    • Sergei Golubchik's avatar
      post review changes 2 · f06cac33
      Sergei Golubchik authored
      sql/event_parse_data.cc:
        don't use "not_used" variable
      sql/item_timefunc.cc:
        Item_temporal_func::fix_length_and_dec()
        and other changes
      sql/item_timefunc.h:
        introducing Item_timefunc::fix_length_and_dec()
      sql/share/errmsg.txt:
        don't say "column X" in the error message that used not only for columns
      f06cac33
    • Sergei Golubchik's avatar
      many changes to my_getsystime.c: · 03b33425
      Sergei Golubchik authored
      * my_getsystime() is only an interval timer. Its value can beused for calculating
        time intervals.
      * renamed my_getsystime() to my_interval_timer(), to make the semantics
        clearer and let the compiler catch wrong usages of my_getsystime()
        (also future ones, that may come in merges).
      * increased its granularity from 100ns to 1ns, old value was for UUID,
        but as UUID can no longer use it directly there is no need to downgrade
        the OS provided value
      * fixed the UUID code to anchor the my_interval_timer() on the epoch, as
        required by the UUID standard. That is, this was only needed by UUID,
        and now I've moved it to UUID code from my_getsystime().
      * fixed other wrong usages of my_getsystime() - e.g. in calculating
        times for pthread_cond_timedwait. It was buggy and could've caused
        long waits if OS clock would be changed.
      03b33425
    • Sergei Golubchik's avatar
      post-review changes 1 · 8ddcd0cd
      Sergei Golubchik authored
      include/my_time.h:
        remove duplicate defines.
        cast to ulonglong to avoid overflow
      sql/field.cc:
        perform sign extension when reading packed TIME values
      sql/item_cmpfunc.cc:
        when converting a string to a date for the purpose of comparing it with another date,
        we should ignore strict sql mode.
      sql/item_timefunc.cc:
        better error message
      sql/item_timefunc.h:
        limit decimals appropriately
      sql/share/errmsg.txt:
        don't refer to an object as a "column" in error messages that are used not only for columns.
      8ddcd0cd
    • Michael Widenius's avatar
      Automatic merge · 54a3d186
      Michael Widenius authored
      54a3d186
    • Michael Widenius's avatar
      Updated comments as part of code review · 29b751c7
      Michael Widenius authored
      .bzr-mysql/default.conf:
        5.2 -> 5.3
      sql/handler.h:
        Updated comments.
      29b751c7
    • Michael Widenius's avatar
      Fix based on suggestion by Zardosht Kasheff and Richard Prohaska) for making... · 4e968b1e
      Michael Widenius authored
      Fix based on suggestion by Zardosht Kasheff and Richard Prohaska) for making all clustered indexes equal in test_if_skip_sort_order()
      
      
      sql/sql_select.cc:
        - Threat all clustered indexes equal in test_if_skip_sort_order().
          This is a temporary fix as the current code doesn't do proper cost analyizes for which index to use.
          I will address this later as the change required is not trivial.
        - Fixed a bug where select_limit was changed in the loop, which made different indexes see diferent values of select_limit
      4e968b1e
    • unknown's avatar
      PBXT test fix. · 73f4d0c6
      unknown authored
      73f4d0c6
  10. 18 May, 2011 2 commits
    • unknown's avatar
      automatic merge · 9036233c
      unknown authored
      9036233c
    • Michael Widenius's avatar
      Original idea from Zardosht Kasheff to add HA_CLUSTERED_INDEX · 36311464
      Michael Widenius authored
      - Added a lot of code comments
      - Updated get_best_ror_intersec() to prefer index scan on not clustered keys before clustered keys.
      - Use HA_CLUSTERED_INDEX to define if one should use HA_MRR_INDEX_ONLY
      - For test of using index or filesort to resolve ORDER BY, use HA_CLUSTERED_INDEX flag instead of primary_key_is_clustered()
      - Use HA_TABLE_SCAN_ON_INDEX instead of primary_key_is_clustered() to decide if ALTER TABLE ... ORDER BY will have any effect.
      
      sql/ha_partition.h:
        Added comment with warning for code unsafe to use with multiple storage engines at the same time
      sql/handler.h:
        Added HA_CLUSTERED_INDEX.
        Documented primary_key_is_clustered()
      sql/opt_range.cc:
        Added code comments
        Updated get_best_ror_intersec() to ignore clustered keys.
        Optimized away cpk_scan_used and one instance of current_thd (Simpler code)
        Use HA_CLUSTERED_INDEX to define if one should use HA_MRR_INDEX_ONLY
      sql/sql_select.cc:
        Changed comment to #ifdef
        For test of using index or filesort to resolve ORDER BY, use HA_CLUSTERED_INDEX flag instead of primary_key_is_clustered()
        (Change is smaller than what it looks beause of indentation change)
      sql/sql_table.cc:
        Use HA_TABLE_SCAN_ON_INDEX instead of primary_key_is_clustered() to decide if ALTER TABLE ... ORDER BY will have any effect.
      storage/innobase/handler/ha_innodb.h:
        Added support for HA_CLUSTERED_INDEX
      storage/innodb_plugin/handler/ha_innodb.cc:
        Added support for HA_CLUSTERED_INDEX
      storage/xtradb/handler/ha_innodb.cc:
        Added support for HA_CLUSTERED_INDEX
      36311464