24#ifndef COMPONENTS_SERVICES_TABLE_ACCESS_BITS_H
25#define COMPONENTS_SERVICES_TABLE_ACCESS_BITS_H
27#ifndef MYSQL_ABI_CHECK
156 size_t schema_name_length,
158 size_t table_name_length,
161#define TA_ERROR_GRL 1
162#define TA_ERROR_READONLY 2
163#define TA_ERROR_OPEN 3
208 size_t fields_count);
237 const char *index_name,
size_t index_name_length,
329 size_t index,
long long v);
335 size_t index,
long long *v);
#define MYSQL_THD
Definition: backup_page_tracker.h:38
int(* index_first_v1_t)(Table_access ta, TA_table table, TA_key key)
Position on index at the beginning.
Definition: table_access_bits.h:259
TA_table(* get_table_v1_t)(Table_access ta, size_t ticket)
Get an opened table.
Definition: table_access_bits.h:199
size_t(* add_table_v1_t)(Table_access ta, const char *schema_name, size_t schema_name_length, const char *table_name, size_t table_name_length, TA_lock_type lock_type_arg)
Add a table to a table access session.
Definition: table_access_bits.h:155
void(* table_access_binlog_set_t)(Table_access ta, bool is_binlogging)
Turns on or off the binlogging flag for the current thread.
Definition: table_access_bits.h:370
int(* delete_row_v1_t)(Table_access ta, TA_table table)
Delete the current row.
Definition: table_access_bits.h:305
int(* index_next_v1_t)(Table_access ta, TA_table table, TA_key key)
Advance to the next record in the index.
Definition: table_access_bits.h:264
int(* index_next_same_v1_t)(Table_access ta, TA_table table, TA_key key)
Advance to the next record that matches the current search key.
Definition: table_access_bits.h:269
int(* update_row_v1_t)(Table_access ta, TA_table table)
Update the current row.
Definition: table_access_bits.h:300
int(* rollback_v1_t)(Table_access ta)
Rollback changes.
Definition: table_access_bits.h:189
int(* rnd_next_v1_t)(Table_access ta, TA_table table)
Advance to the next record in a table scan.
Definition: table_access_bits.h:285
int(* index_end_v1_t)(Table_access ta, TA_table table, TA_key key)
Close an index.
Definition: table_access_bits.h:275
bool(* table_access_binlog_get_t)(Table_access ta)
Gets the binlogging flag for the current thread.
Definition: table_access_bits.h:374
int(* commit_v1_t)(Table_access ta)
Commit changes.
Definition: table_access_bits.h:184
int(* index_init_v1_t)(Table_access ta, TA_table table, const char *index_name, size_t index_name_length, const TA_index_field_def *fields, size_t fields_count, TA_key *key)
Open a table index.
Definition: table_access_bits.h:236
int(* rnd_end_v1_t)(Table_access ta, TA_table table)
End a full table scan.
Definition: table_access_bits.h:290
int(* get_field_integer_value_v1_t)(Table_access ta, TA_table table, size_t index, long long *v)
Read an INTEGER column value.
Definition: table_access_bits.h:334
int(* write_row_v1_t)(Table_access ta, TA_table table)
Insert a new row in the table.
Definition: table_access_bits.h:295
void(* set_field_null_v1_t)(Table_access ta, TA_table table, size_t index)
Set a column to NULL.
Definition: table_access_bits.h:310
void(* destroy_table_access_v1_t)(Table_access ta)
Destroy a table access object.
Definition: table_access_bits.h:140
int(* rnd_init_v1_t)(Table_access ta, TA_table table)
Start a full table scan.
Definition: table_access_bits.h:280
TA_lock_type
Table lock type.
Definition: table_access_bits.h:46
int(* get_field_varchar_value_v1_t)(Table_access ta, TA_table table, size_t index, my_h_string v)
Read a VARCHAR column value.
Definition: table_access_bits.h:346
struct TA_key_imp * TA_key
An index key.
Definition: table_access_bits.h:109
struct Table_access_imp * Table_access
Table_access.
Definition: table_access_bits.h:99
bool(* is_field_null_v1_t)(Table_access ta, TA_table table, size_t index)
Is a column NULL.
Definition: table_access_bits.h:316
int(* check_table_fields_v1_t)(Table_access ta, TA_table table, const TA_table_field_def *fields, size_t fields_count)
Check the actual table fields against expected fields.
Definition: table_access_bits.h:206
Table_access(* create_table_access_v1_t)(MYSQL_THD thd, size_t count)
Create a table access object.
Definition: table_access_bits.h:134
int(* get_field_any_value_v1_t)(Table_access ta, TA_table table, size_t index, my_h_string v)
Read any column value.
Definition: table_access_bits.h:364
int(* set_field_any_value_v1_t)(Table_access ta, TA_table table, size_t index, my_h_string v)
Write any column value.
Definition: table_access_bits.h:355
bool(* maybe_field_null_v1_t)(Table_access ta, TA_table table, size_t index)
Can a column be NULL.
Definition: table_access_bits.h:322
int(* index_read_map_v1_t)(Table_access ta, TA_table table, size_t num_parts, TA_key key)
Position a table index at a search key.
Definition: table_access_bits.h:253
struct TA_table_imp * TA_table
An opened table.
Definition: table_access_bits.h:104
TA_field_type
Types of columns supported by the table access service.
Definition: table_access_bits.h:56
int(* set_field_varchar_value_v1_t)(Table_access ta, TA_table table, size_t index, my_h_string v)
Write a VARCHAR column value.
Definition: table_access_bits.h:340
int(* set_field_integer_value_v1_t)(Table_access ta, TA_table table, size_t index, long long v)
Write an INTEGER column value.
Definition: table_access_bits.h:328
int(* begin_v1_t)(Table_access ta)
Start a table access transaction.
Definition: table_access_bits.h:179
@ TA_READ
Table is opened for read.
Definition: table_access_bits.h:48
@ TA_WRITE
Table is opened for write.
Definition: table_access_bits.h:50
@ TA_TYPE_UNKNOWN
Definition: table_access_bits.h:57
@ TA_TYPE_INTEGER
Definition: table_access_bits.h:58
@ TA_TYPE_JSON
Definition: table_access_bits.h:60
@ TA_TYPE_VARCHAR
Definition: table_access_bits.h:59
@ TA_TYPE_ENUM
Definition: table_access_bits.h:61
@ TA_TYPE_TEXT
Definition: table_access_bits.h:62
static int count
Definition: myisam_ftdump.cc:45
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
bool index(const std::string &value, const String &search_for, uint32_t *idx)
Definition: contains.h:76
const char * table_name
Definition: rules_table_service.cc:56
required string key
Definition: replication_asynchronous_connection_failover.proto:60
#define DEFINE_SERVICE_HANDLE(name)
Defines an object type that is meant for carrying handles to the implementation-specific objects used...
Definition: service.h:129
Expected index definition.
Definition: table_access_bits.h:86
const char * m_name
Column name, in UTF8MB4.
Definition: table_access_bits.h:88
bool m_ascending
Index order.
Definition: table_access_bits.h:92
size_t m_name_length
Column name length, in bytes.
Definition: table_access_bits.h:90
Expected field definition.
Definition: table_access_bits.h:68
TA_field_type m_type
Column type.
Definition: table_access_bits.h:76
const char * m_name
Column name, in UTF8MB4.
Definition: table_access_bits.h:72
bool m_nullable
Nullable.
Definition: table_access_bits.h:78
size_t m_length
Column length.
Definition: table_access_bits.h:80
size_t m_index
Column ordinal position (0-based).
Definition: table_access_bits.h:70
size_t m_name_length
Column name length, in bytes.
Definition: table_access_bits.h:74
Definition: mysql_string_service.cc:60