MySql.Data The implementation of the caching_sha2_password authentication plugin. Generates a byte array set with the password of the user in the expected format based on the SSL settings of the current connection. A byte array that contains the password of the user in the expected format. Defines the stage of the authentication. Allows connections to a user account set with the mysql_clear_password authentication plugin. Method that parse the challenge received from server during authentication process. This method extracts salt, relying party name and set it in the object. Buffer holding the server challenge. Thrown if an error occurs while parsing the challenge. Method to obtains an assertion from a FIDO device. The GSSAPI mechanism. Obtain credentials to be used to create a security context username password host Processes the challenge data. A byte array containing the challenge data from the server A byte array containing the response to be sent to the server Security context already established. A byte array containing the challenge data from the server A non-null byte array containing the response to be sent to the server Enables connections to a user account set with the authentication_kerberos authentication plugin. Defines the default behavior for an authentication plugin. Handles the iteration of the multifactor authentication Gets or sets the authentication data returned by the server. This is a factory method that is used only internally. It creates an auth plugin based on the method type Gets the connection option settings. Gets the server version associated with this authentication plugin. Gets the encoding assigned to the native driver. Sets the authentication data required to encode, encrypt, or convert the password of the user. A byte array containing the authentication data provided by the server. This method may be overriden based on the requirements by the implementing authentication plugin. Defines the behavior when checking for constraints. This method is intended to be overriden. Throws a that encapsulates the original exception. The exception to encapsulate. Defines the behavior when authentication is successful. This method is intended to be overriden. Defines the behavior when more data is required from the server. The data returned by the server. The data to return to the server. This method is intended to be overriden. Gets the password for the iteration of the multifactor authentication A password Gets the plugin name based on the authentication plugin type defined during the creation of this object. Gets the user name associated to the connection settings. The user name associated to the connection settings. Gets the encoded, encrypted, or converted password based on the authentication plugin type defined during the creation of this object. This method is intended to be overriden. An object containing the encoded, encrypted, or converted password. Provides functionality to read, decode and convert PEM files to objects supported in .NET. Converts the binary data of a PEM file to an object. A binary representation of the public key provided by the server. An object containing the data found in the public key. Allows connections to a user account set with the authentication_ldap_sasl authentication plugin. Determines if the character is a non-ASCII space. This list was obtained from http://tools.ietf.org/html/rfc3454#appendix-C.1.2 true if the character is a non-ASCII space; otherwise, false. The character. Determines if the character is commonly mapped to nothing. This list was obtained from http://tools.ietf.org/html/rfc3454#appendix-B.1 true if the character is commonly mapped to nothing; otherwise, false. The character. Determines if the character is prohibited. This list was obtained from http://tools.ietf.org/html/rfc3454#appendix-C.3 true if the character is prohibited; otherwise, false. The string. The character index. Prepares the user name or password string. The string to prepare. The prepared string. Allows connections to a user account set with the mysql_native_password authentication plugin. Returns a byte array containing the proper encryption of the given password/seed according to the new 4.1.1 authentication scheme. Enables connections from a user account set with the authentication_iam authentication plugin. Verify that OCI .NET SDK is referenced. Get the values for the key_file and fingerprint entries. Sign nonce sent by server using SHA256 algorithm and the private key provided by the user. Base class to handle SCRAM authentication methods Defines the state of the authentication process. Gets the name of the method. Parses the server's challenge token and returns the next challenge response. The next challenge response. Builds up the client-first message. An array of bytes containig the client-first message. Processes the server response from the client-first message and builds up the client-final message. Response from the server. An array of bytes containing the client-final message. Validates the server response. Server-final message Creates the HMAC SHA1 context. The HMAC context. The secret key. Apply the HMAC keyed algorithm. The results of the HMAC keyed algorithm. The key. The string. Applies the cryptographic hash function. The results of the hash. The string. Applies the exclusive-or operation to combine two octet strings. The alpha component. The blue component. The SCRAM-SHA-1 SASL mechanism. A salted challenge/response SASL mechanism that uses the HMAC SHA-1 algorithm. Initializes a new instance of the class. Creates a new SCRAM-SHA-1 SASL context. The user name. The password. The host. Gets the name of the method. The SCRAM-SHA-256 SASL mechanism. A salted challenge/response SASL mechanism that uses the HMAC SHA-256 algorithm. Initializes a new instance of the class. Creates a new SCRAM-SHA-256 SASL context. The user name. The password. The host. Gets the name of the method. The implementation of the sha256_password authentication plugin. The byte array representation of the public key provided by the server. Applies XOR to the byte arrays provided as input. A byte array that contains the results of the XOR operation. Allows connections to a user account set with the authentication_windows authentication plugin. Allows importing large amounts of data into a database with bulk loading. Gets or sets the connection. The connection. Gets or sets the field terminator. The field terminator. Gets or sets the line terminator. The line terminator. Gets or sets the name of the table. The name of the table. Gets or sets the character set. The character set. Gets or sets the name of the file. The name of the file. Gets or sets the timeout. The timeout. Gets or sets a value indicating whether the file name that is to be loaded is local to the client or not. The default value is false. true if local; otherwise, false. Gets or sets the number of lines to skip. The number of lines to skip. Gets or sets the line prefix. The line prefix. Gets or sets the field quotation character. The field quotation character. Gets or sets a value indicating whether [field quotation optional]. true if [field quotation optional]; otherwise, false. Gets or sets the escape character. The escape character. Gets or sets the conflict option. The conflict option. Gets or sets the priority. The priority. Gets the columns. The columns. Gets the expressions. The expressions. Executes the load operation. The number of rows inserted. Asynchronous version of the load operation. The number of rows inserted. Executes the load operation asynchronously while the cancellation isn't requested. The cancellation token. The number of rows inserted. Represents the priority set for bulk loading operations. This is the default and indicates normal priority Low priority will cause the load operation to wait until all readers of the table have finished. This only affects storage engines that use only table-level locking such as MyISAM, Memory, and Merge. Concurrent priority is only relevant for MyISAM tables and signals that if the table has no free blocks in the middle that other readers can retrieve data from the table while the load operation is happening. Represents the behavior when conflicts arise during bulk loading operations. This is the default and indicates normal operation. In the event of a LOCAL load, this is the same as ignore. When the data file is on the server, then a key conflict will cause an error to be thrown and the rest of the data file ignored. Replace column values when a key conflict occurs. Ignore any rows where the primary key conflicts. Summary description for CharSetMap. Returns the text encoding for a given MySQL character set name Name of the character set to get the encoding for Encoding object for the given character set name Initializes the mapping. Represents a character set object. Represents a SQL statement to execute against a MySQL database. This class cannot be inherited. You can reset the property and reuse the object. However, you must close the object before you can execute a new or previous command. If an exception of type is generated by the method executing , the instance remains open. It is the responsibility of the programmer to close the connection. You can read more about it here. Using the '@' symbol for paramters is now the preferred approach although the old pattern of using '?' is still supported. Please be aware that using '@' can cause conflicts when user variables are also used. For more information, see the documentation on the AllowUserVariables connection string option. Initializes a new instance of the MySqlCommand class. The base constructor initializes all fields to their default values. Initializes a new instance of the class with the text of the query. The text of the query. Initializes a new instance of the class with the text of the query and a . The text of the query. A that represents the connection to an instance of MySQL Server. Initializes a new instance of the class with the text of the query, a , and the . The text of the query. A that represents the connection to an instance of MySQL Server. The in which the executes. Provides the ID of the last inserted row. ID of the last inserted row. -1 if none exists. An important point to remember is that this property can be used in batch SQL scenarios but it's important to remember that it will only reflect the insert ID from the last insert statement in the batch. This property can also be used when the batch includes select statements and ExecuteReader is used. This property can be consulted during result set processing. Gets or sets the SQL statement to execute at the data source. The SQL statement or stored procedure to execute. The default is an empty string. You can read more about it here. Gets or sets the wait time before terminating the attempt to execute a command and generating an error. The time (in seconds) to wait for the command to execute. The default is 30 seconds. CommandTimeout is dependent on the ability of MySQL to cancel an executing query. Gets or sets a value indicating how the property is to be interpreted. One of the values. The default is . You can read more about it here. Gets a boolean value that indicates whether the method has been called. True if it is Prepared; otherwise, false. Gets or sets the object used by this instance of the . The connection to a data source. The default value is a null reference. Gets the object. The parameters of the SQL statement or stored procedure. The default is an empty collection. Connector/NET does not support unnamed parameters. Every parameter added to the collection must have an associated name. You can read more about it here. Parameters can be used along with . There are no restrictions in this regard. Gets the object. The query attributes defined for the statement. The default is an empty collection. Connector/NET does not support unnamed query attributes. Every query attribute added to the collection must have an associated name. You can read more about it here. Query Attributes can be used along with . There are no restrictions in this regard. Gets or sets the instance of within which executes. The . The default value is a null reference (Nothing in Visual Basic). You cannot set the property if it is already set to a specific value, and the command is in the process of executing. If you set the transaction to use a object that is not connected to the same as the object, an exception will be thrown the next time you attempt to execute a statement. Gets or sets a value that indicates whether caching is enabled. True if it is enabled; otherwise, false. Gets or sets the seconds for how long a TableDirect result should be cached. Number of seconds. Gets or sets how command results are applied to the when used by the method of the . One of the values. The default value is Both unless the command is automatically generated (as in the case of the ), in which case the default is None. Gets or sets a value indicating whether the command object should be visible in a Windows Form Designer control. True if it should be visible; otherwise, false. Gets or sets the used by this . The connection. Gets the collection of objects. The collection. Gets or sets the within which this object executes. The transaction. Attempts to cancel the execution of a currently active command Cancelling a currently active query only works with MySQL versions 5.0.0 and higher. Creates a new instance of a object. This method is a strongly-typed version of . A object. Check the connection to make sure - it is open - it is not currently being used by a reader - and we have the right version of MySQL for the requested command type Executes a SQL statement against the connection and returns the number of rows affected. Number of rows affected You can use to perform any type of database operation, however any resultsets returned will not be available. Any output parameters used in calling a stored procedure will be populated with data and can be retrieved after execution is complete. For UPDATE, INSERT, and DELETE statements, the return value is the number of rows affected by the command. For all other types of statements, the return value is -1. Reset reader to null, to avoid "There is already an open data reader" on the next ExecuteReader(). Used in error handling scenarios. Reset SQL_SELECT_LIMIT that could have been modified by CommandBehavior. Sends the value to and builds a object. A object. When the property is set to StoredProcedure, the property should be set to the name of the stored procedure. The command executes this stored procedure when you call ExecuteReader. While is in use, the associated instance of is busy serving it and no other operations can be performed on , other than closing it. This is the case until the method of MySqlDataReader is called. Sends the to the Connection, and builds a using one of the values. One of the values. When the property is set to StoredProcedure, the property should be set to the name of the stored procedure. The command executes this stored procedure when you call ExecuteReader. If the MySqlDataReader object is created with CommandBehavior set to CloseConnection, closing the MySqlDataReader instance closes the connection automatically. When calling ExecuteReader with the SingleRow behavior, you should be aware that using a limit clause in your SQL will cause all rows (up to the limit given) to be retrieved by the client. The method will still return false after the first row but pulling all rows of data into the client will have a performance impact. If the limit clause is not necessary, it should be avoided. A object. Executes the query, and returns the first column of the first row in the result set returned by the query. Extra columns or rows are ignored. The first column of the first row in the result set, or a null reference if the result set is empty Use the ExecuteScalar method to retrieve a single value (for example, an aggregate value) from a database. This requires less code than using the method, and then performing the operations necessary to generate the single value using the data returned by a Creates a prepared version of the command on an instance of MySQL Server. Creates a clone of this object. CommandText, Connection, and Transaction properties are included as well as the entire parameter and the arribute list. The cloned object. Initiates the asynchronous execution of the SQL statement or stored procedure that is described by this , and retrieves one or more result sets from the server. An that can be used to poll, wait for results, or both; this value is also needed when invoking EndExecuteReader, which returns a instance that can be used to retrieve the returned rows. Initiates the asynchronous execution of the SQL statement or stored procedure that is described by this using one of the CommandBehavior values. One of the values, indicating options for statement execution and data retrieval. An that can be used to poll, wait for results, or both; this value is also needed when invoking EndExecuteReader, which returns a instance that can be used to retrieve the returned rows. Finishes asynchronous execution of a SQL statement, returning the requested . The returned by the call to . A MySqlDataReader object that can be used to retrieve the requested rows. Initiates the asynchronous execution of the SQL statement or stored procedure that is described by this . An delegate that is invoked when the command's execution has completed. Pass a null reference to indicate that no callback is required. A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback procedure using the property. An that can be used to poll or wait for results, or both; this value is also needed when invoking , which returns the number of affected rows. Initiates the asynchronous execution of the SQL statement or stored procedure that is described by this . An that can be used to poll or wait for results, or both; this value is also needed when invoking , which returns the number of affected rows. Finishes asynchronous execution of a SQL statement. The returned by the call to . Verifies if a query is valid even if it has not spaces or is a stored procedure call Query to validate If it is necessary to add call statement Releases the resources used by the Releases the resources used by the Summary description for API. Summary description for CompressedStream. Represents a connection to a MySQL Server database. This class cannot be inherited. A object represents a session to a MySQL Server data source. When you create an instance of , all properties are set to their initial values. If the goes out of scope, it is not closed. Therefore, you must explicitly close the connection by calling or . Occurs when FIDO authentication request to perform gesture action on a device. Occurs when MySQL returns warnings as a result of executing a command or query. Initializes a new instance of the class. You can read more about it here. Initializes a new instance of the class when given a string containing the connection string. You can read more about it here. The connection properties used to open the MySQL database. Determines whether the connection is a clone of other connection. Returns the id of the server thread this connection is executing on Gets the name of the MySQL server to which to connect. Gets the time to wait while trying to establish a connection before terminating the attempt and generating an error. A value of 0 indicates no limit, and should be avoided in a because an attempt to connect will wait indefinitely. The value set is less than 0. Gets the name of the current database or the database to be used after a connection is opened. The name of the current database or the name of the database to be used after a connection is opened. The default value is an empty string. The property does not update dynamically. If you change the current database using a SQL statement, then this property may reflect the wrong value. If you change the current database using the method, this property is updated to reflect the new database. Indicates if this connection should use compression when communicating with the server. Gets the current state of the connection. A bitwise combination of the values. The default is . The allowed state changes are: From to , using the method of the connection object. From Open to Closed, using either the Close method or the Dispose method of the connection object. Gets a string containing the version of the MySQL server to which the client is connected. The version of the instance of MySQL. The connection is closed. Gets or sets the string used to connect to a MySQL Server database. You can read more about it here. Gets the instance of the Gets a boolean value that indicates whether the password associated to the connection is expired. Starts a database transaction. Specifies the isolation level for the transaction. An object representing the new transaction. Creates and returns a System.Data.Common.DbCommand object associated with the current connection. A object. Changes the current database for an open MySqlConnection. The name of the database to use. The value supplied in the databaseName parameter must be a valid database name. The databaseName parameter cannot contain a null value, an empty string, or a string with only blank characters. When you are using connection pooling against MySQL, and you close the connection, it is returned to the connection pool. The next time the connection is retrieved from the pool, the reset connection request executes before the user performs any operations. The database name is not valid. The connection is not open. Cannot change the database. Pings the server. true if the ping was successful; otherwise, false. Opens a database connection with the property settings specified by the . Cannot open a connection without specifying a data source or server. A connection-level error occurred while opening the connection. The draws an open connection from the connection pool if one is available. Otherwise, it establishes a new connection to an instance of MySQL. Creates and returns a object associated with the . A object. Closes the connection to the database. This is the preferred method of closing any open connection. The method rolls back any pending transactions. It then releases the connection to the connection pool, or closes the connection if connection pooling is disabled. An application can call more than one time. No exception is generated. Cancels the query after the specified time interval. The length of time (in seconds) to wait for the cancelation of the command execution. Sets query timeout. If timeout has been set prior and not yet cleared ClearCommandTimeout(), it has no effect. timeout in seconds true if Clears query timeout, allowing next SetCommandTimeout() to succeed. Gets a schema collection based on the provided restriction values. The name of the collection. The values to restrict. A schema collection object. Empties the connection pool associated with the specified connection. The associated with the pool to be cleared. clears the connection pool that is associated with the connection. If additional connections associated with connection are in use at the time of the call, they are marked appropriately and are discarded (instead of being returned to the pool) when is called on them. Clears all connection pools. ClearAllPools essentially performs a on all current connection pools. Releases the resources used by the Initiates the asynchronous execution of a transaction. An object representing the new transaction. Asynchronous version of BeginTransaction. The cancellation token. An object representing the new transaction. Asynchronous version of BeginTransaction. The isolation level under which the transaction should run. An object representing the new transaction. Asynchronous version of BeginTransaction. The isolation level under which the transaction should run. The cancellation token. An object representing the new transaction. Asynchronous version of the ChangeDataBase method. The name of the database to use. Asynchronous version of the ChangeDataBase method. The name of the database to use. The cancellation token. Asynchronous version of the Close method. Asynchronous version of the method. The cancellation token. Asynchronous version of the method. The connection associated with the pool to be cleared. Asynchronous version of the method. The connection associated with the pool to be cleared. The cancellation token. Asynchronous version of the method. Asynchronous version of the method. The cancellation token. Asynchronous version of the method. The name of the collection. The values to restrict. A collection of schema objects. Asynchronous version of the method. The name of the collection. The values to restrict. The cancellation token. A collection of schema objects. Returns schema information for the data source of this . A that contains schema information. Returns schema information for the data source of this using the specified string for the schema name. Specifies the name of the schema to return. A that contains schema information. Returns schema information for the data source of this using the specified string for the schema name and the specified string array for the restriction values. Specifies the name of the schema to return. Specifies a set of restriction values for the requested schema. A that contains schema information. Enlists in the specified transaction. A reference to an existing in which to enlist. Creates a new MySqlConnection object with the exact same ConnectionString value A cloned MySqlConnection object Represents the method to handle the event of a Represents the method to handle the event of a . Provides data for the InfoMessage event. This class cannot be inherited. Gets or sets an array of objects set with the errors found. IDisposable wrapper around SetCommandTimeout and ClearCommandTimeout functionality. Summary description for Crypt. Simple XOR scramble Source array Index inside source array Destination array Index inside destination array Password used to xor the bits Number of bytes to scramble Returns a byte array containing the proper encryption of the given password/seed according to the new 4.1.1 authentication scheme. Encrypts a password using the MySql encryption scheme The password to encrypt The encryption seed the server gave us Indicates if we should use the old or new encryption scheme Hashes a password using the algorithm from Monty's code. The first element in the return is the result of the "old" hash. The second element is the rest of the "new" hash. Password to be hashed Two element array containing the hashed values Provides a means of reading a forward-only stream of rows from a MySQL database. This class cannot be inherited. To create a , you must call the method of the object, rather than directly using a constructor. While the is in use, the associated is busy serving the , and no other operations can be performed on the MySqlConnection other than closing it. This is the case until the method of the is called. and are the only properties that you can call after the is closed. Though the property may be accessed at any time while the exists, always call Close before returning the value of to ensure an accurate return value. For optimal performance, avoids creating unnecessary objects or making unnecessary copies of data. As a result, multiple calls to methods such as return a reference to the same object. Use caution if you are modifying the underlying value of the objects returned by methods such as . Gets the number of columns in the current row. The number of columns in the current row. Gets a value indicating whether the MySqlDataReader contains one or more rows. true if the contains one or more rows; otherwise false. Gets a value indicating whether the data reader is closed. true if the is closed; otherwise false. Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. The number of rows changed, inserted, or deleted. -1 for SELECT statements; 0 if no rows were affected or the statement failed. Overloaded. Gets the value of a column in its native format. In C#, this property is the indexer for the class. The value of the specified column. Gets the value of a column in its native format. [C#] In C#, this property is the indexer for the class. The value of the specified column. Gets a value indicating the depth of nesting for the current row. This method is not supported currently and always returns 0. The depth of nesting for the current row. Closes the MySqlDataReader object. Gets the value of the specified column as a Boolean. The column name. The value of the specified column. Gets the value of the specified column as a Boolean. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a byte. The column name. The value of the specified column. Gets the value of the specified column as a byte. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a sbyte. The column name. The value of the specified column. Gets the value of the specified column as a sbyte. The zero-based column ordinal. The value of the specified column. Reads a stream of bytes from the specified column offset into the buffer an array starting at the given buffer offset. The zero-based column ordinal. The index within the field from which to begin the read operation. The buffer into which to read the stream of bytes. The index for buffer to begin the read operation. The maximum length to copy into the buffer. The actual number of bytes read. Gets the value of the specified column as a single character. The column name. The value of the specified column. Gets the value of the specified column as a single character. The zero-based column ordinal. The value of the specified column. Reads a stream of characters from the specified column offset into the buffer as an array starting at the given buffer offset. The zero-based column ordinal. The index within the row from which to begin the read operation. The buffer into which to copy the data. The index with the buffer to which the data will be copied. The maximum number of characters to read. The actual number of characters read. Gets the name of the source data type. The zero-based column ordinal. A string representing the name of the data type. Gets the value of the specified column as a object. No conversions are performed; therefore, the data retrieved must already be a object. Call IsDBNull to check for null values before calling this method. The column name. The value of the specified column. Gets the value of the specified column as a object. No conversions are performed; therefore, the data retrieved must already be a object. Call IsDBNull to check for null values before calling this method. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a object. No conversions are performed; therefore, the data retrieved must already be a object. Call to check for null values before calling this method. MySql allows date columns to contain the value '0000-00-00' and datetime columns to contain the value '0000-00-00 00:00:00'. The DateTime structure cannot contain or represent these values. To read a datetime value from a column that might contain zero values, use . The behavior of reading a zero datetime column using this method is defined by the ZeroDateTimeBehavior connection string option. For more information on this option, please refer to . The column name. The value of the specified column. Gets the value of the specified column as a object. No conversions are performed; therefore, the data retrieved must already be a object. Call to check for null values before calling this method. MySql allows date columns to contain the value '0000-00-00' and datetime columns to contain the value '0000-00-00 00:00:00'. The DateTime structure cannot contain or represent these values. To read a datetime value from a column that might contain zero values, use . The behavior of reading a zero datetime column using this method is defined by the ZeroDateTimeBehavior connection string option. For more information on this option, please refer to . The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a . The name of the colum. The value of the specified column as a . Gets the value of the specified column as a . The index of the colum. The value of the specified column as a . Gets the value of the specified column as a object. No conversions are performed; therefore, the data retrieved must already be a object. Call to check for null values before calling this method. The column name. The value of the specified column. Gets the value of the specified column as a object. No conversions are performed; therefore, the data retrieved must already be a object. Call to check for null values before calling this method. The zero-based column ordinal The value of the specified column. Gets the value of the specified column as a double-precision floating point number. No conversions are performed; therefore, the data retrieved must already be a object. Call to check for null values before calling this method. The column name. The value of the specified column. Gets the value of the specified column as a double-precision floating point number. No conversions are performed; therefore, the data retrieved must already be a object. Call to check for null values before calling this method. The zero-based column ordinal. The value of the specified column. Gets the Type that is the data type of the object. The column name. The data type of the specified column. Gets the Type that is the data type of the object. The zero-based column ordinal. The data type of the specified column. Gets the value of the specified column as a single-precision floating point number. No conversions are performed; therefore, the data retrieved must already be a object. Call to check for null values before calling this method. The column name. The value of the specified column. Gets the value of the specified column as a single-precision floating point number. No conversions are performed; therefore, the data retrieved must already be a object. Call to check for null values before calling this method. The zero-based column ordinal. The value of the specified column. Gets the body definition of a routine. The column name. The definition of the routine. Gets the value of the specified column as a globally-unique identifier(GUID). The name of the column. The value of the specified column. Gets the value of the specified column as a globally-unique identifier(GUID). The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a 16-bit signed integer. No conversions are performed; therefore, the data retrieved must already be a value. Call to check for null values before calling this method. The column name. The value of the specified column. Gets the value of the specified column as a 16-bit signed integer. No conversions are performed; therefore, the data retrieved must already be a value. Call to check for null values before calling this method. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a 32-bit signed integer. No conversions are performed; therefore, the data retrieved must already be a value. Call to check for null values before calling this method. The column name. The value of the specified column. Gets the value of the specified column as a 32-bit signed integer. No conversions are performed; therefore, the data retrieved must already be a value. Call to check for null values before calling this method. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a 64-bit signed integer. No conversions are performed; therefore, the data retrieved must already be a value. Call to check for null values before calling this method. The column name. The value of the specified column. Gets the value of the specified column as a 64-bit signed integer. No conversions are performed; therefore, the data retrieved must already be a value. Call to check for null values before calling this method. The zero-based column ordinal. The value of the specified column. Gets the name of the specified column. The zero-based column ordinal. The name of the specified column. Gets the column ordinal, given the name of the column. The name of the column. The zero-based column ordinal. Gets a stream to retrieve data from the specified column. The zero-based column ordinal. A stream Gets the value of the specified column as a object. No conversions are performed; therefore, the data retrieved must already be a object. Call to check for null values before calling this method. The column name. The value of the specified column. Gets the value of the specified column as a object. No conversions are performed; therefore, the data retrieved must already be a object. Call to check for null values before calling this method. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a object. No conversions are performed; therefore, the data retrieved must already be a value. Call to check for null values before calling this method. The column name. The value of the specified column. Gets the value of the specified column as a object. No conversions are performed; therefore, the data retrieved must already be a value. Call to check for null values before calling this method. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column in its native format. The zero-based column ordinal. The value of the specified column. Gets all attribute columns in the collection for the current row. An array of into which to copy the attribute columns. The number of instances of in the array. Gets the value of the specified column as a 16-bit unsigned integer. No conversions are performed; therefore, the data retrieved must already be a value. Call to check for null values before calling this method. The column name. The value of the specified column. Gets the value of the specified column as a 16-bit unsigned integer. No conversions are performed; therefore, the data retrieved must already be a value. Call to check for null values before calling this method. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a 32-bit unsigned integer. No conversions are performed; therefore, the data retrieved must already be a value. Call to check for null values before calling this method. The column name. The value of the specified column. Gets the value of the specified column as a 32-bit unsigned integer. No conversions are performed; therefore, the data retrieved must already be a value. Call to check for null values before calling this method. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a 64-bit unsigned integer. No conversions are performed; therefore, the data retrieved must already be a value. Call to check for null values before calling this method. The column name. The value of the specified column. Gets the value of the specified column as a 64-bit unsigned integer. No conversions are performed; therefore, the data retrieved must already be a value. Call to check for null values before calling this method. The zero-based column ordinal. The value of the specified column. Returns a object for the requested column ordinal. The zero-based column ordinal. A object. Gets a value indicating whether the column contains non-existent or missing values. The zero-based column ordinal. true if the specified column is equivalent to ; otherwise false. Advances the data reader to the next result, when reading the results of batch SQL statements. true if there are more result sets; otherwise false. Advances the to the next record. true if there are more rows; otherwise false. Gets the value of the specified column as a . The index of the colum. The value of the specified column as a . Gets the value of the specified column as a . The name of the colum. The value of the specified column as a . Returns an that iterates through the . An that can be used to iterate through the rows in the data reader. Gets the value of the specified column as a type. Type. The index of the column. The value of the column. Releases all resources used by the current instance of the class. Returns a DataTable that describes the column metadata of the MySqlDataReader. Summary description for BaseDriver. For pooled connections, time when the driver was put into idle queue Loads the properties from the connected server into a hashtable Loads all the current character set names and ids for this server into the charSets hashtable The exception that is thrown when MySQL returns an error. This class cannot be inherited. This class is created whenever the MySQL Data Provider encounters an error generated from the server. Any open connections are not automatically closed when an exception is thrown. If the client application determines that the exception is fatal, it should close any open objects or objects. Gets a number that identifies the type of error. True if this exception was fatal and cause the closing of the connection, false otherwise. Gets the SQL state. Gets an integer that representes the MySQL error code. Summary description for Field. We are adding a custom installer class to our assembly so our installer can make proper changes to the machine.config file. We override Install so we can add our assembly to the proper machine.config files. We override Uninstall so we can remove out assembly from the machine.config files. Automatically generates single-table commands used to reconcile changes made to a with the associated MySQL database. This class cannot be inherited. The does not automatically generate the SQL statements required to reconcile changes made to a with the associated instance of MySQL. However, you can create a object to automatically generate SQL statements for single-table updates if you set the property of the . Then, any additional SQL statements that you do not set are generated by the . The registers itself as a listener for RowUpdating events whenever you set the property. You can only associate one or object with each other at one time. To generate INSERT, UPDATE, or DELETE statements, the uses the property to retrieve a required set of metadata automatically. If you change the after the metadata has is retrieved (for example, after the first update), you should call the method to update the metadata. The must also return at least one primary key or unique column. If none are present, an exception is generated, and the commands are not generated. The also uses the , , and properties referenced by the . The user should call if any of these properties are modified, or if the itself is replaced. Otherwise the , , and properties retain their previous values. If you call , the is disassociated from the , and the generated commands are no longer used. The following example uses the , along and , to select rows from a data source. The example is passed an initialized , a connection string, a query string that is a SQL SELECT statement, and a string that is the name of the database table. The example then creates a . public static DataSet SelectRows(string myConnection, string mySelectQuery, string myTableName) { MySqlConnection myConn = new MySqlConnection(myConnection); MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(); myDataAdapter.SelectCommand = new MySqlCommand(mySelectQuery, myConn); MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter); myConn.Open(); DataSet ds = new DataSet(); myDataAdapter.Fill(ds, myTableName); ///code to modify data in DataSet here ///Without the MySqlCommandBuilder this line would fail myDataAdapter.Update(ds, myTableName); myConn.Close(); return ds; } Initializes a new instance of the class. Initializes a new instance of the class with the associated object. The to use. The registers itself as a listener for events that are generated by the specified in this property. When you create a new instance , any existing associated with this is released. Gets or sets a object for which SQL statements are automatically generated. A object. The registers itself as a listener for events that are generated by the specified in this property. When you create a new instance , any existing associated with this is released. Retrieves parameter information from the stored procedure specified in the and populates the Parameters collection of the specified object. This method is not currently supported since stored procedures are not available in MySQL. The referencing the stored procedure from which the parameter information is to be derived. The derived parameters are added to the Parameters collection of the . The command text is not a valid stored procedure name. Gets the delete command. The object required to perform deletions. Gets the update command. The object required to perform updates. Gets the insert command. The object required to perform inserts. Given an unquoted identifier in the correct catalog case, returns the correct quoted form of that identifier, including properly escaping any embedded quotes in the identifier. The original unquoted identifier. The quoted version of the identifier. Embedded quotes within the identifier are properly escaped. If the unquotedIdentifier is null. Given a quoted identifier, returns the correct unquoted form of that identifier, including properly un-escaping any embedded quotes in the identifier. The identifier that will have its embedded quotes removed. The unquoted identifier, with embedded quotes properly un-escaped. If the quotedIdentifier is null. Returns the schema table for the The for which to retrieve the corresponding schema table. A that represents the schema for the specific . Returns the full parameter name, given the partial parameter name. The partial name of the parameter. The full parameter name corresponding to the partial parameter name requested. Allows the provider implementation of the class to handle additional parameter properties. A to which the additional modifications are applied. The from the schema table provided by . The type of command being generated; INSERT, UPDATE or DELETE. true if the parameter is part of the update or delete WHERE clause, false if it is part of the insert or update values. Returns the name of the specified parameter in the format of @p#. Use when building a custom command builder. The number to be included as part of the parameter's name. The name of the parameter with the specified number appended as part of the parameter name. Returns the placeholder for the parameter in the associated SQL statement. The number to be included as part of the parameter's name. The name of the parameter with the specified number appended. Registers the to handle the event for a . Represents a set of data commands and a database connection that are used to fill a dataset and update a MySQL database. This class cannot be inherited. The , serves as a bridge between a and MySQL for retrieving and saving data. The provides this bridge by mapping , which changes the data in the to match the data in the data source, and , which changes the data in the data source to match the data in the , using the appropriate SQL statements against the data source. When the fills a , it will create the necessary tables and columns for the returned data if they do not already exist. However, primary key information will not be included in the implicitly created schema unless the property is set to . You may also have the create the schema of the , including primary key information, before filling it with data using . is used in conjunction with and to increase performance when connecting to a MySQL database. The also includes the , , , , and properties to facilitate the loading and updating of data. When an instance of is created, the read/write properties are set to initial values. For a list of these values, see the constructor. Please be aware that the class allows only Int16, Int32, and Int64 to have the AutoIncrement property set. If you plan to use autoincremement columns with MySQL, you should consider using signed integer columns. The following example creates a and a . The is opened and set as the for the . The example then calls , and closes the connection. To accomplish this, the is passed a connection string and a query string that is a SQL INSERT statement. public DataSet SelectRows(DataSet dataset,string connection,string query) { MySqlConnection conn = new MySqlConnection(connection); MySqlDataAdapter adapter = new MySqlDataAdapter(); adapter.SelectCommand = new MySqlCommand(query, conn); adapter.Fill(dataset); return dataset; } Occurs during Update before a command is executed against the data source. The attempt to update is made, so the event fires. Occurs during Update after a command is executed against the data source. The attempt to update is made, so the event fires. Initializes a new instance of the class. When an instance of is created, the following read/write properties are set to the following initial values. Properties Initial Value You can change the value of any of these properties through a separate call to the property. Initializes a new instance of the class with the specified as the property. that is a SQL SELECT statement or stored procedure and is set as the property of the . Initializes a new instance of the class with a and a object. A String that is a SQL SELECT statement or stored procedure to be used by the property of the . A that represents the connection. This implementation of the opens and closes a if it is not already open. This can be useful in a an application that must call the method for two or more MySqlDataAdapter objects. If the MySqlConnection is already open, you must explicitly call or to close it. Initializes a new instance of the class with a and a connection string. A that is a SQL SELECT statement or stored procedure to be used by the property of the . The connection string Gets or sets a SQL statement or stored procedure used to delete records from the data set. A used during to delete records in the database that correspond to deleted rows in the . During , if this property is not set and primary key information is present in the , the can be generated automatically if you set the property and use the . Then, any additional commands that you do not set are generated by the . This generation logic requires key column information to be present in the . When is assigned to a previously created , the is not cloned. The maintains a reference to the previously created object. Gets or sets a SQL statement or stored procedure used to insert records into the data set. A used during to insert records into the database that correspond to new rows in the . During , if this property is not set and primary key information is present in the , the InsertCommand can be generated automatically if you set the property and use the . Then, any additional commands that you do not set are generated by the MySqlCommandBuilder. This generation logic requires key column information to be present in the DataSet. When InsertCommand is assigned to a previously created , the is not cloned. The InsertCommand maintains a reference to the previously created object. If execution of this command returns rows, these rows may be added to the DataSet depending on how you set the property of the object. Gets or sets a SQL statement or stored procedure used to select records in the data source. A used during to select records from the database for placement in the . When is assigned to a previously created , the is not cloned. The maintains a reference to the previously created object. If the does not return any rows, no tables are added to the , and no exception is raised. Gets or sets a SQL statement or stored procedure used to updated records in the data source. A used during to update records in the database with data from the . During , if this property is not set and primary key information is present in the , the can be generated automatically if you set the property and use the . Then, any additional commands that you do not set are generated by the . This generation logic requires key column information to be present in the DataSet. When is assigned to a previously created , the is not cloned. The maintains a reference to the previously created object. If execution of this command returns rows, these rows may be merged with the DataSet depending on how you set the property of the object. Open connection if it was closed. Necessary to workaround "connection must be open and valid" error with batched updates. Row state list of opened connections If connection is opened by this function, the list is updated true if connection was opened Gets or sets a value that enables or disables batch processing support, and specifies the number of commands that can be executed in a batch. Returns the number of rows to process for each batch. Value is Effect 0 There is no limit on the batch size. 1 Disables batch updating. > 1 Changes are sent using batches of operations at a time. When setting this to a value other than 1, all the commands associated with the must have their property set to None or OutputParameters. An exception will be thrown otherwise. Initializes batching for the . Adds a to the current batch. The to add to the batch. The number of commands in the batch before adding the . Executes the current batch. The return value from the last command in the batch. Removes all objects from the batch. Ends batching for the . Returns a System.Data.IDataParameter from one of the commands in the current batch. The index of the command to retrieve the parameter from. The index of the parameter within the command. The specified. Overridden. See . Initializes a new instance of the class. The that updates the data source. The to execute during the . Whether the command is an UPDATE, INSERT, DELETE, or SELECT statement. A object. Overridden. Raises the RowUpdating event. A MySqlRowUpdatingEventArgs that contains the event data. Overridden. Raises the RowUpdated event. A MySqlRowUpdatedEventArgs that contains the event data. Asynchronous version of the method. The to fill records with. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The to fill records with. The cancellation token. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The name of the to use for table mapping. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The name of the to use for table mapping. The cancellation token. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The to fill with records. The name of the source table to use for table mapping. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The to fill with records. The name of the source table to use for table mapping. The cancellation token. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The to fill with records. An instance of . The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The to fill with records. An instance of . The cancellation token. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The to fill with records. The SQL SELECT statement used to retrieve rows from the data source. One of the values. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The to fill with records. The SQL SELECT statement used to retrieve rows from the data source. One of the values. The cancellation token. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The start record. The max number of affected records. The s to fill with records. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The start record. The max number of affected records. The cancellation token. The s to fill with records. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The to fill with records. The start record. The max number of affected records. The name of the source table to use for table mapping. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The to fill with records. The start record. The max number of affected records. The name of the source table to use for table mapping. The cancellation token. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The to fill with records. The name of the source table to use for table mapping. An instance of . The start record. The max number of affected records. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The to fill with records. The name of the source table to use for table mapping. An instance of . The start record. The max number of affected records. The cancellation token. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The s to fill with records. The start record. The max number of affected records. The SQL SELECT statement used to retrieve rows from the data source. One of the values. The number of rows successfully added to or refreshed in the s. Asynchronous version of the method. The s to fill with records. The start record. The max number of affected records. The SQL SELECT statement used to retrieve rows from the data source. One of the values. The cancellation token. The number of rows successfully added to or refreshed in the s. Asynchronous version of the method. The to fill with records. The start record. The max number of affected records. The name of the source table to use for table mapping. The SQL SELECT statement used to retrieve rows from the data source. One of the values. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. The to fill with records. The start record. The max number of affected records. The name of the source table to use for table mapping. The SQL SELECT statement used to retrieve rows from the data source. One of the values. The cancellation token. The number of rows successfully added to or refreshed in the . Asynchronous version of the method. DataSet to use. Schema type to use. [] Asynchronous version of the method. DataSet to use. Schema type to use. to use. [] Asynchronous version of the method. DataSet to use. Schema type to use. Source table to use. [] Asynchronous version of the method. DataSet to use. Schema type to use. Source table to use. to use. [] Asynchronous version of the method. DataSet to use. Schema type to use. Source table to use. DataReader to use. [] Asynchronous version of the method. DataSet to use. Schema type to use. Source table to use. to use. to use. [] Asynchronous version of the method. DataSet to use. Schema type to use. DBCommand to use. Source table to use. Command Behavior [] Asynchronous version of the method. DataSet to use. Schema type to use. DBCommand to use. Source table to use. Command Behavior to use. [] Asynchronous version of the method. DataTable to use. Schema type to use. DataTable Async version of FillSchema DataTable to use. Schema type to use. to use. Asynchronous version of the method. DataTable to use. Schema type to use. DataReader to use. Asynchronous version of the method. DataTable to use. Schema type to use. DataReader to use. to use. Asynchronous version of the method. DataTable to use. Schema type to use. DBCommand to use. Command Behavior Asynchronous version of the method. DataTable to use. Schema type to use. DBCommand to use. Command behavior. to use. Asynchronous version of the method. DataRow[] to use. The number of rows successfully updated from the . Asynchronous version of the method. DataRow[] to use. to use. The number of rows successfully updated from the . Asynchronous version of the method. DataSet to use. The number of rows successfully updated from the . Asynchronous version of the method. DataSet to use. to use. The number of rows successfully updated from the . Asynchronous version of the method. DataTable to use. The number of rows successfully updated from the . Asynchronous version of the method. DataTable to use. to use. The number of rows successfully updated from the . Asynchronous version of the method. DataRow[] to use. Data Table Mapping The number of rows successfully updated from the . Asynchronous version of the method. DataRow[] to use. Data Table Mapping to use. The number of rows successfully updated from the . Asynchronous version of the method. DataSet to use. Source table to use. The number of rows successfully updated from the . Asynchronous version of the method. DataSet to use. Source table to use. to use. The number of rows successfully updated from the . Represents the method that will handle the event of a . Represents the method that will handle the event of a . Provides data for the RowUpdating event. This class cannot be inherited. Initializes a new instance of the MySqlRowUpdatingEventArgs class. The to . The to execute during . One of the values that specifies the type of query executed. The sent through an . Gets or sets the MySqlCommand to execute when performing the Update. Provides data for the RowUpdated event. This class cannot be inherited. Initializes a new instance of the MySqlRowUpdatedEventArgs class. The sent through an . The executed when is called. One of the values that specifies the type of query executed. The sent through an . Gets or sets the MySqlCommand executed when Update is called. Enables the provider to help ensure that a user has a security level adequate for accessing data. Adds a new connection string with set of restricted keywords to the MySqlClientPermission object Settings to be used for the connection Keywords to define the restrictions KeyRestrictionBehavior to be used Returns MySqlClientPermission as an IPermission Associates a security action with a custom security attribute. Represents a section within a configuration file. Gets the MySQL configuations associated to the current configuration. Gets a collection of the exception interceptors available in the current configuration. Gets a collection of the command interceptors available in the current configuration. Gets a collection of the authentication plugins available in the current configuration. Gets or sets the replication configurations. Defines the configurations allowed for an authentication plugin. Gets or sets the name of the authentication plugin. Gets or sets the type of the authentication plugin. Defines the configurations allowed for an interceptor. Gets or sets the name of the interceptor. Gets or sets the type of the interceptor. Represents a generic configuration element. Gets an enumerator that iterates through the returned list. An enumerator that iterates through the returned list. Helper class that makes it easier to work with the provider. Asynchronous version of ExecuteDataRow. The settings to be used for the connection. The command to execute. The parameters to use for the command. The DataRow containing the first row of the resultset. Asynchronous version of ExecuteDataRow. The settings to be used for the connection. The command to execute. The cancellation token. The parameters to use for the command. The DataRow containing the first row of the resultset. Executes a single SQL command and returns the first row of the resultset. A new MySqlConnection object is created, opened, and closed during this method. Settings to be used for the connection Command to execute Parameters to use for the command DataRow containing the first row of the resultset Executes a single SQL command and returns the resultset in a . A new MySqlConnection object is created, opened, and closed during this method. Settings to be used for the connection Command to execute containing the resultset Executes a single SQL command and returns the resultset in a . A new MySqlConnection object is created, opened, and closed during this method. Settings to be used for the connection Command to execute Parameters to use for the command containing the resultset Executes a single SQL command and returns the resultset in a . The state of the object remains unchanged after execution of this method. object to use Command to execute containing the resultset Executes a single SQL command and returns the resultset in a . The state of the object remains unchanged after execution of this method. object to use Command to execute Parameters to use for the command containing the resultset Updates the given table with data from the given Settings to use for the update Command text to use for the update containing the new data to use in the update Tablename in the dataset to update Async version of ExecuteDataset Settings to be used for the connection Command to execute containing the resultset Async version of ExecuteDataset Settings to be used for the connection Command to execute Parameters to use for the command containing the resultset Async version of ExecuteDataset object to use Command to execute containing the resultset Async version of ExecuteDataset object to use Command to execute Parameters to use for the command containing the resultset Async version of UpdateDataset Settings to use for the update Command text to use for the update containing the new data to use in the update Tablename in the dataset to update Executes a single command against a MySQL database. The is assumed to be open when the method is called and remains open after the method completes. The object to use The SQL command to be executed. An array of objects to use with the command. The number of affected records. Executes a single command against a MySQL database. to use. The SQL command to be executed. An rray of objects to use with the command. The number of affected records. A new is created using the given. Executes a single command against a MySQL database, possibly inside an existing transaction. object to use for the command object to use for the command Command text to use Array of objects to use with the command True if the connection should be preserved, false if not object ready to read the results of the command Executes a single command against a MySQL database. Settings to use for this command Command text to use object ready to read the results of the command Executes a single command against a MySQL database. object to use for the command Command text to use object ready to read the results of the command Executes a single command against a MySQL database. Settings to use for this command Command text to use Array of objects to use with the command object ready to read the results of the command Executes a single command against a MySQL database. Connection to use for the command Command text to use Array of objects to use with the command object ready to read the results of the command Execute a single command against a MySQL database. Settings to use for the update Command text to use for the update The first column of the first row in the result set, or a null reference if the result set is empty. Execute a single command against a MySQL database. Settings to use for the command Command text to use for the command Parameters to use for the command The first column of the first row in the result set, or a null reference if the result set is empty. Execute a single command against a MySQL database. object to use Command text to use for the command The first column of the first row in the result set, or a null reference if the result set is empty. Execute a single command against a MySQL database. object to use Command text to use for the command Parameters to use for the command The first column of the first row in the result set, or a null reference if the result set is empty. Escapes the string. The string to escape. The string with all quotes escaped. Replaces quotes with double quotes. The string to modidify. A string containing double quotes instead of single quotes. Async version of ExecuteNonQuery object to use SQL command to be executed Array of objects to use with the command. Rows affected Asynchronous version of the ExecuteNonQuery method. to use. The SQL command to be executed. An array of objects to use with the command. The number of rows affected. Asynchronous version of the ExecuteNonQuery method. to use. The SQL command to be executed. The cancellation token. An array of objects to use with the command. The number of rows affected. Async version of ExecuteReader object to use for the command object to use for the command Command text to use Array of objects to use with the command True if the connection should be preserved, false if not object ready to read the results of the command Async version of ExecuteReader Settings to use for this command Command text to use object ready to read the results of the command Async version of ExecuteReader object to use for the command Command text to use object ready to read the results of the command Async version of ExecuteReader Settings to use for this command Command text to use Array of objects to use with the command object ready to read the results of the command Async version of ExecuteReader Connection to use for the command Command text to use Array of objects to use with the command object ready to read the results of the command Async version of ExecuteScalar Settings to use for the update Command text to use for the update The first column of the first row in the result set, or a null reference if the result set is empty. Async version of ExecuteScalar Settings to use for the command Command text to use for the command Parameters to use for the command The first column of the first row in the result set, or a null reference if the result set is empty. Async version of ExecuteScalar object to use Command text to use for the command The first column of the first row in the result set, or a null reference if the result set is empty. Async version of ExecuteScalar object to use Command text to use for the command Parameters to use for the command The first column of the first row in the result set, or a null reference if the result set is empty. Represents a parameter to a , This class cannot be inherited. Parameter names are not case sensitive. You can read more about it here. Gets or sets the to use when loading . Clones this object. An object that is a clone of this object. Initializes a new instance of the class with the parameter name, the , the size, and the source column name. The name of the parameter to map. One of the values. The length of the parameter. The name of the source column. Initializes a new instance of the class with the parameter name and a value of the new MySqlParameter. The name of the parameter to map. An that is the value of the . Initializes a new instance of the class with the parameter name and the data type. The name of the parameter to map. One of the values. Initializes a new instance of the class with the parameter name, the , and the size. The name of the parameter to map. One of the values. The length of the parameter. Initializes a new instance of the class with the parameter name, the type of the parameter, the size of the parameter, a , the precision of the parameter, the scale of the parameter, the source column, a to use, and the value of the parameter. The name of the parameter to map. One of the values. The length of the parameter. One of the values. true if the value of the field can be null, otherwise false. The total number of digits to the left and right of the decimal point to which is resolved. The total number of decimal places to which is resolved. The name of the source column. One of the values. An that is the value of the . Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. As of MySql version 4.1 and earlier, input-only is the only valid choice. Gets or sets a value indicating whether the parameter accepts null values. Gets or sets the of the parameter. Gets or sets the maximum number of digits used to represent the property. Gets or sets the number of decimal places to which is resolved. Gets or sets the maximum size, in bytes, of the data within the column. Gets or sets the value of the parameter. Returns the possible values for this parameter if this parameter is of type SET or ENUM. Returns null otherwise. Gets or sets the name of the source column that is mapped to the and used for loading or returning the . Sets or gets a value which indicates whether the source column is nullable. This allows to correctly generate Update statements for nullable columns. Gets or sets the of the parameter. Overridden. Gets a string containing the . Resets the DbType property to its original settings. Represents a collection of parameters relevant to a as well as their respective mappings to columns in a . This class cannot be inherited. The number of the parameters in the collection must be equal to the number of parameter placeholders within the command text, or an exception will be generated. Gets a value that indicates whether the has a fixed size. Gets a value that indicates whether the is read-only. Gets a value that indicates whether the is synchronized. Gets the number of MySqlParameter objects in the collection. Gets the at the specified index. Gets the with a specified attribute. [C#] In C#, this property is the indexer for the class. Gets the with the specified name. Adds a to the with the parameter name, the data type, the column length, and the source column name. The name of the parameter. One of the values. The length of the column. The name of the source column. The newly added object. Adds the specified object to the . The to add to the collection. The newly added object. Adds a parameter and its value. The name of the parameter. The value of the parameter. A object representing the provided values. Adds a to the given the parameter name and the data type. The name of the parameter. One of the values. The newly added object. Adds a to the with the parameter name, the data type, and the column length. The name of the parameter. One of the values. The length of the column. The newly added object. Removes all items from the collection. Gets the location of the in the collection with a specific parameter name. The name of the object to retrieve. The zero-based location of the in the collection. Gets the location of a in the collection. The object to locate. The zero-based location of the in the collection. Gets the location of a in the collection. This method will update all the items in the index hashes when we insert a parameter somewhere in the middle Adds an array of values to the end of the . Retrieve the parameter with the given name. Adds the specified object to the . The to add to the collection. The index of the new object. Gets a value indicating whether a with the specified parameter name exists in the collection. The name of the object to find. true if the collection contains the parameter; otherwise, false. Gets a value indicating whether a MySqlParameter exists in the collection. The value of the object to find. true if the collection contains the object; otherwise, false. Gets a value indicating whether a exists in the collection. Copies MySqlParameter objects from the MySqlParameterCollection to the specified array. Returns an enumerator that iterates through the . Inserts a MySqlParameter into the collection at the specified index. Removes the specified MySqlParameter from the collection. Removes the specified from the collection using the parameter name. The name of the object to retrieve. Removes the specified from the collection using a specific index. The zero-based index of the parameter. Removes the specified from the collection. Gets an object that can be used to synchronize access to the . Represents a single(not nested) TransactionScope Defines security permissions assigned to a MySQL object. Creates a set of permissions. A flag indicating if the reflection permission should be included. A object representing a collection of permissions. BaseCommandInterceptor is the base class that should be used for all userland command interceptors Gets the active connection. Executes an SQL statements that returns a scalar value such as a calculation. The SQL statement to execute. A scalar value that represents the result returned by the execution of the SQL statement. false. This method is intended to be overriden. Executes an SQL statement that returns the number of affected rows. The SQL statement to execute. The number of affected rows. false. This method is intended to be overriden. Executes an SQL statement that will return a resultset. The SQL statement to execute. A value that describes the results of the query and its effect on the database. A object containing the result of the statement execution. false. This method is intended to be overriden. Sets the active connection. The active connection. CommandInterceptor is the "manager" class that keeps the list of registered interceptors for the given connection. BaseExceptionInterceptor is the base class that should be used for all userland exception interceptors. Returns the received exception. The exception to be returned. The exception originally received. Gets the active connection. Initilizes this object by setting the active connection. The connection to become active. StandardExceptionInterceptor is the standard interceptor that simply returns the exception. It is the default action. Returns the received exception, which is the default action The exception to be returned. The exception originally received. ExceptionInterceptor is the "manager" class that keeps the list of registered interceptors for the given connection. Interceptor is the base class for the "manager" classes such as ExceptionInterceptor, CommandInterceptor, etc Return schema information about procedures and functions Restrictions supported are: schema, name, type Return schema information about parameters for procedures and functions Restrictions supported are: schema, name, type, parameter name Initializes a new row for the procedure parameters table. Parses out the elements of a procedure parameter data type. Implementation of memcached binary client protocol. -------- This class has been deprecated and will be removed in a future version ------ According to http://code.google.com/p/memcached/wiki/BinaryProtocolRevamped Sends an store command (add, replace, set). Sends a get command. Sends a delete command. Sends a command without args (like flush). Sends a command with amount (INCR/DECR) Encodes in the binary protocol the a command of the kind set, add or replace. If true applies to set, add or replace commands; if false applies to append and prepend commands. An interface of the client memcached protocol. This class is abstract for implementation of the Memcached client interface see for the text protocol version and for the binary protocol version. -------- This class has been deprecated and will be removed in a future version ------ The port used by the connection. The server DNS or IP address used by the connection. The network stream used by the connecition. Factory method for creating instances of that implement a connection with the requested features. The connection object returned must be explicitely opened see method . The Memcached server DNS or IP address. The port for the Memcached server A set of flags indicating characterestics requested. An instance of a client connection ready to be used. Opens the client connection. Closes the client connection. Adds a new key/value pair with the given TimeSpan expiration. The key for identifying the entry. The data to associate with the key. The interval of timespan, use TimeSpan.Zero for no expiration. Appens the data to the existing data for the associated key. The key for identifying the entry. The data to append with the data associated with the key. Executes the Check-and-set Memcached operation. The key for identifying the entry. The data to use in the CAS. The interval of timespan, use TimeSpan.Zero for no expiration. The CAS unique value to use. Decrements the value associated with a key by the given amount. The key associated with the value to decrement. The amount to decrement the value. Removes they pair key/value given the specified key. Removes all entries from the storage, effectively invalidating the whole cache. The interval after which the cache will be cleaned. Can be TimeSpan.Zero for immediately. Get the key/value pair associated with a given key. The key for which to returm the key/value. The key/value associated with the key or a MemcachedException if it does not exists. Increments the value associated with a key by the given amount. The key associated with the value to increment. The amount to increment the value. Prepends the data to the existing data for the associated key. The key for identifying the entry. The data to append with the data associated with the key. Replaces the value associated with the given key with another value. The key for identifying the entry. The data to replace the value associated with the key. The interval of timespan, use TimeSpan.Zero for no expiration. Set the value of a given key. The key for identifying the entry. The data to associate with the given key. The interval of timespan, use TimeSpan.Zero for no expiration. A set of flags for requesting new instances of connections Requests a connection implememting the text protocol. Requests a connection implementing the binary protocol. Requests a TCP connection. Currently UDP is not supported. The base exception class for all Memcached exceptions. -------- This class has been deprecated and will be removed in a future version ------ Implementation of the Memcached text client protocol. -------- This class has been deprecated and will be removed in a future version ------ Sends a command to the memcached server. This version is for commands that take a key, data, expiration and casUnique. Sends a command to the memcached server. This version is for commands that take a key, data and expiration Send a command to memcached server. This version is for commands that don't need flags neither expiration fields. Sends a command to the server. This version is for commands that only require a key Sends a command to the server. This version is for commands that only require a key and an integer value. Sends a command to the server. This version is for commands that only require a key and expiration. Represents a query attribute to a . Initializes a new instance of the class. Initializes a new instance of the class with the attribute name and its value. Name of the attribute. Value of the attribute. Name of the query attribute. Value of the query attribute. Gets or sets the of the attribute. Sets the MySqlDbType from the Value Gets the value for the attribute type. Serialize the value of the query attribute. Clones this object. An object that is a clone of this object. Represents a collection of query attributes relevant to a . Gets the at the specified index. Gets the number of objects in the collection. Adds the specified object to the . object to add. Adds a query attribute and its value. Name of the query attribute. Value of the query attribute. Removes all items from the collection. Returns an enumerator that iterates through the . Abstract class that provides common functionality for connection options that apply for all protocols. Readonly field containing a collection of protocol shared connection options. Gets or sets a flag indicating if the object has access to procedures. Gets or sets a dictionary representing key-value pairs for each connection option. Gets or sets the name of the server. The server. If this property is not set, then the provider will attempt to connect tolocalhost even though this property will return String.Empty. Gets or sets the name of the database for the initial connection. There is no default for this property and, if not set, the connection will not have a current database. Gets or sets the protocol that should be used for communicating with MySQL. Gets or sets the port number that is used when the socket protocol is being used. Gets or sets a boolean value that indicates whether this connection should resolve DNS SRV records. Gets or sets the user ID that should be used to connect with. Gets or sets the password that should be used to make a connection. Gets or sets the password for a second authentication that should be used to make a connection. Gets or sets the password for a third authentication that should be used to make a connection. Gets or sets the path to the certificate file to be used. Gets or sets the password to be used in conjunction with the certificate file. Gets or sets the location to a personal store where a certificate is held. Gets or sets a certificate thumbprint to ensure correct identification of a certificate contained within a personal store. Indicates whether to use SSL connections and how to handle server certificate errors. Sets the TLS versions to use in a SSL connection to the server. Tls version=TLSv1.2,TLSv1.3; Gets or sets the path to a local key file in PEM format to use for establishing an encrypted connection. Gets or sets the path to a local certificate file in PEM format to use for establishing an encrypted connection. Gets or sets the idle connection time(seconds) for TCP connections. Gets or sets the character set that should be used for sending queries to the server. Analyzes the connection string for potential duplicated or invalid connection options. Connection string. Flag that indicates if the connection is using X Protocol. Flag that indicates if the default port is used. Represents a set of methods for creating instances of the MySQL client implementation of the data source classes. Gets an instance of the . This can be used to retrieve strongly typed data objects. Returns a strongly typed instance. A new strongly typed instance of DbCommand. Returns a strongly typed instance. A new strongly typed instance of DbConnection. Returns a strongly typed instance. A new strongly typed instance of DbParameter. Returns a strongly typed instance. A new strongly typed instance of DbConnectionStringBuilder. Returns a strongly typed instance. A new strongly typed instance of DbCommandBuilder. Returns a strongly typed instance. A new strongly typed instance of DbDataAdapter. Provide a simple caching layer Aids in the creation of connection strings by exposing the connection options as properties. Contains connection options specific to the Classic protocol. Main constructor. Constructor accepting a connection string. The connection string. Readonly field containing a collection of classic protocol and protocol shared connection options. Gets or sets the name of the named pipe that should be used for communicating with MySQL. This property has no effect unless the property has been set to . Gets or sets a boolean value that indicates whether this connection should use compression. Gets or sets a boolean value that indicates whether this connection will allow commands to send multiple SQL statements in one execution. Gets or sets a boolean value that indicates whether logging is enabled. Gets or sets the base name of the shared memory objects used to communicate with MySQL when the shared memory protocol is being used. Gets or sets the default command timeout. Gets or sets the connection timeout. Gets or sets a boolean value that indicates whether this connection will allow to load data local infile. Gets or sets the safe path where files can be read and uploaded to the server. Gets or sets a boolean value that indicates if the password should be persisted in the connection string. Gets or sets a boolean value that indicates if the connection should be encrypted. Obsolte. Use instead. Gets or sets a boolean value that indicates if RSA public keys should be retrieved from the server. This option is only relevant when SSL is disabled. Setting this option to true in 8.0 servers that have the caching_sha2_password authentication plugin as the default plugin will cause the connection attempt to fail if the user hasn't successfully connected to the server on a previous occasion. Gets or sets the default authentication plugin to be used. This plugin takes precedence over the server-side default authentication plugin when a valid authentication plugin is specified. The default authentication plugin is mandatory for supporting user-less and password-less Kerberos authentications. If no value is set, it uses the server-side default authentication plugin. Gets or sets the OCI config file location. The default values vary depending on the OS. On Windows systems the value is '%HOMEDRIVE%%HOMEPATH%\.oci\config' and for Linux/MacOS systems it is '~/.oci/config'. Gets or sets a boolean value that indicates if zero date time values are supported. Default value is false. Gets or sets a boolean value that indicates if zero datetime values should be converted to DateTime.MinValue. Default value is false. Gets or sets a boolean value that indicates if the Usage Advisor should be enabled. Default value is false. Gets or sets the size of the stored procedure cache. Default value is 25. Gets or sets a boolean value that indicates if the performance monitor hooks should be enabled. Default value is false. Gets or sets a boolean value that indicates if an opened connection should particiapte in the current scope. Default value is true. Gets or sets a boolean value that indicates if security asserts must be included. Must be set to true when using the class in a partial trust environment, with the library installed in the GAC of the hosting environment. Not supported in .NET Core. Default value is false. Gets or sets a boolean value that indicates if column binary flags set by the server are ignored. Default value is true. Gets or sets a boolean value that indicates if TINYINT(1) shound be treated as a BOOLEAN. Default value is true. Gets or sets a boolean value that indicates if the provider expects user variables in the SQL. Default value is false. Gets or sets a boolean value that indicates if the session should be interactive. Default value is false. Gets or sets a boolean value that indicates if server functions should be treated as returning a string. Default value is false. Gets or sets a boolean value that indicates if the server should report affected rows instead of found rows. Default value is false. Gets or sets a boolean value that indicates if items of data type BINARY(16) should be treated as guids. Default value is false. Gets or sets a boolean value that indicates if SQL Server syntax should be allowed by supporting square brackets around symbols instead of backticks. Default value is false. Gets or sets a boolean value that indicates if caching of TableDirect commands is enabled. Default value is false. Gets or sets the seconds for how long a TableDirect result should be cached. Default value is 0. Gets or sets a boolean value that indicates if stored routine parameters should be checked against the server. Default value is true. Gets or sets a boolean value that indicates if this connection will use replication. Default value is false. Gets or sets the list of interceptors that can triage thrown MySqlExceptions. Gets or sets the list of interceptors that can intercept command operations. Gets or sets the event for the callback. Gets or sets the lifetime of a pooled connection. Default value is 0. Gets or sets a boolean value indicating if connection pooling is enabled. Default value is true. Gets the minimum connection pool size. Default value is 0. Gets or sets the maximum connection pool setting. Default value is 100. Gets or sets a boolean value that indicates if the connection should be reset when retrieved from the pool. Default value is false. Gets or sets a boolean value that indicates whether the server variable settings are updated by a SHOW VARIABLES command each time a pooled connection is returned. Default value is false. Indicates whether the driver should treat binary BLOBs as UTF8. Default value is false. Gets or sets the pattern to match for the columns that should be treated as UTF8. Gets or sets the pattern to match for the columns that should not be treated as UTF8. Gets or sets a connection option. The keyword that identifies the connection option to modify. Retrieves the value corresponding to the supplied key from this . The key of the item to retrieve. The value corresponding to the . if was found within the connection string; otherwise, . contains a null value. Summary description for ClientParam. DB Operations Code Specifies MySQL specific data type of a field, property, for use in a . A fixed precision and scale numeric value between -1038 -1 and 10 38 -1. The signed range is -128 to 127. The unsigned range is 0 to 255. A 16-bit signed integer. The signed range is -32768 to 32767. The unsigned range is 0 to 65535 Specifies a 24 (3 byte) signed or unsigned value. A 32-bit signed integer A 64-bit signed integer. A small (single-precision) floating-point number. Allowable values are -3.402823466E+38 to -1.175494351E-38, 0, and 1.175494351E-38 to 3.402823466E+38. A normal-size (double-precision) floating-point number. Allowable values are -1.7976931348623157E+308 to -2.2250738585072014E-308, 0, and 2.2250738585072014E-308 to 1.7976931348623157E+308. A timestamp. The range is '1970-01-01 00:00:00' to sometime in the year 2037 Date The supported range is '1000-01-01' to '9999-12-31'. Time The range is '-838:59:59' to '838:59:59'. DateTime The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'. Datetime The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'. A year in 2- or 4-digit format (default is 4-digit). The allowable values are 1901 to 2155, 0000 in the 4-digit year format, and 1970-2069 if you use the 2-digit format (70-69). Obsolete Use Datetime or Date type A variable-length string containing 0 to 65535 characters Bit-field data type JSON New Decimal An enumeration. A string object that can have only one value, chosen from the list of values 'value1', 'value2', ..., NULL or the special "" error value. An ENUM can have a maximum of 65535 distinct values A set. A string object that can have zero or more values, each of which must be chosen from the list of values 'value1', 'value2', ... A SET can have a maximum of 64 members. A binary column with a maximum length of 255 (2^8 - 1) characters A binary column with a maximum length of 16777215 (2^24 - 1) bytes. A binary column with a maximum length of 4294967295 or 4G (2^32 - 1) bytes. A binary column with a maximum length of 65535 (2^16 - 1) bytes. A variable-length string containing 0 to 255 bytes. A fixed-length string. Geometric (GIS) data type. Unsigned 8-bit value. Unsigned 16-bit value. Unsigned 24-bit value. Unsigned 32-bit value. Unsigned 64-bit value. Fixed length binary string. Variable length binary string. A text column with a maximum length of 255 (2^8 - 1) characters. A text column with a maximum length of 16777215 (2^24 - 1) characters. A text column with a maximum length of 4294967295 or 4G (2^32 - 1) characters. A text column with a maximum length of 65535 (2^16 - 1) characters. A guid column. Allows the user to specify the type of connection that should be used. TCP/IP style connection. Works everywhere. TCP/IP style connection. Works everywhere. TCP/IP style connection. Works everywhere. Named pipe connection. Works only on Windows systems. Named pipe connection. Works only on Windows systems. Unix domain socket connection. Works only with Unix systems. Unix domain socket connection. Works only with Unix systems. Shared memory connection. Currently works only with Windows systems. Shared memory connection. Currently works only with Windows systems. SSL options for connection. Do not use SSL. Do not use SSL. Use SSL, if server supports it. This option is only available for the classic protocol. Use SSL, if server supports it. This option is only available for the classic protocol. Always use SSL. Deny connection if server does not support SSL. Do not perform server certificate validation. This is the default SSL mode when the same isn't specified as part of the connection string. Always use SSL. Validate server SSL certificate, but different host name mismatch. Always use SSL and perform full certificate validation. Specifies the connection types supported Use TCP/IP sockets. Use client library. Use MySQL embedded server. Defines the location of the certificate store. Do not use certificate store. Use certificate store for the current user. User certificate store for the machine. Specifies the authentication mechanism that should be used. If SSL is enabled or Unix sockets are being used, sets PLAIN as the authentication mechanism; otherwise, it tries to use MYSQL41 and then SHA256_MEMORY. Authenticate using PLAIN. Authenticate using MYSQL41. Authenticate using EXTERNAL. Authenticate using SHA256_MEMORY. Defines waiting options that may be used with row locking options. Waits until the blocking transaction releases the row lock. Never waits to acquire a row lock. The query executes immediately, failing with an error if a requested row is locked. Never waits to acquire a row lock. The query executes immediately, removing locked rows from the result set. Defines the type of compression used when data is exchanged between client and server. Uses compression if client and server are able to reach a concensus. Otherwise, compression is not used. Enforces the use of compression. If no concensus is reached, an error is raised. Disables compression. Defines the compression algorithms that can be used. The warnings that cause a connection to close. Controls which column type should be read as type System.Guid. Same as Char36 when OldGuids equals False, otherwise, the same as LittleEndianBinary16. No column types are read or written as type Guid. Char(36) columns are read or written as type Guid using lowercase hex with hyphens, which match UUID(). Char(32) columns are read or written as type Guid using lowercase hex without hyphens. Binary(16) columns are read or written as type Guid using big-endian byte order, which matches UUID_TO_BIN(x). Binary(16) columns are read or written as type Guid using big-endian byte order with time parts swapped, which matches UUID_TO_BIN(x,1). Binary(16) columns are read or written as type Guid using little-endian byte order, that is, the byte order used by System.Guid.ToByteArray and System.Guid.#ctor(System.Byte[]). Collection of error codes that can be returned by the server Error level Error code Error message Provides a reference to error codes returned by MySQL. ER_HASHCHK ER_NISAMCHK ER_NO ER_YES The file couldn't be created. ER_CANT_CREATE_FILE The table couldn't be created. ER_CANT_CREATE_TABLE The database couldn't be created. ER_CANT_CREATE_DB The database couldn't be created, it already exists. ER_DB_CREATE_EXISTS The database couldn't be dropped, it doesn't exist. ER_DB_DROP_EXISTS The database couldn't be dropped, the file can't be deleted. ER_DB_DROP_DELETE The database couldn't be dropped, the directory can't be deleted. ER_DB_DROP_RMDIR The file couldn't be deleted. ER_CANT_DELETE_FILE The record couldn't be read from the system table. ER_CANT_FIND_SYSTEM_REC The status couldn't be retrieved. ER_CANT_GET_STAT The working directory couldn't be retrieved. ER_CANT_GET_WD The file couldn't be locked. ER_CANT_LOCK The file couldn't be opened. ER_CANT_OPEN_FILE The file couldn't be found. ER_FILE_NOT_FOUND The directory couldn't be read. ER_CANT_READ_DIR The working directory couldn't be entered. ER_CANT_SET_WD The record changed since it was last read. ER_CHECKREAD The disk is full. ER_DISK_FULL There is already a key with the given values. An error occurred when closing the file. ER_ERROR_ON_CLOSE An error occurred when reading from the file. ER_ERROR_ON_READ An error occurred when renaming then file. ER_ERROR_ON_RENAME An error occurred when writing to the file. ER_ERROR_ON_WRITE The file is in use. ER_FILE_USED Sorting has been aborted. ER_FILSORT_ABORT The view doesn't exist. ER_FORM_NOT_FOUND Got the specified error from the table storage engine. ER_GET_ERRNO The table storage engine doesn't support the specified option. ER_ILLEGAL_HA The specified key was not found. The file contains incorrect information. ER_NOT_FORM_FILE The key file is incorrect for the table, it should be repaired. ER_NOT_KEYFILE The key file is old for the table, it should be repaired. ER_OLD_KEYFILE The table is read-only ER_OPEN_AS_READONLY The server is out of memory, it should be restarted. ER_OUTOFMEMORY The server is out of sort-memory, the sort buffer size should be increased. ER_OUT_OF_SORTMEMORY An unexpected EOF was found when reading from the file. ER_UNEXPECTED_EOF Too many connections are open. ER_CON_COUNT_ERROR The server is out of resources, check if MySql or some other process is using all available memory. ER_OUT_OF_RESOURCES Given when the connection is unable to successfully connect to host. The handshake was invalid. ER_HANDSHAKE_ERROR Access was denied for the specified user using the specified database. ER_DBACCESS_DENIED_ERROR Normally returned when an incorrect password is given No database has been selected. ER_NO_DB_ERROR The command is unknown. ER_UNKNOWN_COM_ERROR The specified column cannot be NULL. ER_BAD_NULL_ERROR The specified database is not known. The specified table already exists. ER_TABLE_EXISTS_ERROR The specified table is unknown. ER_BAD_TABLE_ERROR The specified column is ambiguous. ER_NON_UNIQ_ERROR The server is currently being shutdown. ER_SERVER_SHUTDOWN The specified columns is unknown. ER_BAD_FIELD_ERROR The specified column isn't in GROUP BY. ER_WRONG_FIELD_WITH_GROUP The specified columns cannot be grouped on. ER_WRONG_GROUP_FIELD There are sum functions and columns in the same statement. ER_WRONG_SUM_SELECT The column count doesn't match the value count. ER_WRONG_VALUE_COUNT The identifier name is too long. ER_TOO_LONG_IDENT The column name is duplicated. ER_DUP_FIELDNAME Duplicate Key Name Duplicate Key Entry The column specifier is incorrect. ER_WRONG_FIELD_SPEC An error occurred when parsing the statement. ER_PARSE_ERROR The statement is empty. ER_EMPTY_QUERY The table alias isn't unique. ER_NONUNIQ_TABLE The default value is invalid for the specified field. ER_INVALID_DEFAULT The table has multiple primary keys defined. ER_MULTIPLE_PRI_KEY Too many keys were defined for the table. ER_TOO_MANY_KEYS Too many parts to the keys were defined for the table. ER_TOO_MANY_KEY_PARTS The specified key is too long ER_TOO_LONG_KEY The specified key column doesn't exist in the table. ER_KEY_COLUMN_DOES_NOT_EXITS The BLOB column was used as a key, this can't be done. ER_BLOB_USED_AS_KEY The column length is too big for the specified column type. ER_TOO_BIG_FIELDLENGTH There can only be one auto-column, and it must be defined as a PK. ER_WRONG_AUTO_KEY The server is ready to accept connections. ER_READY ER_NORMAL_SHUTDOWN The server received the specified signal and is aborting. ER_GOT_SIGNAL The server shutdown is complete. ER_SHUTDOWN_COMPLETE The server is forcing close of the specified thread. ER_FORCING_CLOSE An error occurred when creating the IP socket. ER_IPSOCK_ERROR The table has no index like the one used in CREATE INDEX. ER_NO_SUCH_INDEX The field separator argument is not what is expected, check the manual. ER_WRONG_FIELD_TERMINATORS The BLOB columns must terminated, fixed row lengths cannot be used. ER_BLOBS_AND_NO_TERMINATED The text file cannot be read. ER_TEXTFILE_NOT_READABLE The specified file already exists. ER_FILE_EXISTS_ERROR Information returned by the LOAD statement. ER_LOAD_INFO Information returned by an UPDATE statement. ER_ALTER_INFO The prefix key is incorrect. ER_WRONG_SUB_KEY All columns cannot be removed from a table, use DROP TABLE instead. ER_CANT_REMOVE_ALL_FIELDS Cannot DROP, check that the column or key exists. ER_CANT_DROP_FIELD_OR_KEY Information returned by an INSERT statement. ER_INSERT_INFO The target table cannot be specified for update in FROM clause. ER_UPDATE_TABLE_USED The specified thread ID is unknown. ER_NO_SUCH_THREAD The thread cannot be killed, the current user is not the owner. ER_KILL_DENIED_ERROR No tables used in the statement. ER_NO_TABLES_USED Too many string have been used for the specified column and SET. ER_TOO_BIG_SET A unique filename couldn't be generated. ER_NO_UNIQUE_LOGFILE The specified table was locked with a READ lock, and can't be updated. ER_TABLE_NOT_LOCKED_FOR_WRITE The specified table was not locked with LOCK TABLES. ER_TABLE_NOT_LOCKED BLOB and Text columns cannot have a default value. ER_BLOB_CANT_HAVE_DEFAULT The specified database name is incorrect. ER_WRONG_DB_NAME The specified table name is incorrect. ER_WRONG_TABLE_NAME The SELECT command would examine more than MAX_JOIN_SIZE rows, check the WHERE clause and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is ok. ER_TOO_BIG_SELECT An unknown error occurred. ER_UNKNOWN_ERROR The specified procedure is unknown. ER_UNKNOWN_PROCEDURE The number of parameters provided for the specified procedure is incorrect. ER_WRONG_PARAMCOUNT_TO_PROCEDURE The parameters provided for the specified procedure are incorrect. ER_WRONG_PARAMETERS_TO_PROCEDURE The specified table is unknown. ER_UNKNOWN_TABLE The specified column has been specified twice. ER_FIELD_SPECIFIED_TWICE The group function has been incorrectly used. ER_INVALID_GROUP_FUNC_USE The specified table uses an extension that doesn't exist in this MySQL version. ER_UNSUPPORTED_EXTENSION The table must have at least one column. ER_TABLE_MUST_HAVE_COLUMNS The specified table is full. ER_RECORD_FILE_FULL The specified character set is unknown. ER_UNKNOWN_CHARACTER_SET Too many tables, MySQL can only use the specified number of tables in a JOIN. ER_TOO_MANY_TABLES Too many columns ER_TOO_MANY_FIELDS The row size is too large, the maximum row size for the used tables (not counting BLOBS) is specified, change some columns or BLOBS. ER_TOO_BIG_ROWSIZE A thread stack overrun occurred. Stack statistics are specified. ER_STACK_OVERRUN A cross dependency was found in the OUTER JOIN, examine the ON conditions. ER_WRONG_OUTER_JOIN The table handler doesn't support NULL in the given index, change specified column to be NOT NULL or use another handler. ER_NULL_COLUMN_IN_INDEX The specified user defined function cannot be loaded. ER_CANT_FIND_UDF The specified user defined function cannot be initialised. ER_CANT_INITIALIZE_UDF No paths are allowed for the shared library. ER_UDF_NO_PATHS The specified user defined function already exists. ER_UDF_EXISTS The specified shared library cannot be opened. ER_CANT_OPEN_LIBRARY The specified symbol cannot be found in the library. ER_CANT_FIND_DL_ENTRY The specified function is not defined. ER_FUNCTION_NOT_DEFINED The specified host is blocked because of too many connection errors, unblock with 'mysqladmin flush-hosts'. ER_HOST_IS_BLOCKED The given host is not allowed to connect The anonymous user is not allowed to connect The given password is not allowed The given password does not match Information returned by an UPDATE statement. ER_UPDATE_INFO A new thread couldn't be created. ER_CANT_CREATE_THREAD The column count doesn't match the value count. ER_WRONG_VALUE_COUNT_ON_ROW The specified table can't be re-opened. ER_CANT_REOPEN_TABLE The NULL value has been used incorrectly. ER_INVALID_USE_OF_NULL The regular expression contains an error. ER_REGEXP_ERROR GROUP columns (MIN(), MAX(), COUNT(), ...) cannot be mixes with no GROUP columns if there is not GROUP BY clause. ER_MIX_OF_GROUP_FUNC_AND_FIELDS ER_NONEXISTING_GRANT ER_TABLEACCESS_DENIED_ERROR ER_COLUMNACCESS_DENIED_ERROR ER_ILLEGAL_GRANT_FOR_TABLE ER_GRANT_WRONG_HOST_OR_USER ER_NO_SUCH_TABLE ER_NONEXISTING_TABLE_GRANT ER_NOT_ALLOWED_COMMAND ER_SYNTAX_ERROR ER_DELAYED_CANT_CHANGE_LOCK ER_TOO_MANY_DELAYED_THREADS ER_ABORTING_CONNECTION An attempt was made to send or receive a packet larger than max_allowed_packet_size ER_NET_READ_ERROR_FROM_PIPE ER_NET_FCNTL_ERROR ER_NET_PACKETS_OUT_OF_ORDER ER_NET_UNCOMPRESS_ERROR ER_NET_READ_ERROR ER_NET_READ_INTERRUPTED ER_NET_ERROR_ON_WRITE ER_NET_WRITE_INTERRUPTED ER_TOO_LONG_STRING ER_TABLE_CANT_HANDLE_BLOB ER_TABLE_CANT_HANDLE_AUTO_INCREMENT ER_DELAYED_INSERT_TABLE_LOCKED ER_WRONG_COLUMN_NAME ER_WRONG_KEY_COLUMN ER_WRONG_MRG_TABLE ER_DUP_UNIQUE ER_BLOB_KEY_WITHOUT_LENGTH ER_PRIMARY_CANT_HAVE_NULL ER_TOO_MANY_ROWS ER_REQUIRES_PRIMARY_KEY ER_NO_RAID_COMPILED ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE ER_KEY_DOES_NOT_EXITS ER_CHECK_NO_SUCH_TABLE ER_CHECK_NOT_IMPLEMENTED ER_CANT_DO_THIS_DURING_AN_TRANSACTION ER_ERROR_DURING_COMMIT ER_ERROR_DURING_ROLLBACK ER_ERROR_DURING_FLUSH_LOGS ER_ERROR_DURING_CHECKPOINT ER_NEW_ABORTING_CONNECTION ER_DUMP_NOT_IMPLEMENTED ER_FLUSH_SOURCE_BINLOG_CLOSED ER_INDEX_REBUILD ER_SOURCE ER_SOURCE_NET_READ ER_SOURCE_NET_WRITE ER_FT_MATCHING_KEY_NOT_FOUND ER_LOCK_OR_ACTIVE_TRANSACTION ER_UNKNOWN_SYSTEM_VARIABLE ER_CRASHED_ON_USAGE ER_CRASHED_ON_REPAIR ER_WARNING_NOT_COMPLETE_ROLLBACK ER_TRANS_CACHE_FULL ER_REPLICA_MUST_STOP ER_REPLICA_NOT_RUNNING ER_BAD_REPLICA ER_SOURCE_INFO ER_REPLICA_THREAD ER_TOO_MANY_USER_CONNECTIONS ER_SET_CONSTANTS_ONLY ER_LOCK_WAIT_TIMEOUT ER_LOCK_TABLE_FULL ER_READ_ONLY_TRANSACTION ER_DROP_DB_WITH_READ_LOCK ER_CREATE_DB_WITH_READ_LOCK ER_WRONG_ARGUMENTS ER_NO_PERMISSION_TO_CREATE_USER ER_UNION_TABLES_IN_DIFFERENT_DIR ER_LOCK_DEADLOCK ER_TABLE_CANT_HANDLE_FT ER_CANNOT_ADD_FOREIGN ER_NO_REFERENCED_ROW ER_ROW_IS_REFERENCED ER_CONNECT_TO_SOURCE ER_QUERY_ON_SOURCE ER_ERROR_WHEN_EXECUTING_COMMAND ER_WRONG_USAGE ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT ER_CANT_UPDATE_WITH_READLOCK ER_MIXING_NOT_ALLOWED ER_DUP_ARGUMENT ER_USER_LIMIT_REACHED ER_SPECIFIC_ACCESS_DENIED_ERROR ER_LOCAL_VARIABLE ER_GLOBAL_VARIABLE ER_NO_DEFAULT ER_WRONG_VALUE_FOR_VAR ER_WRONG_TYPE_FOR_VAR ER_VAR_CANT_BE_READ ER_CANT_USE_OPTION_HERE ER_NOT_SUPPORTED_YET ER_SOURCE_FATAL_ERROR_READING_BINLOG ER_REPLICA_IGNORED_TABLE ER_INCORRECT_GLOBAL_LOCAL_VAR ER_WRONG_FK_DEF ER_KEY_REF_DO_NOT_MATCH_TABLE_REF ER_OPERAND_COLUMNS ER_SUBQUERY_NO_1_ROW ER_UNKNOWN_STMT_HANDLER ER_CORRUPT_HELP_DB ER_CYCLIC_REFERENCE ER_AUTO_CONVERT ER_ILLEGAL_REFERENCE ER_DERIVED_MUST_HAVE_ALIAS ER_SELECT_REDUCED ER_TABLENAME_NOT_ALLOWED_HERE ER_NOT_SUPPORTED_AUTH_MODE ER_SPATIAL_CANT_HAVE_NULL ER_COLLATION_CHARSET_MISMATCH ER_REPLICA_WAS_RUNNING ER_REPLICA_WAS_NOT_RUNNING ER_TOO_BIG_FOR_UNCOMPRESS ER_ZLIB_Z_MEM_ERROR ER_ZLIB_Z_BUF_ERROR ER_ZLIB_Z_DATA_ERROR ER_CUT_VALUE_GROUP_CONCAT ER_WARN_TOO_FEW_RECORDS ER_WARN_TOO_MANY_RECORDS ER_WARN_NULL_TO_NOTNULL ER_WARN_DATA_OUT_OF_RANGE WARN_DATA_TRUNCATED ER_WARN_USING_OTHER_HANDLER ER_CANT_AGGREGATE_2COLLATIONS ER_DROP_USER ER_REVOKE_GRANTS ER_CANT_AGGREGATE_3COLLATIONS ER_CANT_AGGREGATE_NCOLLATIONS ER_VARIABLE_IS_NOT_STRUCT ER_UNKNOWN_COLLATION ER_REPLICA_IGNORED_SSL_PARAMS ER_SERVER_IS_IN_SECURE_AUTH_MODE ER_WARN_FIELD_RESOLVED ER_BAD_REPLICA_UNTIL_COND ER_MISSING_SKIP_REPLICA ER_UNTIL_COND_IGNORED ER_WRONG_NAME_FOR_INDEX ER_WRONG_NAME_FOR_CATALOG ER_WARN_QC_RESIZE ER_BAD_FT_COLUMN ER_UNKNOWN_KEY_CACHE ER_WARN_HOSTNAME_WONT_WORK ER_UNKNOWN_STORAGE_ENGINE ER_WARN_DEPRECATED_SYNTAX ER_NON_UPDATABLE_TABLE ER_FEATURE_DISABLED ER_OPTION_PREVENTS_STATEMENT ER_DUPLICATED_VALUE_IN_TYPE ER_TRUNCATED_WRONG_VALUE ER_TOO_MUCH_AUTO_TIMESTAMP_COLS ER_INVALID_ON_UPDATE ER_UNSUPPORTED_PS ER_GET_ERRMSG ER_GET_TEMPORARY_ERRMSG ER_UNKNOWN_TIME_ZONE ER_WARN_INVALID_TIMESTAMP ER_INVALID_CHARACTER_STRING ER_WARN_ALLOWED_PACKET_OVERFLOWED ER_CONFLICTING_DECLARATIONS ER_SP_NO_RECURSIVE_CREATE ER_SP_ALREADY_EXISTS ER_SP_DOES_NOT_EXIST ER_SP_DROP_FAILED ER_SP_STORE_FAILED ER_SP_LILABEL_MISMATCH ER_SP_LABEL_REDEFINE ER_SP_LABEL_MISMATCH ER_SP_UNINIT_VAR ER_SP_BADSELECT ER_SP_BADRETURN ER_SP_BADSTATEMENT ER_UPDATE_LOG_DEPRECATED_IGNORED ER_UPDATE_LOG_DEPRECATED_TRANSLATED ER_QUERY_INTERRUPTED ER_SP_WRONG_NO_OF_ARGS ER_SP_COND_MISMATCH ER_SP_NORETURN ER_SP_NORETURNEND ER_SP_BAD_CURSOR_QUERY ER_SP_BAD_CURSOR_SELECT ER_SP_CURSOR_MISMATCH ER_SP_CURSOR_ALREADY_OPEN ER_SP_CURSOR_NOT_OPEN ER_SP_UNDECLARED_VAR ER_SP_WRONG_NO_OF_FETCH_ARGS ER_SP_FETCH_NO_DATA ER_SP_DUP_PARAM ER_SP_DUP_VAR ER_SP_DUP_COND ER_SP_DUP_CURS ER_SP_CANT_ALTER ER_SP_SUBSELECT_NYI ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG ER_SP_VARCOND_AFTER_CURSHNDLR ER_SP_CURSOR_AFTER_HANDLER ER_SP_CASE_NOT_FOUND ER_FPARSER_TOO_BIG_FILE ER_FPARSER_BAD_HEADER ER_FPARSER_EOF_IN_COMMENT ER_FPARSER_ERROR_IN_PARAMETER ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER ER_VIEW_NO_EXPLAIN ER_FRM_UNKNOWN_TYPE ER_WRONG_OBJECT ER_NONUPDATEABLE_COLUMN ER_VIEW_SELECT_DERIVED ER_VIEW_SELECT_CLAUSE ER_VIEW_SELECT_VARIABLE ER_VIEW_SELECT_TMPTABLE ER_VIEW_WRONG_LIST ER_WARN_VIEW_MERGE ER_WARN_VIEW_WITHOUT_KEY ER_VIEW_INVALID ER_SP_NO_DROP_SP ER_SP_GOTO_IN_HNDLR ER_TRG_ALREADY_EXISTS ER_TRG_DOES_NOT_EXIST ER_TRG_ON_VIEW_OR_TEMP_TABLE ER_TRG_CANT_CHANGE_ROW ER_TRG_NO_SUCH_ROW_IN_TRG ER_NO_DEFAULT_FOR_FIELD ER_DIVISION_BY_ZERO ER_TRUNCATED_WRONG_VALUE_FOR_FIELD ER_ILLEGAL_VALUE_FOR_TYPE ER_VIEW_NONUPD_CHECK ER_VIEW_CHECK_FAILED ER_PROCACCESS_DENIED_ERROR ER_RELAY_LOG_FAIL ER_PASSWD_LENGTH ER_UNKNOWN_TARGET_BINLOG ER_IO_ERR_LOG_INDEX_READ ER_BINLOG_PURGE_PROHIBITED ER_FSEEK_FAIL ER_BINLOG_PURGE_FATAL_ERR ER_LOG_IN_USE ER_LOG_PURGE_UNKNOWN_ERR ER_RELAY_LOG_INIT ER_NO_BINARY_LOGGING ER_RESERVED_SYNTAX ER_WSAS_FAILED ER_DIFF_GROUPS_PROC ER_NO_GROUP_FOR_PROC ER_ORDER_WITH_PROC ER_LOGGING_PROHIBIT_CHANGING_OF ER_NO_FILE_MAPPING ER_WRONG_MAGIC ER_PS_MANY_PARAM ER_KEY_PART_0 ER_VIEW_CHECKSUM ER_VIEW_MULTIUPDATE ER_VIEW_NO_INSERT_FIELD_LIST ER_VIEW_DELETE_MERGE_VIEW ER_CANNOT_USER ER_XAER_NOTA ER_XAER_INVAL ER_XAER_RMFAIL ER_XAER_OUTSIDE ER_XAER_RMERR ER_XA_RBROLLBACK ER_NONEXISTING_PROC_GRANT ER_PROC_AUTO_GRANT_FAIL ER_PROC_AUTO_REVOKE_FAIL ER_DATA_TOO_LONG ER_SP_BAD_SQLSTATE ER_STARTUP ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR ER_CANT_CREATE_USER_WITH_GRANT ER_WRONG_VALUE_FOR_TYPE ER_TABLE_DEF_CHANGED ER_SP_DUP_HANDLER ER_SP_NOT_VAR_ARG ER_SP_NO_RETSET ER_CANT_CREATE_GEOMETRY_OBJECT ER_FAILED_ROUTINE_BREAK_BINLOG ER_BINLOG_UNSAFE_ROUTINE ER_BINLOG_CREATE_ROUTINE_NEED_SUPER ER_EXEC_STMT_WITH_OPEN_CURSOR ER_STMT_HAS_NO_OPEN_CURSOR ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG ER_NO_DEFAULT_FOR_VIEW_FIELD ER_SP_NO_RECURSION ER_TOO_BIG_SCALE ER_TOO_BIG_PRECISION ER_M_BIGGER_THAN_D ER_WRONG_LOCK_OF_SYSTEM_TABLE ER_CONNECT_TO_FOREIGN_DATA_SOURCE ER_QUERY_ON_FOREIGN_DATA_SOURCE ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE ER_FOREIGN_DATA_STRING_INVALID ER_CANT_CREATE_FEDERATED_TABLE ER_TRG_IN_WRONG_SCHEMA ER_STACK_OVERRUN_NEED_MORE ER_TOO_LONG_BODY ER_WARN_CANT_DROP_DEFAULT_KEYCACHE ER_TOO_BIG_DISPLAYWIDTH ER_XAER_DUPID ER_DATETIME_FUNCTION_OVERFLOW ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG ER_VIEW_PREVENT_UPDATE ER_PS_NO_RECURSION ER_SP_CANT_SET_AUTOCOMMIT ER_MALFORMED_DEFINER ER_VIEW_FRM_NO_USER ER_VIEW_OTHER_USER ER_NO_SUCH_USER ER_FORBID_SCHEMA_CHANGE ER_ROW_IS_REFERENCED_2 ER_NO_REFERENCED_ROW_2 ER_SP_BAD_VAR_SHADOW ER_TRG_NO_DEFINER ER_OLD_FILE_FORMAT ER_SP_RECURSION_LIMIT ER_SP_PROC_TABLE_CORRUPT ER_SP_WRONG_NAME ER_TABLE_NEEDS_UPGRADE ER_SP_NO_AGGREGATE ER_MAX_PREPARED_STMT_COUNT_REACHED ER_VIEW_RECURSIVE ER_NON_GROUPING_FIELD_USED ER_TABLE_CANT_HANDLE_SPKEYS ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA ER_REMOVED_SPACES ER_AUTOINC_READ_FAILED ER_USERNAME ER_HOSTNAME ER_WRONG_STRING_LENGTH ER_NON_INSERTABLE_TABLE ER_ADMIN_WRONG_MRG_TABLE ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT ER_NAME_BECOMES_EMPTY ER_AMBIGUOUS_FIELD_TERM ER_FOREIGN_SERVER_EXISTS ER_FOREIGN_SERVER_DOESNT_EXIST ER_ILLEGAL_HA_CREATE_OPTION ER_PARTITION_REQUIRES_VALUES_ERROR ER_PARTITION_WRONG_VALUES_ERROR ER_PARTITION_MAXVALUE_ERROR ER_PARTITION_SUBPARTITION_ERROR ER_PARTITION_SUBPART_MIX_ERROR ER_PARTITION_WRONG_NO_PART_ERROR ER_PARTITION_WRONG_NO_SUBPART_ERROR ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR ER_FIELD_NOT_FOUND_PART_ERROR ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR ER_INCONSISTENT_PARTITION_INFO_ERROR ER_PARTITION_FUNC_NOT_ALLOWED_ERROR ER_PARTITIONS_MUST_BE_DEFINED_ERROR ER_RANGE_NOT_INCREASING_ERROR ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR ER_PARTITION_ENTRY_ERROR ER_MIX_HANDLER_ERROR ER_PARTITION_NOT_DEFINED_ERROR ER_TOO_MANY_PARTITIONS_ERROR ER_SUBPARTITION_ERROR ER_CANT_CREATE_HANDLER_FILE ER_BLOB_FIELD_IN_PART_FUNC_ERROR ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF ER_NO_PARTS_ERROR ER_PARTITION_MGMT_ON_NONPARTITIONED ER_FOREIGN_KEY_ON_PARTITIONED ER_DROP_PARTITION_NON_EXISTENT ER_DROP_LAST_PARTITION ER_COALESCE_ONLY_ON_HASH_PARTITION ER_REORG_HASH_ONLY_ON_SAME_NO ER_REORG_NO_PARAM_ERROR ER_ONLY_ON_RANGE_LIST_PARTITION ER_ADD_PARTITION_SUBPART_ERROR ER_ADD_PARTITION_NO_NEW_PARTITION ER_COALESCE_PARTITION_NO_PARTITION ER_REORG_PARTITION_NOT_EXIST ER_SAME_NAME_PARTITION ER_NO_BINLOG_ERROR ER_CONSECUTIVE_REORG_PARTITIONS ER_REORG_OUTSIDE_RANGE ER_PARTITION_FUNCTION_FAILURE ER_PART_STATE_ERROR ER_LIMITED_PART_RANGE ER_PLUGIN_IS_NOT_LOADED ER_WRONG_VALUE ER_NO_PARTITION_FOR_GIVEN_VALUE ER_FILEGROUP_OPTION_ONLY_ONCE ER_CREATE_FILEGROUP_FAILED ER_DROP_FILEGROUP_FAILED ER_TABLESPACE_AUTO_EXTEND_ERROR ER_WRONG_SIZE_NUMBER ER_SIZE_OVERFLOW_ERROR ER_ALTER_FILEGROUP_FAILED ER_BINLOG_ROW_LOGGING_FAILED ER_BINLOG_ROW_WRONG_TABLE_DEF ER_BINLOG_ROW_RBR_TO_SBR ER_EVENT_ALREADY_EXISTS ER_EVENT_STORE_FAILED ER_EVENT_DOES_NOT_EXIST ER_EVENT_CANT_ALTER ER_EVENT_DROP_FAILED ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG ER_EVENT_ENDS_BEFORE_STARTS ER_EVENT_EXEC_TIME_IN_THE_PAST ER_EVENT_OPEN_TABLE_FAILED ER_EVENT_NEITHER_M_EXPR_NOR_M_AT ER_COL_COUNT_DOESNT_MATCH_CORRUPTED ER_CANNOT_LOAD_FROM_TABLE ER_EVENT_CANNOT_DELETE ER_EVENT_COMPILE_ERROR ER_EVENT_SAME_NAME ER_EVENT_DATA_TOO_LONG ER_DROP_INDEX_FK ER_WARN_DEPRECATED_SYNTAX_WITH_VER ER_CANT_WRITE_LOCK_LOG_TABLE ER_CANT_LOCK_LOG_TABLE ER_FOREIGN_DUPLICATE_KEY ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT ER_NDB_CANT_SWITCH_BINLOG_FORMAT ER_PARTITION_NO_TEMPORARY ER_PARTITION_CONST_DOMAIN_ERROR ER_PARTITION_FUNCTION_IS_NOT_ALLOWED ER_DDL_LOG_ERROR ER_NULL_IN_VALUES_LESS_THAN ER_WRONG_PARTITION_NAME ER_CANT_CHANGE_TRANSACTION_ISOLATION ER_DUP_ENTRY_AUTOINCREMENT_CASE ER_EVENT_MODIFY_QUEUE_ERROR ER_EVENT_SET_VAR_ERROR ER_PARTITION_MERGE_ERROR ER_CANT_ACTIVATE_LOG ER_RBR_NOT_AVAILABLE ER_BASE64_DECODE_ERROR ER_EVENT_RECURSION_FORBIDDEN ER_EVENTS_DB_ERROR ER_ONLY_INTEGERS_ALLOWED ER_UNSUPORTED_LOG_ENGINE ER_BAD_LOG_STATEMENT ER_CANT_RENAME_LOG_TABLE ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT ER_WRONG_PARAMETERS_TO_NATIVE_FCT ER_WRONG_PARAMETERS_TO_STORED_FCT ER_NATIVE_FCT_NAME_COLLISION ER_DUP_ENTRY_WITH_KEY_NAME ER_BINLOG_PURGE_EMFILE ER_EVENT_CANNOT_CREATE_IN_THE_PAST ER_EVENT_CANNOT_ALTER_IN_THE_PAST ER_REPLICA_INCIDENT ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT ER_BINLOG_UNSAFE_STATEMENT ER_REPLICA_FATAL_ERROR ER_REPLICA_RELAY_LOG_READ_FAILURE ER_REPLICA_RELAY_LOG_WRITE_FAILURE ER_REPLICA_CREATE_EVENT_FAILURE ER_REPLICA_SOURCE_COM_FAILURE ER_BINLOG_LOGGING_IMPOSSIBLE ER_VIEW_NO_CREATION_CTX ER_VIEW_INVALID_CREATION_CTX ER_SR_INVALID_CREATION_CTX ER_TRG_CORRUPTED_FILE ER_TRG_NO_CREATION_CTX ER_TRG_INVALID_CREATION_CTX ER_EVENT_INVALID_CREATION_CTX ER_TRG_CANT_OPEN_TABLE ER_CANT_CREATE_SROUTINE ER_REPLICA_AMBIGOUS_EXEC_MODE ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT ER_REPLICA_CORRUPT_EVENT ER_LOAD_DATA_INVALID_COLUMN ER_LOG_PURGE_NO_FILE ER_XA_RBTIMEOUT ER_XA_RBDEADLOCK ER_NEED_REPREPARE ER_DELAYED_NOT_SUPPORTED WARN_NO_SOURCE_INFO WARN_OPTION_IGNORED WARN_PLUGIN_DELETE_BUILTIN WARN_PLUGIN_BUSY ER_VARIABLE_IS_READONLY ER_WARN_ENGINE_TRANSACTION_ROLLBACK ER_REPLICA_HEARTBEAT_FAILURE ER_REPLICA_HEARTBEAT_VALUE_OUT_OF_RANGE ER_NDB_REPLICATION_SCHEMA_ERROR ER_CONFLICT_FN_PARSE_ERROR ER_EXCEPTIONS_WRITE_ERROR ER_TOO_LONG_TABLE_COMMENT ER_TOO_LONG_FIELD_COMMENT ER_FUNC_INEXISTENT_NAME_COLLISION ER_DATABASE_NAME ER_TABLE_NAME ER_PARTITION_NAME ER_SUBPARTITION_NAME ER_TEMPORARY_NAME ER_RENAMED_NAME ER_TOO_MANY_CONCURRENT_TRXS WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED ER_DEBUG_SYNC_TIMEOUT ER_DEBUG_SYNC_HIT_LIMIT ER_ERROR_LAST ER_CLIENT_INTERACTION_TIMEOUT WriteInteger Summary description for MySqlPool. It is assumed that this property will only be used from inside an active lock. Indicates whether this pool is being cleared. It is assumed that this method is only called from inside an active lock. It is assumed that this method is only called from inside an active lock. Removes a connection from the in use pool. The only situations where this method would be called are when a connection that is in use gets some type of fatal exception or when the connection is being returned to the pool and it's too old to be returned. Clears this pool of all idle connections and marks this pool and being cleared so all other connections are closed when they are returned. Remove expired drivers from the idle pool Closing driver is a potentially lengthy operation involving network IO. Therefore we do not close expired drivers while holding idlePool.SyncRoot lock. We just remove the old drivers from the idle queue and return them to the caller. The caller will need to close them (or let GC close them) Summary description for MySqlPoolManager. Queue of demoted hosts. List of hosts that will be attempted to connect to. Timer to be used when a host have been demoted. Remove drivers that have been idle for too long. Remove hosts that have been on the demoted list for more than 120,000 milliseconds and add them to the available hosts list. Provides a class capable of executing a SQL script containing multiple SQL statements including CREATE PROCEDURE statements that require changing the delimiter Handles the event raised whenever a statement is executed. Handles the event raised whenever an error is raised by the execution of a script. Handles the event raised whenever a script execution is finished. Initializes a new instance of the class. Initializes a new instance of the class. The connection. Initializes a new instance of the class. The query. Initializes a new instance of the class. The connection. The query. Gets or sets the connection. The connection. Gets or sets the query. The query. Gets or sets the delimiter. The delimiter. Executes this instance. The number of statements executed as part of the script. Initiates the asynchronous execution of SQL statements. The number of statements executed as part of the script inside. Initiates the asynchronous execution of SQL statements. The cancellation token. The number of statements executed as part of the script inside. Represents the method that will handle errors when executing MySQL statements. Represents the method that will handle errors when executing MySQL scripts. Sets the arguments associated to MySQL scripts. Gets the statement text. The statement text. Gets the line. The line. Gets the position. The position. Sets the arguments associated to MySQL script errors. Initializes a new instance of the class. The exception. Gets the exception. The exception. Gets or sets a value indicating whether this is ignored. true if ignore; otherwise, false. Summary description for MySqlStream. ReadPacket is called by NativeDriver to start reading the next packet on the stream. Reads the specified number of bytes from the stream and stores them at given offset in the buffer. Throws EndOfStreamException if not all bytes can be read. Stream to read from Array to store bytes read from the stream The offset in buffer at which to begin storing the data read from the current stream. Number of bytes to read LoadPacket loads up and decodes the header of the incoming packet. Traces information about the client execution. Gets the list of trace listeners. Gets or sets the switch to control tracing and debugging. Gets or sets a flag indicating if query analysis is enabled. Enables query analysis. The host on which to enable query analysis. The interval of time for logging trace information. Disables query analysis. Specifies the types of warning flags. No index exists. Bad index exists. Rows have been excluded from the result. Columns have been excluded from the result. Type conversions took place. Specifies the event that triggered the trace. A connection has been opened. A connection has been closed. A query has been executed. Data has been retrieved from the resultset. Data retrieval has ended. Query execution has ended. The statement to be executed has been created. The statement has been executed. The statement is no longer required. The query provided is of a nonquery type. Usage advisor warnings have been requested. Noncritical problem. An error has been raised during data retrieval. The query has been normalized. Summary description for Driver. Sets the current database for the this connection Return the appropriate set of connection flags for our server capabilities and our user requested options. Query is the method that is called to send all queries to the server Verify that the file to upload is in a valid directory according to the safe path entered by a user under "AllowLoadLocalInfileInPath" connection option. File to validate against the safe path. Sends the specified file to the server. This supports the LOAD DATA LOCAL INFILE FetchDataRow is the method that the data reader calls to see if there is another row to fetch. In the non-prepared mode, it will simply read the next data packet. In the prepared mode (statementId > 0), it will Execution timeout, in milliseconds. When the accumulated time for network IO exceeds this value TimeoutException is thrown. This timeout needs to be reset for every new command Struct that represents the response OK Packet https://dev.mysql.com/doc/internals/en/packet-OK_Packet.html Creates an instance of the OKPacket object with all of its metadata The packet to parse Add a session tracker to the list Type of the session tracker Name of the element changed Value of the changed system variable (only for SessionTrackType.SystemVariables; otherwise, null) Summary description for PreparedStatement. Prepares CommandText for use with the Prepare method Command text stripped of all paramter names Takes the output of TokenizeSql and creates a single string of SQL that only contains '?' markers for each parameter. It also creates the parameterMap array list that includes all the paramter names in the order they appeared in the SQL Splits the schema and the entity from a syntactically correct "spName"; if there's no schema, then schema will be an empty string. string to inspect. The schema. The entity. Obtains the dot index that separates the schema from the entity if there's one; otherwise, returns -1. It expects a syntactically correct "spName". string to inspect. Value of the dot index. The dot index. Defines a replication configurarion element in the configuration file. Gets a collection of objects representing the server groups. Defines a replication server group in the configuration file. Gets or sets the name of the replication server group configuration. Gets or sets the group type of the replication server group configuration. Gets or sets the number of seconds to wait for retry. Gets a collection of objects representing the server configurations associated to this group configuration. Defines a replication server in configuration file. Gets or sets the name of the replication server configuration. Gets or sets whether the replication server is configured as source. Gets or sets whether the replication server is configured as source. Gets or sets the connection string associated to this replication server. Manager for Replication and Load Balancing features Returns Replication Server Group List Adds a Default Server Group to the list Group name Time between reconnections for failed servers Replication Server Group added Adds a Server Group to the list Group name ServerGroup type reference Time between reconnections for failed servers Server Group added Gets the next server from a replication group Group name True if the server to return must be a source Replication Server defined by the Load Balancing plugin Gets a Server Group by name Group name Server Group if found, otherwise throws an MySqlException Validates if the replication group name exists Group name to validate true if the replication group name is found; otherwise, false Assigns a new server driver to the connection object Group name True if the server connection to assign must be a source MySqlConnection object where the new driver will be assigned Class that implements Round Robing Load Balancing technique. Gets an available server based on Round Robin load balancing. Flag indicating if the server to return must be a source. A object representing the next available server. Represents a server in a Replication environment. Gets the server name. Gets a value indicating whether the server is source or replica. Gets a value indicating whether the server is source or replica. Gets the connection string used to connect to the server. Gets a flag indicating if the server is available to be considered in load balancing. Base class used to implement load balancing features. List of servers available for replication. The group name. The number of seconds to perform a retry. Gets the group name. Gets the retry time between connections to failed servers. Gets the server list in the group. Adds a server into the group. The server name. A flag indicating if the server to add is source or replica. The connection string used by this server. A object representing the recently added object. Removes a server from the group. The server name. Gets a server by name. The server name. The replication server. Must be implemented. Defines the next server for a custom load balancing implementation. Defines if the server to return is a source or any. The next server based on the load balancing implementation. Null if no available server is found. Defines the next server for a custom load balancing implementation. Defines if the server to return is a source or any. Currently not being used. The next server based on the load balancing implementation. Null if no available server is found. Handles a failed connection to a server. The failed server. This method can be overrided to implement a custom failover handling. Handles a failed connection to a server. The failed server. The exception that caused the failover. return the ordinal for the given column name Retrieve the value as the given column index The column value to retrieve The value as the given column Closes the current resultset, dumping any data still on the wire Loads the column metadata for the current resultset Represents a schema and its contents. Gets or sets the name of the schema. Gets the list of columns in the schema. Gets the list of rows in the schema. Represents a row within a schema. Represents a column within a schema. The name of the column. The type of the column. GetForeignKeysOnTable retrieves the foreign keys on the given table. Since MySQL supports foreign keys on versions prior to 5.0, we can't use information schema. MySQL also does not include any type of SHOW command for foreign keys so we have to resort to use SHOW CREATE TABLE and parsing the output. The table to store the key info in. The table to get the foeign key info for. Only get foreign keys that match this name. Should column information be included in the table. Builds the initial part of the COM_QUERY packet Collection of attributes A Serializes the given parameter to the given memory stream This method is called by PrepareSqlBuffers to convert the given parameter to bytes and write those bytes to the given memory stream. True if the parameter was successfully serialized, false otherwise. Summary description for StoredProcedure. Verify if the string passed as argument is syntactically correct. String to be analyzed true if is correct; otherwise, false. Defines the basic operations to be performed on the table cache. The maximum age allowed for cache entries. Adds the given command and result set to the cache. The command to store in the cache. The resultset associated to the stored command. Retrieves the specified command from the cache. The command to retrieve. The allowed age for the cache entry. Removes the specified command from the cache. The command to remove from the cache. Clears the cache. Removes cache entries older than the value defined by . Stream that supports timeout of IO operations. This class is used is used to support timeouts for SQL command, where a typical operation involves several network reads/writes. Timeout here is defined as the accumulated duration of all IO operations. Construct a TimedStream Undelying stream Figure out whether it is necessary to reset timeout on stream. We track the current value of timeout and try to avoid changing it too often, because setting Read/WriteTimeout property on network stream maybe a slow operation that involves a system call (setsockopt). Therefore, we allow a small difference, and do not reset timeout if current value is slightly greater than the requested one (within 0.1 second). Common handler for IO exceptions. Resets timeout to infinity if timeout exception is detected and stops the times. original exception Represents a SQL transaction to be made in a MySQL database. This class cannot be inherited. The application creates a object by calling on the object. All subsequent operations associated with the transaction (for example, committing or aborting the transaction), are performed on the object. The following example creates a and a . It also demonstrates how to use the , , and methods. public void RunTransaction(string myConnString) { MySqlConnection myConnection = new MySqlConnection(myConnString); myConnection.Open(); MySqlCommand myCommand = myConnection.CreateCommand(); MySqlTransaction myTrans; // Start a local transaction myTrans = myConnection.BeginTransaction(); // Must assign both transaction object and connection // to Command object for a pending local transaction myCommand.Connection = myConnection; myCommand.Transaction = myTrans; try { myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')"; myCommand.ExecuteNonQuery(); myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')"; myCommand.ExecuteNonQuery(); myTrans.Commit(); Console.WriteLine("Both records are written to database."); } catch(Exception e) { try { myTrans.Rollback(); } catch (MySqlException ex) { if (myTrans.Connection != null) { Console.WriteLine("An exception of type " + ex.GetType() + " was encountered while attempting to roll back the transaction."); } } Console.WriteLine("An exception of type " + e.GetType() + " was encountered while inserting the data."); Console.WriteLine("Neither record was written to database."); } finally { myConnection.Close(); } } Gets the object associated with the transaction, or a null reference (Nothing in Visual Basic) if the transaction is no longer valid. The object associated with this transaction. A single application may have multiple database connections, each with zero or more transactions. This property enables you to determine the connection object associated with a particular transaction created by . Specifies the for this transaction. The for this transaction. The default is ReadCommitted. Parallel transactions are not supported. Therefore, the IsolationLevel applies to the entire transaction. Gets the object associated with the transaction, or a null reference if the transaction is no longer valid. Releases the unmanaged resources used by the and optionally releases the managed resources If true, this method releases all resources held by any managed objects that this references. Commits the database transaction. The method is equivalent to the MySQL SQL statement COMMIT. Rolls back a transaction from a pending state. The method is equivalent to the MySQL statement ROLLBACK. The transaction can only be rolled back from a pending state (after BeginTransaction has been called, but before Commit is called). Removes the outer backticks and replace the double-backticks to single-backtick of inside the quotedString. The string to unquote. Defines the type of the column. A reference struct representing a statement contained within a object WebAuthn §6.1 https://www.w3.org/TR/webauthn-1/#sec-authenticator-data Gets the authenticator data for the assertion statement. Gets the authenticator data length for the assertion statement. Gets the ID for this assertion statement Gets the signature for this assertion statement Gets the signature length for this assertion statement Creates an object for holding data about a given assertion. In FIDO2, an assertion is proof that the authenticator being used has knowledge of the private key associated with the public key that the other party is in posession of. Default Constructor Finalizer Gets or sets the hash of the client data object that the assertion is based on. Thrown if an error occurs while setting the hash Gets or sets the relying party that requested this assertion Thrown if an error occurs while setting the relying party Adds an allowed credential to this assertion. If used, only credential objects with the IDs added via this method will be considered when making an assertion. The ID of the credential to add to the whitelist Thrown if an error occurs while adding the credential Cast operator for using this object as a native handle The object to use Gets the assertion statement. Since we're getting only one assertion, the index will always be zero. The index of the assertion statement to retrieve The assertion statement object The index is not in the range [0, count) Default constructor Finalizer Opens the device at the given path. The path of the device Thrown if an error occurs while opening the device Closes the device, preventing further use Thrown if an error occurs while closing Uses the device to generate an assertion The assertion object with its input properties properly set Thrown if an error occurs while generating the assertion A class representing external info about a particular FIDO capable device Gets the manufacturer of the device Gets the path of the device (for use in ) Gets the product ID of the device Gets a string representation of the product ID Gets the vendor ID of the device Finalizer P/Invoke methods The fido_init() function initialises the libfido2 library. Its invocation must precede that of any other libfido2 function. If FIDO_DEBUG is set in flags, then debug output will be emitted by libfido2 on stderr. Alternatively, the FIDO_DEBUG environment variable may be set. The flags to use during initialization Returns a pointer to a newly allocated, empty fido_dev_t type. If memory cannot be allocated, null is returned. A newly allocated, empty fido_dev_t type Releases the memory backing *dev_p, where *dev_p must have been previously allocated by . On return, *dev_p is set to null. Either dev_p or *dev_p may be null, in which case fido_dev_free() is a NOP. Closes the device represented by dev. If dev is already closed, this is a NOP. The device to close on success, anything else on failure Opens the device pointed to by path, where dev is a freshly allocated or otherwise closed fido_dev_t. The device handle to store the result The unique path to the device on success, anything else on failure Asks the FIDO device represented by dev for an assertion according to the following parameters defined in assert: relying party ID; client data hash; list of allowed credential IDs; user presence and user verification attributes. See fido_assert_set(3) for information on how these values are set. If a PIN is not needed to authenticate the request against dev, then pin may be NULL. Otherwise pin must point to a NUL-terminated UTF-8 string. Please note that fido_dev_get_assert() is synchronous and will block if necessary. The device to use for generation The assert to use for generation The pin of the device on success, anything else on failure Returns a pointer to a newly allocated, empty fido_dev_info_t type. If memory cannot be allocated, null is returned. A newly allocated, empty fido_dev_info_t type Returns a pointer to the path of di The object to act on A pointer to the path of di Returns a pointer to the idx entry of di The object to act on The index of the object to retrieve A pointer to the idx entry of di Fills devlist with up to ilen FIDO devices found by the underlying operating system. Currently only USB HID devices are supported. The number of discovered devices is returned in olen, where olen is an addressable pointer. The devlist pointer to store the result in The number of entries that the list can hold A pointer to where the number of entries that were written will be stored on success, anything else on failure Releases the memory backing *devlist_p, where *devlist_p must have been previously allocated by . On return, *devlist_p is set to null. Either devlist_p or *devlist_p may be null, in which case fido_dev_info_free() is a NOP. The number of entries this object was allocated to hold Returns the vendor of the device The object to act on The vendor of the device Returns the product of the device The object to act on The product of the device Returns a pointer to the product string of di The object to act on A pointer to the product string of di Returns a pointer to the manufacturer string of di The object to act on A pointer to the manufacturer string of di Returns a pointer to a newly allocated, empty fido_assert_t type. If memory cannot be allocated, null is returned A newly allocated, empty fido_assert_t type Releases the memory backing *assert_p, where *assert_p must have been previously allocated by . On return, *assert_p is set to null. Either assert_p or *assert_p may be null, in which case fido_assert_free() is a NOP. The object to free Adds ptr to the list of credentials allowed in assert, where ptr points to a credential ID of len bytes. A copy of ptr is made, and no references to the passed pointer are kept. If this call fails, the existing list of allowed credentials is preserved. The object to act on A pointer to the ID of the credential to allow The length of the data inside of Set the client data hash of assert The assertion object to act on The client data hash to set The length of the data in on success, anything else on failure Sets the relying party of assert The assertion object to act on The ID of the the relying party on success, anything else on failure Returns the length of the authenticator data of statement idx in assert The assertion object to act on The index to retrieve The length of the authenticator data of statement idx in assert Returns a pointer to the authenticator data of statement idx in assert The assertion object to act on The index to retrieve A pointer to the authenticator data of statement idx in assert Returns the length of the signature of statement idx in assert The assertion object to act on The index to retrieve The length of the signature of statement idx in assert Returns a pointer to the signature of statement idx in assert The assertion object to act on The index to retrieve A pointer to the signatureof statement idx in assert Returns the length of the ID of statement idx in assert The assertion object to act on The index to retrieve The length of the ID of statement idx in assert Returns a pointer to the ID of statement idx in assert The assertion object to act on The index to retrieve A pointer to the ID of statement idx in assert FIDO assertion handle FIDO device handle FIDO device info handle Gets the global instance of this class as required by The cookie to use when getting the global instance (ignored) The global instance Status codes as defined in Client to Authenticator Protocol (CTAP) standard Error response values in the range between and are reserved for spec purposes. Error response values in the range between and may be used for vendor-specific implementations. All other response values are reserved for future use and may not be used. These vendor specific error codes are not interoperable and the platform should treat these errors as any other unknown error codes. Error response values in the range between and may be used for extension-specific implementations. Indicates successful response. The command is not a valid CTAP command. The command included an invalid parameter. Invalid message or item length. Invalid message sequencing. Message timed out. Channel busy. Command requires channel lock. Command not allowed on this cid. Invalid/unexpected CBOR error. Error when parsing CBOR. Missing non-optional parameter. Limit for number of items exceeded. Unsupported extension. Valid credential found in the exclude list. Processing (Lengthy operation is in progress). Credential not valid for the authenticator. Authentication is waiting for user interaction. Processing, lengthy operation is in progress. No request is pending. Authenticator does not support requested algorithm. Not authorized for requested operation. Internal key storage is full. No outstanding operations. Unsupported option. Not a valid option for current operation. Pending keep alive was cancelled. No valid credentials provided. Timeout waiting for user interaction. Continuation command, such as, authenticatorGetNextAssertion not allowed. PIN Invalid. PIN Blocked. PIN authentication,pinAuth, verification failed. PIN authentication,pinAuth, blocked. Requires power recycle to reset. No PIN has been set. PIN is required for the selected operation. PIN policy violation. Currently only enforces minimum length. pinToken expired on authenticator. Authenticator cannot handle this request due to memory constraints. The current operation has timed out. User presence is required for the requested operation. Other unspecified error. CTAP 2 spec last error. Extension specific error. Extension specific error. Vendor specific error. Vendor specific error. An exception representing a return status that is non-successful according to the CTAP specification The status code that was returned Default constructor The status code to use An exception indicating that there was some problem with the FIDO2 device The code returned from the device Default constructor The code to use This class represent the function that should precede any invocation to libfido2 library. GSS API constants GSS_C_NT_HOSTBASED_SERVICE (1.2.840.113554.1.2.1.4) GSS_KRB5_NT_PRINCIPAL_NAME (1.2.840.113554.1.2.2.1) GSS_C_NT_USER_NAME (1.2.840.113554.1.2.1.1) GSS_KRB5_MECH_OID_DESC (1.2.840.113554.1.2.2) GSS_KRB5_MECH_OID_DESC Set Defines a security context Sets the main properties to create and initiate a security context. Service Principal Name. Credentials. Requested flags. Initiate the security context Challenge received by the server. A byte array containing the response to be sent to the server Unwrap a message. Message acquired from the server. Unwrapped message. Wrap a message. Message to be wrapped. A byte array containing the wrapped message. Allocate a clr byte array and copy the token data over Buffer. A byte array Cleanups unmanaged resources No flags provided Delegates credentials to a remote peer. Do not delegate the credentials if the value is false. Requests that the peer authenticate itself. If false, authenticate to the remote peer only. Enables replay detection for messages protected with gss_wrap(3GSS) or gss_get_mic(3GSS). Do not attempt to detect replayed messages if false. Enables detection of out-of-sequence protected messages. Do not attempt to detect out-of-sequence messages if false. Requests that confidential service be made available by means of gss_wrap(3GSS). If false, no per-message confidential service is required. Requests that integrity service be made available by means of gss_wrap(3GSS) or gss_get_mic(3GSS). If false, no per-message integrity service is required. Does not reveal the initiator's identify to the acceptor. Otherwise, authenticate normally. (Returned only) If true, the protection services specified by the states of GSS_C_CONF_FLAG and GSS_C_INTEG_FLAG are available if the accompanying major status return value is either GSS_S_COMPLETE or GSS_S_CONTINUE_NEEDED. If false, the protection services are available only if the accompanying major status return value is GSS_S_COMPLETE. (Returned only) If true, the resultant security context may be transferred to other processes by means of a call to gss_export_sec_context(3GSS). If false, the security context cannot be transferred. Credentials to use to establish the context Acquires credentials for the supplied principal using the supplied password Username Password GSS_C_BOTH - Credentials may be used either to initiate or accept security contexts. GSS_C_INITIATE - Credentials will only be used to initiate security contexts. GSS_C_ACCEPT - Credentials will only be used to accept security contexts. An object containing the credentials Acquires credentials for the supplied principal using material stored in a valid keytab Username GSS_C_BOTH - Credentials may be used either to initiate or accept security contexts. GSS_C_INITIATE - Credentials will only be used to initiate security contexts. GSS_C_ACCEPT - Credentials will only be used to accept security contexts. An object containing the credentials Acquires default credentials stored in the cache GSS_C_BOTH - Credentials may be used either to initiate or accept security contexts. GSS_C_INITIATE - Credentials will only be used to initiate security contexts. GSS_C_ACCEPT - Credentials will only be used to accept security contexts. An object containing the credentials Translates a name in internal form to a textual representation. Name in internal form (GSSAPI). size_t->unsigned int void* OM_uint32->gss_uint32->unsigned int void* OM_uint32->gss_uint32->unsigned int void* Converts a contiguous string name to GSS_API internal format The gss_import_name() function converts a contiguous string name to internal form. In general, the internal name returned by means of the output_name parameter will not be a mechanism name; the exception to this is if the input_name_type indicates that the contiguous string provided by means of the input_name_buffer parameter is of type GSS_C_NT_EXPORT_NAME, in which case, the returned internal name will be a mechanism name for the mechanism that exported the name. Status code returned by the underlying mechanism. The gss_buffer_desc structure containing the name to be imported. A gss_OID that specifies the format that the input_name_buffer is in. The gss_name_t structure to receive the returned name in internal form. Storage associated with this name must be freed by the application after use with a call to gss_release_name(). The gss_import_name() function may return the following status codes: GSS_S_COMPLETE: The gss_import_name() function completed successfully. GSS_S_BAD_NAMETYPE: The input_name_type was unrecognized. GSS_S_BAD_NAME: The input_name parameter could not be interpreted as a name of the specified type. GSS_S_BAD_MECH: The input_name_type was GSS_C_NT_EXPORT_NAME, but the mechanism contained within the input_name is not supported. Allows an application to acquire a handle for a pre-existing credential by name. GSS-API implementations must impose a local access-control policy on callers of this routine to prevent unauthorized callers from acquiring credentials to which they are not entitled. This routine is not intended to provide a "login to the network" function, as such a function would involve the creation of new credentials rather than merely acquiring a handle to existing credentials Mechanism specific status code. Name of principal whose credential should be acquired. Number of seconds that credentials should remain valid. Specify GSS_C_INDEFINITE to request that the credentials have the maximum permitted lifetime. Set of underlying security mechanisms that may be used. GSS_C_NO_OID_SET may be used to obtain an implementation-specific default. GSS_C_BOTH - Credentials may be used either to initiate or accept security contexts. GSS_C_INITIATE - Credentials will only be used to initiate security contexts. GSS_C_ACCEPT - Credentials will only be used to accept security contexts. The returned credential handle. Resources associated with this credential handle must be released by the application after use with a call to gss_release_cred(). The set of mechanisms for which the credential is valid. Storage associated with the returned OID-set must be released by the application after use with a call to gss_release_oid_set(). Specify NULL if not required. Actual number of seconds for which the returned credentials will remain valid. If the implementation does not support expiration of credentials, the value GSS_C_INDEFINITE will be returned. Specify NULL if not required. gss_acquire_cred() may return the following status codes: GSS_S_COMPLETE: Successful completion. GSS_S_BAD_MECH: Unavailable mechanism requested. GSS_S_BAD_NAMETYPE: Type contained within desired_name parameter is not supported. GSS_S_BAD_NAME: Value supplied for desired_name parameter is ill formed. GSS_S_CREDENTIALS_EXPIRED: The credentials could not be acquired Because they have expired. GSS_S_NO_CRED: No credentials were found for the specified name. Acquires a credential for use in establishing a security context using a password. Mechanism specific status code. Name of principal whose credential should be acquired. The password. Number of seconds that credentials should remain valid. Specify GSS_C_INDEFINITE to request that the credentials have the maximum permitted lifetime. Set of underlying security mechanisms that may be used. GSS_C_NO_OID_SET may be used to obtain an implementation-specific default. GSS_C_BOTH - Credentials may be used either to initiate or accept security contexts. GSS_C_INITIATE - Credentials will only be used to initiate security contexts. GSS_C_ACCEPT - Credentials will only be used to accept security contexts. The returned credential handle. Resources associated with this credential handle must be released by the application after use with a call to gss_release_cred(). The set of mechanisms for which the credential is valid. Storage associated with the returned OID-set must be released by the application after use with a call to gss_release_oid_set(). Specify NULL if not required. Actual number of seconds for which the returned credentials will remain valid. If the implementation does not support expiration of credentials, the value GSS_C_INDEFINITE will be returned. Specify NULL if not required. gss_acquire_cred_with_password() may return the following status codes: GSS_S_COMPLETE: Successful completion. GSS_S_BAD_MECH: Unavailable mechanism requested. GSS_S_BAD_NAMETYPE: Type contained within desired_name parameter is not supported. GSS_S_BAD_NAME: Value supplied for desired_name parameter is ill formed. GSS_S_CREDENTIALS_EXPIRED: The credentials could not be acquired Because they have expired. GSS_S_NO_CRED: No credentials were found for the specified name. Obtains information about a credential. Mechanism specific status code. A handle that refers to the target credential. The name whose identity the credential asserts. The number of seconds for which the credential remain valid. If the credential has expired, this parameter is set to zero. How the credential may be used. Set of mechanisms supported by the credential. gss_init_sec_context() may return the following status codes: GSS_S_COMPLETE: Successful completion. GSS_S_NO_CRED: The referenced credentials could not be accessed. GSS_S_DEFECTIVE_CREDENTIAL: The referenced credentials were invalid. GSS_S_CREDENTIALS_EXPIRED: The referenced credentials have expired. If the lifetime parameter is not passed in as NULL, then its value is set to 0. Initiates the establishment of a security context between the application and a remote peer. Initially, the input_token parameter should be specified either as GSS_C_NO_BUFFER, or as a pointer to a gss_buffer_desc object whose length field contains the value zero. The routine may return a output_token which should be transferred to the peer application, where the peer application will present it to gss_accept_sec_context. If no token need be sent, gss_init_sec_context will indicate this by setting the length field of the output_token argument to zero. To complete the context establishment, one or more reply tokens may be required from the peer application; if so, gss_init_sec_context will return a status containing the supplementary information bit GSS_S_CONTINUE_NEEDED. In this case, gss_init_sec_context should be called again when the reply token is received from the peer application, passing the reply token to gss_init_sec_context via the input_token parameters. Mechanism specific status code. Handle for credentials claimed. Supply GSS_C_NO_CREDENTIAL to act as a default initiator principal. If no default initiator is defined, the function will return GSS_S_NO_CRED. Context handle for new context. Supply GSS_C_NO_CONTEXT for first call; use value returned by first call in continuation calls. Resources associated with this context-handle must be released by the application after use with a call to gss_delete_sec_context(). Name of target. Object ID of desired mechanism. Supply GSS_C_NO_OID to obtain an implementation specific default. Contains various independent flags, each of which requests that the context support a specific service option. Symbolic names are provided for each flag, and the symbolic names corresponding to the required flags should be logically-ORed together to form the bit-mask value. Desired number of seconds for which context should remain valid. Supply 0 to request a default validity period. Application-specified bindings. Allows application to securely bind channel identification information to the security context. Specify GSS_C_NO_CHANNEL_BINDINGS if channel bindings are not used. Token received from peer application. Supply GSS_C_NO_BUFFER, or a pointer to a buffer containing the value GSS_C_EMPTY_BUFFER on initial call. Actual mechanism used. The OID returned via this parameter will be a pointer to static storage that should be treated as read-only; In particular the application should not attempt to free it. Specify NULL if not required. Token to be sent to peer application. If the length field of the returned buffer is zero, no token need be sent to the peer application. Storage associated with this buffer must be freed by the application after use with a call to gss_release_buffer(). Contains various independent flags, each of which indicates that the context supports a specific service option. Specify NULL if not required. Symbolic names are provided for each flag, and the symbolic names corresponding to the required flags should be logically-ANDed with the ret_flags value to test whether a given option is supported by the context. Number of seconds for which the context will remain valid. If the implementation does not support context expiration, the value GSS_C_INDEFINITE will be returned. Specify NULL if not required. gss_init_sec_context() may return the following status codes: GSS_S_COMPLETE: Successful completion. GSS_S_CONTINUE_NEEDED: A token from the peer application is required to complete the context, and gss_init_sec_context() must be called again with that token. GSS_S_DEFECTIVE_TOKEN: Consistency checks performed on the input_token failed. GSS_S_DEFECTIVE_CREDENTIAL: Consistency checks performed on the credential failed. GSS_S_NO_CRED: The supplied credentials are not valid for context acceptance, or the credential handle does not reference any credentials. GSS_S_CREDENTIALS_EXPIRED: The referenced credentials have expired. GSS_S_BAD_BINDINGS: The input_token contains different channel bindings than those specified by means of the input_chan_bindings parameter. GSS_S_BAD_SIG: The input_token contains an invalid MIC or a MIC that cannot be verified. GSS_S_OLD_TOKEN: The input_token is too old. This is a fatal error while establishing context. GSS_S_DUPLICATE_TOKEN: The input_token is valid, but it is a duplicate of a token already processed.This is a fatal error while establishing context. GSS_S_NO_CONTEXT: The supplied context handle does not refer to a valid context. GSS_S_BAD_NAMETYPE: The provided target_name parameter contains an invalid or unsupported name type. GSS_S_BAD_NAME: The supplied target_name parameter is ill-formed. GSS_S_BAD_MECH: The token received specifies a mechanism that is not supported by the implementation or the provided credential. Allows an application to obtain a textual representation of a GSS-API status code, for display to the user or for logging purposes. Since some status values may indicate multiple conditions, applications may need to call gss_display_status multiple times, each call generating a single text string. The message_context parameter is used by gss_display_status to store state information about which error messages have already been extracted from a given status_value; message_context must be initialized to 0 by the application prior to the first call, and gss_display_status will return a non-zero value in this parameter if there are further messages to extract. Mechanism specific status code. Status value to be converted. GSS_C_GSS_CODE - status_value is a GSS status code. GSS_C_MECH_CODE - status_value is a mechanism status code. Underlying mechanism (used to interpret a minor status value). Supply GSS_C_NO_OID to obtain the system default. Should be initialized to zero by the application prior to the first call. On return from gss_display_status(), a non-zero status_value parameter indicates that additional messages may be extracted from the status code via subsequent calls to gss_display_status(), passing the same status_value, status_type, mech_type, and message_context parameters. Textual interpretation of the status_value. Storage associated with this parameter must be freed by the application after use with a call to gss_release_buffer(). gss_display_status() may return the following status codes: GSS_S_COMPLETE: Successful completion. GSS_S_BAD_MECH: Indicates that translation in accordance with an unsupported mechanism type was requested. GSS_S_BAD_STATUS: The status value was not recognized, or the status type was neither GSS_C_GSS_CODE nor GSS_C_MECH_CODE. Allows an application to obtain a textual representation of an opaque internal-form name for display purposes. The syntax of a printable name is defined by the GSS-API implementation. Mechanism specific status code. Name to be displayed. Buffer to receive textual name string. The type of the returned name. gss_display_name() may return the following status codes: GSS_S_COMPLETE: Successful completion. GSS_S_BAD_NAME: input_name was ill-formed. Free storage associated with a buffer. The storage must have been allocated by a GSS-API routine. In addition to freeing the associated storage, the routine will zero the length field in the descriptor to which the buffer parameter refers, and implementations are encouraged to additionally set the pointer field in the descriptor to NULL. Any buffer object returned by a GSS-API routine may be passed to gss_release_buffer (even if there is no storage associated with the buffer). Mechanism-specific status code. The storage associated with the buffer will be deleted. The gss_buffer_desc object will not be freed, but its length field will be zeroed. The gss_release_buffer() function may return the following status codes: GSS_S_COMPLETE: Successful completion Delete a security context. gss_delete_sec_context will delete the local data structures associated with the specified security context, and may generate an output_token, which when passed to the peer gss_process_context_token will instruct it to do likewise. If no token is required by the mechanism, the GSS-API should set the length field of the output_token (if provided) to zero. No further security services may be obtained using the context specified by context_handle. Mechanism specific status code. Context handle identifying context to delete. After deleting the context, the GSS-API will set this context handle to GSS_C_NO_CONTEXT. The gss_delete_sec_context() function may return the following status codes: GSS_S_COMPLETE: Successful completion. GSS_S_NO_CONTEXT: No valid context was supplied. Free GSSAPI-allocated storage associated with an internal-form name. The name is set to GSS_C_NO_NAME on successful completion of this call. Mechanism specific status code. The name to be deleted. The gss_release_name() function may return the following status codes: GSS_S_COMPLETE: Successful completion. GSS_S_BAD_NAME: The name parameter did not contain a valid name. Informs GSS-API that the specified credential handle is no longer required by the application, and frees associated resources. The cred_handle is set to GSS_C_NO_CREDENTIAL on successful completion of this call. Mechanism specific status code. Opaque handle identifying credential to be released. If GSS_C_NO_CREDENTIAL is supplied, the routine will complete successfully, but will do nothing. The gss_release_cred() function may return the following status codes: GSS_S_COMPLETE: Successful completion. GSS_S_NO_CRED: Credentials could not be accessed. Converts a message previously protected by gss_wrap back to a usable form, verifying the embedded MIC. The conf_state parameter indicates whether the message was encrypted; the qop_state parameter indicates the strength of protection that was used to provide the confidentiality and integrity services. Mechanism specific status code. Identifies the context on which the message arrived. Protected message. Buffer to receive unwrapped message. The gss_unwrap() function may return the following status codes: GSS_S_COMPLETE: Successful completion. GSS_S_DEFECTIVE_TOKEN: The token failed consistency checks. GSS_S_BAD_SIG: The MIC was incorrect. GSS_S_DUPLICATE_TOKEN: The token was valid, and contained a correct MIC for the message, but it had already been processed. GSS_S_OLD_TOKEN: The token was valid, and contained a correct MIC for the message, but it is too old to check for duplication. GSS_S_UNSEQ_TOKEN: The token was valid, and contained a correct MIC for the message, but has been verified out of sequence; a later token has already been received. GSS_S_GAP_TOKEN: The token was valid, and contained a correct MIC for the message, but has been verified out of sequence; an earlier expected token has not yet been received. GSS_S_CONTEXT_EXPIRED: The context has already expired. GSS_S_NO_CONTEXT: The context_handle parameter did not identify a valid context. Attaches a cryptographic MIC and optionally encrypts the specified input_message. The output_message contains both the MIC and the message. The qop_req parameter allows a choice between several cryptographic algorithms, if supported by the chosen mechanism. Mechanism specific status code. Identifies the context on which the message arrived. Message to be protected. Buffer to receive protected message. The gss_unwrap() function may return the following status codes: GSS_S_COMPLETE: Successful completion. GSS_S_CONTEXT_EXPIRED: The context has already expired. GSS_S_NO_CONTEXT: The context_handle parameter did not identify a valid context. GSS_S_BAD_QOP: The specified QOP is not supported by the mechanism. MIT Kerberos 5 GSS Bindings Linux Automatic dynamic disposable Automatic dynamic disposable storing Automatic dynamic disposable storing , will be called at dispose Automatic dynamic disposable storing , will be disposed Automatic dynamic disposable storing , will be disposed Automatic dynamic disposable storing , will be disposed Automatic dynamic disposable storing , will be disposed and will be called at dispose Automatic dynamic disposable Original value, can be used with ref Automatic dynamic disposable storing , will be disposed and will be called at dispose Returns stored value Gets the Kerberos configuration from the "krb5.conf/krb5.ini" file Memory pinned object Create memory pinned object from Any class type Value to pin Pinned value Memory pinned object Any class type Original object value, can be used with ref In memory address of the object Create memory pinned object from Value to pin Returns address of object in memory Returns original object value SSPI constants SSPI Bindings A safe handle to the credential's handle. Acquires a handle to preexisting credentials of a security principal. Creates an instance of SspiSecurityContext with credentials provided. Credentials to be used with the Security Context Initiates the client side, outbound security context from a credential handle. Byte array to be sent to the server. Byte array received by the server. if should continue processing; otherwise, . Defines the type of the security buffer. Defines a security handle. Describes a buffer allocated by a transport to pass to a security package. Specifies the size, in bytes, of the buffer. Bit flags that indicate the type of the buffer. Pointer to a buffer. Hold a numeric value used in defining other data types. Least significant digits. Most significant digits. Holds a pointer used to define a security handle. Least significant digits. Most significant digits. Indicates the sizes of important structures used in the message support functions. Specifies the maximum size of the security token used in the authentication changes. Specifies the maximum size of the signature created by the MakeSignature function. This member must be zero if integrity services are not requested or available. Specifies the preferred integral size of the messages. Size of the security trailer to be appended to messages. This member should be zero if the relevant services are not requested or available. Implements the 'SEC_WINNT_AUTH_IDENTITY' structure. See: https://msdn.microsoft.com/en-us/library/windows/desktop/aa380131(v=vs.85).aspx DNS resolver that runs queries against a server. Initializes a new instance of the class. Gets the DNS SVR records of the service name that is provided. A list of s sorted as described in RFC2782. Sorts a list of DNS SRV records according to the sorting rules described in RFC2782. List of s to sort. A new list of sorted s. Resets the DnsSrvResolver Class that represents a DNS SRV record. RFC 2782 (https://tools.ietf.org/html/rfc2782) Gets the port. Gets the priority. Gets the target domain name. Gets the weight. Initializes a new instance of class. The port. The priority. The target. The weight. Initializes a new instance of class. The DNS SRV record. Compare two objects. First, using their priority and if both have the same, then using their weights. A to compare. A to compare. Initializes a new instance of the class from a . The DNS SRV record. This class is modeled after .NET Stopwatch. It provides better performance (no system calls).It is however less precise than .NET Stopwatch, measuring in milliseconds. It is adequate to use when high-precision is not required (e.g for measuring IO timeouts), but not for other tasks. Wrapper around NetworkStream. MyNetworkStream is equivalent to NetworkStream, except 1. It throws TimeoutException if read or write timeout occurs, instead of IOException, to match behavior of other streams (named pipe and shared memory). This property comes handy in TimedStream. 2. It implements workarounds for WSAEWOULDBLOCK errors, that can start occuring after stream has times out. For a discussion about the CLR bug, refer to http://tinyurl.com/lhgpyf. This error should never occur, as we're not using asynchronous operations, but apparerntly it does occur directly after timeout has expired. The workaround is hinted in the URL above and implemented like this: For each IO operation, if it throws WSAEWOULDBLOCK, we explicitely set the socket to Blocking and retry the operation once again. Determines whether the connection state is closed or open. true if connection is closed; otherwise, false. Set keepalive + timeout on socket. socket keepalive timeout, in seconds Read a single quoted identifier from the stream Helper class to encapsulate shared memory functionality Also cares of proper cleanup of file mapping object and cew Summary description for SharedMemoryStream. By creating a private ctor, we keep the compiler from creating a default ctor Mark - or + signs that are unary ops as no output Handles SSL connections for the Classic and X protocols. Contains the connection options provided by the user. A flag to establish how certificates are to be treated and validated. Defines the supported TLS protocols. Retrieves a collection containing the client SSL PFX certificates. Dependent on connection string settings. Either file or store based certificates are used. Initiates the SSL connection. The base stream. The encoding used in the SSL connection. The connection string used to establish the connection. A instance ready to initiate an SSL connection. Verifies the SSL certificates used for authentication. An object that contains state information for this validation. The MySQL server certificate used to authenticate the remote party. The chain of certificate authorities associated with the remote certificate. One or more errors associated with the remote certificate. true if no errors were found based on the selected SSL mode; false, otherwise. Gets the extension of the specified file. The path of the file. Flag to indicate if the result should be converted to lower case. The . character is ommited from the result. Summary description for StreamCreator. Set the keepalive timeout on the socket. The socket object. The keepalive timeout, in seconds. Summary description for Version. Provides functionality to read SSL PEM certificates and to perform multiple validations via Bouncy Castle. Raises an exception if the specified connection option is null, empty or whitespace. The connection option to verify. The name of the connection option. Reads the specified file as a byte array. The path of the file to read. A byte array representing the read file. Reads the SSL certificate file. The path to the certificate file. A instance representing the SSL certificate file. Reads the SSL certificate key file. The path to the certificate key file. A instance representing the SSL certificate key file. Verifies that the certificate has not yet expired. The certificate to verify. Verifies a certificate CA status. The certificate to validate. A flag indicating the expected CA status. Verifies that the certificate was signed using the private key that corresponds to the specified public key The client side certificate containing the public key. The server certificate. Verifies that no SSL policy errors regarding the identitfy of the host were raised. A instance set with the raised SSL errors. Verifies that the issuer matches the CA by comparing the CA certificate issuer and the server certificate issuer. The CA certificate. The server certificate. Gets and sets the host list. Gets the active host. Active host. Sets the initial active host. Determines the next host. object that represents the next available host. Implements common elements that allow to manage the hosts available for client side failover. Gets and sets the failover group which consists of a host list. Resets the manager. Sets the host list to be used during failover operations. The host list. The failover method. Attempts to establish a connection to a host specified from the list. The original connection string set by the user. An out parameter that stores the updated connection string. A object in case this is a pooling scenario. A flag indicating if the default port is used in the connection. An instance if the connection was succesfully established, a exception is thrown otherwise. Creates a if more than one host is found. A string containing an unparsed list of hosts. true if the connection is X Protocol; otherwise false. true if the connection data is a URI; otherwise false. The number of hosts found, -1 if an error was raised during parsing. Creates a object based on the provided parameters. The host string that can be a simple host name or a host name and port. The priority of the host. The port number of the host. true if the connection data is a URI; otherwise false. Attempts the next host in the list. Moves to the first element if the end of the list is reached. Determines the next host on which to attempt a connection by checking the value of the Priority property in descending order. Determines the next host on which to attempt a connection randomly. Depicts a host which can be failed over to. Gets and sets the name or address of the host. Gets and sets the port number. Gets a value between 0 and 100 which represents the priority of the host. Flag to indicate if this host is currently being used. Flag to indicate if this host has been attempted to connection. Time since the host has been demoted. Initializes a object. The host. The port. The priority. Compares two objects of type . FailoverServer object to compare. True if host properties are the same. Otherwise, false. Manages the hosts available for client side failover using the Random Failover method. The Random Failover method attempts to connect to the hosts specified in the list randomly until all the hosts have been attempted. The initial host taken from the list. The host for the current connection attempt. Random object to get the next host. Sets the initial active host. Determines the next host. A object that represents the next available host. Manages the hosts available for client side failover using the Sequential Failover method. The Sequential Failover method attempts to connect to the hosts specified in the list one after another until the initial host is reached. The initial host taken from the list. The index of the current host. The host for the current connection attempt. Sets the initial active host. Determines the next host. A object that represents the next available host. A strongly-typed resource class, for looking up localized strings, etc. Returns the cached ResourceManager instance used by this class. Overrides the current thread's CurrentUICulture property for all resource lookups using this strongly typed resource class. Looks up a localized string similar to Improper MySqlCommandBuilder state: adapter is null. Looks up a localized string similar to Improper MySqlCommandBuilder state: adapter's SelectCommand is null. Looks up a localized string similar to Invalid attempt to access a field before calling Read(). Looks up a localized string similar to Authentication to host '{0}' for user '{1}' using method '{2}' failed with message: {3}. Looks up a localized string similar to Authentication method '{0}' not supported by any of the available plugins.. Looks up a localized string similar to Authentication plugin '{0}' is currently not supported.. Looks up a localized string similar to Version string not in acceptable format. Looks up a localized string similar to The buffer cannot be null. Looks up a localized string similar to The buffer is not large enough. Looks up a localized string similar to Canceling an executing query requires MySQL 5.0 or higher.. Looks up a localized string similar to Canceling an active query is only supported on MySQL 5.0.0 and above. . Looks up a localized string similar to Parameters can only be derived for commands using the StoredProcedure command type.. Looks up a localized string similar to MySqlCommandBuilder does not support multi-table statements. Looks up a localized string similar to MySqlCommandBuilder cannot operate on tables with no unique or key columns. Looks up a localized string similar to Chaos isolation level is not supported . Looks up a localized string similar to Clear-password authentication is not supported over insecure channels.. Looks up a localized string similar to The CommandText property has not been properly initialized.. Looks up a localized string similar to Compression is not supported.. Looks up a localized string similar to The connection is already open.. Looks up a localized string similar to Connection unexpectedly terminated.. Looks up a localized string similar to Connection must be valid and open. Looks up a localized string similar to The connection is not open.. Looks up a localized string similar to The connection property has not been set or is null.. Looks up a localized string similar to Could not find specified column in results: {0}. Looks up a localized string similar to Count cannot be negative. Looks up a localized string similar to SetLength is not a valid operation on CompressedStream. Looks up a localized string similar to The given value was not in a supported format.. Looks up a localized string similar to There is already an open DataReader associated with this Connection which must be closed first.. Looks up a localized string similar to The default connection encoding was not found. Please report this as a bug along with your connection string and system details.. Looks up a localized string similar to MySQL Connector/NET does not currently support distributed transactions.. Looks up a localized string similar to Specifying multiple host names with DNS SRV lookup is not permitted.. Looks up a localized string similar to Specifying a port number with DNS SRV lookup is not permitted.. Looks up a localized string similar to Using Unix domain sockets with DNS SRV lookup is not permitted.. Looks up a localized string similar to Unable to locate any hosts for {0}.. Looks up a localized string similar to Encoding error during validation.. Looks up a localized string similar to Error creating socket connection. Looks up a localized string similar to Verify that user '{0}'@'{1}' has enough privileges to execute.. Looks up a localized string similar to Fatal error encountered during command execution.. Looks up a localized string similar to Fatal error encountered during data read.. Looks up a localized string similar to Fatal error encountered attempting to read the resultset.. Looks up a localized string similar to File based certificates are only supported when connecting to MySQL Server 5.1 or greater.. Looks up a localized string similar to The specified file cannot be converted to a certificate.. Looks up a localized string similar to The specified file cannot be converted to a key.. Looks up a localized string similar to Failed to read file at the specified location.. Looks up a localized string similar to No file path has been provided for the connection option {0}.. Looks up a localized string similar to From index and length use more bytes than from contains. Looks up a localized string similar to From index must be a valid index inside the from buffer. Looks up a localized string similar to Call to GetHostEntry failed after {0} while querying for hostname '{1}': SocketErrorCode={2}, ErrorCode={3}, NativeErrorCode={4}.. Looks up a localized string similar to Retrieving procedure metadata for {0} from server.. Looks up a localized string similar to Value has an unsupported format.. Looks up a localized string similar to An incorrect response was received from the server.. Looks up a localized string similar to Index and length use more bytes than to has room for. Looks up a localized string similar to Index must be a valid position in the buffer. Looks up a localized string similar to The provided key is invalid.. Looks up a localized string similar to Certificate with Thumbprint '{0}' not found.. Looks up a localized string similar to You have specified an invalid column ordinal.. Looks up a localized string similar to The requested value '{0}' is invalid for the given keyword '{1}'.. Looks up a localized string similar to The host name or IP address is invalid.. Looks up a localized string similar to Microsecond must be a value between 0 and 999999.. Looks up a localized string similar to Millisecond must be a value between 0 and 999. For more precision use Microsecond.. Looks up a localized string similar to Either provide a valid path for 'allowloadlocalinfileinpath' or enable 'allowloadlocalinfile'.. Looks up a localized string similar to Procedure or function '{0}' cannot be found in database '{1}'.. Looks up a localized string similar to The certificate is invalid.. Looks up a localized string similar to Unable to validate the signature.. Looks up a localized string similar to Unable to verify the signature.. Looks up a localized string similar to Value '{0}' is not of the correct type.. Looks up a localized string similar to '{0}' is an illegal value for a boolean option.. Looks up a localized string similar to Keyword does not allow null values.. Looks up a localized string similar to Option not supported.. Looks up a localized string similar to Server asked for stream in response to LOAD DATA LOCAL INFILE, but the functionality is disabled by the client setting 'allowlocalinfile' to 'false'.. Looks up a localized string similar to Mixing named and unnamed parameters is not allowed.. Looks up a localized string similar to INTERNAL ERROR: More than one output parameter row detected.. Looks up a localized string similar to Multiple simultaneous connections or connections with different connection strings inside the same transaction are not currently supported.. Looks up a localized string similar to NamedPipeStream does not support seeking. Looks up a localized string similar to NamedPipeStream doesn't support SetLength. Looks up a localized string similar to The new value must be a MySqlParameter object.. Looks up a localized string similar to Invalid attempt to call NextResult when the reader is closed.. Looks up a localized string similar to When calling stored procedures and 'Use Procedure Bodies' is false, all parameters must have their type explicitly set.. Looks up a localized string similar to Nested transactions are not supported.. Looks up a localized string similar to The host {0} does not support SSL connections.. Looks up a localized string similar to Unix sockets are not supported on Windows.. Looks up a localized string similar to Cannot retrieve Windows identity for current user. Connections that use IntegratedSecurity cannot be pooled. Use either 'ConnectionReset=true' or 'Pooling=false' in the connection string to fix.. Looks up a localized string similar to The object is not open or has been disposed.. Looks up a localized string similar to OCI configuration file could not be read.. Looks up a localized string similar to OCI configuration file does not contain a 'fingerprint' or 'key_file' entry.. Looks up a localized string similar to OCI configuration entry 'key_file' does not reference a valid key file.. Looks up a localized string similar to Private key could not be found at location given by OCI configuration entry 'key_file'.. Looks up a localized string similar to The OCI SDK cannot be found or is not installed.. Looks up a localized string similar to The offset cannot be negative. Looks up a localized string similar to Offset must be a valid position in buffer. Looks up a localized string similar to Authentication with old password no longer supported, use 4.1 style passwords.. Looks up a localized string similar to The option '{0}' is not currently supported.. Looks up a localized string similar to Parameter '{0}' has already been defined.. Looks up a localized string similar to Parameter cannot have a negative value. Looks up a localized string similar to Parameter cannot be null. Looks up a localized string similar to Parameter '{0}' can't be null or empty.. Looks up a localized string similar to Parameter index was not found in Parameter Collection.. Looks up a localized string similar to Parameter is invalid.. Looks up a localized string similar to Parameter '{0}' must be defined.. Looks up a localized string similar to Parameter '{0}' was not found during prepare.. Looks up a localized string similar to Parameter can't be null or empty.. Looks up a localized string similar to Password must be valid and contain length characters. Looks up a localized string similar to This category includes a series of counters for MySQL. Looks up a localized string similar to .NET Data Provider for MySQL. Looks up a localized string similar to The number of times a procedures metadata had to be queried from the server.. Looks up a localized string similar to Hard Procedure Queries. Looks up a localized string similar to The number of times a procedures metadata was retrieved from the client-side cache.. Looks up a localized string similar to Soft Procedure Queries. Looks up a localized string similar to same name are not supported.. Looks up a localized string similar to MySQL Server {0} dos not support query attributes.. Looks up a localized string similar to MySQL Connector/NET does not support query attributes with prepared statements for this version of MySQL Server.. Looks up a localized string similar to Packets larger than max_allowed_packet are not allowed.. Looks up a localized string similar to Reading from the stream has failed.. Looks up a localized string similar to Invalid attempt to read a prior column using SequentialAccess. Looks up a localized string similar to Replicated connections allow only readonly statements.. Looks up a localized string similar to Attempt to connect to '{0}' server failed.. Looks up a localized string similar to No available server found.. Looks up a localized string similar to Replication group '{0}' not found.. Looks up a localized string similar to Replicated server not found: '{0}'. Looks up a localized string similar to Routine '{0}' cannot be found. Either check the spelling or make sure you have sufficient rights to execute the routine.. Looks up a localized string similar to Attempt to call stored function '{0}' without specifying a return parameter. Looks up a localized string similar to Retrieval of the RSA public key is not enabled for insecure connections.. Looks up a localized string similar to Connector/NET no longer supports server versions prior to 5.0. Looks up a localized string similar to Snapshot isolation level is not supported.. Looks up a localized string similar to Socket streams do not support seeking. Looks up a localized string similar to Retrieving procedure metadata for {0} from procedure cache.. Looks up a localized string similar to Stored procedures are not supported on this version of MySQL. Looks up a localized string similar to The certificate authority (CA) does not match.. Looks up a localized string similar to The host name does not match the name on the certificate.. Looks up a localized string similar to The certificate is not a certificate authority (CA).. Looks up a localized string similar to SSL Connection error.. Looks up a localized string similar to Connection protocol '{0}' does not support SSL connections.. Looks up a localized string similar to The stream has already been closed. Looks up a localized string similar to The stream does not support reading. Looks up a localized string similar to The stream does not support writing. Looks up a localized string similar to String can't be empty.. Looks up a localized string similar to Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.. Looks up a localized string similar to error connecting: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.. Looks up a localized string similar to All server connection attempts were aborted. Timeout of {0} seconds was exceeded for each selected server.. Looks up a localized string similar to Specified list of TLS versions only contains non valid TLS protocols. Accepted values are TLSv1.2 and TLSv1.3. Looks up a localized string similar to TLS protocols TLSv1 and TLSv1.1 are no longer supported. Accepted values are TLSv1.2 and TLSv1.3. Looks up a localized string similar to TLSv1.3 is not supported by this framework.. Looks up a localized string similar to Specified list of TLS versions is empty. Accepted values are TLSv1.2 and TLSv1.3. Looks up a localized string similar to {0}: Connection Closed. Looks up a localized string similar to Unable to trace. There are more than Int32.MaxValue connections in use.. Looks up a localized string similar to {0}: Error encountered during row fetch. Number = {1}, Message={2}. Looks up a localized string similar to {0}: Connection Opened: connection string = '{1}'. Looks up a localized string similar to {0}: Error encountered attempting to open result: Number={1}, Message={2}. Looks up a localized string similar to {0}: Query Closed. Looks up a localized string similar to {0}: Query Normalized: {2}. Looks up a localized string similar to {0}: Query Opened: {2}. Looks up a localized string similar to {0}: Resultset Opened: field(s) = {1}, affected rows = {2}, inserted id = {3}. Looks up a localized string similar to {0}: Resultset Closed. Total rows={1}, skipped rows={2}, size (bytes)={3}. Looks up a localized string similar to {0}: Set Database: {1}. Looks up a localized string similar to {0}: Statement closed: statement id = {1}. Looks up a localized string similar to {0}: Statement executed: statement id = {1}. Looks up a localized string similar to {0}: Statement prepared: sql='{1}', statement id={2}. Looks up a localized string similar to {0}: Usage Advisor Warning: Query is using a bad index. Looks up a localized string similar to {0}: Usage Advisor Warning: The field '{2}' was converted to the following types: {3}. Looks up a localized string similar to {0}: Usage Advisor Warning: Query does not use an index. Looks up a localized string similar to {0}: Usage Advisor Warning: The following columns were not accessed: {2}. Looks up a localized string similar to {0}: Usage Advisor Warning: Skipped {2} rows. Consider a more focused query.. Looks up a localized string similar to {0}: MySql Warning: Level={1}, Code={2}, Message={3}. Looks up a localized string similar to Type '{0}' is not derived from BaseCommandInterceptor. Looks up a localized string similar to Type '{0}' is not derived from BaseExceptionInterceptor. Looks up a localized string similar to Unable to connect to any of the specified MySQL hosts.. Looks up a localized string similar to Unable to create plugin for authentication method '{0}'. Please see inner exception for details.. Looks up a localized string similar to Unable to derive stored routine parameters. The 'Parameters' information schema table is not available and access to the stored procedure body has been disabled.. Looks up a localized string similar to Unable to enable query analysis. Be sure the MySql.Data.EMTrace assembly is properly located and registered.. Looks up a localized string similar to An error occured attempting to enumerate the user-defined functions. Do you have SELECT privileges on the mysql.func table?. Looks up a localized string similar to Unable to execute stored procedure '{0}'.. Looks up a localized string similar to There was an error parsing the foreign key definition.. Looks up a localized string similar to Error encountered reading the RSA public key.. Looks up a localized string similar to Unable to retrieve stored procedure metadata for routine '{0}'. Either grant SELECT privilege to mysql.proc for this user or use "check parameters=false" with your connection string.. Looks up a localized string similar to Unable to start a second async operation while one is running.. Looks up a localized string similar to Unix sockets are not supported on Windows. Looks up a localized string similar to Unknown authentication method '{0}' was requested.. Looks up a localized string similar to Unknown connection protocol. Looks up a localized string similar to MySQL user '{0}' does not equal the logged-in Windows user '{1}'.. Looks up a localized string similar to Trying to upload a file from outside the path set on 'allowloadlocalinfileinpath' is invalid.. Looks up a localized string similar to Value '{0}' is not of the correct type.. Looks up a localized string similar to The requested column value could not be treated as or conveted to a Guid.. Looks up a localized string similar to Windows authentication connections are not supported on {0}. Looks up a localized string similar to Writing to the stream failed.. Looks up a localized string similar to Parameter '{0}' is not found but a parameter with the name '{1}' is found. Parameter names must include the leading parameter marker.. A strongly-typed resource class, for looking up localized strings, etc. Returns the cached ResourceManager instance used by this class. Overrides the current thread's CurrentUICulture property for all resource lookups using this strongly typed resource class. Looks up a localized string similar to Appdata path is not defined.. Looks up a localized string similar to Authentication failed using MYSQL41 and SHA256_MEMORY. Check the user name and password or try using a secure connection.. Looks up a localized string similar to You can't get more sessions because Client is closed.. Looks up a localized string similar to Client option '{0}' does not support value '{1}'.. Looks up a localized string similar to Client option '{0}' is not recognized as valid.. Looks up a localized string similar to {0} '{1}' does not exist in schema '{2}'.. Looks up a localized string similar to Compression requested but the compression algorithm negotiation failed.. Looks up a localized string similar to Compression using {0} is not supported.. Looks up a localized string similar to Failed to load libzstd.dll. Removing zstd_stream from the client supported compression algorithms.. Looks up a localized string similar to Compression using {0} is not supported in .NET Framework.. Looks up a localized string similar to The connection property 'compression' acceptable values are: 'preferred', 'required' or 'disabled'. The value '{0}' is not acceptable.. Looks up a localized string similar to Compression is not enabled.. Looks up a localized string similar to Compression requested but the server does not support it.. Looks up a localized string similar to There are still decompressed messages pending to be processed.. Looks up a localized string similar to '{0}' cannot be set to false with DNS SRV lookup enabled.. Looks up a localized string similar to Scheme '{0}' is not valid.. Looks up a localized string similar to The document path cannot be null or an empty string.. Looks up a localized string similar to Duplicate key '{0}' used in "connection-attributes".. Looks up a localized string similar to Key name in connection attribute cannot be an empty string.. Looks up a localized string similar to At least one option must be specified.. Looks up a localized string similar to This feature is currently not supported.. Looks up a localized string similar to This functionality is only supported in MySQL {0} and higher.. Looks up a localized string similar to Collation with id '{0}' not found.. Looks up a localized string similar to The value of "connection-attributes" must be either a boolean or a list of key-value pairs.. Looks up a localized string similar to Connection Data is incorrect.. Looks up a localized string similar to The connection string is invalid.. Looks up a localized string similar to '{0}' is not a valid connection string attribute.. Looks up a localized string similar to The connection timeout value must be a positive integer (including 0).. Looks up a localized string similar to Decimal (BCD) format is invalid.. Looks up a localized string similar to Field type with name '{0}' not found.. Looks up a localized string similar to Index type with name '{0}' not found.. Looks up a localized string similar to The value provided is not a valid JSON document. {0}. Looks up a localized string similar to {0} is not a valid column name in the row.. Looks up a localized string similar to {0} is not a valid index for the row.. Looks up a localized string similar to Session state is not valid.. Looks up a localized string similar to Invalid Uri . Looks up a localized string similar to Invalid uri query value. Looks up a localized string similar to Key names in "connection-attributes" cannot start with "_".. Looks up a localized string similar to Json configuration must contain 'uri' or 'host' but not both.. Looks up a localized string similar to Keyword '{0}' not found.. Looks up a localized string similar to Keyword not supported.. Looks up a localized string similar to Field '{0}' is mandatory.. Looks up a localized string similar to Missed required schema option.. Looks up a localized string similar to More than one document id was generated. Please use the DocumentIds property instead.. Looks up a localized string similar to There is no data at index {0}. Looks up a localized string similar to No 'host' has been specified.. Looks up a localized string similar to No more data in resultset.. Looks up a localized string similar to Object '{0}' not found. Looks up a localized string similar to No placeholders.. Looks up a localized string similar to Connection closed. Reason: connection idle was too long. Looks up a localized string similar to Connection closed. Reason: connection was killed by a different session. Looks up a localized string similar to Connection closed. Reason: server was shutdown. Looks up a localized string similar to {0} must be a value greater than 0.. Looks up a localized string similar to Path not found '{0}'.. Looks up a localized string similar to Queue timeout expired. The timeout period elapsed prior to getting a session from the pool.. Looks up a localized string similar to Providing a port number as part of the host address isn't supported when using connection strings in basic format or anonymous objects. Use URI format instead.. Looks up a localized string similar to You must either assign no priority to any of the hosts or give a priority for every host.. Looks up a localized string similar to The priority must be between 0 and 100.. Looks up a localized string similar to ProgramData path is not defined.. Looks up a localized string similar to Replacement document has an '_id' that is different from the matched document.. Looks up a localized string similar to The server doesn't support the requested operation. Please update the MySQL Server, client library, or both.. Looks up a localized string similar to The process of closing the resultset and resulted in results being lost.. Looks up a localized string similar to All server connection attempts were aborted. Timeout of {0} milliseconds was exceeded for each selected server.. Looks up a localized string similar to All server connection attempts were aborted. Timeout was exceeded for each selected server.. Looks up a localized string similar to Connection attempt to the server was aborted. Timeout of {0} milliseconds was exceeded.. Looks up a localized string similar to Connection attempt to the server was aborted. Timeout was exceeded.. Looks up a localized string similar to Unable to connect to any specified host.. Looks up a localized string similar to Unable to read or decode data value.. Looks up a localized string similar to Unable to open a session.. Looks up a localized string similar to Unexpected end of packet found while reading data values. Looks up a localized string similar to Field name '{0}' is not allowed.. Looks up a localized string similar to Unknown placeholder :{0}. Looks up a localized string similar to Value '{0}' is not of the correct type.. Summary description for MySqlUInt64. An exception thrown by MySQL when a type conversion does not succeed. Initializes a new instance of the class with a specified error message. Message describing the error. Represents a datetime data type object in a MySql database. Defines whether the UTF or local timezone will be used. Constructs a new MySqlDateTime object by setting the individual time properties to the given values. The year to use. The month to use. The day to use. The hour to use. The minute to use. The second to use. The microsecond to use. Constructs a new MySqlDateTime object by using values from the given object. The object to copy. Constructs a new MySqlDateTime object by copying the current value of the given object. The MySqlDateTime object to copy. Enables the contruction of a MySqlDateTime object by parsing a string. Indicates if this object contains a value that can be represented as a DateTime Returns the year portion of this datetime Returns the month portion of this datetime Returns the day portion of this datetime Returns the hour portion of this datetime Returns the minute portion of this datetime Returns the second portion of this datetime Returns the milliseconds portion of this datetime expressed as a value between 0 and 999 Returns the microseconds portion of this datetime (6 digit precision) Returns true if this datetime object has a null value Retrieves the value of this as a DateTime object. Returns this value as a DateTime Returns a MySQL specific string representation of this value Represents a decimal data type object in a MySql database. Gets a boolean value signaling if the type is null. Gets or sets the decimal precision of the type. Gets or sets the scale of the type. Gets the decimal value associated to this type. Converts this decimal value to a double value. The value of this type converted to a dobule value. Represents a geometry data type object in a MySql database. Gets the x coordinate. Gets the y coordinate. Gets the SRID value. Gets a boolean value that signals if the type is null. Gets the value associated to this type. Gets the value associated to this type. Returns the Well-Known Text representation of this value POINT({0} {1})", longitude, latitude http://dev.mysql.com/doc/refman/4.1/en/gis-wkt-format.html Get value from WKT format SRID=0;POINT (x y) or POINT (x y) WKT string format Try to get value from WKT format SRID=0;POINT (x y) or POINT (x y) WKT string format Out mysqlGeometryValue Sets the DSInfo when GetSchema is called for the DataSourceInformation collection. Gets the well-known text representation of the geomtry object. A string representation of the WKT. Enables X Protocol packets from the network stream to be retrieved and processed The instance of the stream that holds the network connection with MySQL Server. This field is used to enable compression and decompression actions in the communication channel. A Queue to store the pending packets removed from the Creates a new instance of XPacketProcessor. The stream to be used as communication channel. Creates a new instance of XPacketProcessor. The stream to be used as communication channel. The XCompressionController to be used for compression actions. Identifies the kind of packet received over the network and execute the corresponding processing. Reads data from the network stream and create a packet of type . A . Sends the read/write actions to the MyNetworkStream class. Reads the pending packets present in the network channel and processes them accordingly. Implementation of EXTERNAL authentication type. Implementation of MySQL41 authentication type. Implementation of PLAIN authentication type. Compares two Guids in string format. The first string to compare. The first string to compare. An integer that indicates the lexical relationship between the two comparands, similar to Compares two objects. The first to compare. The second to compare. An integer that indicates the lexical relationship between the two comparands, similar to Provides functionality for loading unmanaged libraries. Loads the specified unmanaged library from the embedded resources. The application name. The library name. Provides support for configuring X Protocol compressed messages. The capabilities sub-key used to specify the compression algorithm. The capabilities key used to specify the compression capability. Messages with a value lower than this threshold will not be compressed. Default value for enabling or disabling combined compressed messages. Default value for the maximum number of combined compressed messages contained in a compression message. The capabilities sub-key used to specify if combining compressed messages is permitted. The capabilities sub-key used to specify the maximum number of compressed messages contained in a compression message. Buffer used to store the data received from the server. Deflate stream used for compressing data. Deflate stream used for decompressing data. Flag indicating if the initialization is for compression or decompression. Stores the communication packet generated the last time ReadNextBufferedMessage method was called. Indicates if the libzstd.dll has been loaded. Stream used to store multiple X Protocol messages. ZStandard stream used for decompressing data. Main constructor used to set the compression algorithm and initialize the list of messages to be compressed by the client. The compression algorithm to use. Flag indicating if the initialization is for compression or decompression. Gets or sets the list of messages that should be compressed by the client when compression is enabled. Gets or sets the compression algorithm. Flag indicating if compression is enabled. Flag indicating if the last decompressed message contains multiple messages. General method used to compress data using the compression algorithm defined in the constructor. The data to compress. A compressed byte array. Compresses data using the deflate_stream algorithm. The data to compress. A compressed byte array. Compresses data using the lz4_message algorithm. The data to compress. A compressed byte array. Compresses data using the zstd_stream algorithm. The data to compress. A compressed byte array. General method used to decompress data using the compression algorithm defined in the constructor. The data to decompress. The expected length of the decompressed data. A decompressed byte array. Decompresses data using the deflate_stream compression algorithm. The data to decompress. The expected length of the decompressed data. A decompressed byte array. Decompresses data using the lz4_message compression algorithm. The data to decompress. The expected length of the decompressed data. A decompressed byte array. Decompresses data using the zstd_stream compression algorithm. The data to decompress. The expected length of the decompressed data. A decompressed byte array. Closes and disposes of any open streams. Gets the byte array representing the next X Protocol frame that is stored in cache. A byte array representing an X Protocol frame. Gets a representing the next X Protocol frame that is stored in cache. A with the next X Protocol frame. Loads the libzstd.dll assembly. Constructor that sets the stream used to read or write data. The stream used to read or write data. Constructor that sets the stream used to read or write data and the compression controller. The stream used to read or write data. The compression controller. Gets or sets the compression controller uses to manage compression operations. Writes X Protocol frames to the X Plugin. The integer representation of the client message identifier used for the message. The message to include in the X Protocol frame. Writes X Protocol frames to the X Plugin. The client message identifier used for the message. The message to include in the X Protocol frame. Reads X Protocol frames incoming from the X Plugin. A instance representing the X Protocol frame that was read. Abstract class for the protocol base operations in client/server communication. Expression parser for MySQL-X protocol. string being parsed. Token stream produced by lexer. Parser's position in token stream. Mapping of names to positions for named placeholders. Used for both string values ":arg" and numeric values ":2". Number of positional placeholders. Are relational columns identifiers allowed? Token types used by the lexer. Token. Includes type and string value of the token. Mapping of reserved words to token types. Does the next character equal the given character? (respects bounds) Helper function to match integer or floating point numbers. This function should be called when the position is on the first character of the number (a digit or '.'). @param i The current position in the string @return the next position in the string after the number. Lexer for MySQL-X expression language. Assert that the token at pos is of type type. Does the current token have type `t'? Does the next token have type `t'? Does the token at position `pos' have type `t'? Consume token. @return the string value of the consumed token Parse a paren-enclosed expression list. This is used for function params or IN params. @return a List of expressions Parse a function call of the form: IDENTIFIER PAREN_EXPR_LIST. @return an Expr representing the function call. Parse an identifier for a function call: [schema.]name Parse a document path member. Parse a document path array index. Parse a JSON-style document path, like WL#7909, but prefix by @. instead of $. Parse a document field. Parse a column identifier (which may optionally include a JSON document path). Build a unary operator expression. Parse an atomic expression. (c.f. grammar at top) Parse a left-associated binary operator. @param types The token types that denote this operator. @param innerParser The inner parser that should be called to parse operands. @return an expression tree of the binary operator or a single operand Parse the entire string as an expression. @return an X-protocol expression tree Parse an ORDER BY specification which is a comma-separated list of expressions, each may be optionally suffixed by ASC/DESC. Parse a SELECT projection which is a comma-separated list of expressions, each optionally suffixed with a target alias. Parse an INSERT field name. @todo unit test Parse an UPDATE field which can include can document paths. Parse a document projection which is similar to SELECT but with document paths as the target alias. Parse a list of expressions used for GROUP BY. @return the number of positional placeholders in the expression. @return a mapping of parameter names to positions. Proto-buf helper to build a LITERAL Expr with a Scalar NULL type. Proto-buf helper to build a LITERAL Expr with a Scalar DOUBLE type (wrapped in Any). Proto-buf helper to build a LITERAL Expr with a Scalar SINT (signed int) type (wrapped in Any). Proto-buf helper to build a LITERAL Expr with a Scalar UINT (unsigned int) type (wrapped in Any). Proto-buf helper to build a LITERAL Expr with a Scalar STRING type (wrapped in Any). Proto-buf helper to build a LITERAL Expr with a Scalar OCTETS type (wrapped in Any). Proto-buf helper to build a LITERAL Expr with a Scalar BOOL type (wrapped in Any). Wrap an Any value in a LITERAL expression. Build an Any with a string value. Parses an anonymous object into a dictionary. The object to parse. A dictionary if the provided object is an anonymous object; otherwise, null. List of operators which will be serialized as infix operators. Scalar to string. JSON document path to string. Column identifier (or JSON path) to string. Function call to string. Create a string from a list of (already stringified) parameters. Surround by parens and separate by commas. Convert an operator to a string. Includes special cases for chosen infix operators (AND, OR) and special forms such as LIKE and BETWEEN. Escape a string literal. Quote a named identifer. Serialize an expression to a string. Build the message to be sent to MySQL Server to execute statement "Create" or "Modify" collection with schema options The namespace The name of the command to be executed on MySql Server Array of KeyValuePairs with the parameters required to build the message void. Sends the delete documents message Sends the CRUD modify message Class implementation for a default communication kind. Constructor method for the communication routing service A MySqlXConnectionStringBuilder setted with the information to use in the connection Gets the current connection base on the connection mode One of the values of ConnectionMode Offline, ReadOnly, WriteOnly, ReadWrite Abstract class used to define the kind of server in environments with multiple types of distributed systems. Main class for parsing json strings. Initializes a new instance of the JsonParser class. Parses the received string into a dictionary. The string to parse. A object that represents the parsed string. Abstract class to manage and encapsulate one or more actual connections. Creates a new session object with the values of the settings parameter. Settings to be used in the session object Sets the connection's charset default collation. The opened session. The character set. Gets the version of the server. An instance of containing the server version. Gets the thread Id of the connection. Thread Id Implementation class for object that manages low-level work of queuing tasks onto threads. Implementation class of InternalSession to manage connections using the Xprotocol type object. Defines the compression controller that will be passed on the instance when compression is enabled. Defines the compression controller that will be passed on the instance when compression is enabled. Reorder the list of algorithms retrieved from server to the preferred order Validate the algorithms given in the connection string are valid compared with enum CompressionAlgorithms Negotiates compression capabilities with the server. An array containing the compression algorithms supported by the server. An array containing the compression algorithms given by user/client. Prepare the dictionary of arguments required to create a MySQL message. The name of the MySQL schema. The name of the collection. This object hold the parameters required to create the collection. Collection referente. Prepare the dictionary of arguments required to Modify a MySQL message. The name of the MySQL schema. The name of the collection. This object hold the parameters required to Modify the collection. Gets the compression algorithm being used to compress or decompress data. Flag to indicate if the compression algorithm should be retrieved from the reader or writer controller. The name of the compression algorithm being used if any. null if no compression algorithm is being used. Represents a base class for a Session. Flag to set if prepared statements are supported. Gets the connection settings for this session. Gets the currently active schema. Gets the default schema provided when creating the session. Gets the connection uri representation of the connection options provided during the creation of the session. Initializes a new instance of the BaseSession class based on the specified connection string. The connection used to create the session. A object. is null. Unable to parse the when in URI format. When using Unix sockets the protocol=unix or protocol=unixsocket connection option is required. This will enable elements passed in the server connection option to be treated as Unix sockets. The user is also required to explicitly set sslmode to none since X Plugin does not support SSL when using Unix sockets. Note that protocol=unix and protocol=unixsocket are synonyms.   Multiple hosts can be specified as part of the , which enables client-side failover when trying to establish a connection.   Connection URI examples: - mysqlx://test:test@[192.1.10.10,localhost] - mysqlx://test:test@[192.1.10.10,127.0.0.1] - mysqlx://root:@[../tmp/mysqlx.sock,/tmp/mysqld.sock]?protocol=unix&sslmode=none - mysqlx://test:test@[192.1.10.10:33060,127.0.0.1:33060] - mysqlx://test:test@[192.1.10.10,120.0.0.2:22000,[::1]:33060]/test?connectiontimeout=10 - mysqlx://test:test@[(address=server.example,priority=20),(address=127.0.0.1,priority=100)] - mysqlx://test:test@[(address=server.example,priority=100),(address=127.0.0.1,priority=75),(address=192.0.10.56,priority=25)]   Connection string examples: - server=10.10.10.10,localhost;port=33060;uid=test;password=test; - host=10.10.10.10,192.101.10.2,localhost;port=5202;uid=test;password=test; - host=./tmp/mysqld.sock,/var/run/mysqldx.sock;port=5202;uid=root;protocol=unix;sslmode=none; - server=(address=server.example,priority=20),(address=127.0.0.1,priority=100);port=33060;uid=test;password=test; - server=(address=server.example,priority=100),(address=127.0.0.1,priority=75),(address=192.0.10.56,priority=25);port=33060;uid=test;password=test;   Failover methods - Sequential: Connection attempts will be performed in a sequential order, that is, one after another until a connection is successful or all the elements from the list have been tried. - Priority based: If a priority is provided, the connection attemps will be performed in descending order, starting with the host with the highest priority. Priority must be a value between 0 and 100. Additionally, it is required to either give a priority for every host or no priority to any host. Initializes a new instance of the BaseSession class based on the specified anonymous type object. The connection data as an anonymous type used to create the session. A object. is null. Multiple hosts can be specified as part of the , which enables client-side failover when trying to establish a connection.   To assign multiple hosts, create a property similar to the connection string examples shown in . Note that the value of the property must be a string. Drops the database/schema with the given name. The name of the schema. is null. Creates a schema/database with the given name. The name of the schema/database. A object that matches the recently created schema/database. Gets the schema with the given name. The name of the schema. A object set with the provided schema name. Gets a list of schemas (or databases) in this session. A list containing all existing schemas (or databases). Starts a new transaction. Commits the current transaction. A object containing the results of the commit operation. Rolls back the current transaction. Closes this session or releases it to the pool. Closes this session Sets a transaction savepoint with an autogenerated name. The autogenerated name of the transaction savepoint. Sets a named transaction savepoint. The name of the transaction savepoint. The name of the transaction savepoint. Removes the named savepoint from the set of savepoints within the current transaction. The name of the transaction savepoint. Rolls back a transaction to the named savepoint without terminating the transaction. The name of the transaction savepoint. Parses the connection data. The connection string or connection URI. A object. An updated connection string representation of the provided connection string or connection URI. Parses a connection URI. The connection URI to parse. The connection string representation of the provided . Validates if the string provided is a Unix socket file. The Unix socket to evaluate. true if is a valid Unix socket; otherwise, false. Converts the URI object into a connection string. An instance with the values for the provided connection options. The path of the Unix socket file. If true the replaces the value for the server connection option; otherwise, false Flag indicating if this is a connection using DNS SRV. A connection string. Parses a connection string. The connection string to parse. The parsed connection string. Normalizes the Unix socket by removing leading and ending parenthesis as well as removing special characters. The Unix socket to normalize. A normalized Unix socket. Disposes the current object. Disposes of the managed state if the flag is set to true. Flag to indicate if the managed state is to be disposed. Disposes the current object. Code added to correctly implement the disposable pattern. Describes the state of the session. The session is closed. The session is open. The session object is connecting to the data source. The session object is executing a command. Class encapsulating a session pooling functionality. Queue of demoted hosts. List of hosts that will be attempted to connect to. Timer to be used when a host have been demoted. Remove hosts from the demoted list that have already been there for more than 120,000 milliseconds and add them to the available hosts list. Get a session from pool or create a new one. Closes all sessions the Client object created and destroys the managed pool. Represents a collection of documents. Creates an containing the provided objects that can be used to add one or more items to a collection. The objects to add. An object containing the objects to add. is null. This method can take anonymous objects, domain objects, or just plain JSON strings. The statement can be further modified before execution. Creates a with the given condition that can be used to remove one or more documents from a collection.The statement can then be further modified before execution. The condition to match documents. A object set with the given condition. is null or white space. The statement can then be further modified before execution. Removes the document with the given identifier. The unique identifier of the document to replace. A object containing the results of the execution. is null or white space. This is a direct execution method. Creates a with the given condition that can be used to modify one or more documents from a collection. The condition to match documents. A object set with the given condition. is null or white space. The statement can then be further modified before execution. Replaces the document matching the given identifier. The unique identifier of the document to replace. The document to replace the matching document. A object containing the results of the execution. is null or whitespace. is null. This is a direct execution method. Operation succeeds even if no matching document was found; in which case, the Result.RecordsAffected property is zero. If the new document contains an identifier, the value is ignored. Adds the given document to the collection unless the identifier or any other field that has a unique index already exists, in which case it will update the matching document. The unique identifier of the document to replace. The document to replace the matching document. A object containing the results of the execution. The server version is lower than 8.0.3. is null or white space. is null. The is different from the one in . This is a direct execution method. Returns the number of documents in this collection on the server. The number of documents found. Creates a with the given condition which can be used to find documents in a collection. An optional condition to match documents. A object set with the given condition. The statement can then be further modified before execution. Creates an index based on the properties provided in the JSON document. The index name. JSON document describing the index to be created. is a JSON document with the following fields: - fields: array of IndexField objects, each describing a single document member to be included in the index (see below). - type: string, (optional) the type of index. One of INDEX or SPATIAL. Default is INDEX and may be omitted.   A single IndexField description consists of the following fields: - field: string, the full document path to the document member or field to be indexed. - type: string, one of the supported SQL column types to map the field into (see the following list). For numeric types, the optional UNSIGNED keyword may follow. For the TEXT type, the length to consider for indexing may be added. - required: bool, (optional) true if the field is required to exist in the document. defaults to false, except for GEOJSON where it defaults to true. - options: int, (optional) special option flags for use when decoding GEOJSON data. - srid: int, (optional) srid value for use when decoding GEOJSON data.   Supported SQL column types: - INT [UNSIGNED] - TINYINT [UNSIGNED] - SMALLINT [UNSIGNED] - MEDIUMINT [UNSIGNED] - INTEGER [UNSIGNED] - BIGINT [UNSIGNED] - REAL [UNSIGNED] - FLOAT [UNSIGNED] - DOUBLE [UNSIGNED] - DECIMAL [UNSIGNED] - NUMERIC [UNSIGNED] - DATE - TIME - TIMESTAMP - DATETIME - TEXT[(length)] - CHAR[(lenght)] - GEOJSON (extra options: options, srid) Drops a collection index. The index name. is null or white space. Verifies if the current collection exists in the server schema. true if the collection exists; otherwise, false. Returns the document with the given identifier. The unique identifier of the document to replace. A object if a document matching given identifier exists; otherwise, null. is null or white space. This is a direct execution method. Base abstract class that defines elements inherited by all result types. Gets the number of records affected by the statement that generated this result. Gets the object of the session. Gets a read-only collection of objects derived from statement execution. Gets the number of warnings in the collection derived from statement execution. No action is performed by this method. It is intended to be overriden by child classes if required. Base abstract class for API statement. Initializes a new instance of the BaseStatement class based on the specified session. The session where the statement will be executed. Gets the that owns the statement. Executes the base statements. This method is intended to be defined by child classes. A result object containing the details of the execution. Executes a statement asynchronously. A result object containing the details of the execution. Validates if the session is open and valid. Sets the status as Changed for prepared statement validation. Converts a statement to prepared statement for a second execution without any change but Bind, Limit, or Offset. Abstract class for buffered results. Generic result type. Index of the current item. List of generic items in this buffered result. Flag that indicates if all items have been read. Gets a dictionary containing the column names and their index. Gets the page size set for this buffered result. Loads the column data into the field. Retrieves a read-only list of the generic items associated to this buffered result. A generic list representing items in this buffered result. Retrieves one element from the generic items associated to this buffered result. A generic object that corresponds to the current or default item. Determines if all items have already been read. True if all items have been retrived, false otherwise. Gets the current item. All items have already been read. Determines if all items have already been read. True if all items have been retrived, false otherwise. Resets the value of the field to zero. Gets an representation of this object. An representation of this object. Gets an representation of this object. An representation of this object. Retrieves a read-only list of the generic items associated to this buffered result. A generic list representing items in this buffered result. No body has been defined for this method. This object store the required parameters to create a Collection with schema validation. If false, throws an exception if the collection exists. Object which hold the Level and Schema parameters. This object store the required parameters to modify a Collection with schema validation. This object store the required parameters to Modify a Collection with schema validation. This object store the required parameters to create a Collection with schema validation. It can be STRICT to enable schema validation or OFF to disable . The JSON which define the rules to be validated in the collection. The possible values for parameter Level in Validation object. Class to represent an error in this result. Numeric code. Return code indicating the outcome of the executed SQL statement. Error message. Initializes a new instance of the ErrorInfo class. Abstract class for filterable statements. The filterable statement. The database object. The type of result. Initializes a new instance of the FiltarableStatement class based on the target and condition. The database object. The optional filter condition. Enables the setting of Where condition for this operation. The Where condition. The implementing statement type. Sets the number of items to be returned by the operation. The number of items to be returned. The implementing statement type. is equal or lower than 0. Sets the number of items to be skipped before including them into the result. The number of items to be skipped. The implementing statement type. Binds the parameter values in filter expression. The parameter name. The value of the parameter. A generic object representing the implementing statement type. Binds the parameter values in filter expression. The parameters as a DbDoc object. A generic object representing the implementing statement type. Binds the parameter values in filter expression. The parameters as a JSON string. The implementing statement type. Binds the parameter values in filter expression. The parameters as an anonymous object: new { param1 = value1, param2 = value2, ... }. The implementing statement type. Executes the statement. The function to execute. The generic object to use. A generic result object containing the results of the execution. Clones the filterable data but Session and Target remain the same. A clone of this filterable statement. Represents a general statement result. Gets the last inserted identifier (if there is one) by the statement that generated this result. Gets the list of generated identifiers in the order of the Add() calls. Abstract class to select a database object target. The database object. The execution result. Initializes a new instance of the TargetedBaseStatement class based on the provided target. The database object. Gets the database target. Represents a warning in this result. Numeric value associated to the warning message. Error message. Strict level for the warning. Initializes a new instance of the WarningInfo class based on the code and msg. The code for the warning. The error message for the warning. Represents a chaining collection insert statement. Adds documents to the collection. The documents to add. This object. The array is null. Executes the Add statement. A object containing the results of the execution. Implementation class for CRUD statements with collections using an index. Executes this statement. A object containing the results of the execution. Represents a collection statement. Converts base s into objects. Array of objects to be converted to objects. An enumerable collection of objects. Represents the result of an operation that includes a collection of documents. Represents a chaining collection find statement. List of column projections that shall be returned. List of columns. This object set with the specified columns or fields. Executes the Find statement. A object containing the results of execution and data. Locks matching rows against updates. Optional row lock option to use. This same object set with the lock shared option. The server version is lower than 8.0.3. Locks matching rows so no other transaction can read or write to it. Optional row lock option to use. This same object set with the lock exclusive option. The server version is lower than 8.0.3. Sets the collection aggregation. The field list for aggregation. This same object set with the specified group-by criteria. Filters criteria for aggregated groups. The filter criteria for aggregated groups. This same object set with the specified filter criteria. Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like "order ASC" or "pages DESC, age ASC". The order criteria. A generic object representing the implementing statement type. Enables the setting of Where condition for this operation. The Where condition. The implementing statement type. Represents a chaining collection modify statement. Sets key and value. The document path key. The new value. This object. Changes value for a key. The document path key. The new value. This object. Removes keys or values from a document. An array of document paths representing the keys to be removed. This object. Creates a object set with the changes to be applied to all matching documents. The JSON-formatted object describing the set of changes. A object set with the changes described in . can be a object, an anonymous object, or a JSON string. is null. is null or white space. Inserts an item into the specified array. The document path key including the index on which the item will be inserted. The value to insert into the array. A object containing the updated array. Appends an item to the specified array. The document path key. The value to append to the array. A object containing the updated array. Allows the user to set the sorting criteria for the operation. The strings use normal SQL syntax like "order ASC" or "pages DESC, age ASC". The order criteria. A generic object representing the implementing statement type. Enables the setting of Where condition for this operation. The Where condition. The implementing statement type. Executes the modify statement. A object containing the results of the execution. Represents a chaining collection remove statement. Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like "order ASC" or "pages DESC, age ASC". The order criteria. A generic object representing the implementing statement type. Enables the setting of Where condition for this operation. The Where condition. The implementing statement type. Executes the remove statement. A object containing the results of the execution. Represents a database object. Gets the session that owns the database object. Gets the schema that owns the database object. Gets the database object name. Verifies that the database object exists in the database. True if the object exists in database, false otherwise. Represents a generic document in JSON format. Initializes a new instance of the DbDoc class based on the object provided. The value can be a domain object, anonymous object, or JSON string. The value for this DbDoc. Gets the value of a document property. The key path for the property. Gets the identifier of the document. Gets a value indicating if this document has an identifier (property named _id with a value). Sets a property on this document. The key of the property. The new property value. Returns this document in Json format. A Json formatted string. Compares this DbDoc with another one. The DbDoc to compare to. True if they are equal, false otherwise. Gets a value that serves as a hash function for a particular type. A hash code for the current object. Represents a collection of documents with a generic type. Initializes a new instance of the generic Collection class based on the specified schema and name. The object associated to this collection. The name of the collection. Creates an containing the provided generic object. The add statement can be further modified before execution. The generic object to add. An object containing the object to add. Defines elements that allow to iterate through the contents of various items. Initializes a new instance of the Iterator class. This method is not yet implemented. Exception is always thrown since the body of the method is not yet implemented. Defines a MySql expression. Main class for session operations related to Connector/NET implementation of the X DevAPI. Opens a session to the server given or to the first available server if multiple servers were specified. The connection string or URI string format. A object representing the established session. Multiple hosts can be specified as part of the which will enable client side failover when trying to establish a connection. For additional details and syntax examples refer to the remarks section. Opens a session to the server given. The connection data for the server. A object representing the established session. Creates a new instance. The connection string or URI string format. The connection options in JSON string format. A object representing a session pool. Creates a new instance. The connection string or URI string format. The connection options in object format. new { pooling = new { enabled = true, maxSize = 15, maxIdleTime = 60000, queueTimeout = 60000 } } A object representing a session pool. Creates a new instance. The connection data. The connection options in JSON string format. A object representing a session pool. Creates a new instance. The connection data. The connection options in object format. new { pooling = new { enabled = true, maxSize = 15, maxIdleTime = 60000, queueTimeout = 60000 } } A object representing a session pool. Enables the creation of connection strings by exposing the connection options as properties. Contains connection options specific to the X protocol. Main constructor. Constructor accepting a connection string. The connection string. A flag indicating if the default port is used in the connection. Readonly field containing a collection of classic protocol and protocol shared connection options. Gets or sets the connection timeout. Gets or sets the connection attributes. Path to a local file containing certificate revocation lists. Gets or sets the compression type between client and server. Gets or sets the compression algorithm. Gets or sets a connection option. The keyword that identifies the connection option to modify. Retrieves the value corresponding to the supplied key from this . The key of the item to retrieve. The value corresponding to the . if was found within the connection string; otherwise, . contains a null value. Represents a table column. Gets the original column name. Gets the alias of the column name. Gets the table name the column orginates from. Gets the alias of the table name . Gets the schema name the column originates from. Gets the catalog the schema originates from. In MySQL protocol this is `def` by default. Gets the collation used for this column. Gets the character set used for this column. Gets the column length. Gets the fractional decimal digits for floating point and fixed point numbers. Gets the Mysql data type. Gets the .NET Clr data type. True if it's a signed number. True if column is UINT zerofill or BYTES rightpad. Initializes a new instance of the Column class. Represents a resultset that contains rows of data. Gets the columns in this resultset. Gets the number of columns in this resultset. Gets a list containing the column names in this resultset. Gets the rows of this resultset. This collection will be incomplete unless all the rows have been read either by using the Next method or the Buffer method. Gets the value of the column value at the current index. The column index. The CLR value at the column index. Allows getting the value of the column value at the current index. The column index. The CLR value at the column index. Returns the index of the given column name. The name of the column to find. The numeric index of column. Represents a single row of data in a table. Gets the value of the row at the given index. The column index to retrieve the value. The value at the index. Gets the value of the column as a string. The name of the column. The value of the column as a string. Gets a string based indexer into the row. Returns the value as a CLR type. The column index to get. The CLR value for the column. Inherits from . Creates a resultset that contains rows of data. Represents a resultset that contains rows of data for relational operations. Gets a boolean value indicating if this result has data. Moves to next resultset. True if there is a new resultset, false otherwise. Represents a sql statement. Initializes a new instance of the SqlStament class bassed on the session and sql statement. The session the Sql statement belongs to. The Sql statement. Gets the current Sql statement. Gets the list of parameters associated to this Sql statement. Executes the current Sql statement. A object with the resultset and execution status. Binds the parameters values by position. The parameter values. This set with the binded parameters. Represents a server Table or View. Gets a value indicating whether the object is a View (True) or a Table (False). Creates a set with the columns to select. The table select statement can be further modified before execution. This method is intended to select a set of table rows. The optional column names to select. A object for select chain operations. Creates a set with the fileds to insert to. The table insert statement can be further modified before exeuction. This method is intended to insert one or multiple rows into a table. The list of fields to insert. A object for insert chain operations. Creates a . This method is intended to update table rows values. A object for update chain operations. Creates a . This method is intended to delete rows from a table. A object for delete chain operations. Returns the number of rows in the table on the server. The number of rows. Verifies if the table exists in the database. true if the table exists; otherwise, false. Represents a chaining table delete statement. Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like "order ASC" or "pages DESC, age ASC". The order criteria. A generic object representing the implementing statement type. Executes the delete statement. A object containing the results of the delete execution. Represents a chaining table insert statement. Executes the insert statement. A object containing the results of the insert statement. Values to be inserted. Multiple rows supported. The values to be inserted. This same object. Represents a chaining table select statement. Executes the select statement. A object containing the results of the execution and data. Locks matching rows against updates. Optional row lock option to use. This same object set with lock shared option. The server version is lower than 8.0.3. Locks matching rows so no other transaction can read or write to it. Optional row lock option to use. This same object set with the lock exclusive option. The server version is lower than 8.0.3. Sets the table aggregation. The column list for aggregation. This same object set with the specified group-by criteria. Filters criteria for aggregated groups. The filter criteria for aggregated groups. This same object set with the specified filter criteria. Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like "order ASC" or "pages DESC, age ASC". The order criteria. A generic object that represents the implementing statement type. Represents a chaining table update statement. Executes the update statement. A object ocntaining the results of the update statement execution. Column and value to be updated. Column name. Value to be updated. This same object. Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like "order ASC" or "pages DESC, age ASC". The order criteria. A generic object that represents the implementing statement type. Represents a schema or database. Session related to current schema. Returns a list of all collections in this schema. A list representing all found collections. Returns a list of all tables in this schema. A list representing all found tables. Gets a collection by name. The name of the collection to get. Ensures the collection exists in the schema. A object matching the given name. Gets a typed collection object. This is useful for using domain objects. The type of collection returned. The name of collection to get. A generic object set with the given name. Gets the given collection as a table. The name of the collection. A object set with the given name. Gets a table object. Upon return the object may or may not be valid. The name of the table object. A object set with the given name. Creates a collection. The name of the collection to create. If false, throws an exception if the collection exists. Collection referente. Creates a collection including a schema validation. The name of the collection to create. This object hold the parameters required to create the collection. Collection referente. Modify a collection adding or removing schema validation parameters. The name of the collection to create. This object encapsulate the Validation parameters level and schema. Collection referente. Drops the given collection. The name of the collection to drop. is null. Determines if this schema actually exists. True if exists, false otherwise. Represents a single server session. Returns a object that can be used to execute the given SQL. The SQL to execute. A object set with the provided SQL. Sets the schema in the database. The schema name to be set. Executes a query in the database to get the current schema. Current database object or null if no schema is selected. Closes the current session properly after it was closed by the server. Holder for reflection information generated from mysqlx.proto File descriptor for mysqlx.proto IDs of messages that can be sent from client to the server .. note:: this message is never sent on the wire. It is only used to let ``protoc`` * generate constants * check for uniqueness Container for nested types declared in the ClientMessages message type. IDs of messages that can be sent from server to client .. note:: this message is never sent on the wire. It is only used to let ``protoc`` * generate constants * check for uniqueness Container for nested types declared in the ServerMessages message type. NOTICE has to stay at 11 forever generic Ok message Field number for the "msg" field. generic Error message A ``severity`` of ``ERROR`` indicates the current message sequence is aborted for the given error and the session is ready for more. In case of a ``FATAL`` error message the client should not expect the server to continue handling any further messages and should close the connection. :param severity: severity of the error message :param code: error-code :param sql_state: SQL state :param msg: human readable error message Field number for the "severity" field. Field number for the "code" field. Field number for the "sql_state" field. Field number for the "msg" field. Container for nested types declared in the Error message type. Holder for reflection information generated from mysqlx_connection.proto File descriptor for mysqlx_connection.proto a Capability a tuple of a ``name`` and a :protobuf:msg:`Mysqlx.Datatypes::Any` Field number for the "name" field. Field number for the "value" field. Capabilities Field number for the "capabilities" field. get supported connection capabilities and their current state :returns: :protobuf:msg:`Mysqlx.Connection::Capabilities` or :protobuf:msg:`Mysqlx::Error` sets connection capabilities atomically only provided values are changed, other values are left unchanged. If any of the changes fails, all changes are discarded. :precond: active sessions == 0 :returns: :protobuf:msg:`Mysqlx::Ok` or :protobuf:msg:`Mysqlx::Error` Field number for the "capabilities" field. announce to the server that the client wants to close the connection it discards any session state of the server :Returns: :protobuf:msg:`Mysqlx::Ok` Field number for the "uncompressed_size" field. Field number for the "server_messages" field. Field number for the "client_messages" field. Field number for the "payload" field. Holder for reflection information generated from mysqlx_crud.proto File descriptor for mysqlx_crud.proto DataModel to use for filters, names, ... ViewAlgorithm defines how MySQL Server processes the view MySQL chooses which algorithm to use the text of a statement that refers to the view and the view definition are merged the view are retrieved into a temporary table ViewSqlSecurity defines the security context in which the view is going to be executed, this means that VIEW can be executed with current user permissions or with permissions of the uses who defined the VIEW ViewCheckOption limits the write operations done on a `VIEW` (`INSERT`, `UPDATE`, `DELETE`) to rows in which the `WHERE` clause is `TRUE` the view WHERE clause is checked, but no underlying views are checked the view WHERE clause is checked, then checking recurses to underlying views column definition Field number for the "name" field. optional Field number for the "alias" field. optional Field number for the "document_path" field. a projection :param source: the expression identifying an element from the source data which can include a column identifier or any expression :param alias: optional alias. Required for DOCUMENTs (clients may use the source string as default) Field number for the "source" field. required Field number for the "alias" field. optional collection Field number for the "name" field. required Field number for the "schema" field. optional limit :param row_count: maximum rows to filter :param offset: maximum rows to skip before applying the row_count Field number for the "row_count" field. required Field number for the "offset" field. optional limit expression LimitExpr in comparison to Limit, is able to specify that row_count and offset are placeholders. This message support expressions of following types Expr/literal/UINT, Expr/PLACEHOLDER. :param row_count: maximum rows to filter :param offset: maximum rows to skip before applying the row_count Field number for the "row_count" field. required Field number for the "offset" field. optional sort order Field number for the "expr" field. required Field number for the "direction" field. optional//[ default=ASC ] Container for nested types declared in the Order message type. update operations :param source: specification of the value to be updated if data_model is TABLE, a column name may be specified and also a document path, if the column has type JSON if data_model is DOCUMENT, only document paths are allowed in both cases, schema and table must be not set :param operation: the type of operation to be performed :param value: an expression to be computed as the new value for the operation Field number for the "source" field. required Field number for the "operation" field. required Field number for the "value" field. optional Container for nested types declared in the UpdateOperation message type. only allowed for TABLE no value (removes the identified path from a object or array) sets the new value on the identified path replaces a value if the path exists source and value must be documents insert the value in the array at the index identified in the source path append the value on the array at the identified path merge JSON object value with the provided patch expression Find Documents/Rows in a Collection/Table .. uml:: client -> server: Find ... one or more Resultset ... :param collection: collection to insert into :param data_model: datamodel that the operations refer to :param projection: list of column projections that shall be returned :param args: values for parameters used in filter expression :param criteria: filter criteria :param limit: numbers of rows that shall be skipped and returned (user can set one of: limit, limit_expr) :param order: sort-order in which the rows/document shall be returned in :param grouping: column expression list for aggregation (GROUP BY) :param grouping_criteria: filter criteria for aggregated groups :param locking: perform row locking on matches :param locking_options: additional options how to handle locked rows :param limit_expr: numbers of rows that shall be skipped and returned (user can set one of: limit, limit_expr) :Returns: :protobuf:msg:`Mysqlx.Resultset::` Field number for the "collection" field. required Field number for the "data_model" field. optional Field number for the "projection" field. Field number for the "criteria" field. optional Field number for the "args" field. Field number for the "order" field. Field number for the "grouping" field. Field number for the "grouping_criteria" field. optional Field number for the "locking" field. optional Field number for the "locking_options" field. optional Field number for the "limit" field. optional Field number for the "limit_expr" field. optional Container for nested types declared in the Find message type. Lock matching rows against updates Lock matching rows so no other transaction can read or write to it Do not wait to acquire row lock, fail with an error if a requested row is locked Do not wait to acquire a row lock, remove locked rows from the result set Insert documents/rows into a collection/table :param collection: collection to insert into :param data_model: datamodel that the operations refer to :param projection: name of the columns to insert data into (empty if data_model is DOCUMENT) :param row: set of rows to insert into the collection/table (a single expression with a JSON document literal or an OBJECT expression) :param args: values for parameters used in row expressions :param upsert: true if this should be treated as an Upsert (that is, update on duplicate key) :Returns: :protobuf:msg:`Mysqlx.Resultset::` Field number for the "collection" field. required Field number for the "data_model" field. optional Field number for the "projection" field. Field number for the "row" field. Field number for the "args" field. Field number for the "upsert" field. optional//[default = false] Container for nested types declared in the Insert message type. Field number for the "field" field. Update documents/rows in a collection/table :param collection: collection to change :param data_model: datamodel that the operations refer to :param criteria: filter expression to match rows that the operations will apply on :param args: values for parameters used in filter expression :param limit: limits the number of rows to match (user can set one of: limit, limit_expr) :param order: specifies order of matched rows :param operation: list of operations to be applied. Valid operations will depend on the data_model. :param limit_expr: limits the number of rows to match (user can set one of: limit, limit_expr) :Returns: :protobuf:msg:`Mysqlx.Resultset::` Field number for the "collection" field. required Field number for the "data_model" field. optional Field number for the "criteria" field. optional Field number for the "args" field. Field number for the "order" field. Field number for the "operation" field. Field number for the "limit" field. optional Field number for the "limit_expr" field. optional Delete documents/rows from a Collection/Table :param collection: collection to change :param data_model: datamodel that the operations refer to :param criteria: filter expression to match rows that the operations will apply on :param args: values for parameters used in filter expression :param limit: limits the number of rows to match (user can set one of: limit, limit_expr) :param order: specifies order of matched rows :param limit_expr: limits the number of rows to match (user can set one of: limit, limit_expr) :Returns: :protobuf:msg:`Mysqlx.Resultset::` Field number for the "collection" field. required Field number for the "data_model" field. optional Field number for the "criteria" field. optional Field number for the "args" field. Field number for the "order" field. Field number for the "limit" field. optional Field number for the "limit_expr" field. optional Field number for the "collection" field. required Field number for the "definer" field. optional Field number for the "algorithm" field. optional//[default = UNDEFINED] Field number for the "security" field. optional//[default = DEFINER] Field number for the "check" field. optional Field number for the "column" field. Field number for the "stmt" field. required Field number for the "replace_existing" field. optional//[default = false] Field number for the "collection" field. required Field number for the "definer" field. optional Field number for the "algorithm" field. optional Field number for the "security" field. optional Field number for the "check" field. optional Field number for the "column" field. Field number for the "stmt" field. optional Field number for the "collection" field. required Field number for the "if_exists" field. optional//[ default = false ] Holder for reflection information generated from mysqlx_cursor.proto File descriptor for mysqlx_cursor.proto Open a cursor .. uml:: client -> server: Open alt Success ... none or partial Resultsets or full Resultsets ... client <- server: StmtExecuteOk else Failure client <- server: Error end :param cursor_id: client side assigned cursor id, the ID is going to represent new cursor and assigned to it statement :param stmt: statement which resultset is going to be iterated through the cursor :param fetch_rows: number of rows which should be retrieved from sequential cursor :Returns: :protobuf:msg:`Mysqlx.Ok::` Field number for the "cursor_id" field. required Field number for the "stmt" field. required Field number for the "fetch_rows" field. optional Container for nested types declared in the Open message type. Field number for the "type" field. required Field number for the "prepare_execute" field. optional Container for nested types declared in the OneOfMessage message type. Fetch next portion of data from a cursor .. uml:: client -> server: Fetch alt Success ... none or partial Resultsets or full Resultsets ... client <- server: StmtExecuteOk else client <- server: Error end :param cursor_id: client side assigned cursor id, must be already open :param fetch_rows: number of rows which should be retrieved from sequential cursor Field number for the "cursor_id" field. required Field number for the "fetch_rows" field. optional Close cursor .. uml:: client -> server: Close alt Success client <- server: Ok else Failure client <- server: Error end :param cursor_id: client side assigned cursor id, must be allocated/open :Returns: :protobuf:msg:`Mysqlx.Ok|Mysqlx.Error` Field number for the "cursor_id" field. required Holder for reflection information generated from mysqlx_datatypes.proto File descriptor for mysqlx_datatypes.proto a scalar Field number for the "type" field. required Field number for the "v_signed_int" field. Field number for the "v_unsigned_int" field. Field number for the "v_octets" field. 4 is unused, was Null which doesn't have a storage anymore Field number for the "v_double" field. Field number for the "v_float" field. Field number for the "v_bool" field. Field number for the "v_string" field. Enum of possible cases for the "DefaultOneOf" oneof. Container for nested types declared in the Scalar message type. a string with a charset/collation Field number for the "value" field. required Field number for the "collation" field. Enum of possible cases for the "String_present" oneof. an opaque octet sequence, with an optional content_type See ``Mysqlx.Resultset.ColumnMetadata`` for list of known values. Field number for the "value" field. required Field number for the "content_type" field. a object Field number for the "fld" field. Container for nested types declared in the Object message type. Field number for the "key" field. required Field number for the "value" field. required a Array Field number for the "value" field. a helper to allow all field types Field number for the "type" field. required Field number for the "scalar" field. Field number for the "obj" field. Field number for the "array" field. Container for nested types declared in the Any message type. Holder for reflection information generated from mysqlx_expect.proto File descriptor for mysqlx_expect.proto open an Expect block and set/unset the conditions that have to be fulfilled if any of the conditions fail, all enclosed messages will fail with a Mysqlx.Error message. :returns: :protobuf:msg:`Mysqlx::Ok` on success, :protobuf:msg:`Mysqlx::Error` on error Field number for the "op" field. [ default = EXPECT_CTX_COPY_PREV ];//optional Field number for the "cond" field. Container for nested types declared in the Open message type. copy the operations from the parent Expect-block start with a empty set of operations Field number for the "condition_key" field. required Field number for the "condition_value" field. optional Field number for the "op" field. [ default = EXPECT_OP_SET ];//optional Container for nested types declared in the Condition message type. Change error propagation behaviour Check if X Protocol field exists Check if X Protocol support document _id generation set the condition set, if not set overwrite, if set unset the condition close a Expect block closing a Expect block restores the state of the previous Expect block for the following messages :returns: :protobuf:msg:`Mysqlx::Ok` on success, :protobuf:msg:`Mysqlx::Error` on error Holder for reflection information generated from mysqlx_expr.proto File descriptor for mysqlx_expr.proto Expressions the "root" of the expression tree .. productionlist:: expr: `operator` | : `identifier` | : `function_call` | : variable | : `literal` | : placeholder If expression type is PLACEHOLDER then it refers to the value of a parameter specified when executing a statement (see `args` field of `StmtExecute` command). Field `position` (which must be present for such an expression) gives 0-based position of the parameter in the parameter list. Field number for the "type" field. required Field number for the "identifier" field. Field number for the "variable" field. Field number for the "literal" field. Field number for the "function_call" field. Field number for the "operator" field. Field number for the "position" field. Field number for the "object" field. Field number for the "array" field. Container for nested types declared in the Expr message type. identifier: name, schame.name .. productionlist:: identifier: string "." string | : string Field number for the "name" field. required Field number for the "schema_name" field. DocumentPathItem .. productionlist:: document_path: path_item | path_item document_path path_item : member | array_index | "**" member : "." string | "." "*" array_index : "[" number "]" | "[" "*" "]" Field number for the "type" field. required Field number for the "value" field. Field number for the "index" field. Container for nested types declared in the DocumentPathItem message type. .member .* [index] [*] ** col_identifier (table): col@doc_path, tbl.col@doc_path col, tbl.col, schema.tbl.col col_identifier (document): doc_path .. productionlist:: col_identifier: string "." string "." string | : string "." string | : string | : string "." string "." string "@" document_path | : string "." string "@" document_path | : string "@" document_path | : document_path document_path: member | arrayLocation | doubleAsterisk member = "." string | "." "*" arrayLocation = "[" index "]" | "[" "*" "]" doubleAsterisk = "**" Field number for the "document_path" field. Field number for the "name" field. Field number for the "table_name" field. Field number for the "schema_name" field. function call: ``func(a, b, "1", 3)`` .. productionlist:: function_call: `identifier` "(" [ `expr` ["," `expr` ]* ] ")" Field number for the "name" field. required Field number for the "param" field. operator: ``<<(a, b)`` .. note:: Non-authoritative list of operators implemented (case sensitive): Nullary * ``*`` * ``default`` Unary * ``!`` * ``sign_plus`` * ``sign_minus`` * ``~`` Binary * ``&&`` * ``||`` * ``xor`` * ``==`` * ``!=`` * ``>`` * ``>=`` * ``<`` * ``<=`` * ``&`` * ``|`` * ``^`` * ``<<`` * ``>>`` * ``+`` * ``-`` * ``*`` * ``/`` * ``div`` * ``%`` * ``is`` * ``is_not`` * ``regexp`` * ``not_regexp`` * ``like`` * ``not_like`` * ``cast`` * ``cont_in`` * ``not_cont_in`` Using special representation, with more than 2 params * ``in`` (param[0] IN (param[1], param[2], ...)) * ``not_in`` (param[0] NOT IN (param[1], param[2], ...)) Ternary * ``between`` * ``between_not`` * ``date_add`` * ``date_sub`` Units for date_add/date_sub * ``MICROSECOND`` * ``SECOND`` * ``MINUTE`` * ``HOUR`` * ``DAY`` * ``WEEK`` * ``MONTH`` * ``QUARTER`` * ``YEAR`` * ``SECOND_MICROSECOND`` * ``MINUTE_MICROSECOND`` * ``MINUTE_SECOND`` * ``HOUR_MICROSECOND`` * ``HOUR_SECOND`` * ``HOUR_MINUTE`` * ``DAY_MICROSECOND`` * ``DAY_SECOND`` * ``DAY_MINUTE`` * ``DAY_HOUR`` Types for cast * ``BINARY[(N)]`` * ``CHAR[(N)]`` * ``DATE`` * ``DATETIME`` * ``DECIMAL[(M[,D])]`` * ``JSON`` * ``SIGNED [INTEGER]`` * ``TIME`` * ``UNSIGNED [INTEGER]`` .. productionlist:: operator: `name` "(" [ `expr` ["," `expr` ]* ] ")" Field number for the "name" field. required Field number for the "param" field. an object (with expression values) Field number for the "fld" field. Container for nested types declared in the Object message type. Field number for the "key" field. required Field number for the "value" field. required a Array of expressions Field number for the "value" field. Holder for reflection information generated from mysqlx_notice.proto File descriptor for mysqlx_notice.proto Common Frame for all Notices ===================================================== ===== .type value ===================================================== ===== :protobuf:msg:`Mysqlx.Notice::Warning` 1 :protobuf:msg:`Mysqlx.Notice::SessionVariableChanged` 2 :protobuf:msg:`Mysqlx.Notice::SessionStateChanged` 3 ===================================================== ===== :param type: the type of the payload :param payload: the payload of the notification :param scope: global or local notification Field number for the "type" field. required Field number for the "scope" field. [ default = GLOBAL ];//optional Field number for the "payload" field. optional Container for nested types declared in the Frame message type. Server-side warnings and notes ``.scope`` == ``local`` ``.level``, ``.code`` and ``.msg`` map the content of .. code-block:: sql SHOW WARNINGS ``.scope`` == ``global`` (undefined) will be used for global, unstructured messages like: * server is shutting down * a node disconnected from group * schema or table dropped ========================================== ======================= :protobuf:msg:`Mysqlx.Notice::Frame` field value ========================================== ======================= ``.type`` 1 ``.scope`` ``local`` or ``global`` ========================================== ======================= :param level: warning level: Note or Warning :param code: warning code :param msg: warning message Field number for the "level" field. [ default = WARNING ];//optional Field number for the "code" field. required Field number for the "msg" field. required Container for nested types declared in the Warning message type. Notify clients about changes to the current session variables Every change to a variable that is accessible through: .. code-block:: sql SHOW SESSION VARIABLES ========================================== ========= :protobuf:msg:`Mysqlx.Notice::Frame` field value ========================================== ========= ``.type`` 2 ``.scope`` ``local`` ========================================== ========= :param namespace: namespace that param belongs to :param param: name of the variable :param value: the changed value of param Field number for the "param" field. required Field number for the "value" field. optional Notify clients about changes to the internal session state ========================================== ========= :protobuf:msg:`Mysqlx.Notice::Frame` field value ========================================== ========= ``.type`` 3 ``.scope`` ``local`` ========================================== ========= :param param: parameter key :param value: updated value Field number for the "param" field. required Field number for the "value" field. Container for nested types declared in the SessionStateChanged message type. .. more to be added Holder for reflection information generated from mysqlx_prepare.proto File descriptor for mysqlx_prepare.proto Prepare a new statement .. uml:: client -> server: Prepare alt Success client <- server: Ok else Failure client <- server: Error end :param stmt_id: client side assigned statement id, which is going to identify the result of preparation :param stmt: defines one of following messages to be prepared - Crud.Find, Crud.Insert, Crud.Delete, Crud.Upsert, Sql.StmtExecute :Returns: :protobuf:msg:`Mysqlx.Ok|Mysqlx.Error` Field number for the "stmt_id" field. required Field number for the "stmt" field. required Container for nested types declared in the Prepare message type. Field number for the "type" field. required Field number for the "find" field. optional Field number for the "insert" field. optional Field number for the "update" field. optional Field number for the "delete" field. optional Field number for the "stmt_execute" field. optional Enum of possible cases for the "Type_present" oneof. Container for nested types declared in the OneOfMessage message type. Determine which of optional fields was set by the client (Workaround for missing "oneof" keyword in pb2.5) Execute already prepared statement .. uml:: client -> server: Execute alt Success ... Resultsets... client <- server: StmtExecuteOk else Failure client <- server: Error end :param stmt_id: client side assigned statement id, must be already prepared :param args_list: Arguments to bind to the prepared statement :param compact_metadata: send only type information for :protobuf:msg:`Mysqlx.Resultset::ColumnMetadata`, skipping names and others :Returns: :protobuf:msg:`Mysqlx.Ok::` Field number for the "stmt_id" field. required Field number for the "args" field. Field number for the "compact_metadata" field. [ default = false ]; optional Deallocate already prepared statement Deallocating the statement. .. uml:: client -> server: Deallocate alt Success client <- server: Ok else Failure client <- server: Error end :param stmt_id: client side assigned statement id, must be already prepared :Returns: :protobuf:msg:`Mysqlx.Ok|Mysqlx.Error` Field number for the "stmt_id" field. required Holder for reflection information generated from mysqlx_resultset.proto File descriptor for mysqlx_resultset.proto a hint about the higher-level encoding of a BYTES field ====== ====== =========== type value description ====== ====== =========== BYTES 0x0001 GEOMETRY (WKB encoding) BYTES 0x0002 JSON (text encoding) BYTES 0x0003 XML (text encoding) ====== ====== =========== .. note:: this list isn't comprehensive. As guideline: the field's value is expected to pass a validator check on client and server if this field is set. If the server adds more internal datatypes that rely on BLOB storage like image manipulation, seeking into complex types in BLOBs, ... more types will be added. a hint about the higher-level encoding of a DATETIME field ====== ====== =========== type value description ======== ====== =========== DATE 0x0001 DATETIME contains only date part DATETIME 0x0002 DATETIME contains both date and time parts ====== ====== =========== resultsets are finished, OUT paramset is next resultset and out-params are finished, but more resultsets available all resultsets are finished cursor is opened still the execution of PrepFetch or PrepExecute ended meta data of a Column .. note:: the encoding used for the different ``bytes`` fields in the meta data is externally controlled. .. seealso:: https://dev.mysql.com/doc/refman/8.0/en/charset-connection.html .. note:: The server may not set the ``original_{table|name}`` fields if they are equal to the plain ``{table|name}`` field. A client has to reconstruct it like:: if .original_name is empty and .name is not empty: .original_name = .name if .original_table is empty and .table is not empty: .original_table = .table .. note:: ``compact metadata format`` can be requested by the client. In that case only ``.type`` is set and all other fields are empty. :param type: .. table:: Expected Datatype of Mysqlx.Resultset.Row per SQL Type for non NULL values ================= ============ ======= ========== ====== ======== SQL Type .type .length .frac_dig .flags .charset ================= ============ ======= ========== ====== ======== TINY SINT x TINY UNSIGNED UINT x x SHORT SINT x SHORT UNSIGNED UINT x x INT24 SINT x INT24 UNSIGNED UINT x x INT SINT x INT UNSIGNED UINT x x LONGLONG SINT x LONGLONG UNSIGNED UINT x x DOUBLE DOUBLE x x x FLOAT FLOAT x x x DECIMAL DECIMAL x x x VARCHAR,CHAR,... BYTES x x x GEOMETRY BYTES TIME TIME x DATE DATETIME x DATETIME DATETIME x YEAR UINT x x TIMESTAMP DATETIME x SET SET x ENUM ENUM x NULL BYTES BIT BIT x ================= ============ ======= ========== ====== ======== .. note:: the SQL "NULL" value is sent as an empty field value in :protobuf:msg:`Mysqlx.Resultset::Row` .. seealso:: protobuf encoding of primitive datatypes are decribed in https://developers.google.com/protocol-buffers/docs/encoding SINT ``.length`` maximum number of displayable decimal digits (including minus sign) of the type .. note:: valid range is 0-255, but usually you'll see 1-20 =============== == SQL Type max digits per type =============== == TINY SIGNED 4 SHORT SIGNED 6 INT24 SIGNED 8 INT SIGNED 11 LONGLONG SIGNED 20 =============== == .. seealso:: definition of ``M`` in https://dev.mysql.com/doc/refman/8.0/en/numeric-type-overview.html ``value`` variable length encoded signed 64 integer UINT ``.flags & 1`` (zerofill) the client has to left pad with 0's up to .length ``.length`` maximum number of displayable decimal digits of the type .. note:: valid range is 0-255, but usually you'll see 1-20 ================= == SQL Type max digits per type ================= == TINY UNSIGNED 3 SHORT UNSIGNED 5 INT24 UNSIGNED 8 INT UNSIGNED 10 LONGLONG UNSIGNED 20 ================= == .. seealso:: definition of ``M`` in https://dev.mysql.com/doc/refman/8.0/en/numeric-type-overview.html ``value`` variable length encoded unsigned 64 integer BIT ``.length`` maximum number of displayable binary digits .. note:: valid range for M of the ``BIT`` type is 1 - 64 .. seealso:: https://dev.mysql.com/doc/refman/8.0/en/numeric-type-overview.html ``value`` variable length encoded unsigned 64 integer DOUBLE ``.length`` maximum number of displayable decimal digits (including the decimal point and ``.fractional_digits``) ``.fractional_digits`` maximum number of displayable decimal digits following the decimal point ``value`` encoded as Protobuf's 'double' FLOAT ``.length`` maximum number of displayable decimal digits (including the decimal point and ``.fractional_digits``) ``.fractional_digits`` maximum number of displayable decimal digits following the decimal point ``value`` encoded as Protobuf's 'float' BYTES, ENUM BYTES is used for all opaque byte strings that may have a charset * TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB * TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT * VARCHAR, VARBINARY * CHAR, BINARY * ENUM ``.length`` the maximum length of characters of the underlying type ``.flags & 1`` (rightpad) if the length of the field is less than ``.length``, the receiver is supposed to add padding characters to the right end of the string. If the ``.charset`` is "binary", the padding character is ``0x00``, otherwise it is a space character as defined by that character set. ============= ======= ======== ======= SQL Type .length .charset .flags ============= ======= ======== ======= TINYBLOB 256 binary BLOB 65535 binary VARCHAR(32) 32 utf8 VARBINARY(32) 32 utf8_bin BINARY(32) 32 binary rightpad CHAR(32) 32 utf8 rightpad ============= ======= ======== ======= ``value`` sequence of bytes with added one extra '\0' byte at the end. To obtain the original string, the extra '\0' should be removed. .. note:: the length of the string can be acquired with protobuf's field length() method length of sequence-of-bytes = length-of-field - 1 .. note:: the extra byte allows to distinguish between a NULL and empty byte sequence TIME A time value. ``value`` the following bytes sequence: ``| negate [ | hour | [ | minutes | [ | seconds | [ | useconds | ]]]]`` * negate - one byte, should be one of: 0x00 for "+", 0x01 for "-" * hour - optional variable length encoded unsigned64 value for the hour * minutes - optional variable length encoded unsigned64 value for the minutes * seconds - optional variable length encoded unsigned64 value for the seconds * useconds - optional variable length encoded unsigned64 value for the microseconds .. seealso:: protobuf encoding in https://developers.google.com/protocol-buffers/docs/encoding .. note:: hour, minutes, seconds, useconds are optional if all the values to the right are 0 Example: 0x00 -> +00:00:00.000000 DATETIME A date or date and time value. ``value`` a sequence of variants, arranged as follows: ``| year | month | day | [ | hour | [ | minutes | [ | seconds | [ | useconds | ]]]]`` * year - variable length encoded unsigned64 value for the year * month - variable length encoded unsigned64 value for the month * day - variable length encoded unsigned64 value for the day * hour - optional variable length encoded unsigned64 value for the hour * minutes - optional variable length encoded unsigned64 value for the minutes * seconds - optional variable length encoded unsigned64 value for the seconds * useconds - optional variable length encoded unsigned64 value for the microseconds .. note:: hour, minutes, seconds, useconds are optional if all the values to the right are 0 ``.flags & 1`` (timestamp) ============= ======= SQL Type .flags ============= ======= DATETIME TIMESTAMP 1 DECIMAL An arbitrary length number. The number is encoded as a single byte indicating the position of the decimal point followed by the Packed BCD encoded number. Packed BCD is used to simplify conversion to and from strings and other native arbitrary precision math datatypes. .. seealso:: packed BCD in https://en.wikipedia.org/wiki/Binary-coded_decimal ``.length`` maximum number of displayable decimal digits (*excluding* the decimal point and sign, but including ``.fractional_digits``) .. note:: should be in the range of 1 - 65 ``.fractional_digits`` is the decimal digits to display out of length .. note:: should be in the range of 0 - 30 ``value`` the following bytes sequence: ``| scale | BCD | sign | [0x0] |`` * scale - 8bit scale value (number of decimal digit after the '.') * BCD - BCD encoded digits (4 bits for each digit) * sign - sign encoded on 4 bits (0xc = "+", 0xd = "-") * 0x0 - last 4bits if length(digits) % 2 == 0 Example: x04 0x12 0x34 0x01 0xd0 -> -12.3401 SET A list of strings representing a SET of values. ``value`` A sequence of 0 or more of protobuf's bytes (length prepended octets) or one of the special sequences with a predefined meaning listed below. Example (length of the bytes array shown in brackets): * ``[0]`` - the NULL value * ``[1] 0x00`` - a set containing a blank string '' * ``[1] 0x01`` - this would be an invalid value, but is to be treated as the empty set * ``[2] 0x01 0x00`` - a set with a single item, which is the '\0' character * ``[8] 0x03 F O O 0x03 B A R`` - a set with 2 items: FOO,BAR :param name: name of the column :param original_name: name of the column before an alias was applied :param table: name of the table the column orginates from :param original_table: name of the table the column orginates from before an alias was applied :param schema: schema the column originates from :param catalog: catalog the schema originates from .. note:: as there is current no support for catalogs in MySQL, don't expect this field to be set. In the MySQL C/S protocol the field had the value ``def`` all the time. :param fractional_digits: displayed factional decimal digits for floating point and fixed point numbers :param length: maximum count of displayable characters of .type :param flags: ``.type`` specific flags ======= ====== =========== type value description ======= ====== =========== UINT 0x0001 zerofill DOUBLE 0x0001 unsigned FLOAT 0x0001 unsigned DECIMAL 0x0001 unsigned BYTES 0x0001 rightpad ======= ====== =========== ====== ================ value description ====== ================ 0x0010 NOT_NULL 0x0020 PRIMARY_KEY 0x0040 UNIQUE_KEY 0x0080 MULTIPLE_KEY 0x0100 AUTO_INCREMENT ====== ================ default: 0 :param content_type: a hint about the higher-level encoding of a BYTES field, for more informations please refer to Mysqlx.Resultset.ContentType_BYTES enum. Field number for the "type" field. datatype of the field in a row Field number for the "name" field. Field number for the "original_name" field. Field number for the "table" field. Field number for the "original_table" field. Field number for the "schema" field. Field number for the "catalog" field. Field number for the "collation" field. Field number for the "fractional_digits" field. Field number for the "length" field. Field number for the "flags" field. Field number for the "content_type" field. Container for nested types declared in the ColumnMetaData message type. Row in a Resultset a row is represented as a list of fields encoded as byte blobs. Blob of size 0 represents the NULL value. Otherwise, if it contains at least one byte, it encodes a non-null value of the field using encoding appropriate for the type of the value given by ``ColumnMetadata``, as specified in the :protobuf:msg:`Mysqlx.Resultset::ColumnMetaData` description. Field number for the "field" field. Holder for reflection information generated from mysqlx_session.proto File descriptor for mysqlx_session.proto the initial message send from the client to the server to start the authentication proccess :param mech_name: authentication mechanism name :param auth_data: authentication data :param initial_response: initial response :Returns: :protobuf:msg:`Mysqlx.Session::AuthenticateContinue` Field number for the "mech_name" field. required Field number for the "auth_data" field. Field number for the "initial_response" field. send by client or server after a :protobuf:msg:`Mysqlx.Session::AuthenticateStart` to exchange more auth data :param auth_data: authentication data :Returns: :protobuf:msg:`Mysqlx.Session::AuthenticateContinue` Field number for the "auth_data" field. required sent by the server after successful authentication :param auth_data: authentication data Field number for the "auth_data" field. reset the current session param keep_open: if is true the session will be reset, but stays authenticated. otherwise, the session will be closed and needs to be authenticated again. :Returns: :protobuf:msg:`Mysqlx::Ok` Field number for the "keep_open" field. close the current session :Returns: :protobuf:msg:`Mysqlx::Ok` Holder for reflection information generated from mysqlx_sql.proto File descriptor for mysqlx_sql.proto execute a statement in the given namespace .. uml:: client -> server: StmtExecute ... zero or more Resultsets ... server --> client: StmtExecuteOk Notices: This message may generate a notice containing WARNINGs generated by its execution. This message may generate a notice containing INFO messages generated by its execution. :param namespace: namespace of the statement to be executed :param stmt: statement that shall be executed. :param args: values for wildcard replacements :param compact_metadata: send only type information for :protobuf:msg:`Mysqlx.Resultset::ColumnMetadata`, skipping names and others :returns: * zero or one :protobuf:msg:`Mysqlx.Resultset::` followed by :protobuf:msg:`Mysqlx.Sql::StmtExecuteOk` Field number for the "namespace" field. optional [ default = "sql" ] Field number for the "stmt" field. required Field number for the "args" field. Field number for the "compact_metadata" field. optional [ default = false ] statement executed successful