An error occurred fetching the project authors.
  1. 08 Oct, 2007 1 commit
    • marko's avatar
      branches/zip: innodb-index.result: Adapt the results to a patch from MySQL. · a8a47268
      marko authored
      Unfortunately, the patch seems to prevent MySQL from utilizing secondary
      indexes in the ORDER BY clauses.  Thus, the test no longer checks if newly
      created indexes are well-formed.
      
      ChangeSet@1.2528.98.1  2007-08-02 12:45:56-07:00  igor@mysql.com
      
      Fixed bug#28404.
      This patch adds cost estimation for the queries with ORDER BY / GROUP BY
      and LIMIT. 
      If there was a ref/range access to the table whose rows were required
      to be ordered in the result set the optimizer always employed this access
      though a scan by a different index that was compatible with the required 
      order could be cheaper to produce the first L rows of the result set.
      Now for such queries the optimizer makes a choice between the cheapest
      ref/range accesses not compatible with the given order and index scans
      compatible with it.
      a8a47268
  2. 21 Sep, 2007 1 commit
  3. 19 Sep, 2007 2 commits
  4. 17 Sep, 2007 2 commits
  5. 07 Sep, 2007 1 commit
    • marko's avatar
      branches/zip: Decode table names when displaying error messages in · 6b4c37d6
      marko authored
      fast index creation.
      
      innobase_convert_tablename(): New function, to remove the filename
      encoding of a database and table name.
      
      ha_innobase::add_index(): Invoke innobase_convert_tablename() before
      calling my_error().
      
      innodb-index.result: Update the error messages.
      6b4c37d6
  6. 05 Sep, 2007 1 commit
  7. 21 Aug, 2007 1 commit
  8. 20 Aug, 2007 1 commit
  9. 16 Aug, 2007 1 commit
    • marko's avatar
      branches/zip: Fix bugs in the creation or dropping of the clustered index · 1bbbcbfe
      marko authored
      (PRIMARY KEY or UNIQUE INDEX on NOT NULL columns).
      
      innodb-index.test: Remove the --replace_regex directives.  Replace correct
      values to the "Duplicate entry" messages.  This will cause the test to
      fail until we somehow return the duplicate key values to MySQL.
      Add test cases for creating or dropping UNIQUE INDEX or PRIMARY KEY.
      
      innobase_copy_index_def(): Allow the function to copy a clustered index
      definition to a secondary one (UNIQUE INDEX).
      
      innobase_create_key_def(): Check the NOT NULL flag from the correct
      place.  Copy the clustered index if it is a UNIQUE INDEX.
      
      ha_innobase::prepare_drop_index(): Refuse to drop the clustered index.
      1bbbcbfe
  10. 10 Aug, 2007 1 commit
  11. 08 Jun, 2007 1 commit
    • marko's avatar
      branches/zip: Reimplement merge sort in fast index creation. · fd91f7bb
      marko authored
      The creation of the primary key does not work.  We will have to flag
      externally stored columns and copy the externally stored part from
      the old table.
      
      row_build_index_for_mysql(): Rename to row_merge_build_indexes().
      Move from row0mysql.c to row0merge.c.
      
      Remove private declarations from row0merge.h.  Make many functions static
      in row0merge.c.
      
      cmp_rec_rec_simple(): A new comparison function.
      
      dict_index_get_min_size(): New function.
      
      OS_FILE_FROM_FD(fd): A macro for converting from int to os_file_t.
      
      rec_convert_dtuple_to_rec_comp(): Make the interface lower-level.
      
      rec_get_converted_size_comp(): Return also extra_size.
      
      UT_SORT_FUNCTION_BODY(): Remove reference to an obsolete test program.
      
      row_rec_to_index_entry_low(): New function.
      
      row0merge.c: Implement merge sort based on file streams instead of
      fixed-size blocks.  Sort the small blocks as arrays of dfield_t*,
      because it is faster than invoking rec_get_offsets() for every
      comparison.
      fd91f7bb
  12. 07 Jun, 2007 2 commits
    • marko's avatar
    • marko's avatar
      branches/zip: Minor cleanup. · f0c4bdbc
      marko authored
      innobase_create_index_def(): Add parameter new_primary.
      
      innobase_copy_index_def(): Simplify the documented algorithm,
      and try to implement it properly.
      
      innodb-index.test: Replace CHECKSUM TABLE with something more stable and
      useful.  The test passes on an older BitKeeper snapshot:
      
      ChangeSet@1.2475.18.9, 2007-05-08 11:16:41+02:00, jbruehe@mysql.com +1 -0
        Raise version number after cloning 5.1.18-beta
      
      But it fails on a newer one where the statement
      	alter table t1 add primary key (a), add key (b(20));
      results in fast index creation:
      
      ChangeSet@1.2500.1.40, 2007-06-01 20:06:13+04:00, kostja@bodhi.(none) +2 -0
        Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime
        into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
        MERGE: 1.1810.2984.14
      f0c4bdbc
  13. 04 Apr, 2007 1 commit