MySQL 8.2.0
Source Code Documentation
zipdecompress.h
Go to the documentation of this file.
1/*****************************************************************************
2
3Copyright (c) 2005, 2023, Oracle and/or its affiliates.
4Copyright (c) 2012, Facebook Inc.
5
6This program is free software; you can redistribute it and/or modify it under
7the terms of the GNU General Public License, version 2.0, as published by the
8Free Software Foundation.
9
10This program is also distributed with certain software (including but not
11limited to OpenSSL) that is licensed under separate terms, as designated in a
12particular file or component or in included license documentation. The authors
13of MySQL hereby grant you an additional permission to link the program and
14your derivative works with the separately licensed software that they have
15included with MySQL.
16
17This program is distributed in the hope that it will be useful, but WITHOUT
18ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19FOR A PARTICULAR PURPOSE. See the GNU General Public License, version 2.0,
20for more details.
21
22You should have received a copy of the GNU General Public License along with
23this program; if not, write to the Free Software Foundation, Inc.,
2451 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
26*****************************************************************************/
27
28/** @file page/zipdecompress.h
29 Compressed page interface
30
31 Created June 2005 by Marko Makela
32 *******************************************************/
33
34/** NOTE: The functions in this file should only use functions from
35other files in library. The code in this file is used to make a library for
36external tools. */
37
38#ifndef zip_decompress_h
39#define zip_decompress_h
40
41#include "btr0types.h"
42#include "fil0types.h"
43#include "page0types.h"
44
45#include "page/page.ic"
46#include "page/zipdecompress.ic"
47/** Decompress a page. This function should tolerate errors on the compressed
48 page. Instead of letting assertions fail, it will return false if an
49 inconsistency is detected.
50 @return true on success, false on failure */
52 page_zip_des_t *page_zip, /*!< in: data, ssize;
53 out: m_start, m_end, m_nonempty, n_blobs */
54 page_t *page, /*!< out: uncompressed page, may be trashed */
55 bool all); /*!< in: true=decompress the whole page;
56 false=verify but do not copy some
57 page header fields that should not change
58 after page creation */
59
60#endif
The index tree general types.
int page
Definition: ctype-mb.cc:1233
The low-level file system page header & trailer offsets.
Index page routines.
byte page_t
Type of the index page.
Definition: page0types.h:151
Index page routines.
Compressed page descriptor.
Definition: page0types.h:199
static int all(site_def const *s, node_no node)
Definition: xcom_transport.cc:868
bool page_zip_decompress_low(page_zip_des_t *page_zip, page_t *page, bool all)
NOTE: The functions in this file should only use functions from other files in library.
Definition: zipdecompress.cc:1404
Compressed page interface.