An error occurred fetching the project authors.
  1. 29 Jan, 2009 1 commit
    • marko's avatar
      branches/innodb+: Merge revisions 4006:4060 from branches/zip: · d118d29e
      marko authored
        ------------------------------------------------------------------------
        r4008 | vasil | 2009-01-20 17:01:08 +0200 (Tue, 20 Jan 2009) | 4 lines
      
        branches/zip:
      
        Add ChangeLog entries for the bugfixes in r4004 and r4005.
      
        ------------------------------------------------------------------------
        r4027 | marko | 2009-01-23 11:04:49 +0200 (Fri, 23 Jan 2009) | 1 line
      
        branches/zip: Remove some redundant #include statements.
        ------------------------------------------------------------------------
        r4028 | marko | 2009-01-23 11:26:10 +0200 (Fri, 23 Jan 2009) | 13 lines
      
        branches/zip: Enclose some more unused code in #ifdef UNIV_LOG_ARCHIVE.
        This will help trim the dependencies of InnoDB Hot Backup.
      
        recv_recovery_from_checkpoint_start(): Rename to
        recv_recovery_from_checkpoint_start_func(), and remove the two first
        parameters unless UNIV_LOG_ARCHIVE is defined.  Define and use
        the auxiliary macros TYPE_CHECKPOINT and LIMIT_LSN in the function.
      
        struct recv_sys_struct: Remove archive_group unless UNIV_LOG_ARCHIVE
        is defined.
      
        Do not define LOG_ARCHIVE unless UNIV_LOG_ARCHIVE is defined.
        ------------------------------------------------------------------------
        r4029 | marko | 2009-01-23 14:07:38 +0200 (Fri, 23 Jan 2009) | 1 line
      
        branches/zip: Remove some redundant #include directives.
        ------------------------------------------------------------------------
        r4030 | marko | 2009-01-23 15:31:36 +0200 (Fri, 23 Jan 2009) | 2 lines
      
        branches/zip: buf_page_get_gen(): Remove the unused mode BUF_GET_NOWAIT.
        This was noticed while investigating Issue #160.
        ------------------------------------------------------------------------
        r4033 | marko | 2009-01-23 15:49:04 +0200 (Fri, 23 Jan 2009) | 16 lines
      
        branches/zip: Merge revisions 4005:4032 from branches/5.1:
      
          ------------------------------------------------------------------------
          r4032 | marko | 2009-01-23 15:43:51 +0200 (Fri, 23 Jan 2009) | 10 lines
      
          branches/5.1: Merge r4031 from branches/5.0:
      
          btr_search_drop_page_hash_when_freed(): Check if buf_page_get_gen()
          returns NULL.  The page may have been evicted from the buffer pool
          between buf_page_peek_if_search_hashed() and buf_page_get_gen(),
          because the buffer pool mutex will be released between these two calls.
          (Bug #42279, Issue #160)
      
          rb://82 approved by Heikki Tuuri
          ------------------------------------------------------------------------
        ------------------------------------------------------------------------
        r4034 | marko | 2009-01-26 16:16:39 +0200 (Mon, 26 Jan 2009) | 2 lines
      
        branches/zip: buf_page_get_gen(): Fix a "possibly uninitialized" warning
        that was introduced in r4030.
        ------------------------------------------------------------------------
        r4036 | marko | 2009-01-26 22:33:20 +0200 (Mon, 26 Jan 2009) | 22 lines
      
        branches/zip: In r988, the function buf_block_align() was enclosed
        within UNIV_DEBUG. The two remaining callers in non-debug builds,
        btr_search_guess_on_hash() and btr_search_validate(), were rewritten
        to call buf_page_hash_get().
      
        To implement support for a resizeable buffer pool, the function
        buf_block_align() had been rewritten to perform a page hash lookup in
        the buffer pool. The caller was also made responsible for holding the
        buffer pool mutex.
      
        Because the page hash lookup is expensive and it has to be done while
        holding the buffer pool mutex, implement buf_block_align() by pointer
        arithmetics again, and make btr_search_guess_on_hash() call it. Note
        that this will have to be adjusted if the interface to the resizeable
        buffer pool is actually implemented.
      
        rb://83 approved by Heikki Tuuri, to address Issue #161.
      
        As a deviation from the approved patch, this patch also makes
        btr_search_validate() (invoked by CHECK TABLE) check that
        buf_pool->page_hash is consistent with buf_block_align().
        ------------------------------------------------------------------------
        r4039 | vasil | 2009-01-27 08:04:17 +0200 (Tue, 27 Jan 2009) | 5 lines
      
        branches/zip:
      
        Adjust the paths in innodb_file_per_table.diff with a recent rename of
        the test/result files in the MySQL tree.
        ------------------------------------------------------------------------
        r4042 | marko | 2009-01-27 10:05:24 +0200 (Tue, 27 Jan 2009) | 2 lines
      
        branches/zip: buf_LRU_invalidate_tablespace(): Fix a race condition:
        read zip_size while still holding block_mutex.
        ------------------------------------------------------------------------
        r4045 | marko | 2009-01-28 00:31:17 +0200 (Wed, 28 Jan 2009) | 8 lines
      
        branches/zip: btr_search_validate(): Fix a bogus UNIV_DEBUG
        assertion failure that was accidentally introduced in r4036.
        Instead of calling buf_block_get_frame(), which asserts that the
        block must be buffer-fixed, access block->frame directly.  That
        is safe, because changes of block->page.state are protected by
        the buffer pool mutex, which we are holding.
      
        This bug was reported by Michael.
        ------------------------------------------------------------------------
        r4046 | marko | 2009-01-28 00:33:20 +0200 (Wed, 28 Jan 2009) | 2 lines
      
        branches/zip: Revert the change to univ.i that was accidentally
        committed in r4045.
        ------------------------------------------------------------------------
        r4047 | marko | 2009-01-28 00:46:13 +0200 (Wed, 28 Jan 2009) | 6 lines
      
        branches/zip: btr_search_validate(): Fix an assertion failure that was
        introduced in r4036.
        Do not call buf_block_get_space(), buf_block_get_page_no()
        unless the block state is BUF_BLOCK_FILE_PAGE.
      
        This bug was reported by Michael.
        ------------------------------------------------------------------------
        r4050 | vasil | 2009-01-28 08:21:44 +0200 (Wed, 28 Jan 2009) | 5 lines
      
        branches/zip:
      
        Adjust the paths in innodb_lock_wait_timeout.diff with a recent rename of
        the test/result files in the MySQL tree.
        ------------------------------------------------------------------------
        r4051 | marko | 2009-01-28 14:35:49 +0200 (Wed, 28 Jan 2009) | 1 line
      
        branches/zip: trx0sys.ic: Remove unnecessary #include <data0type.h>.
        ------------------------------------------------------------------------
        r4052 | marko | 2009-01-28 15:21:45 +0200 (Wed, 28 Jan 2009) | 5 lines
      
        branches/zip: Enclose some functions inside #ifdef UNIV_HOTBACKUP:
      
        ut_sprintf_timestamp_without_extra_chars(), ut_get_year_month_day(),
        log_reset_first_header_and_checkpoint(): These functions are only used
        in InnoDB Hot Backup.
        ------------------------------------------------------------------------
        r4056 | calvin | 2009-01-29 03:06:41 +0200 (Thu, 29 Jan 2009) | 33 lines
      
        branches/zip: Merge revisions 4032:4035 from branches/5.1
      
        All InnoDB related tests passed on Windows, except
        known failure in partition_innodb_semi_consistent.
      
        The inadvertent change to btr0sea.c in this commit is reverted in r4060.
      
          ------------------------------------------------------------------------
          r4035 | vasil | 2009-01-26 09:26:25 -0600 (Mon, 26 Jan 2009) | 23 lines
      
          branches/5.1:
      
          Merge a change from MySQL:
      
            ------------------------------------------------------------
            revno: 2646.161.4
            committer: Tatiana A. Nurnberg <azundris@mysql.com>
            branch nick: 51-31177v2
            timestamp: Mon 2009-01-12 06:32:49 +0100
            message:
              Bug#31177: Server variables can't be set to their current values
      
              Bounds-checks and blocksize corrections were applied to user-input,
              but constants in the server were trusted implicitly. If these values
              did not actually meet the requirements, the user could not set change
              a variable, then set it back to the (wonky) factory default or maximum
              by explicitly specifying it (SET <var>=<value> vs SET <var>=DEFAULT).
      
              Now checks also apply to the server's presets. Wonky values and maxima
              get corrected at startup. Consequently all non-offsetted values the user
              sees are valid, and users can set the variable to that exact value if
              they so desire.
        ------------------------------------------------------------------------
        r4060 | marko | 2009-01-29 09:39:04 +0200 (Thu, 29 Jan 2009) | 1 line
      
        branches/zip: btr0sea.c: Revert the inadvertent change made in r4056.
        ------------------------------------------------------------------------
      d118d29e
  2. 22 Dec, 2008 1 commit
    • marko's avatar
      branches/innodb+: Merge revisions 3599:3602 from branches/zip: · 91b39ec6
      marko authored
        ------------------------------------------------------------------------
        r3602 | marko | 2008-12-22 16:40:17 +0200 (Mon, 22 Dec 2008) | 6 lines
      
        branches/zip: page_cur_insert_rec_zip(): When allocating insert_buf from
        the free list, zero out the node pointer field of the deleted record if
        the new record would not overwrite it.  This fixes a harmless content
        mismatch reported by page_zip_validate() that was reported as Issue #147.
      
        rb://66 approved by Heikki Tuuri
        ------------------------------------------------------------------------
      91b39ec6
  3. 09 Dec, 2008 1 commit
    • marko's avatar
      branches/innodb+: Merge revisions 3312:3459 from branches/zip: · 4c7f7c42
      marko authored
        ------------------------------------------------------------------------
        r3328 | marko | 2008-12-02 10:16:05 +0200 (Tue, 02 Dec 2008) | 7 lines
      
        branches/zip: page_cur_insert_rec_zip(): When allocating insert_buf
        from the free list, zero out the DB_TRX_ID and DB_ROLL_PTR of the
        deleted record if the new record would not overwrite these
        fields. This fixes a harmless content mismatch reported by
        page_zip_validate() that was reported as Issue #111.
        rb://55 approved by Sunny Bains.
        ------------------------------------------------------------------------
        r3329 | vasil | 2008-12-02 12:03:17 +0200 (Tue, 02 Dec 2008) | 4 lines
      
        branches/zip:
      
        Add entry in the ChangeLog for the release of 1.0.2.
        ------------------------------------------------------------------------
        r3331 | vasil | 2008-12-02 12:09:20 +0200 (Tue, 02 Dec 2008) | 5 lines
      
        branches/zip:
      
        Remove an entry from the ChnageLog for a change that was made before
        the release of 1.0.2 but was not included in that release.
        ------------------------------------------------------------------------
        r3333 | vasil | 2008-12-02 12:11:54 +0200 (Tue, 02 Dec 2008) | 4 lines
      
        branches/zip:
      
        Now that 1.0.2 is out, the current tree is version 1.0.3.
        ------------------------------------------------------------------------
        r3336 | vasil | 2008-12-02 13:34:36 +0200 (Tue, 02 Dec 2008) | 5 lines
      
        branches/zip:
      
        Resurrect a ChangeLog entry that I removed in c3331 with a fake date
        so it does not appear that it has been included in 1.0.2.
        ------------------------------------------------------------------------
        r3361 | vasil | 2008-12-04 18:10:08 +0200 (Thu, 04 Dec 2008) | 9 lines
      
        branches/zip:
      
        Fix Mantis issue#103 mysql_addons.c depends on THD internals - please remove it
      
        Use MySQL's thd_get_thread_id() instead of our own ib_thd_get_thread_id()
        since MySQL implemented the former, see http://bugs.mysql.com/30930.
      
        Approved by:    Marko (https://svn.innodb.com/rb/r/40, rb://40)
        ------------------------------------------------------------------------
        r3362 | vasil | 2008-12-04 18:49:24 +0200 (Thu, 04 Dec 2008) | 15 lines
      
        branches/zip:
      
        Revert our temporary fix for Bug#40360 Binlog related errors with binlog off
      
        This bug was fixed in MySQL code.
      
        Our fix went into r2944 and r2947, but this patch does not entirely revert
        those revisions because we want to leave the test case that was introduced
        and also r2944 itself reverted r2935 and r2936. So if we completely revert
        r2944 and r2947 then we would loose the test and will restore r2935 and
        r2936.
      
        This resolves Issue#108 We should remove ib_bin_log_is_engaged() once mysql
        add an equivallent, see Bug#40360
        ------------------------------------------------------------------------
        r3404 | marko | 2008-12-05 10:02:54 +0200 (Fri, 05 Dec 2008) | 5 lines
      
        branches/zip: row_undo_mod_del_mark_or_remove_sec_low(): Do not
        complain if the record is not found.  Explain that this is possible
        when a deadlock occurs during an update.  Heikki investigated this
        in Issue #134.
        ------------------------------------------------------------------------
        r3432 | marko | 2008-12-08 14:14:01 +0200 (Mon, 08 Dec 2008) | 4 lines
      
        branches/zip: ibuf_merge_or_delete_for_page(): Remove the redundant
        checks for ibuf_fixed_addr_page() || fsp_descr_page().  The one at
        the beginning of the function is enough.
        ------------------------------------------------------------------------
        r3456 | marko | 2008-12-09 10:31:26 +0200 (Tue, 09 Dec 2008) | 3 lines
      
        branches/zip: row_purge_remove_sec_if_poss_low(): Allocate mtr_vers
        from the stack, not with mem_alloc().
        ------------------------------------------------------------------------
        r3459 | vasil | 2008-12-09 11:49:03 +0200 (Tue, 09 Dec 2008) | 152 lines
      
        branches/zip:
      
        Merge 2929:3458 from branches/5.1 (resolving conflict in c3257,
        note also that r3363 reverted r2933 so there are not changes in
        mysql-test/innodb-autoinc.result with the current merge):
      
          ------------------------------------------------------------------------
          r2933 | calvin | 2008-10-30 02:57:31 +0200 (Thu, 30 Oct 2008) | 10 lines
          Changed paths:
             M /branches/5.1/mysql-test/innodb-autoinc.result
      
          branches/5.1: correct the result file innodb-autoinc.result
      
          Change the followings:
            auto_increment_increment
            auto_increment_offset
      
          to
            auto-increment-increment
            auto-increment-offset
      
          ------------------------------------------------------------------------
          r2981 | marko | 2008-11-07 14:54:10 +0200 (Fri, 07 Nov 2008) | 5 lines
          Changed paths:
             M /branches/5.1/row/row0mysql.c
      
          branches/5.0: row_mysql_store_col_in_innobase_format(): Correct a misleading
          comment. In the UTF-8 encoding, ASCII takes 1 byte per character, while
          the "latin1" character set (normally ISO-8859-1, but in MySQL it actually
          refers to the Windows Code Page 1252 a.k.a. CP1252, WinLatin1)
          takes 1 to 3 bytes (1 to 2 bytes for the ISO-8859-1 subset).
          ------------------------------------------------------------------------
          r3114 | calvin | 2008-11-14 20:31:48 +0200 (Fri, 14 Nov 2008) | 8 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
      
          branches/5.1: fix bug#40386: Not flushing query cache after truncate
      
          ha_statistics.records can not be 0 unless the table is empty, set to
          1 instead. The original problem of bug#29507 is fixed in the server.
      
          Additional test was done with the fix of bug#29507 in the server.
      
          Approved by: Heikki (on IM)
          ------------------------------------------------------------------------
          r3257 | inaam | 2008-11-24 22:06:50 +0200 (Mon, 24 Nov 2008) | 13 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
             M /branches/5.1/srv/srv0srv.c
             M /branches/5.1/trx/trx0trx.c
      
          branches/5.1 bug#40760
      
          The config param innodb_thread_concurrency is dynamically set and is
          read when a thread enters/exits innodb. If the value is changed between
          the enter and exit time the behaviour becomes erratic.
          The fix is not to use srv_thread_concurrency when exiting, instead use
          the flag trx->declared_to_be_inside_innodb.
      
          rb://57
      
          Approved by: Marko
      
      
          ------------------------------------------------------------------------
          r3363 | calvin | 2008-12-04 19:00:20 +0200 (Thu, 04 Dec 2008) | 13 lines
          Changed paths:
             M /branches/5.1/mysql-test/innodb-autoinc.result
      
          branches/5.1: revert the changes in r2933
      
          The changes in r2933 causes test failure on Linux.
          More investigation is needed for Windows.
      
          Change the followings in innodb-autoinc.result:
            auto-increment-increment
            auto-increment-offset
      
          back to:
            auto_increment_increment
            auto_increment_offset
      
          ------------------------------------------------------------------------
          r3412 | vasil | 2008-12-05 10:46:18 +0200 (Fri, 05 Dec 2008) | 7 lines
          Changed paths:
             M /branches/5.1/trx/trx0undo.c
      
          branches/5.1:
      
          Add the traditional 2 spaces after the timestamp so the message does
          not look like:
      
          070223 13:26:01InnoDB: Warning: canno....
      
          ------------------------------------------------------------------------
          r3458 | vasil | 2008-12-09 11:21:08 +0200 (Tue, 09 Dec 2008) | 51 lines
          Changed paths:
             M /branches/5.1/mysql-test/innodb_bug34300.test
      
          branches/5.1:
      
          Merge a change from MySQL to fix the failing innodb_bug34300 mysql-test:
      
            main.innodb_bug34300           [ fail ]
      
            mysqltest: At line 11: query 'SET @@max_allowed_packet=16777216' failed: 1621: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
      
            Aborting: main.innodb_bug34300 failed in default mode.
      
          The changeset is this:
      
            ------------------------------------------------------------
            revno: 2709.1.10
            committer: Staale Smedseng <staale.smedseng@sun.com>
            branch nick: b22891-51-bugteam
            timestamp: Thu 2008-11-20 08:51:48 +0100
            message:
              A fix for Bug#22891 "session level max_allowed_packet can be
              set but is ignored".
      
              This patch makes @@session.max_allowed_packed and
              @@session.net_buffer_length read-only as suggested in the bug
              report. The user will have to use SET GLOBAL (and reconnect)
              to alter the session values of these variables.
      
              The error string ER_VARIABLE_IS_READONLY is introduced.
      
              Tests are modified accordingly.
            modified:
              mysql-test/r/func_compress.result
              mysql-test/r/max_allowed_packet_basic.result
              mysql-test/r/max_allowed_packet_func.result
              mysql-test/r/net_buffer_length_basic.result
              mysql-test/r/packet.result
              mysql-test/r/union.result
              mysql-test/r/variables.result
              mysql-test/t/func_compress.test
              mysql-test/t/innodb_bug34300.test
              mysql-test/t/max_allowed_packet_basic.test
              mysql-test/t/max_allowed_packet_func.test
              mysql-test/t/net_buffer_length_basic.test
              mysql-test/t/packet.test
              mysql-test/t/union.test
              mysql-test/t/variables.test
              sql/set_var.cc
              sql/set_var.h
              sql/share/errmsg.txt
            ------------------------------------------------------------
          ------------------------------------------------------------------------
        ------------------------------------------------------------------------
      4c7f7c42
  4. 15 Oct, 2008 1 commit
    • marko's avatar
      branches/innodb+: Merge revisions 2774:2799 from branches/zip: · a980b544
      marko authored
        ------------------------------------------------------------------------
        r2781 | marko | 2008-10-13 13:40:57 +0300 (Mon, 13 Oct 2008) | 1 line
      
        branches/zip: page_cur_delete_rec(): Call page_zip_validate_low().
        ------------------------------------------------------------------------
        r2783 | vasil | 2008-10-13 18:34:34 +0300 (Mon, 13 Oct 2008) | 9 lines
      
        branches/zip:
      
        Remove mysql-test/patches/bug37312.diff because MySQL "fixed"
        Bug#37312 by removing the test.
      
        http://bugs.mysql.com/37312
        http://lists.mysql.com/commits/54462
        ------------------------------------------------------------------------
        r2784 | marko | 2008-10-13 21:35:30 +0300 (Mon, 13 Oct 2008) | 1 line
      
        branches/zip: Add missing NULL check to the assertion added in r2781.
        ------------------------------------------------------------------------
        r2785 | marko | 2008-10-13 22:29:12 +0300 (Mon, 13 Oct 2008) | 2 lines
      
        branches/zip: page_cur_delete_rec(): Remove the bogus page_zip_validate_low()
        assertion that was added in r2781 and explain why it was bogus.
        ------------------------------------------------------------------------
        r2786 | calvin | 2008-10-14 19:14:47 +0300 (Tue, 14 Oct 2008) | 7 lines
      
        branches/zip: fix Mantis issue #96 Problem compiling ha_innodb.cc
        on 64-bit Windows
      
        Change the definition of srv_replication_delay from ulint to ulong.
        ulint is 64-bit on Win64.
      
        Approved by:	Heikki (on IM)
        ------------------------------------------------------------------------
        r2787 | calvin | 2008-10-14 19:19:41 +0300 (Tue, 14 Oct 2008) | 7 lines
      
        branches/zip: fix compiler warning
      
        Change the definition of add_on from ulint to ullint, to eliminate
        the warning in .\btr\btr0cur.c:
        conversion from 'ullint' to 'ulint', possible loss of data
      
        Approved by:	Heikki (on IM)
        ------------------------------------------------------------------------
        r2793 | marko | 2008-10-15 10:00:06 +0300 (Wed, 15 Oct 2008) | 2 lines
      
        branches/zip: row_create_table_for_mysql(), row_create_index_for_mysql():
        Note that the dictionary object will be freed.
        ------------------------------------------------------------------------
        r2794 | marko | 2008-10-15 10:32:40 +0300 (Wed, 15 Oct 2008) | 9 lines
      
        branches/zip: When invoking page_zip_copy_recs(), update the lock table
        and the adaptive hash index.  This should fix Issue #95 and Issue #87.
      
        page_zip_copy_recs(): Copy PAGE_MAX_TRX_ID as well, to have similar behavior
        to page_copy_rec_list_start() and page_copy_rec_list_end().
      
        btr_root_raise_and_insert(), btr_page_split_and_insert(), btr_lift_page_up():
        Update the lock table and the adaptive hash index.
        ------------------------------------------------------------------------
        r2797 | marko | 2008-10-15 13:21:54 +0300 (Wed, 15 Oct 2008) | 3 lines
      
        branches/zip: Introduce UNIV_ZIP_COPY for invoking page_zip_copy_recs()
        more often in B-tree operations.
        ------------------------------------------------------------------------
        r2799 | marko | 2008-10-15 14:27:42 +0300 (Wed, 15 Oct 2008) | 25 lines
      
        branches/zip: When the server crashes while freeing an externally stored
        column of a compressed table, the BTR_EXTERN_LEN field in the BLOB pointer
        will be written as 0.  Tolerate this in the functions that deal with
        externally stored columns.  This fixes Issue #80 and was posted at rb://26.
      
        Note that the clustered index record is always deleted or purged last,
        after any secondary index records referring to it have been deleted.
      
        btr_free_externally_stored_field(): On an uncompressed table, zero out
        the BTR_EXTERN_LEN, so that half-deleted BLOBs can be detected after
        crash recovery.
      
        btr_copy_externally_stored_field_prefix(): Return 0 if the BLOB has been
        half-deleted.
      
        row_upd_ext_fetch(): Assert that the externally stored column exists.
      
        row_ext_cache_fill(): Allow btr_copy_externally_stored_field_prefix()
        to return 0.
      
        row_sel_sec_rec_is_for_blob(): Return FALSE if the BLOB has been half-deleted.
        This is correct, because the clustered index record would have been deleted
        or purged last, after any secondary index records referring to it had been
        deleted.
        ------------------------------------------------------------------------
      a980b544
  5. 09 Aug, 2008 1 commit
  6. 06 Feb, 2008 1 commit
    • marko's avatar
      branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global · 1d1dc31a
      marko authored
      symbols.  Use it for all definitions of non-static variables and functions.
      
      lexyy.c, make_flex.sh: Declare yylex as UNIV_INTERN, not static.  It is
      referenced from pars0grm.c.
      
      Actually, according to
      	nm .libs/ha_innodb.so|grep -w '[ABCE-TVXYZ]'
      the following symbols are still global:
      
      * The vtable for class ha_innodb
      * pars0grm.c: The function yyparse() and the variables yychar, yylval, yynerrs
      
      The required changes to the Bison-generated file pars0grm.c will be addressed
      in a separate commit, which will add a script similar to make_flex.sh.
      
      The class ha_innodb is renamed from class ha_innobase by a #define.  Thus,
      there will be no clash with the builtin InnoDB.  However, there will be some
      overhead for invoking virtual methods of class ha_innodb.  Ideas for making
      the vtable hidden are welcome.  -fvisibility=hidden is not available in GCC 3.
      1d1dc31a
  7. 18 Oct, 2007 1 commit
    • marko's avatar
      branches/zip: Remove const warnings reported by GCC 4.2.1. · 65d4e630
      marko authored
      page_cur_set_before_first(), page_cur_set_after_last(),
      page_cur_position(): Add const qualifiers to buf_block_t and rec.
      A better solution would be to define a const_page_cur_t and a
      set of accessors, but it would lead to severe code duplication.
      
      page_rec_get_n_recs_before(): Add const qualifiers.
      
      page_dir_get_nth_slot(): Define as a const-preserving macro.
      
      page_dir_slot_get_rec(), page_dir_slot_get_n_owned(),
      page_dir_find_owner_slot(), page_check_dir(): Add const qualifiers.
      
      page_rec_get_next_low(): Add const qualifiers.
      
      page_rec_get_next_const(), page_rec_get_prev_const(): New functions,
      based on the const-less page_rec_get_next() and page_rec_get_prev().
      
      page_cur_get_page(), page_cur_get_block(), page_cur_get_page_zip(),
      page_cur_get_rec(): Define as const-preserving macros.
      
      page_cur_try_search_shortcut(), page_cur_search_with_match():
      Add const qualifiers.
      
      buf_page_get_mutex(): Add a const qualifier to buf_page_t*.
      
      rec_get_next_ptr_const(): Const variant of rec_get_next_ptr().
      65d4e630
  8. 05 Oct, 2007 2 commits
  9. 28 Sep, 2007 1 commit
  10. 15 May, 2007 1 commit
    • marko's avatar
      branches/zip: Minor cleanup. · d5c198ea
      marko authored
      page_cur_tuple_insert(), page_cur_rec_insert(): Improve the documentation.
      Note that the physical position of page_cursor may change.
      
      page_cur_rec_insert(), page_cur_insert_rec_low(), page_cur_insert_rec_zip():
      Add a const qualifier to the parameter rec.
      d5c198ea
  11. 20 Feb, 2007 1 commit
  12. 19 Feb, 2007 1 commit
  13. 01 Feb, 2007 1 commit
    • marko's avatar
      branches/zip: Split the function page_cur_insert_rec_low(). · fad9e987
      marko authored
      page_cur_insert_rec_zip_reorg(): New function: Recompress or
      reorganize a compressed page.
      
      page_cur_insert_rec_zip(): New function: insert a record to
      a compressed page.
      
      page_cur_insert_rec_low(): Only handle inserts to uncompressed pages.
      fad9e987
  14. 25 Oct, 2006 1 commit
  15. 24 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Remove all references to buf_block_align() except those · c1ffbbd9
      marko authored
      from the adaptive hash index [btr_search_guess_on_hash() and
      btr_search_validate()].  Some references to buf_block_align() remain
      in debug builds.
      
      btr_store_big_rec_extern_fields(): Add the parameter rec_block.
      
      page_rec_get_next_low(): Do not assume that the page has been
      allocated from the buffer pool when printing the diagnostic information.
      
      page_cur_insert_rec_low(): Replace the parameter page_zip_des_t* page_zip
      with the parameter buf_block_t* block.
      c1ffbbd9
  16. 23 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Minor cleanup. · 1834af76
      marko authored
      page_set_max_trx_id(): Replace page_t* parameter with buf_block_t*,
      to avoid a buf_block_align() call.
      
      Replace some occurrences of page_get_page_no() with buf_block_get_page_no().
      
      page_cur_delete_rec(): Replace buf_block_align() with page_cur_get_block().
      1834af76
  17. 20 Oct, 2006 2 commits
    • marko's avatar
      branches/zip: Remove some more buf_block_align() calls. · b6e26f24
      marko authored
      btr_cur_t: Move page_block to page_cur_t::block.
      
      page_cur_get_block(), page_cur_get_page_zip(): New functions.
      
      page_cur_position(): Add parameter block.
      
      Remove many page_zip parameters, now that there is page_cur_get_page_zip().
      Replace some page, page_zip parameters with block.
      
      Add some const qualifiers to function parameters and remove casts.
      
      PAGE_HEAP_NO_INFIMUM, PAGE_HEAP_NO_SUPREMUM, PAGE_HEAP_NO_USER_LOW:
      New constants.
      
      Replace some cursor code in low-level diagnostic functions with
      direct management of rec, because buf_block_t::buf_fix_count may be 0
      when the functions are called, and debug assertions would fail.
      b6e26f24
    • marko's avatar
  18. 18 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Eliminate many buf_block_align() calls. · d583b180
      marko authored
      Replace page_t* or page_zip_des_t* parameters in some functions with
      buf_block_t*.
      
      buf_frame_get_page_zip(): Disable unless #ifdef UNIV_DEBUG || UNIV_ZIP_DEBUG.
      
      btr_cur_t: Add buf_block_t* page_block.
      
      btr_pcur_get_block(), btr_cur_get_block(), btr_cur_get_page_zip():
      New functions.
      
      btr_cur_position(): Add the parameter block.
      d583b180
  19. 13 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Remove some more buf_block_align() calls. · e5b6c394
      marko authored
      Replace buf_frame_modify_clock_inc() with buf_block_modify_clock_inc().
      Replace buf_frame_get_lock_hash_val() with buf_block_get_lock_hash_val().
      Replace buf_frame_get_lock_mutex() with buf_block_get_lock_mutex().
      
      page_create_zip(), page_create(), page_create_low(), btr_page_free(),
      btr_page_free_low(): Replace page_t with buf_block_t.
      e5b6c394
  20. 09 Oct, 2006 1 commit
  21. 29 Sep, 2006 1 commit
    • marko's avatar
      branches/zip: dtuple_convert_big_rec(): Do not store anything locally · 174bd7b7
      marko authored
      of externally stored columns, and fix bugs introduced in r873.  (Bug #22496)
      
      btr_page_get_sure_split_rec(), btr_page_insert_fits(),
      rec_get_converted_size(), rec_convert_dtuple_to_rec(),
      rec_convert_dtuple_to_rec_old(), rec_convert_dtuple_to_rec_new():
      Add parameters ext and n_ext.  Flag external fields during the
      conversion.
      
      rec_set_field_extern_bits(), rec_set_field_extern_bits_new(),
      rec_offs_set_nth_extern(), rec_set_nth_field_extern_bit_old():
      Remove.  The bits are set by rec_convert_dtuple_to_rec().
      
      page_cur_insert_rec_low(): Remove the parameters ext and n_ext.
      
      btr_cur_add_ext(): New utility function for updating and sorting ext[].
      Low-level functions now expect the array to be in ascending order
      for performance reasons.  Used in btr_cur_optimistic_insert(),
      btr_cur_pessimistic_insert(), and btr_cur_pessimistic_update().
      
      btr_cur_optimistic_insert(): Remove some defensive code, because we cannot
      compute the added parameters of rec_get_converted_size().
      
      btr_push_update_extern_fields(): Sort the array.  Require the array to
      be twice the maximum usage, so that ut_ulint_sort() can be used.
      
      dtuple_convert_big_rec(): Allocate new space for the BLOB pointer,
      to avoid overwriting prefix indexes to the same column.  Adapt
      dtuple_convert_back_big_rec().
      
      row_build_index_entry(): Fetch the columns also for prefix indexes of
      the clustered index.
      
      page_zip_apply_log(), page_zip_decompress_clust(): Allow externally
      stored fields to lack a locally stored part.
      174bd7b7
  22. 19 Sep, 2006 2 commits
  23. 05 Sep, 2006 1 commit
  24. 29 Aug, 2006 1 commit
  25. 21 Aug, 2006 1 commit
  26. 18 Aug, 2006 2 commits
    • marko's avatar
      branches/zip: page_cur_insert_rec_low(): Replace page_zip_dir_rewrite() · 7e1076c7
      marko authored
      with page_zip_dir_insert().  Pass page_zip to rec_set_n_owned_new()
      and page_dir_slot_set_n_owned().
      
      page_zip_dir_insert(): New function.  Shift the dense page directory and
      write the inserted record there.
      7e1076c7
    • marko's avatar
      branches/zip: Bug fixes. · 244c9715
      marko authored
      data0data.c: Add #include "page0zip.h" that was forgotten from r739.
      
      page_cur_insert_rec_low(): Remove a memory leak when preventing
      extra_size to grow.
      244c9715
  27. 17 Aug, 2006 1 commit
  28. 01 Aug, 2006 1 commit
  29. 03 Jul, 2006 1 commit
    • marko's avatar
      branches/zip: page_cur_insert_rec_low(): Replace page_zip_alloc() · 2a8f49bf
      marko authored
      with page_zip_available() in order to avoid an extra page_zip_compress().
      
      page_zip_available(): Make the function public.
      
      page0zip.ic: Sort the inline function declarations in order to avoid
      forward references, which do not work on some compilers.
      2a8f49bf
  30. 30 Jun, 2006 1 commit
    • marko's avatar
      branches/zip: Improve assertions related to the linked lists of records · cafaf715
      marko authored
      on B-tree index pages.
      
      page_rec_set_next(): Assert that rec != next.
      
      rec_get_next_ptr(), rec_get_next_offs(): On compact pages, assert that
      there are at least REC_N_NEW_EXTRA_BYTES + 1 between records.
      
      page_cur_insert_rec_write_log(): Replace a buf_frame_align() call
      with ut_align_offset().
      
      page_cur_insert_rec_low(): Assert that current_rec != insert_rec.
      cafaf715
  31. 20 Jun, 2006 1 commit
  32. 13 Jun, 2006 1 commit
    • marko's avatar
      branches/zip: Add page_zip_validate() assertions and remove a bogus · 2117ec5a
      marko authored
      page_zip_assertion() failure in page_copy_rec_list_end().
      
      btr_root_raise_and_insert(), btr_lift_page_up(), btr_compress():
      Add page_zip_validate() assertions.
      
      btr_compress(): Only copy FIL_PAGE_PREV when UNIV_BTR_DEBUG is defined.
      
      page_cur_delete_rec(): Document why the page_zip_validate() assertion
      was removed.
      
      page_copy_rec_list_end(): Remove the page_zip_validate() assertion and
      document why.
      
      page_move_rec_list_end(): Add page_zip_validate() assertion.
      2117ec5a
  33. 12 Jun, 2006 1 commit
    • marko's avatar
      branches/zip: Add page_zip_validate() checks. · 8f6de3bb
      marko authored
      page_cur_delete_rec(): Do not call page_zip_validate() in the beginning,
      because btr_set_min_rec_mark() in btr_cur_pessimistic_delete() will
      cause a temporary mismatch.
      
      Document temporary mismatches caused by btr_set_min_rec_mark() calls
      and explain why they will not cause any problems.
      8f6de3bb
  34. 07 Jun, 2006 1 commit
  35. 16 May, 2006 2 commits
    • marko's avatar
      branches/zip: Try to reorganize the page when compression fails. · 168fa020
      marko authored
      page_zip_compress_write_log(): Make static.
      
      page_zip_compress(): Add optional parameter mtr for redo logging.
      
      page_zip_reorganize(): Low-level counterpart of btr_page_reorganize().
      
      page_zip_copy(): Add debug assertions about mtr_memo_contains.
      
      page_cur_insert_rec_low(): Try page_zip_reorganize() and seek to the
      new position of insert_rec if it succeeds.
      
      page_copy_rec_list_end(), page_copy_rec_list_start():
      Try page_zip_reorganize().
      
      page_move_rec_list_end(): Remove bogus comment.
      168fa020
    • marko's avatar
      branches/zip: Shorten the log record MLOG_ZIP_PAGE_COMPRESS. · 2c3b2247
      marko authored
      page_zip_copy(), page_zip_compress_write_log(): Add parameter 'index'.
      
      page_zip_parse_write_header(): Check for !page_zip only if page != NULL.
      
      page_zip_compress_write_log(), page_zip_parse_compress(): Omit some
      fields in the page header.  Omit the unused bytes between the modification
      log and the page trailer.
      
      parse_or_apply_log_rec_body(): Remove a bogus debug assertion.
      2c3b2247