24#ifndef COMPONENTS_SERVICES_TABLE_ACCESS_BITS_H
25#define COMPONENTS_SERVICES_TABLE_ACCESS_BITS_H
27#ifndef MYSQL_ABI_CHECK
155 size_t schema_name_length,
157 size_t table_name_length,
160#define TA_ERROR_GRL 1
161#define TA_ERROR_READONLY 2
162#define TA_ERROR_OPEN 3
207 size_t fields_count);
236 const char *index_name,
size_t index_name_length,
328 size_t index,
long long v);
334 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:258
TA_table(* get_table_v1_t)(Table_access ta, size_t ticket)
Get an opened table.
Definition: table_access_bits.h:198
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:154
int(* delete_row_v1_t)(Table_access ta, TA_table table)
Delete the current row.
Definition: table_access_bits.h:304
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:263
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:268
int(* update_row_v1_t)(Table_access ta, TA_table table)
Update the current row.
Definition: table_access_bits.h:299
int(* rollback_v1_t)(Table_access ta)
Rollback changes.
Definition: table_access_bits.h:188
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:284
int(* index_end_v1_t)(Table_access ta, TA_table table, TA_key key)
Close an index.
Definition: table_access_bits.h:274
int(* commit_v1_t)(Table_access ta)
Commit changes.
Definition: table_access_bits.h:183
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:235
int(* rnd_end_v1_t)(Table_access ta, TA_table table)
End a full table scan.
Definition: table_access_bits.h:289
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:333
int(* write_row_v1_t)(Table_access ta, TA_table table)
Insert a new row in the table.
Definition: table_access_bits.h:294
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:309
void(* destroy_table_access_v1_t)(Table_access ta)
Destroy a table access object.
Definition: table_access_bits.h:139
int(* rnd_init_v1_t)(Table_access ta, TA_table table)
Start a full table scan.
Definition: table_access_bits.h:279
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:345
struct TA_key_imp * TA_key
An index key.
Definition: table_access_bits.h:108
struct Table_access_imp * Table_access
Table_access.
Definition: table_access_bits.h:98
bool(* is_field_null_v1_t)(Table_access ta, TA_table table, size_t index)
Is a column NULL.
Definition: table_access_bits.h:315
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:205
Table_access(* create_table_access_v1_t)(MYSQL_THD thd, size_t count)
Create a table access object.
Definition: table_access_bits.h:133
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:363
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:354
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:321
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:252
struct TA_table_imp * TA_table
An opened table.
Definition: table_access_bits.h:103
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:339
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:327
int(* begin_v1_t)(Table_access ta)
Start a table access transaction.
Definition: table_access_bits.h:178
@ 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
static int count
Definition: myisam_ftdump.cc:45
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
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:85
const char * m_name
Column name, in UTF8MB4.
Definition: table_access_bits.h:87
bool m_ascending
Index order.
Definition: table_access_bits.h:91
size_t m_name_length
Column name length, in bytes.
Definition: table_access_bits.h:89
Expected field definition.
Definition: table_access_bits.h:67
TA_field_type m_type
Column type.
Definition: table_access_bits.h:75
const char * m_name
Column name, in UTF8MB4.
Definition: table_access_bits.h:71
bool m_nullable
Nullable.
Definition: table_access_bits.h:77
size_t m_length
Column length.
Definition: table_access_bits.h:79
size_t m_index
Column ordinal position (0-based).
Definition: table_access_bits.h:69
size_t m_name_length
Column name length, in bytes.
Definition: table_access_bits.h:73
Definition: mysql_string_service.cc:60