Crate mariadb_sys
source ·Expand description
Bindings module
Autogenerated bindings to C interfaces for Rust
Re-exports§
pub use self::enum_repertoire_t::Type as my_repertoire_t;
pub use self::enum_collation_id_type::Type as my_collation_id_type_t;
pub use self::enum_collation_name_mode::Type as my_collation_name_mode_t;
pub use self::key_cache_type::Type as KEY_CACHE_TYPE;
pub use self::enum_table_category::Type as TABLE_CATEGORY;
Modules§
Structs§
- Class describing changes to be done by ALTER TABLE. Instance of this class is passed to storage engine in order to determine if this ALTER TABLE can be done using in-place algorithm. It is also used for executing the ALTER TABLE using in-place algorithm.
- Old and new index names. Used for index rename.
- Storage for strings with both length and allocated length. Automatically grows on demand.
- Class is used as a BLOB field value storage for intermediate GROUP_CONCAT results. Used only for GROUP_CONCAT with DISTINCT or ORDER BY options.
- “Declared Type Collation” A combination of collation and its derivation.
- Default_object_creation_ctx – default implementation of Object_creation_ctx.
- This struct is passed to handler table routines, e.g. ha_create(). It does not include the “OR REPLACE” and “IF NOT EXISTS” parts, as these parts are handled on the SQL level and are not needed on the handler level.
- Base class to be used by handlers different shares
- Intrusive parameterized list.
- Element counting policy class for I_P_List which provides basic element counting.
- Iterator for I_P_List.
- A null insertion policy class for I_P_List to be used in cases when push_back() operation is not necessary.
- Element counting policy class for I_P_List to be used in cases when no element counting should be done.
- Structure describing changes to an index to be caused by ALTER TABLE.
- last_leaf_for_name_resolutioning support.
- Context of the owner of metadata locks. I.e. each server connection has such a context.
- An interface to separate the MDL module from the THD, and the rest of the server code.
- @sa MDL_key.
- A pending metadata lock request.
- Savepoint for MDL context.
- A granted metadata lock.
- A reliable way to wait on an MDL lock.
- An abstract class for inspection of a connected subgraph of the wait-for graph.
- Abstract class representing an edge in the waiters graph to be traversed by deadlock detection algorithm.
- Object_creation_ctx – interface for creation context of database objects (views, stored routines, events, triggers). Creation context – is a set of attributes, that should be fixed at the creation time and then be used each time the object is parsed or executed.
- Interface for an instrumented condition. This is an opaque structure.
- Interface for an instrumented file handle. This is an opaque structure.
- Interface for an instrumented metadata lock. This is an opaque structure.
- Interface for an instrumented mutex. This is an opaque structure.
- Interface for an instrumented rwlock. This is an opaque structure.
- Interface for an instrumented socket descriptor. This is an opaque structure.
- Stage instrument information. @since PSI_VERSION_1 This structure is used to register an instrumented stage.
- Interface for an instrumented table handle. This is an opaque structure.
- Interface for an instrumented table operation. This is an opaque structure.
- State data storage for @c start_table_io_wait_v1_t, @c start_table_lock_wait_v1_t. This structure provide temporary storage to a table locker. The content of this structure is considered opaque, the fields are only hints of what an implementation of the psi interface can use. This memory is provided by the instrumented code for performance reasons. @sa start_table_io_wait_v1_t @sa start_table_lock_wait_v1_t
- Interface for an instrumented table share. This is an opaque structure.
- Interface for an instrumented thread. This is an opaque structure.
- The structure describing various parts of the query
- SEQUENCE is in charge of managing the sequence values. It’s also responsible to generate new values and updating the sequence table (engine=SQL_SEQUENCE) trough it’s specialized handler interface.
- A helper struct for schema DDL statements: CREATE SCHEMA [IF NOT EXISTS] name [ schema_specification… ] ALTER SCHEMA name [ schema_specification… ]
- This structure is shared between different table objects. There is one instance of table share per one table in the database.
- System versioning and application-time periods support.
- A helper struct for table DDL statements, e.g.: CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name table_contents_source;
- A handler for hybrid type functions, e.g. COALESCE(), IF(), IFNULL(), NULLIF(), CASE, numeric operators, UNIX_TIMESTAMP(), TIME_TO_SEC().
- A class to store type attributes for the standard data types. Does not include attributes for the extended data types such as ENUM, SET, GEOMETRY.
- This hook used to catch no longer supported keys and process them for backward compatibility.
- View_creation_ctx – creation context of view objects.
- Class representing the fact that some thread waits for table share to be flushed. Is used to represent information about such waits in MDL deadlock detector.
- The handler class is the interface for dynamically loadable storage engines. Do not add ifdefs and take care when adding or changing virtual functions to avoid vtable confusion
- Wrapper that can expose a C vtable as a C++ class
- A C representation of the handler class.
- In-place alter handler context.
- list_node - a node of a single-linked list. @note We never call a destructor for instances of this class.
- my_decimal class limits ‘decimal_t’ type to what we need in MySQL.
- sequence_definition is used when defining a sequence as part of create
- intg is the number of decimal digits (NOT number of decimal_digit_t’s !) before the point frac is the number of decimal digits after the point len is the length of buf (length of allocated space) in decimal_digit_t’s, not in bytes sign false means positive, true means negative buf is an array of decimal_digit_t’s
- The current state of the privilege checking process for the current
- State information for internal tables grants. This structure is part of the TABLE_LIST, and is updated during the ACL check process. @sa GRANT_INFO
- Encryption plugin descriptor
- An instrumented cond structure. @sa mysql_cond_t
- An instrumented FILE structure. @sa MYSQL_FILE
- An instrumented mutex structure. @sa mysql_mutex_t
- @todo remove the “extension”, move st_mysql_options completely out of mysql.h
- An instrumented prlock structure. @sa mysql_prlock_t
- An instrumented rwlock structure. @sa mysql_rwlock_t
- An instrumented socket.
- struct st_mysql_xid is binary compatible with the XID structure as in the X/Open CAE Specification, Distributed Transaction Processing: The XA Specification, X/Open Company Ltd., 1991. http://www.opengroup.org/bookstore/catalog/c193.htm
- Portable implementation of special type of read-write locks.
- struct xid_t is binary compatible with the XID structure as in the X/Open CAE Specification, Distributed Transaction Processing: The XA Specification, X/Open Company Ltd., 1991. http://www.opengroup.org/bookstore/catalog/c193.htm
Constants§
- Options for the START TRANSACTION statement.
Statics§
Functions§
- Used after check_if_supported_inplace_alter() to report error if the result does not match the LOCK/ALGORITHM requirements set by the user.
- Convert a string to a printable format. All non-convertable and control characters are replaced to 5-character sequences ‘\hhhh’.
- Implement MDL_wait_for_subgraph interface.
- Release resources and free memory occupied by the table share.
- Determines MariaDB traditional scalar data types that always present in the server.
- Makes a temporary table Field to handle numeric aggregate functions, e.g. SUM(DISTINCT expr), AVG(DISTINCT expr), etc.
- Return a string type handler for Item If too_big_for_varchar() returns a BLOB variant, according to length. If max_length > 0 create a VARCHAR(n) If max_length == 0 create a CHAR(0)
- Construct a deep copy of the argument in memory root mem_root. The elements themselves are copied by pointer. If you also need to copy elements by value, you should employ list_copy_and_replace_each_value after creating a copy.
- A builder that will create the C++ class from a C vtable. This is used to create a
handler
from ahandlerton
. - Destroy a
handler_bridge
- Check if a storage engine supports a particular alter table in-place
- Signal that the table->read_set and table->write_set table maps changed The handler is allowed to set additional bits in the above map in this call. Normally the handler should ignore all calls until we have done a ha_rnd_init() or ha_index_init(), write_row(), update_row or delete_row() as there may be several calls to this routine.
- Delete a table in the engine. Called for base as well as temporary tables.
- End a batch started with @c start_psi_batch_mode.
- to be actually called to get ‘check()’ functionality
- Public function wrapping the actual handler call. Allows us to enforce asserts regardless of handler implementation. @see commit_inplace_alter_table()
- These functions represent the public interface to users of the handler class, hence they are not virtual. For the inheritance interface, see the (private) functions write_row(), update_row(), and delete_row() below.
- Public functions wrapping the actual handler call. @see prepare_inplace_alter_table()
- Acquire the instrumented table information from a table share. @return an instrumented table share, or NULL.
- In an UPDATE or DELETE, if the row under the cursor was locked by another transaction, and the engine used an optimistic read of the last committed row value under the cursor, then the engine returns 1 from this function. MySQL must NOT try to update this optimistic value. If the optimistic value does not match the WHERE condition, MySQL can decide to skip over this row. Currently only works for InnoDB. This can be used to avoid unnecessary lock waits.
- Positions an index cursor to the index specified in the handle. Fetches the row if available. If the key value is null, begin at the first key of the index.
- Calculate cost of ‘index_only’ scan for given index, a number of ranges and number of records.
- Default rename_table() and delete_table() rename/delete files with a given name and extensions from bas_ext().
- Put the handler in ‘batch’ mode when collecting table io instrumented events. When operating in batch mode:
- use_hidden_primary_key() is called in case of an update/delete when (table_flags() and HA_PRIMARY_KEY_REQUIRED_FOR_DELETE) is defined but we don’t have a primary key
Type Aliases§
- Vector of key pairs from DROP/ADD index which can be renamed.
- When ha_commit_inplace_alter_table() is called the the engine can set this to a function to be called after the ddl log is committed.
- The current state of the privilege checking process for the current
- State information for internal tables grants. This structure is part of the TABLE_LIST, and is updated during the ACL check process. @sa GRANT_INFO
- Intrusive parameterized list.
- Iterator for I_P_List.
- Iterator for I_P_List.
- Intrusive parameterized list.
- Type of an instrumented file. @c MYSQL_FILE is a drop-in replacement for @c FILE. @sa mysql_file_open
- An instrumented socket. @c MYSQL_SOCKET is a replacement for @c my_socket.
- struct st_mysql_xid is binary compatible with the XID structure as in the X/Open CAE Specification, Distributed Transaction Processing: The XA Specification, X/Open Company Ltd., 1991. http://www.opengroup.org/bookstore/catalog/c193.htm
- Convenience typedef, same typedef name as std::vector
- Instrumented memory key. To instrument memory, a memory key must be obtained using @c register_memory. Using a zero key always disable the instrumentation.
- Stage instrument information. @since PSI_VERSION_1 This structure is used to register an instrumented stage.
- Instrumented stage key. To instrument a stage, a stage key must be obtained using @c register_stage. Using a zero key always disable the instrumentation.
- struct xid_t is binary compatible with the XID structure as in the X/Open CAE Specification, Distributed Transaction Processing: The XA Specification, X/Open Company Ltd., 1991. http://www.opengroup.org/bookstore/catalog/c193.htm
- intg is the number of decimal digits (NOT number of decimal_digit_t’s !) before the point frac is the number of decimal digits after the point len is the length of buf (length of allocated space) in decimal_digit_t’s, not in bytes sign false means positive, true means negative buf is an array of decimal_digit_t’s
- Type of an instrumented condition. @c mysql_cond_t is a drop-in replacement for @c pthread_cond_t. @sa mysql_cond_init @sa mysql_cond_wait @sa mysql_cond_timedwait @sa mysql_cond_signal @sa mysql_cond_broadcast @sa mysql_cond_destroy
- Type of an instrumented mutex. @c mysql_mutex_t is a drop-in replacement for @c pthread_mutex_t. @sa mysql_mutex_assert_owner @sa mysql_mutex_assert_not_owner @sa mysql_mutex_init @sa mysql_mutex_lock @sa mysql_mutex_unlock @sa mysql_mutex_destroy
- Type of an instrumented prlock. A prlock is a read write lock that ‘prefers readers’ (pr). @c mysql_prlock_t is a drop-in replacement for @c rw_pr_lock_t. @sa mysql_prlock_init @sa mysql_prlock_rdlock @sa mysql_prlock_wrlock @sa mysql_prlock_unlock @sa mysql_prlock_destroy
- Type of an instrumented rwlock. @c mysql_rwlock_t is a drop-in replacement for @c pthread_rwlock_t. @sa mysql_rwlock_init @sa mysql_rwlock_rdlock @sa mysql_rwlock_tryrdlock @sa mysql_rwlock_wrlock @sa mysql_rwlock_trywrlock @sa mysql_rwlock_unlock @sa mysql_rwlock_destroy
- MRR
- Portable implementation of special type of read-write locks.