1. 28 May, 2011 1 commit
    • Michael Widenius's avatar
      Merge with 5.1-microseconds · 557f90b8
      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()
      557f90b8
  2. 23 May, 2011 1 commit
    • Michael Widenius's avatar
      Fixed errors found in buildbot · 037065e4
      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)
      037065e4
  3. 22 May, 2011 1 commit
  4. 21 May, 2011 2 commits
  5. 20 May, 2011 9 commits
    • Sergei Golubchik's avatar
      db_low_byte_first is gone · 5ce4dab7
      Sergei Golubchik authored
      5ce4dab7
    • Michael Widenius's avatar
      Changed MariaDB error numbers to start from 1900 to not conflict with MySQL error numbers · aae59311
      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
      aae59311
    • Sergey Petrunya's avatar
    • Sergey Petrunya's avatar
      393ba42f
    • Sergey Petrunya's avatar
      cb76bcb8
    • Sergey Petrunya's avatar
      Merge fix for BUG#784723 · 3186341c
      Sergey Petrunya authored
      3186341c
    • Igor Babaev's avatar
      Merge · ae63f770
      Igor Babaev authored
      ae63f770
    • Igor Babaev's avatar
      Merged the fix for bug 777745 into 5.3. · 46bd5d4d
      Igor Babaev authored
      46bd5d4d
    • Igor Babaev's avatar
      Fixed LP bug #777745. · 66cc6ba4
      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.     
      66cc6ba4
  6. 19 May, 2011 11 commits
    • Vladislav Vaintroub's avatar
      merge · 9d6fb85f
      Vladislav Vaintroub authored
      9d6fb85f
    • Vladislav Vaintroub's avatar
      - Properly terminate options array with all-zero entry. · 6c4c11b0
      Vladislav Vaintroub authored
      - Fix CRLF end of lines, use LF instead
      6c4c11b0
    • Sergey Petrunya's avatar
      BUG#784723: Wrong result with semijoin + nested subqueries in maria-5.3 · 764aadcc
      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)
      764aadcc
    • Sergei Golubchik's avatar
      microseconds in log tables: · 7ffb5249
      Sergei Golubchik authored
        TIMESTAMP -> TIMESTAMP(6)
        TIME -> TIME(6)
      in general_log and slow_log tables.
      
      include/my_sys.h:
        use constants
      7ffb5249
    • Sergei Golubchik's avatar
      post review changes 2 · d0fae754
      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
      d0fae754
    • Sergei Golubchik's avatar
      many changes to my_getsystime.c: · 90b1a385
      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.
      90b1a385
    • Sergei Golubchik's avatar
      post-review changes 1 · 404928b9
      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.
      404928b9
    • Michael Widenius's avatar
      Automatic merge · ec2b0749
      Michael Widenius authored
      ec2b0749
    • Michael Widenius's avatar
      Updated comments as part of code review · ee8d3334
      Michael Widenius authored
      .bzr-mysql/default.conf:
        5.2 -> 5.3
      sql/handler.h:
        Updated comments.
      ee8d3334
    • Michael Widenius's avatar
      Fix based on suggestion by Zardosht Kasheff and Richard Prohaska) for making... · 23dbc2a7
      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
      23dbc2a7
    • unknown's avatar
      PBXT test fix. · bcddddcf
      unknown authored
      bcddddcf
  7. 18 May, 2011 10 commits
    • unknown's avatar
      automatic merge · da94d3b8
      unknown authored
      da94d3b8
    • Michael Widenius's avatar
      Original idea from Zardosht Kasheff to add HA_CLUSTERED_INDEX · 0dbfd00e
      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
      0dbfd00e
    • unknown's avatar
      automerge · 2fec2309
      unknown authored
      2fec2309
    • unknown's avatar
      Rewritten patch of percona - switching query cache on and off, removing comments. · 220c3bb4
      unknown authored
      client/mysqltest.cc:
        Column names.
      mysql-test/r/grant_cache_no_prot.result:
        fix of text.
      mysql-test/r/grant_cache_ps_prot.result:
        Fix of test.
      mysql-test/r/query_cache.result:
        Switching on and off query cache.
      mysql-test/t/query_cache.test:
        Switching on and off query cache.
      mysys/charset.c:
        Fix of parser.
      sql/handler.cc:
        thd added to parameters.
      sql/log_event.cc:
        thd added to parameters.
      sql/log_event_old.cc:
        thd added to parameters.
      sql/mysql_priv.h:
        Fixed functions definitions.
      sql/mysqld.cc:
        Comments stripping.
      sql/set_var.cc:
        Switching on and off query cache.
      sql/set_var.h:
        Switching on and off query cache.
      sql/share/errmsg.txt:
        New errors.
      sql/sql_cache.cc:
        Switching query cache on and off, removing comments.
      sql/sql_cache.h:
        thd added to parameters.
      sql/sql_class.h:
        Comments stripping.
      sql/sql_db.cc:
        thd added to parameters.
      sql/sql_lex.cc:
        lex fixed.
      sql/sql_parse.cc:
        thd added to parameters.
      220c3bb4
    • unknown's avatar
      fb92a2ff
    • unknown's avatar
      automerge · f6c5c36b
      unknown authored
      f6c5c36b
    • unknown's avatar
      automerge · 6848ebb0
      unknown authored
      6848ebb0
    • unknown's avatar
      Fix mysqltest printing of include stack. · 8a747fff
      unknown authored
      The printing of include stack in the error case in mysqltest omitted the
      bottom of the stack (the line number in original test case file), and instead
      printed the top of the stack twice. Fix to print each element on the stack
      once and only once.
      8a747fff
    • Michael Widenius's avatar
      Added HA_ERR_DISK_FULL handler error · 3418a7b7
      Michael Widenius authored
      Original code by Zardosht Kasheff
      
      sql/handler.cc:
        Added HA_ERR_DISK_FULL and ENOSPC (for handler that uses normal errno).
        This sets 'fatal_error' to ensure that the error is logged to err file (which hopefully is on another disk...)
      3418a7b7
    • Vladislav Vaintroub's avatar
      Fix compile warning. · cb8d6e3f
      Vladislav Vaintroub authored
      cb8d6e3f
  8. 17 May, 2011 1 commit
    • Michael Widenius's avatar
      Removed some alias warnings · 4f289957
      Michael Widenius authored
      Fixed alias bug when compiling with gcc 4.2.4 that caused subselect.test to fail
      
      sql/item.cc:
        Removed alias warnings by changing type from char * to const char*
      sql/item.h:
        Removed alias warnings by changing type from char * to const char*
      sql/item_subselect.cc:
        Fixed alias bug when compiling with gcc 4.2.4 that caused subselect.test to fail
      sql/sql_string.h:
        Removed alias warnings by changing type from char * to const char*
      storage/heap/hp_test2.c:
        Removed SAFEMALLOC to get rid of compiler error
        Fixed test case as we can't anymore use heap_rlast() on a HASH key entry.
      4f289957
  9. 16 May, 2011 4 commits