]> git.pld-linux.org Git - packages/mysql.git/blobdiff - innodb_fast_checksum.patch
- rel. 2
[packages/mysql.git] / innodb_fast_checksum.patch
index b93538853942785c60cb34e5f1fa8a792113b4d1..0a733db006f9d18e09fba52ef7455a19a0d2717c 100644 (file)
@@ -7,7 +7,7 @@
 # should be done or reviewed by the maintainer!
 --- a/storage/innobase/buf/buf0buf.c
 +++ b/storage/innobase/buf/buf0buf.c
-@@ -511,6 +511,27 @@
+@@ -512,6 +512,27 @@
        return(checksum);
  }
  
@@ -35,7 +35,7 @@
  /********************************************************************//**
  In versions < 4.0.14 and < 4.1.1 there was a bug that the checksum only
  looked at the first few bytes of the page. This calculates that old
-@@ -627,9 +648,21 @@
+@@ -628,9 +649,21 @@
                /* InnoDB versions < 4.0.14 and < 4.1.1 stored the space id
                (always equal to 0), to FIL_PAGE_SPACE_OR_CHKSUM */
  
@@ -58,7 +58,7 @@
                    != buf_calc_page_new_checksum(read_buf)) {
  
                        return(TRUE);
-@@ -653,6 +686,7 @@
+@@ -654,6 +687,7 @@
        dict_index_t*   index;
  #endif /* !UNIV_HOTBACKUP */
        ulint           checksum;
@@ -66,7 +66,7 @@
        ulint           old_checksum;
        ulint           size    = zip_size;
  
-@@ -739,12 +773,14 @@
+@@ -740,12 +774,14 @@
  
        checksum = srv_use_checksums
                ? buf_calc_page_new_checksum(read_buf) : BUF_NO_CHECKSUM_MAGIC;
@@ -82,7 +82,7 @@
                " checksum %lu\n"
                "InnoDB: stored checksum %lu, prior-to-4.0.14-form"
                " stored checksum %lu\n"
-@@ -753,7 +789,7 @@
+@@ -754,7 +790,7 @@
                "InnoDB: Page number (if stored to page already) %lu,\n"
                "InnoDB: space id (if created with >= MySQL-4.1.1"
                " and stored already) %lu\n",
        /* We overwrite the first 4 bytes of the end lsn field to store
 --- a/storage/innobase/fil/fil0fil.c
 +++ b/storage/innobase/fil/fil0fil.c
-@@ -3095,13 +3095,24 @@
+@@ -3103,13 +3103,24 @@
                return(TRUE);
        }
  
        return(FALSE);
  }
  
-@@ -3117,7 +3128,9 @@
+@@ -3125,7 +3136,9 @@
        if (!zip_size) {
                mach_write_to_4(page + FIL_PAGE_SPACE_OR_CHKSUM,
                                srv_use_checksums
  static my_bool        innobase_recovery_stats                 = TRUE;
  static my_bool        innobase_locks_unsafe_for_binlog        = FALSE;
  static my_bool        innobase_overwrite_relay_log_info       = FALSE;
-@@ -2625,6 +2626,7 @@
+@@ -2656,6 +2657,7 @@
  
        srv_use_doublewrite_buf = (ibool) innobase_use_doublewrite;
        srv_use_checksums = (ibool) innobase_use_checksums;
 +      srv_fast_checksum = (ibool) innobase_fast_checksum;
  
- #ifdef HAVE_LARGE_PAGES
-         if ((os_use_large_pages = (ibool) my_use_large_pages))
-@@ -11432,6 +11434,15 @@
+       srv_blocking_lru_restore = (ibool) innobase_blocking_lru_restore;
+@@ -11541,6 +11543,15 @@
    "Disable with --skip-innodb-checksums.",
    NULL, NULL, TRUE);
  
  static MYSQL_SYSVAR_STR(data_home_dir, innobase_data_home_dir,
    PLUGIN_VAR_READONLY,
    "The common part for InnoDB table spaces.",
-@@ -11946,6 +11957,7 @@
+@@ -12112,6 +12123,7 @@
    MYSQL_SYSVAR(buffer_pool_size),
    MYSQL_SYSVAR(buffer_pool_instances),
    MYSQL_SYSVAR(checksums),
    MYSQL_SYSVAR(data_file_path),
 --- a/storage/innobase/include/buf0buf.h
 +++ b/storage/innobase/include/buf0buf.h
-@@ -643,6 +643,11 @@
+@@ -621,6 +621,11 @@
  buf_calc_page_new_checksum(
  /*=======================*/
        const byte*     page);  /*!< in: buffer page */
  looked at the first few bytes of the page. This calculates that old
 --- a/storage/innobase/include/fil0fil.h
 +++ b/storage/innobase/include/fil0fil.h
-@@ -118,6 +118,7 @@
+@@ -119,6 +119,7 @@
  #define FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID  34 /*!< starting from 4.1.x this
                                        contains the space id of the page */
  #define FIL_PAGE_DATA         38      /*!< start of the data on the page */
  #define FIL_PAGE_END_LSN_OLD_CHKSUM 8 /*!< the low 4 bytes of this are used
 --- a/storage/innobase/include/srv0srv.h
 +++ b/storage/innobase/include/srv0srv.h
-@@ -224,6 +224,7 @@
+@@ -229,6 +229,7 @@
  
  extern ibool  srv_use_doublewrite_buf;
  extern ibool  srv_use_checksums;
 +}
 --- a/storage/innobase/srv/srv0srv.c
 +++ b/storage/innobase/srv/srv0srv.c
-@@ -414,6 +414,7 @@
+@@ -419,6 +419,7 @@
  
  UNIV_INTERN ibool     srv_use_doublewrite_buf = TRUE;
  UNIV_INTERN ibool     srv_use_checksums = TRUE;
  
  UNIV_INTERN ulong     srv_replication_delay           = 0;
  
+--- /dev/null
++++ b/mysql-test/suite/sys_vars/r/innodb_fast_checksum_basic.result
+@@ -0,0 +1,3 @@
++SELECT @@global.innodb_fast_checksum;
++@@global.innodb_fast_checksum
++0
+--- /dev/null
++++ b/mysql-test/suite/sys_vars/t/innodb_fast_checksum_basic.test
+@@ -0,0 +1 @@
++SELECT @@global.innodb_fast_checksum;
This page took 0.060898 seconds and 4 git commands to generate.