1. 28 Nov, 2007 5 commits
    • marko's avatar
      branches/zip: Fix a bug that was introduced in r2123. · 95d04ddb
      marko authored
      buf_block_is_uncompressed(): Check that the pointer is aligned.  Use the
      C modulus operator % instead of ut_align_offset(), because sizeof(buf_block_t)
      is not guaranteed to be a power of 2.
      95d04ddb
    • marko's avatar
      branches/zip: row_vers_impl_x_locked_off_kernel(): In follow-up to r2119, · 15d8cc6e
      marko authored
      assert ut_a(entry) instead of playing it safe.
      15d8cc6e
    • marko's avatar
      branches/zip: buf_page_get_gen(): Note that the guessed block may also · a3190b1f
      marko authored
      point to a buffer pool chunk that has been released when resizing the
      buffer pool.
      
      buf_block_is_uncompressed(): Check that the pointer is aligned.  Thanks
      to this check, it is safe to pass an arbitrary pointer as a guess
      to buf_page_get_gen().
      a3190b1f
    • marko's avatar
      branches/zip: Minor cleanup. · 4e37e2f8
      marko authored
      buf_page_get_release_on_io(): Removed this unused function.
      
      ibuf_build_entry_from_ibuf_rec(): Justify why it is not necessary to
      add system columns to the dummy table pointed to by the dummy secondary index.
      
      page_zip_rec_set_deleted(): Add a page_zip_validate() assertion.
      4e37e2f8
    • vasil's avatar
      branches/zip: · d4db2cf5
      vasil authored
      Add the transaction's weight to information_schema.innodb_trx table.
      
      Suggested by:	Ken
      Approved by:	Heikki
      d4db2cf5
  2. 27 Nov, 2007 3 commits
    • marko's avatar
      branches/zip: lock_sec_rec_some_has_impl_off_kernel(): Make the function · 2bf6fc8f
      marko authored
      static.  It is only called from lock0lock.c.
      2bf6fc8f
    • marko's avatar
      branches/zip: In purge, avoid dereferencing unset BLOB pointers of freshly · 06299ddd
      marko authored
      inserted, uncommitted clustered index records when determining if a
      secondary index record that contains a column prefix of an externally
      stored column is referencing the clustered index record.
      
      field_ref_zero[]: A BLOB pointer full of zero, for use in comparisons.
      
      btr_copy_externally_stored_field_prefix(): Assert that the BLOB pointer is set.
      
      row_ext_lookup_ith(), row_ext_lookup(), row_ext_lookup_low(): Document
      that field_ref_zero is returned when the BLOB cannot be fetched.
      
      row_ext_lookup_low(): Return field_ref_zero and *len = 0 when the
      BLOB pointer is unset.
      
      row_build_index_entry(): Return NULL when a needed BLOB pointer cannot
      be dereferenced (row_ext_lookup returns field_ref_zero).  Check the
      return value for NULL in callers.
      
      row_vers_impl_x_locked_off_kernel(): Avoid comparisons when
      row_build_index_entry() returns NULL.
      
      row_vers_old_has_index_entry(): Ignore records for which
      row_build_index_entry() returns NULL.  The entry should never be NULL
      in rollback, but it may be NULL in purge.
      
      row_merge_buf_add(): Assert that row_ext_lookup() does not return
      field_ref_zero.  The table will be locked during index creation.
      06299ddd
    • marko's avatar
      branches/zip: btr_cur_pessimistic_insert(): When calling · 110781a3
      marko authored
      btr_cur_optimistic_insert(), pass big_rec to it, so that
      the field references of externally stored columns (BLOB pointers)
      will not be left uninitialized after a successful optimistic insert.
      This bug was spotted by Sunny.
      110781a3
  3. 23 Nov, 2007 3 commits
    • vasil's avatar
      branches/zip: Merge 2093:2116 from trunk. · 5243af9c
      vasil authored
      5243af9c
    • marko's avatar
      branches/zip: Correct mistakes made in r2114. · 30358fe6
      marko authored
      row_upd_index_replace_new_col_vals(): Declare fetch_ext.
      
      row_upd_index_replace_new_col_vals_index_pos(): Add a type conversion
      to the initialization expression of fetch_ext, to avoid a warning about
      comparison between signed and unsigned.
      30358fe6
    • marko's avatar
      branches/zip: Fix a bug in the updates of index records that contain a · 36874d65
      marko authored
      column prefix of an externally stored column.
      
      row_upd_ext_fetch(): New function.
      
      row_upd_index_replace_new_col_vals(),
      row_upd_index_replace_new_col_vals_index_pos(): Fetch prefixes of
      externally stored columns when they are needed for column prefix
      indexes.  For memory allocation, add the parameter ext_heap.  Avoid
      repeating the inner loop after finding a  matching upd_field->field_no.
      36874d65
  4. 22 Nov, 2007 4 commits
  5. 21 Nov, 2007 12 commits
    • vasil's avatar
      branches/zip: · 759af551
      vasil authored
      Fix the size of the static buffer for lock_table and lock_index.
      I was not realizing that NAME_LEN contains the mbmaxlen multiplier and thus
      a quote, when converted to 2 quotes, will take 2 bytes while there are 3
      bytes reserved.
      
      Spotted by:	Marko
      Pointyhat to:	Vasil
      759af551
    • vasil's avatar
      branches/zip: · 5c8a9ce2
      vasil authored
      Add C test for innobase_convert_name() in addition to the mysql-test one.
      5c8a9ce2
    • marko's avatar
      branches/zip: When writing an externally stored column to the undo log, · 71b3c265
      marko authored
      set the "external storage" flag.  When parsing the undo log, do not
      misinterpret a SQL NULL column for externally stored.
      
      These bugs were spotted by Heikki and Sunny.
      
      trx_undo_page_report_modify(): Set the UNIV_EXTERN_STORAGE_FIELD flag
      when needed.
      
      trx_undo_rec_get_partial_row(): Check for len == UNIV_SQL_NULL.
      71b3c265
    • vasil's avatar
      branches/zip: · 5cd14d70
      vasil authored
      Fix a bug where the static buffer for innodb_locks.lock_table may not
      have enough space.
      
      Pointyhat to:	Marko
      5cd14d70
    • vasil's avatar
      branches/zip: · 6edf3ef1
      vasil authored
      Bugfix1: Set innodb_locks.lock_index to NOT NULL.
      If a column in INFORMATION_SCHEMA table has the flag
      MY_I_S_MAYBE_NULL and it is not explicitly marked as NOT NULL
      with the method ::set_notnull() then it is always rendered as
      NULL by MySQL.
      
      Bugfix2: Avoid crashes if lock_index is NULL. It is NULL for table
      level locks.
      
      Pointyhat to:	Marko
      6edf3ef1
    • vasil's avatar
      branches/zip: · 30d19bf4
      vasil authored
      Non-functional change:
      Fix consistency of the sizeof() operator with the rest of i_s.cc
      
      Pointyhat to:	Marko
      
      30d19bf4
    • vasil's avatar
      branches/zip: · 857c6501
      vasil authored
      Move test that depends on ucs2 to a separate file that is disabled if
      ucs2 is not compiled in.
      857c6501
    • vasil's avatar
      branches/zip: · 9d76b526
      vasil authored
      Move common SQL commands to an .inc file.
      9d76b526
    • vasil's avatar
      branches/zip: · 62a46de2
      vasil authored
      Synchronize the utf8 and ucs2 tests.
      62a46de2
    • marko's avatar
      branches/zip: INFORMATION_SCHEMA.INNODB_LOCKS: Quote lock_table, lock_index. · e1eb788f
      marko authored
      innodb_information_schema.test. Add tests that display most columns from
      INFORMATION_SCHEMA.INNODB_LOCKS.  Test that quoting of table names works
      and respects SQL_MODE='ANSI_QUOTES'.
      
      innobase_print_identifier(): Remove.
      
      innobase_convert_identifier(): New function,
      based on innobase_print_identifier().
      
      innobase_convert_name(): New function, similar to ut_print_namel(), but
      using a memory buffer.
      
      ut_print_namel(): Use innobase_convert_name().
      
      fill_innodb_locks_from_cache(): Convert lock_table and lock_index by
      calling innobase_convert_name().
      e1eb788f
    • marko's avatar
      f6c6980f
    • vasil's avatar
      branches/zip: · 3dfa0568
      vasil authored
      Convert INFORMATION_SCHEMA tables' names to upper case so that they are
      consistent with other INFORMATION_SCHEMA tables.
      
       mysql> show tables;
       +---------------------------------------+
       | Tables_in_information_schema          |
       +---------------------------------------+
       | CHARACTER_SETS                        | 
       | COLLATIONS                            | 
       | COLLATION_CHARACTER_SET_APPLICABILITY | 
       | COLUMNS                               | 
       | COLUMN_PRIVILEGES                     | 
       | ENGINES                               | 
       | EVENTS                                | 
       | FILES                                 | 
       | GLOBAL_STATUS                         | 
       | GLOBAL_VARIABLES                      | 
       | KEY_COLUMN_USAGE                      | 
       | PARTITIONS                            | 
       | PLUGINS                               | 
       | PROCESSLIST                           | 
       | REFERENTIAL_CONSTRAINTS               | 
       | ROUTINES                              | 
       | SCHEMATA                              | 
       | SCHEMA_PRIVILEGES                     | 
       | SESSION_STATUS                        | 
       | SESSION_VARIABLES                     | 
       | STATISTICS                            | 
       | TABLES                                | 
       | TABLE_CONSTRAINTS                     | 
       | TABLE_PRIVILEGES                      | 
       | TRIGGERS                              | 
       | USER_PRIVILEGES                       | 
       | VIEWS                                 | 
       | innodb_zip_reset                      | 
       | innodb_trx                            | 
       | innodb_locks                          | 
       | innodb_lock_waits                     | 
       | innodb_zip                            | 
       +---------------------------------------+
      
      3dfa0568
  6. 16 Nov, 2007 3 commits
  7. 15 Nov, 2007 1 commit
    • marko's avatar
      branches/zip: Introduce the function page_zip_fail_func() and · 7be8ffc2
      marko authored
      the wrapper macro page_zip_fail() for displaying error messages.
      When the error output is enabled (at compile-time), a breakpoint
      may be set in page_zip_fail_func to easily debug all decompression
      errors in the context where they occur.
      7be8ffc2
  8. 13 Nov, 2007 2 commits
    • vasil's avatar
      branches/zip: · 6162deb6
      vasil authored
      Remove unnecessary code. Environment variables are passed to children anyway,
      no need to export them.
      
      Approved by:	Sunny (via IM)
      6162deb6
    • vasil's avatar
      branches/zip: · 13c99e8b
      vasil authored
      Fix typos in comment.
      13c99e8b
  9. 12 Nov, 2007 3 commits
  10. 09 Nov, 2007 4 commits