123 void reset()
override {
147 [[nodiscard]]
bool parse_params(
const char *filepath_spec);
155 uint64_t min_expected_size,
156 bool supports_raw_devices);
uint32_t space_id_t
Tablespace identifier.
Definition: api0api.h:49
uint32_t page_no_t
Page number.
Definition: api0api.h:47
Definition: fsp0sysspace.h:105
ut::unique_ptr< ib::fil::Tablespace_node_handle_interface > m_storage
Definition: fsp0sysspace.h:114
Opened_storage_node(const SysTablespace_node &node, ut::unique_ptr< ib::fil::Tablespace_node_handle_interface > storage) noexcept
Definition: fsp0sysspace.h:107
const SysTablespace_node & m_node
Definition: fsp0sysspace.h:113
Data structure that contains the information about shared tablespaces.
Definition: fsp0sysspace.h:103
ut::Expected< lsn_t > read_lsn_and_check_flags()
Check the tablespace header for this tablespace and read the flush LSN.
Definition: fsp0sysspace.cc:433
dberr_t prepare_nodes()
Open or create the data files, register the tablespace and its nodes in the fil's tablespace registry...
Definition: fsp0sysspace.cc:639
void set_tablespace_full_status(bool is_full)
Set tablespace full status.
Definition: fsp0sysspace.h:134
SysTablespace(space_id_t space_id, fil_type_t space_type)
Definition: fsp0sysspace.h:118
bool get_tablespace_full_status()
Get tablespace full status.
Definition: fsp0sysspace.h:140
ut::Expected< SysTablespace::Opened_storage_node > create_node(SysTablespace_node &node)
Create storage for the specified data node.
Definition: fsp0sysspace.cc:315
page_no_t parse_suffixed_page_count(char *&ptr)
Convert a numeric string representing a number of bytes optionally ending in upper or lower case G,...
Definition: fsp0sysspace.cc:88
static page_no_t get_autoextend_increment()
Definition: fsp0sysspace.h:166
dberr_t check_file_spec(bool create_new_tablespace, uint64_t min_expected_size, bool supports_raw_devices)
Check the data file specification.
Definition: fsp0sysspace.cc:491
page_no_t m_last_file_size_in_pages_max
if != 0, this tells the max size auto-extending may increase the last data file size
Definition: fsp0sysspace.h:238
bool m_auto_extend_last_file
if true, then we auto-extend the last data file
Definition: fsp0sysspace.h:234
file_status_t_
Definition: fsp0sysspace.h:216
@ FILE_STATUS_NOT_REGULAR_FILE_ERROR
not readable/writable
@ FILE_STATUS_READ_WRITE_ERROR
permission error
@ FILE_STATUS_RW_PERMISSION_ERROR
status not set
ut::Expected< SysTablespace::Opened_storage_node > open_node(const SysTablespace_node &node)
Open storage of the specified data node.
Definition: fsp0sysspace.cc:391
bool parse_params(const char *filepath_spec)
Parse the input params and populate member variables.
Definition: fsp0sysspace.cc:120
bool m_is_tablespace_full
Tablespace full status.
Definition: fsp0sysspace.h:241
dberr_t check_size(SysTablespace_node &node, const ib::fil::Tablespaces_nodes_interface::Node_info &node_info)
Verify the size of the node storage.
Definition: fsp0sysspace.cc:289
page_no_t m_sum_of_new_sizes_in_pages
Sum of sizes of all nodes, in pages, that had the storage created during this instance lifetime.
Definition: fsp0sysspace.h:245
static char * parse_file_name(char *ptr)
Definition: fsp0sysspace.cc:76
ulint can_auto_extend_last_file() const
Definition: fsp0sysspace.h:160
page_no_t get_sum_of_new_sizes_in_pages() const
Definition: fsp0sysspace.h:181
Data structure that contains the information about an InnoDB tablespace.
Definition: fsp0space.h:82
fil_type_t space_type() const
Get tablespace type.
Definition: fsp0space.h:126
space_id_t space_id() const
Get the space id of the tablespace.
Definition: fsp0space.h:161
const SysTablespace_node & node(size_t order) const
Definition: fsp0space.h:117
C++23 std::expected.
Definition: ut0expected.h:74
dberr_t
Definition: db0err.h:39
fil_type_t
File types.
Definition: fil0types.h:180
node_device_type_t
Types of nodes specifed in innodb_data_file_path.
Definition: fsp0file.h:59
General shared tablespace implementation.
ib::fsp::SysTablespace srv_tmp_space
The control info of a temporary table shared tablespace.
ib::fsp::SysTablespace srv_sys_space
The control info of the system tablespace.
ulong sys_tablespace_auto_extend_increment
If the last data file is auto-extended, we add this many pages to it at a time.
Definition: fsp0sysspace.cc:68
bool srv_skip_temp_table_checks_debug
Control if extra debug checks need to be done for temporary tablespace.
Definition: fsp0sysspace.cc:71
std::string HARNESS_EXPORT reset()
get 'reset attributes' ESC sequence.
Definition: vt100.cc:37
Definition: fsp0sysspace.cc:74
noexcept
The return type for any call_and_catch(f, args...) call where f(args...) returns Type.
Definition: call_and_catch.h:76
size_t size(const char *const c)
Definition: base64.h:46
std::conditional_t< !std::is_array< T >::value, std::unique_ptr< T, detail::Deleter< T > >, std::conditional_t< detail::is_unbounded_array_v< T >, std::unique_ptr< T, detail::Array_deleter< std::remove_extent_t< T > > >, void > > unique_ptr
The following is a common type that is returned by all the ut::make_unique (non-aligned) specializati...
Definition: ut0new.h:2284
Stored general information about the storage node at the time of calling the get_node_info().
Definition: fil0tablespaces_nodes_interface.h:173
Stores information about a single system tablespace node parsed out from the param string.
Definition: fsp0sysspace.h:63
const node_device_type_t m_device_type
Type of the node's device.
Definition: fsp0sysspace.h:75
node_device_type_t device_type() const
Definition: fsp0sysspace.h:71
SysTablespace_node_config(const std::string &name, page_no_t size, size_t order, node_device_type_t device_type)
Constructor with all information that could be parsed out of the param string.
Definition: fsp0sysspace.h:67
Represents a tablespace node, including runtime info acquired and changed after the node is parsed ou...
Definition: fsp0sysspace.h:80
void set_node_storage_exists()
Definition: fsp0sysspace.h:86
SysTablespace_node(const std::string &name, page_no_t size, size_t order, node_device_type_t device_type)
Definition: fsp0sysspace.h:82
bool m_node_storage_exists
Specifies if the storage node exists.
Definition: fsp0sysspace.h:98
bool node_storage_exists() const
Definition: fsp0sysspace.h:91
Stores information about a single tablespace node.
Definition: fsp0space.h:50
const std::string & name() const
Definition: fsp0space.h:62
size_t order() const
Definition: fsp0space.h:64
Version control for database, common definitions, and include files.
#define UNIV_PAGE_SIZE
The universal page size of the database.
Definition: univ.i:291
unsigned long int ulint
Definition: univ.i:403
#define ut_a(EXPR)
Abort execution if EXPR does not evaluate to nonzero.
Definition: ut0dbg.h:97
Minimal implementation of C++23 std::expected.