1. 17 Oct, 2007 1 commit
    • marko's avatar
      branches/zip: Initialize dfield_t::ext as soon as possible. This should · e7267909
      marko authored
      fix the bugs introduced in r1591.
      
      row_rec_to_index_entry_low(): Clear "n_ext".  Do not allow it to be NULL.
      Add const qualifier to dict_index_t*.
      
      row_rec_to_index_entry(): Add the parameters "offsets" and "n_ext".
      
      btr_cur_optimistic_update(): Add an assertion that there are no externally
      stored columns.  Remove the unreachable call to btr_cur_unmark_extern_fields()
      and the preceding unnecessary call to rec_get_offsets().
      
      btr_push_update_extern_fields(): Remove the parameters index, offsets.
      Only report the additional externally stored columns of the update vector.
      
      row_build(), trx_undo_rec_get_partial_row(): Flag externally stored columns
      also with dfield_set_ext().
      
      rec_copy_prefix_to_dtuple(): Assert that there are no externally stored
      columns in the prefix.
      
      row_build_row_ref(): Note and assert that the index is a secondary index,
      and assert that there are no externally stored columns.
      
      row_build_row_ref_fast(): Assert that there are no externally stored columns.
      
      rec_offs_get_n_alloc(): Expose the function.
      
      row_build_row_ref_in_tuple(): Assert that there are no externally stored
      columns in a record of a secondary index.
      
      row_build_row_ref_from_row(): Assert that there are no externally stored
      columns.
      
      row_upd_check_references_constraints(): Add the parameter offsets, to
      avoid a redundant call to rec_get_offsets().
      
      row_upd_del_mark_clust_rec(): Add the parameter offsets.  Remove
      duplicated code.
      
      row_ins_index_entry_set_vals(): Copy the external storage flag.
      
      sel_pop_prefetched_row(): Assert that there are no externally stored
      columns.
      
      row_scan_and_check_index(): Copy offsets to a temporary heap across
      the invocation of row_rec_to_index_entry().
      e7267909
  2. 16 Oct, 2007 2 commits
  3. 15 Oct, 2007 4 commits
    • marko's avatar
      branches/zip: plug.in: Remove the check for aio.h and -lrt, which were · 186a5e9d
      marko authored
      never used.  Combine the three AC_CHECK_FUNCS tests.
      186a5e9d
    • marko's avatar
      branches/zip: buf_chunk_init(): Note that the function does not always · 415a1045
      marko authored
      return the requested amount of memory.
      415a1045
    • marko's avatar
      branches/zip: Allow a dynamically loaded InnoDB storage engine plugin · 15e0e266
      marko authored
      to replace a built-in instance of InnoDB in mysqld.  This is work in
      progress, with several limitations:
      
      * Other plugins defined in the builtin InnoDB are not disabled.
        However, InnoDB in MySQL 5.1 only defines the storage engine plugin,
        no INFORMATION_SCHEMA plugins.
      
      * The global C symbols in ha_innodb.so except innodb_hton_ptr and
        builtin_innobase_plugin will have to be redefined, e.g., by objcopy.
      
      * The storage engine cannot be called "InnoDB" to avoid a conflict with
        the builtin name.  Here we call it InnoDBzip.
      
      innobase_hton_name[]: Rename to "InnoDBzip" when building a dynamic plugin.
      
      innodb_plugin_init(): New function for the dynamic plugin, to copy
      and redirect configuration parameters from the builtin InnoDB.
      
      innodb_dynamic: New configuration parameter.  This has to be added
      to the builtin InnoDB in MySQL 5.1.  Also, innodb_hton_ptr must be made
      global there.
      
      innobase_init(): Interpret the parameter innodb_dynamic.
      
      Makefile.am: Redefine class ha_innobase to ha_innodb by a preprocessor
      define.  Apparently, C++ classes cannot be easily renamed by objcopy.
      15e0e266
    • marko's avatar
      branches/zip: innodb-index.test: Add FORCE INDEX directives and remove · 6c9bfe78
      marko authored
      those SELECTs whose ORDER BY cannot possibly make use of an index.
      6c9bfe78
  4. 12 Oct, 2007 9 commits
  5. 11 Oct, 2007 2 commits
    • vasil's avatar
      branches/zip: · 9d1a3ad9
      vasil authored
      Non-functional change: fix compiler warning:
      
      buf0buf.ic:637: warning: assignment discards qualifiers from pointer target type
      
      9d1a3ad9
    • vasil's avatar
      branches/zip: · 123c147d
      vasil authored
      Non-functional change to improve readability.
      123c147d
  6. 10 Oct, 2007 2 commits
  7. 08 Oct, 2007 2 commits
    • marko's avatar
      branches/zip: innodb-index.result: Adapt the results to a patch from MySQL. · dcde0edf
      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.
      dcde0edf
    • vasil's avatar
      branches/zip: · bfc48819
      vasil authored
      Add diagnostic function ha_storage_get_size() to retrieve the amount of
      memory used by a ha_storage_t object.
      
      Approved by:	Marko
      bfc48819
  8. 05 Oct, 2007 7 commits
  9. 04 Oct, 2007 1 commit
  10. 03 Oct, 2007 6 commits
  11. 01 Oct, 2007 4 commits