mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
80d5d1452a
MariaDB Server 10.0.28 and 10.1.19 merged code from Percona XtraDB that introduced support for compressed columns. Much but not all of this code was disabled by placing #ifdef HAVE_PERCONA_COMPRESSED_COLUMNS around it. Among the unused but not disabled code is code to access some new system tables related to compressed columns. The creation of these system tables SYS_ZIP_DICT and SYS_ZIP_DICT_COLS would cause a crash in --innodb-read-only mode when upgrading from an earlier version to 10.0.28 or 10.1.19. Let us remove all the dead code related to compressed columns. Users who already upgraded to 10.0.28 and 10.1.19 will have the two above mentioned empty tables in their InnoDB system tablespace. Subsequent versions of MariaDB Server will completely ignore those tables.
95 lines
2.6 KiB
Text
95 lines
2.6 KiB
Text
/*****************************************************************************
|
|
|
|
Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
|
|
Copyright (c) 2017, MariaDB Corporation.
|
|
|
|
This program is free software; you can redistribute it and/or modify it under
|
|
the terms of the GNU General Public License as published by the Free Software
|
|
Foundation; version 2 of the License.
|
|
|
|
This program is distributed in the hope that it will be useful, but WITHOUT
|
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along with
|
|
this program; if not, write to the Free Software Foundation, Inc.,
|
|
51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
|
|
|
|
*****************************************************************************/
|
|
|
|
/**************************************************//**
|
|
@file include/dict0boot.ic
|
|
Data dictionary creation and booting
|
|
|
|
Created 4/18/1996 Heikki Tuuri
|
|
*******************************************************/
|
|
|
|
/**********************************************************************//**
|
|
Returns a new row id.
|
|
@return the new id */
|
|
UNIV_INLINE
|
|
row_id_t
|
|
dict_sys_get_new_row_id(void)
|
|
/*=========================*/
|
|
{
|
|
row_id_t id;
|
|
|
|
mutex_enter(&(dict_sys->mutex));
|
|
|
|
id = dict_sys->row_id;
|
|
|
|
if (0 == (id % DICT_HDR_ROW_ID_WRITE_MARGIN)) {
|
|
|
|
dict_hdr_flush_row_id();
|
|
}
|
|
|
|
dict_sys->row_id++;
|
|
|
|
mutex_exit(&(dict_sys->mutex));
|
|
|
|
return(id);
|
|
}
|
|
|
|
/**********************************************************************//**
|
|
Reads a row id from a record or other 6-byte stored form.
|
|
@return row id */
|
|
UNIV_INLINE
|
|
row_id_t
|
|
dict_sys_read_row_id(
|
|
/*=================*/
|
|
const byte* field) /*!< in: record field */
|
|
{
|
|
#if DATA_ROW_ID_LEN != 6
|
|
# error "DATA_ROW_ID_LEN != 6"
|
|
#endif
|
|
|
|
return(mach_read_from_6(field));
|
|
}
|
|
|
|
/**********************************************************************//**
|
|
Writes a row id to a record or other 6-byte stored form. */
|
|
UNIV_INLINE
|
|
void
|
|
dict_sys_write_row_id(
|
|
/*==================*/
|
|
byte* field, /*!< in: record field */
|
|
row_id_t row_id) /*!< in: row id */
|
|
{
|
|
#if DATA_ROW_ID_LEN != 6
|
|
# error "DATA_ROW_ID_LEN != 6"
|
|
#endif
|
|
|
|
mach_write_to_6(field, row_id);
|
|
}
|
|
|
|
/*********************************************************************//**
|
|
Check if a table id belongs to system table.
|
|
@return true if the table id belongs to a system table. */
|
|
UNIV_INLINE
|
|
bool
|
|
dict_is_sys_table(
|
|
/*==============*/
|
|
table_id_t id) /*!< in: table id to check */
|
|
{
|
|
return(id < DICT_HDR_FIRST_ID);
|
|
}
|