MySQL 8.0.39
Source Code Documentation
table.h
Go to the documentation of this file.
1/*
2 Copyright (c) 2015, 2024, Oracle and/or its affiliates.
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License, version 2.0,
6 as published by the Free Software Foundation.
7
8 This program is designed to work with certain software (including
9 but not limited to OpenSSL) that is licensed under separate terms,
10 as designated in a particular file or component or in included license
11 documentation. The authors of MySQL hereby grant you an additional
12 permission to link the program and your derivative works with the
13 separately licensed software that they have either included with
14 the program or referenced in the documentation.
15
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License, version 2.0, for more details.
20
21 You should have received a copy of the GNU General Public License
22 along with this program; if not, write to the Free Software
23 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24*/
25
26#ifndef TABLE_INCLUDED
27#define TABLE_INCLUDED
28
29#include <string>
30#include <vector>
31
33#include "client/dump/field.h"
34#include "my_inttypes.h"
35
36namespace Mysql {
37namespace Tools {
38namespace Dump {
39
41 public:
42 Table(uint64 id, const std::string &name, const std::string &schema,
43 const std::string &sql_formatted_definition, std::vector<Field> &fields,
44 std::string type, uint64 row_count, uint64 row_bound,
45 uint64 data_lenght);
46
47 /**
48 Retrieves type name.
49 */
50 std::string get_type() const;
51
52 /**
53 Retrieves number of rows in table, this value can be approximate.
54 */
55 uint64 get_row_count() const;
56
57 /**
58 Retrieves maximum number of rows in table. This value can be approximate,
59 but should be upper bound for actual number of rows.
60 */
62
63 /**
64 Retrieves total number of bytes of rows data. This value can be
65 approximate.
66 */
68
69 const std::vector<Field> &get_fields() const;
70
71 const std::vector<std::string> &get_indexes_sql_definition() const;
72
73 const std::string &get_sql_definition_without_indexes() const;
74
75 private:
76 std::vector<Field> m_fields;
77 std::vector<std::string> m_indexes_sql_definition;
79 std::string m_type;
83};
84
85} // namespace Dump
86} // namespace Tools
87} // namespace Mysql
88
89#endif
Abstract object carrying its definition in SQL formatted string only.
Definition: abstract_plain_sql_object.h:39
Definition: table.h:40
const std::vector< Field > & get_fields() const
Definition: table.cc:92
std::string m_sql_definition_without_indexes
Definition: table.h:78
std::vector< Field > m_fields
Definition: table.h:76
uint64 m_data_lenght
Definition: table.h:82
uint64 m_row_count
Definition: table.h:80
std::vector< std::string > m_indexes_sql_definition
Definition: table.h:77
uint64 get_row_data_lenght() const
Retrieves total number of bytes of rows data.
Definition: table.cc:94
std::string m_type
Definition: table.h:79
const std::vector< std::string > & get_indexes_sql_definition() const
Definition: table.cc:88
const std::string & get_sql_definition_without_indexes() const
Definition: table.cc:84
std::string get_type() const
Retrieves type name.
Definition: table.cc:100
uint64 get_row_count_bound() const
Retrieves maximum number of rows in table.
Definition: table.cc:96
Table(uint64 id, const std::string &name, const std::string &schema, const std::string &sql_formatted_definition, std::vector< Field > &fields, std::string type, uint64 row_count, uint64 row_bound, uint64 data_lenght)
Definition: table.cc:35
uint64 get_row_count() const
Retrieves number of rows in table, this value can be approximate.
Definition: table.cc:98
uint64 m_row_bound
Definition: table.h:81
Some integer typedefs for easier portability.
uint64_t uint64
Definition: my_inttypes.h:69
Definition: abstract_connection_program.h:38
required string type
Definition: replication_group_member_actions.proto:34
case opt name
Definition: sslopt-case.h:33