23#ifndef COMPONENTS_SERVICES_TABLE_ACCESS_BITS_H
24#define COMPONENTS_SERVICES_TABLE_ACCESS_BITS_H
26#ifndef MYSQL_ABI_CHECK
154 size_t schema_name_length,
156 size_t table_name_length,
159#define TA_ERROR_GRL 1
160#define TA_ERROR_READONLY 2
161#define TA_ERROR_OPEN 3
206 size_t fields_count);
235 const char *index_name,
size_t index_name_length,
327 size_t index,
long long v);
333 size_t index,
long long *v);
#define MYSQL_THD
Definition: backup_page_tracker.h:37
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:257
TA_table(* get_table_v1_t)(Table_access ta, size_t ticket)
Get an opened table.
Definition: table_access_bits.h:197
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:153
int(* delete_row_v1_t)(Table_access ta, TA_table table)
Delete the current row.
Definition: table_access_bits.h:303
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:262
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:267
int(* update_row_v1_t)(Table_access ta, TA_table table)
Update the current row.
Definition: table_access_bits.h:298
int(* rollback_v1_t)(Table_access ta)
Rollback changes.
Definition: table_access_bits.h:187
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:283
int(* index_end_v1_t)(Table_access ta, TA_table table, TA_key key)
Close an index.
Definition: table_access_bits.h:273
int(* commit_v1_t)(Table_access ta)
Commit changes.
Definition: table_access_bits.h:182
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:234
int(* rnd_end_v1_t)(Table_access ta, TA_table table)
End a full table scan.
Definition: table_access_bits.h:288
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:332
int(* write_row_v1_t)(Table_access ta, TA_table table)
Insert a new row in the table.
Definition: table_access_bits.h:293
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:308
void(* destroy_table_access_v1_t)(Table_access ta)
Destroy a table access object.
Definition: table_access_bits.h:138
int(* rnd_init_v1_t)(Table_access ta, TA_table table)
Start a full table scan.
Definition: table_access_bits.h:278
TA_lock_type
Table lock type.
Definition: table_access_bits.h:45
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:344
struct TA_key_imp * TA_key
An index key.
Definition: table_access_bits.h:107
struct Table_access_imp * Table_access
Table_access.
Definition: table_access_bits.h:97
bool(* is_field_null_v1_t)(Table_access ta, TA_table table, size_t index)
Is a column NULL.
Definition: table_access_bits.h:314
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:204
Table_access(* create_table_access_v1_t)(MYSQL_THD thd, size_t count)
Create a table access object.
Definition: table_access_bits.h:132
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:362
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:353
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:320
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:251
struct TA_table_imp * TA_table
An opened table.
Definition: table_access_bits.h:102
TA_field_type
Types of columns supported by the table access service.
Definition: table_access_bits.h:55
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:338
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:326
int(* begin_v1_t)(Table_access ta)
Start a table access transaction.
Definition: table_access_bits.h:177
@ TA_READ
Table is opened for read.
Definition: table_access_bits.h:47
@ TA_WRITE
Table is opened for write.
Definition: table_access_bits.h:49
@ TA_TYPE_UNKNOWN
Definition: table_access_bits.h:56
@ TA_TYPE_INTEGER
Definition: table_access_bits.h:57
@ TA_TYPE_JSON
Definition: table_access_bits.h:59
@ TA_TYPE_VARCHAR
Definition: table_access_bits.h:58
@ TA_TYPE_ENUM
Definition: table_access_bits.h:60
static int count
Definition: myisam_ftdump.cc:42
const char * table_name
Definition: rules_table_service.cc:55
required string key
Definition: replication_asynchronous_connection_failover.proto:59
#define DEFINE_SERVICE_HANDLE(name)
Defines an object type that is meant for carrying handles to the implementation-specific objects used...
Definition: service.h:128
Expected index definition.
Definition: table_access_bits.h:84
const char * m_name
Column name, in UTF8MB4.
Definition: table_access_bits.h:86
bool m_ascending
Index order.
Definition: table_access_bits.h:90
size_t m_name_length
Column name length, in bytes.
Definition: table_access_bits.h:88
Expected field definition.
Definition: table_access_bits.h:66
TA_field_type m_type
Column type.
Definition: table_access_bits.h:74
const char * m_name
Column name, in UTF8MB4.
Definition: table_access_bits.h:70
bool m_nullable
Nullable.
Definition: table_access_bits.h:76
size_t m_length
Column length.
Definition: table_access_bits.h:78
size_t m_index
Column ordinal position (0-based).
Definition: table_access_bits.h:68
size_t m_name_length
Column name length, in bytes.
Definition: table_access_bits.h:72
The string functions as a service to the mysql_server component.
Definition: mysql_string_service.cc:45