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