An error occurred fetching the project authors.
  1. 03 Mar, 2011 1 commit
    • Sergey Petrunya's avatar
      BUG#707925: Wrong result with join_cache_level=6 optimizer_use_mrr = force (incremental, BKA join) · 8ef094fe
      Sergey Petrunya authored
      - The problem was that Mrr_ordered_index_reader's interrupt_read() and resume_read() would 
        save and restore 1) index tuple  2) the rowid (as bytes returned by handler->position()).  Clustered 
        primary key columns were not saved/restored. 
        They are not explicitly present in the index tuple (i.e. table->key_info[secondary_key].key_parts 
        doesn't list them), but they are actually there, in particular 
        table->field[clustered_primary_key_member].part_of_key(secondary_key) == 1. Index condition pushdown
        code [correctly] uses the latter as inidication that pushed index condition can refer to clustered PK
        members. 
      
        The fix was to make interrupt_read()/resume_read() to save/restore clustered primary key members as well,
        so that we get correct values for them when evaluating pushed index condition.
      [3rd attempt: remove the debugging aids, fix comments in testcase]
      8ef094fe
  2. 14 Jan, 2011 1 commit
  3. 13 Jan, 2011 1 commit
  4. 12 Jan, 2011 1 commit
    • Sergey Petrunya's avatar
      BUG#665669: Result differences on query re-execution · ad78c24a
      Sergey Petrunya authored
      - Cause: handler::in_range_check_pushed_down was not reset when a 
        command would call handler->idx_cond_push() without later calling
        handler->index_end().
      - Fix: reset the variable in handler->reset(), too (like we do with other
        Index Condition Pushdown members).
      ad78c24a
  5. 08 Dec, 2010 1 commit
  6. 02 Dec, 2010 2 commits
  7. 15 Sep, 2010 1 commit
  8. 22 Dec, 2009 1 commit
    • Sergey Petrunya's avatar
      MWL#67: MRR backport · da5edf50
      Sergey Petrunya authored
      - Make index condition pushdown be controlled by an @@optimizer_switch flag,
        not by @@engine_condition_pushdown
      - Make MRR buffer size be controlled by @@mrr_buffer_size, not 
        by @@read_rnd_buffer_size
      - Move parts of code to separate files
      - Code cleanup
      - Add --sorted_result to some SELECTs in tests.
      
      da5edf50
  9. 15 Dec, 2009 1 commit
    • Sergey Petrunya's avatar
      Backport into MariaDB-5.2 the following: · 96e092dc
      Sergey Petrunya authored
      WL#2474 "Multi Range Read: Change the default MRR implementation to implement new MRR interface"
      WL#2475 "Batched range read functions for MyISAM/InnoDb"
              "Index condition pushdown for MyISAM/InnoDB"
      Igor's fix from sp1r-igor@olga.mysql.com-20080330055902-07614:
        There could be observed the following problems:
        1. EXPLAIN did not mention pushdown conditions from on expressions in the 
        'extra' column.  As a result if a query had no where conditions pushed 
        down to a table, but had on conditions pushed to this table the 'extra' 
        column in the EXPLAIN for the table missed 'using where'.
        2. Conditions for ref access were not eliminated from on expressions 
        though such conditions were eliminated from the where condition.
      96e092dc