https://dev.mysql.com/mysql-library-init.html
int mysql_library_init(int argc, char **argv, char **groups) Call this function to initialize the MySQL client library before you call any other MySQL function. #include <mysql.h> #include <stdlib.h> int main(void) { if (mysql_library_init(0, NULL, ...Note To avoid memory leaks after the application is done using the library (for example, after closing the connection to the server), be sure to call mysql_library_end() ...
https://dev.mysql.com/mysql-nutshell.html
An atomic DDL statement combines the data dictionary updates, storage engine operations, and binary log writes associated with a DDL operation into a single, atomic transaction. MySQL now maintains information about password history, enabling ...
https://dev.mysql.com/partitioning-key.html
NDB Cluster uses MD5() for this purpose; for tables using other storage engines, the server employs its own internal hashing function which is based on the same algorithm as PASSWORD(). Unlike the case with other partitioning types, columns used for ... Partitioning by key is similar to partitioning by hash, except that where hash partitioning employs a user-defined expression, the hashing function for key partitioning is supplied by the MySQL ...
https://dev.mysql.com/replication-gtids-functions.html
CREATE FUNCTION GTID_IS_EQUAL(gtid_set_1 LONGTEXT, gtid_set_2 LONGTEXT) RETURNS INT RETURN GTID_SUBSET(gtid_set_1, gtid_set_2) AND GTID_SUBSET(gtid_set_2, gtid_set_1)| This function returns nonzero (true) if two GTID sets are disjoint. CREATE ...
https://dev.mysql.com/row-constructor-optimization.html
Consider the following table, which has a primary key on (c1, c2, c3): CREATE TABLE t1 ( c1 INT, c2 INT, c3 INT, c4 CHAR(100), PRIMARY KEY(c1,c2,c3) ); In this query, the WHERE clause uses all columns in the index. For example, these two statements ...
https://dev.mysql.com/scalar-subqueries.html
For example, LIMIT requires literal integer arguments, and LOAD DATA requires a literal string file name. In its simplest form, a subquery is a scalar subquery that returns a single value. A scalar subquery is a simple operand, and you can use it ...
https://dev.mysql.com/sql-mode.html
Changing the server SQL mode after creating and inserting data into partitioned tables can cause major changes in the behavior of such tables, and could lead to loss or corruption of data. STRICT_TRANS_TABLES If a value could not be inserted as ...
https://dev.mysql.com/storage-engine-setting.html
CREATE TABLE t1 (i INT) ENGINE = INNODB; -- Simple table definitions can be switched from one to another. CREATE TABLE t2 (i INT) ENGINE = CSV; CREATE TABLE t3 (i INT) ENGINE = MEMORY; When you omit the ENGINE option, the default storage engine is ... When you create a new table, you can specify which storage engine to use by adding an ENGINE table option to the CREATE TABLE statement: -- ENGINE=INNODB not needed unless you have set a different -- default storage ...
https://dev.mysql.com/stored-program-restrictions.html
Prepared statement scope is the current session, not the stored program, so the statement could be executed after the program ends, at which point the variables would no longer be in scope. This includes SELECT statements that do not have an INTO ...
https://dev.mysql.com/sys-table-exists.html
This is an OUT parameter, so it must be a variable into which the table type can be stored. Tests whether a given table exists as a regular table, a TEMPORARY table, or a view. If both a temporary and a permanent table exist with the given name, ...