MySQL  8.0.12
Source Code Documentation
Tablespace Class Reference

Data structure that contains the information about shared tablespaces. More...

#include <fsp0space.h>

Inheritance diagram for Tablespace:
SysTablespace

Public Types

typedef std::vector< Datafile, ut_allocator< Datafile > > files_t
 

Public Member Functions

 Tablespace ()
 
virtual ~Tablespace ()
 
 Tablespace (const Tablespace &)
 
Tablespaceoperator= (const Tablespace &)
 
void set_name (const char *name)
 Set tablespace name. More...
 
const char * name () const
 Get tablespace name. More...
 
void set_path (const char *path, size_t len)
 Set tablespace path and filename members. More...
 
void set_path (const char *path)
 Set tablespace path and filename members. More...
 
const char * path () const
 Get tablespace path. More...
 
void set_space_id (space_id_t space_id)
 Set the space id of the tablespace. More...
 
space_id_t space_id () const
 Get the space id of the tablespace. More...
 
void set_flags (ulint fsp_flags)
 Set the tablespace flags. More...
 
ulint flags () const
 Get the tablespace flags. More...
 
void set_ignore_read_only (bool read_only_status)
 Set Ignore Read Only Status for tablespace. More...
 
void shutdown ()
 Free the memory allocated by the Tablespace object. More...
 
page_no_t get_sum_of_sizes () const
 
dberr_t open_or_create (bool is_temp)
 Open or Create the data files if they do not exist. More...
 
void delete_files ()
 Delete all the data files. More...
 
bool intersection (const Tablespace *other_space)
 Check if two tablespaces have common data file names. More...
 
dberr_t add_datafile (const char *datafile_added)
 Use the ADD DATAFILE path to create a Datafile object and add it to the front of m_files. More...
 
Datafilefirst_datafile ()
 

Public Attributes

files_t m_files
 Data file information - each Datafile can be accessed globally. More...
 

Protected Attributes

bool m_ignore_read_only
 Ignore server read only configuration for this tablespace. More...
 

Private Member Functions

bool find (const char *filename)
 Find a filename in the list of Datafiles for a tablespace. More...
 
void file_found (Datafile &file)
 Note that the data file was found. More...
 

Private Attributes

char * m_name
 Name of the tablespace. More...
 
space_id_t m_space_id
 Tablespace ID. More...
 
char * m_path
 Path where tablespace files will reside, not including a filename. More...
 
ulint m_flags
 Tablespace flags. More...
 

Detailed Description

Data structure that contains the information about shared tablespaces.

Currently this can be the system tablespace or a temporary table tablespace

Member Typedef Documentation

◆ files_t

Constructor & Destructor Documentation

◆ Tablespace() [1/2]

Tablespace::Tablespace ( )
inline

◆ ~Tablespace()

virtual Tablespace::~Tablespace ( )
inlinevirtual

◆ Tablespace() [2/2]

Tablespace::Tablespace ( const Tablespace )

Member Function Documentation

◆ add_datafile()

dberr_t Tablespace::add_datafile ( const char *  datafile_added)

Use the ADD DATAFILE path to create a Datafile object and add it to the front of m_files.

Parse the datafile path into a path and a basename with extension 'ibd'. This datafile_path provided may be an absolute or relative path, but it must end with the extension .ibd and have a basename of at least 1 byte.

Set tablespace m_path member and add a Datafile with the filename.

Parameters
[in]datafile_addedfull path of the tablespace file.

Parse the datafile path into a path and a filename with extension 'ibd'. This datafile_path provided may or may not be an absolute path, but it must end with the extension .ibd and have a basename of at least 1 byte.

Set tablespace m_path member and add a Datafile with the filename.

Parameters
[in]datafile_addedfull path of the tablespace file.

◆ delete_files()

void Tablespace::delete_files ( )

Delete all the data files.

◆ file_found()

void Tablespace::file_found ( Datafile file)
private

Note that the data file was found.

Parameters
[in]filedata file object
[in,out]fileData file object to set

◆ find()

bool Tablespace::find ( const char *  filename)
private

Find a filename in the list of Datafiles for a tablespace.

Parameters
[in]filenameName to lookup in the data files.
Returns
true if the filename exists in the data files
true if the filename exists in the data files

◆ first_datafile()

Datafile* Tablespace::first_datafile ( )
inline

◆ flags()

ulint Tablespace::flags ( ) const
inline

Get the tablespace flags.

Returns
m_flags tablespace flags

◆ get_sum_of_sizes()

page_no_t Tablespace::get_sum_of_sizes ( ) const
inline
Returns
the sum of the file sizes of each Datafile

◆ intersection()

bool Tablespace::intersection ( const Tablespace other_space)

Check if two tablespaces have common data file names.

Parameters
[in]other_spaceTablespace to check against this.
Returns
true if they have the same data filenames and paths
Parameters
other_spaceTablespace to check against this.
Returns
true if they have the same data filenames and paths

◆ name()

const char* Tablespace::name ( ) const
inline

Get tablespace name.

Returns
tablespace name

◆ open_or_create()

dberr_t Tablespace::open_or_create ( bool  is_temp)

Open or Create the data files if they do not exist.

Parameters
[in]is_tempwhether this is a temporary tablespace
Returns
DB_SUCCESS or error code

◆ operator=()

Tablespace& Tablespace::operator= ( const Tablespace )

◆ path()

const char* Tablespace::path ( ) const
inline

Get tablespace path.

Returns
tablespace path

◆ set_flags()

void Tablespace::set_flags ( ulint  fsp_flags)
inline

Set the tablespace flags.

Parameters
[in]fsp_flagstablespace flags

◆ set_ignore_read_only()

void Tablespace::set_ignore_read_only ( bool  read_only_status)
inline

Set Ignore Read Only Status for tablespace.

Parameters
[in]read_only_statusread only status indicator

◆ set_name()

void Tablespace::set_name ( const char *  name)
inline

Set tablespace name.

Parameters
[in]nametablespace name

◆ set_path() [1/2]

void Tablespace::set_path ( const char *  path,
size_t  len 
)
inline

Set tablespace path and filename members.

Parameters
[in]pathwhere tablespace file(s) resides
[in]lenlength of the file path

◆ set_path() [2/2]

void Tablespace::set_path ( const char *  path)
inline

Set tablespace path and filename members.

Parameters
[in]pathwhere tablespace file(s) resides

◆ set_space_id()

void Tablespace::set_space_id ( space_id_t  space_id)
inline

Set the space id of the tablespace.

Parameters
[in]space_idtablespace ID to set

◆ shutdown()

void Tablespace::shutdown ( )

Free the memory allocated by the Tablespace object.

Frees the memory allocated by the SysTablespace object.

◆ space_id()

space_id_t Tablespace::space_id ( ) const
inline

Get the space id of the tablespace.

Returns
m_space_id space id of the tablespace

Member Data Documentation

◆ m_files

files_t Tablespace::m_files

Data file information - each Datafile can be accessed globally.

◆ m_flags

ulint Tablespace::m_flags
private

Tablespace flags.

◆ m_ignore_read_only

bool Tablespace::m_ignore_read_only
protected

Ignore server read only configuration for this tablespace.

◆ m_name

char* Tablespace::m_name
private

Name of the tablespace.

◆ m_path

char* Tablespace::m_path
private

Path where tablespace files will reside, not including a filename.

◆ m_space_id

space_id_t Tablespace::m_space_id
private

The documentation for this class was generated from the following files: