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.
Signs the challenge obtained from the FIDO device and returns it to the server.
Method to obtain an assertion from a FIDO device.
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 the AuthPlugin name of the AuthSwitchRequest.
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
Authentication method.
The driver.
The authentication data.
Boolean that indicates if the function will be executed asynchronously.
MultiFactorAuthentication iteration.
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.
Boolean that indicates if the function will be executed asynchronously.
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.
Loads the profiles from the OCI config file.
Get the values for the key_file, fingerprint and security_token_file entries.
Sign nonce sent by server using SHA256 algorithm and the private key provided by the user.
Reads the security token file and verify it does not exceed the maximum value of 10KB.
The path to the security token.
Wraps up the fingerprint, signature and the token into a JSON format and encode it to a byte array.
The response packet that will be sent to the server.
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.
Initializes a new instance of the class using the specified instance of .
The that will be used to perform the bulk operation.
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.
Executes the load operation.
A object containing the data to be loaded.
The number of rows inserted.
Asynchronous version of the load operation.
The number of rows inserted.
Asynchronous version of the load operation that accepts a data stream.
A containing the data to be loaded.
The number of rows inserted.
Executes the load operation asynchronously while the cancellation isn't requested.
The cancellation token.
A containing the data to be loaded.
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.
Summary description for API.
Summary description for CompressedStream.
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
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
The connection to be used.
Boolean that indicates if the function will be executed asynchronously.
The cancellation token.
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.
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
Asynchronous version of the method.
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 array of objects to use with the command.
The number of affected records.
A new is created using the given.
Async version of ExecuteNonQuery
object to use.
The SQL command to be executed.
An 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.
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
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.
An 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.
An 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.
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.
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.
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
Boolean that indicates if the function will be executed asynchronously.
The cancellation token.
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.
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.
Flag that indicates if the connection string has been analyzed.
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
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
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.
Asynchronous version of .
The cancellation token.
A task representing the asynchronous operation.
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 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 object is created with CommandBehavior set to
CloseConnection, closing the 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.
Asynchronous version of .
One of the values.
A task representing the asynchronous operation.
Asynchronous version of with a cancellation token.
One of the values.
The cancellation token.
A task representing the asynchronous operation.
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
Asynchronous version of .
The cancellation token.
A task representing the asynchronous operation.
Creates a prepared version of the command on an instance of MySQL Server.
Asynchronously 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 .
Releases the resources used by the
Releases the resources used by the
Represents a connection to a MySQL database. This class cannot be inherited.
A object represents a session to a MySQL
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 requests 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 call to
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 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.
Gets a boolean value that indicates whether the connection string has been analyzed or not.
Creates and returns a System.Data.Common.DbCommand object associated with the current connection.
A object.
Releases the resources used by the
Starts a database transaction.
Specifies the for the transaction.
A representing the new transaction.
Parallel transactions are not supported.
Begins a database transaction.
A representing the new transaction.
Parallel transactions are not supported.
Starts a database transaction.
Specifies the for the transaction.
The scope of the transaction.
A representing the new transaction.
Parallel transactions are not supported.
Asynchronous version of .
A representing the new transaction.
Parallel transactions are not supported.
Asynchronous version of .
A token to cancel the asynchronous operation.
A representing the new transaction.
Parallel transactions are not supported.
Asynchronous version of .
Specifies the for the transaction.
A representing the new transaction.
Parallel transactions are not supported.
Asynchronous version of .
Specifies the for the transaction.
The cancellation token.
A representing the new transaction.
Parallel transactions are not supported.
Asynchronous version of .
Specifies the for the transaction.
A token to cancel the asynchronous operation.
A representing the new transaction.
Parallel transactions are not supported.
Changes the current database for an open .
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.
Asynchronous version of the method.
The name of the database to use.
The cancellation token.
A task representing the asynchronous operation.
Pings the server.
true if the ping was successful; otherwise, false.
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.
Asynchronous version of the method.
Asynchronous version of the method.
Cancels the query after the specified time interval.
The length of time (in seconds) to wait for the cancellation of the command execution.
Asynchronous version of the method.
The length of time (in seconds) to wait for the cancellation of the command execution.
The cancellation token.
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.
Asynchronous version of .
A token to cancel the asynchronous operation.
A task representing the asynchronous operation.
Asynchronous version of .
Specifies the name of the schema to return.
A token to cancel the asynchronous operation.
A task representing the asynchronous operation.
Asynchronous version of .
Specifies the name of the schema to return.
Specifies a set of restriction values for the requested schema.
A token to cancel the asynchronous operation.
A task representing the asynchronous operation.
Gets a schema collection based on the provided restriction values.
The name of the collection.
The values to restrict.
A schema collection object.
Asynchronous version of the method.
The name of the collection.
The values to restrict.
The cancellation token.
A collection of schema objects.
Asynchronous version of the method.
The name of the collection.
The values to restrict.
The cancellation token.
Boolean that indicates if the function will be executed asynchronously.
A collection of schema objects.
Enlists in the specified transaction.
A reference to an existing in which to enlist.
Creates a new object with the exact same ConnectionString value.
A cloned object.
Returns an unopened copy of this connection with a new connection string. If the Password
in is not set, the password from this connection will be used.
This allows creating a new connection with the same security information while changing other options,
such as database or pooling.
The new connection string to be used.
A new with different connection string options but
the same password as this connection (unless overridden by ).
Sets query timeout. If timeout has been set prior and not
yet cleared with ClearCommandTimeout(), it has no effect.
Timeout in seconds.
if a timeout is set.
Clears query timeout, allowing next SetCommandTimeout() to succeed.
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.
Asynchronous version of the method.
The connection associated with the pool to be cleared.
The cancellation token.
Clears all connection pools.
ClearAllPools essentially performs a on all current connection pools.
Asynchronous version of the method.
The cancellation token.
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 together with the errors found.
IDisposable wrapper around SetCommandTimeout and ClearCommandTimeout functionality.
Aids in the creation of connection strings by exposing the connection options as properties.
Contains connection options specific to the Classic MySQL protocol.
Main constructor.
Constructor accepting a connection string.
The connection string.
Flag that indicates if the connection string has been analyzed.
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 configuration file location.
The default values vary depending on the operating system. On Windows systems the value is '%HOMEDRIVE%%HOMEPATH%\.oci\config'.
For Linux and macOS systems it is '~/.oci/config'.
Gets or sets the profile to use from the OCI configuration file.
The default value is "DEFAULT".
Gets or sets the mode value to be used in Kerberos authentication.
If (default value) is used, then it will try to log in using
and then fallback to mode value in case of error.
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.
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 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 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 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 object.
Asynchronously closes the object.
A task representing the asynchronous operation.
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.
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.
Describes the column metadata of the .
A object.
Advances the data reader to the next result when reading the results of batch SQL statements.
if there are more result sets; otherwise .
Advances the to the next record.
true if there are more rows; otherwise false.
Releases all resources used by the current instance of the class.
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[]).
Defines the different APIs that can be used for Kerberos authentication.
Use and then fall back to in case of error.
Use MS Security Support Provider Interface (SSPI).
Use Generic Security Services API (GSSAPI) through MIT Kerberos library.
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
Boolean that indicates if the function will be executed asynchronously.
Represents a parameter to a , This class cannot be inherited.
Parameter names are not case sensitive.
You can read more about it here.
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.
Gets or sets the value to use when loading .
Clones this object.
An object that is a clone of this object.
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 the number of MySqlParameter objects in the collection.
Gets a value that indicates whether the object has a fixed size.
Gets a value that indicates whether the object is read-only.
Gets a value that indicates whether the object is synchronized.
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
.
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
Boolean that indicates if the function will be executed asynchronously.
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.
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.
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.
Asynchronously commits the database transaction.
A task representing the asynchronous operation.
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).
Asynchronously rolls back a transaction from a pending state.
The cancellation token.
A task representing the asynchronous operation.
Summary description for Driver.
Sets the current database for the this connection
Boolean that indicates if the function will be executed asynchronously.
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.
Boolean that indicates if the function will be executed asynchronously.
Sends the specified file to the server.
This supports the LOAD DATA LOCAL INFILE
Boolean that indicates if the function will be executed asynchronously.
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
Class 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
Boolean that indicates if the function will be executed asynchronously.
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
Boolean that indicates if the function will be executed asynchronously.
the cancellation token.
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.
Boolean that indicates if the function will be executed asynchronously.
The cancellation token.
Builds the initial part of the COM_QUERY packet
Collection of attributes
A
Boolean that indicates if the function will be executed asynchronously.
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
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 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
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
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.
State of the configuration.
State of the QoP.
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
MIT Kerberos 5 GSS Bindings Windows 64bit
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.
The target.
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
DNS record type.
CLASS fields appear in resource records.
The Internet.
DNS question type.
QueryType are a superset of RecordType.
A resource record which specifies the location of the server(s) for a specific protocol and domain.
RFC 2782
DNS Record OpCode.
A four bit field that specifies kind of query in this message.
This value is set by the originator of a query and copied into the response.
A standard query (QUERY).
Retired IQUERY code.
A server status request (STATUS).
Notify OpCode.
Update OpCode.
The class transports information of the lookup query performed.
Gets the domain name
Gets the type of the question.
Gets the question class.
Initializes a new instance of the class.
Domain name.
Type of the question.
The question class.
Initializes a new instance of the class.
of the record.
Gets the bytes in this collection.
Gets or sets the unique identifier of the record.
Gets or sets the number of questions in the record.
Gets or sets the number of answers in the record.
Gets or sets the number of name servers in the record.
Gets or sets the number of additional records in the record.
Specifies kind of query.
Recursion Desired
Represents the header as a byte array
The Resource Record this record data belongs to.
A DNS record reader.
Gets or sets the position of the cursor in the record.
Initializes a new instance of the class.
Byte array of the record.
Position of the cursor in the record.
Initializes a new instance of the class.
Byte array of the record.
Read a byte from the record.
Read a char from the record.
Read an unsigned int 16 from the record.
Read an unsigned int 16 from the offset of the record.
Offset to start reading from.
Read an unsigned int 32 from the record.
Read the domain name from the record.
Domain name of the record.
Read a string from the record.
Read a series of bytes from the record.
Length to read from the record.
Read record from the data.
Type of the record to read.
Record read from the data.
A default Dns Record.
A DNS request.
Gets the header.
The default DNS server port.
Fills a list of the endpoints in the local network configuration.
Execute a query on a DNS server.
Domain name to look up.
DNS response for request.
Gets the name of the node to which this resource record pertains.
Gets the type of resource record.
Gets the type class of resource record, mostly IN but can be CS, CH or HS.
Gets the time to live, in seconds, that the resource record may be cached.
Gets the record length.
Gets one of the Record* classes.
Answer resource record.
Authority resource record.
Additional resource record.
List of Question records.
List of AnswerResourceRecord records.
List of AuthorityResourceRecord records.
List of AdditionalResourceRecord records.
The record header.
Server which delivered this response.
The Size of the message.
Error message, empty when no error.
TimeStamp when cached.
Initializes a new instance of the class.
Initializes a new instance of the class.
of the DNS server that responded to the query.
array of the response data.
List of RecordSRV in Response.Answers
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.
of the record data.
Compare two objects. First, using their priority and
if both have the same, then using their weights.
A to compare.
A to compare.
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.
Boolean that indicates if the function will be executed asynchronously.
The cancellation token.
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 profile not found..
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 Security token file could not be found at location given by OCI configuration entry 'security_token_file'..
Looks up a localized string similar to The size of the OCI security token file exceeds the maximum value of 10KB allowed..
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 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 Custom type mapping is only supported from .NET Core 3.1 and later..
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.
Stream used to store multiple X Protocol messages.
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.
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.
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.
Constructor that sets the stream used to read or write data.
The stream used to read or write data.
The socket to use.
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 for reading.
The compression controller for writing.
The socket to use.
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.
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.
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.
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.
The type of the implemented object.
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.
The type of the implemented object.
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.
Type of
Type of object
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.
This same object set with the specified order criteria.
Enables the setting of Where condition for this operation.
The Where condition.
This same object set with the specified condition criteria.
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, a JSON string or a custom type object.
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.
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.
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.
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 name of collection to get.
Ensures the collection exists in the schema.
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 .
The name of the collection to create.
If false, throws an exception if the collection exists.
Collection referente.
Creates a 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
Holder for extension identifiers generated from the top level of 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
Field number for the "msg" field.
Gets whether the "msg" field is set
Clears the value of the "msg" field
Field number for the "severity" field.
* severity of the error message
Gets whether the "severity" field is set
Clears the value of the "severity" field
Field number for the "code" field.
* error code
Gets whether the "code" field is set
Clears the value of the "code" field
Field number for the "sql_state" field.
* SQL state
Gets whether the "sql_state" field is set
Clears the value of the "sql_state" field
Field number for the "msg" field.
* human-readable error message
Gets whether the "msg" field is set
Clears the value of 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
*
Capability
A tuple of a ``name`` and a @ref Mysqlx::Datatypes::Any
Field number for the "name" field.
Gets whether the "name" field is set
Clears the value of the "name" field
Field number for the "value" field.
*
Capabilities
list of Capability
Field number for the "capabilities" field.
*
Get supported connection capabilities and their current state.
@returns @ref Mysqlx::Connection::Capabilities or @ref Mysqlx::Error
*
Set connection capabilities atomically.
Only provided values are changed; other values are left
unchanged. If any of the changes fails, all changes are
discarded.
@pre active sessions == 0
@returns @ref Mysqlx::Ok or @ref 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 @ref Mysqlx::Ok
Field number for the "uncompressed_size" field.
Gets whether the "uncompressed_size" field is set
Clears the value of the "uncompressed_size" field
Field number for the "server_messages" field.
Gets whether the "server_messages" field is set
Clears the value of the "server_messages" field
Field number for the "client_messages" field.
Gets whether the "client_messages" field is set
Clears the value of the "client_messages" field
Field number for the "payload" field.
Gets whether the "payload" field is set
Clears the value of 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 user who defined the VIEW
* use current user permissions
* use permissions of the user 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
Field number for the "name" field.
Gets whether the "name" field is set
Clears the value of the "name" field
Field number for the "alias" field.
Gets whether the "alias" field is set
Clears the value of the "alias" field
Field number for the "document_path" field.
Field number for the "source" field.
* the expression identifying an element from the source data,
which can include a column identifier or any expression
Field number for the "alias" field.
* optional alias. Required for DOCUMENTs (clients may use
the source string as default)
Gets whether the "alias" field is set
Clears the value of the "alias" field
Field number for the "name" field.
Gets whether the "name" field is set
Clears the value of the "name" field
Field number for the "schema" field.
Gets whether the "schema" field is set
Clears the value of the "schema" field
Field number for the "row_count" field.
* maximum rows to filter
Gets whether the "row_count" field is set
Clears the value of the "row_count" field
Field number for the "offset" field.
* maximum rows to skip before applying the row_count
Gets whether the "offset" field is set
Clears the value of the "offset" field
*
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.
Field number for the "row_count" field.
* maximum rows to filter
Field number for the "offset" field.
* maximum rows to skip before applying the row_count
*
Sort order
Field number for the "expr" field.
Field number for the "direction" field.
Gets whether the "direction" field is set
Clears the value of the "direction" field
Container for nested types declared in the Order message type.
Field number for the "source" field.
* 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
@note in both cases, schema and table must be not set
Field number for the "operation" field.
* the type of operation to be performed
Gets whether the "operation" field is set
Clears the value of the "operation" field
Field number for the "value" field.
* an expression to be computed as the new value for the operation
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
@startuml
client -> server: Find
... one or more Resultset ...
@enduml
@returns @ref Mysqlx::Resultset
Field number for the "collection" field.
* collection in which to find
Field number for the "data_model" field.
* data model that the operations refer to
Gets whether the "data_model" field is set
Clears the value of the "data_model" field
Field number for the "projection" field.
* list of column projections that shall be returned
Field number for the "args" field.
* values for parameters used in filter expression
Field number for the "criteria" field.
* filter criteria
Field number for the "limit" field.
* numbers of rows that shall be skipped and returned
(user can set one of: limit, limit_expr)
Field number for the "order" field.
* sort-order in which the rows/document shall be returned in
Field number for the "grouping" field.
* column expression list for aggregation (GROUP BY)
Field number for the "grouping_criteria" field.
* filter criteria for aggregated groups
Field number for the "locking" field.
* perform row locking on matches
Gets whether the "locking" field is set
Clears the value of the "locking" field
Field number for the "locking_options" field.
* additional options how to handle locked rows
Gets whether the "locking_options" field is set
Clears the value of the "locking_options" field
Field number for the "limit_expr" field.
* numbers of rows that shall be skipped and returned
(user can set one of: limit, limit_expr)
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
@returns @ref Mysqlx::Resultset
Field number for the "collection" field.
* collection to insert into
Field number for the "data_model" field.
* data model that the operations refer to
Gets whether the "data_model" field is set
Clears the value of the "data_model" field
Field number for the "projection" field.
* name of the columns to insert data into
(empty if data_model is DOCUMENT)
Field number for the "row" field.
* set of rows to insert into the collection/table (a single expression
with a JSON document literal or an OBJECT expression)
Field number for the "args" field.
* values for parameters used in row expressions
Field number for the "upsert" field.
* true if this should be treated as an Upsert
(that is, update on duplicate key)
Gets whether the "upsert" field is set
Clears the value of the "upsert" field
Container for nested types declared in the Insert message type.
* set of fields to insert as a one row
Field number for the "field" field.
*
Update documents/rows in a collection/table
@returns @ref Mysqlx::Resultset
Field number for the "collection" field.
* collection to change
Field number for the "data_model" field.
* datamodel that the operations refer to
Gets whether the "data_model" field is set
Clears the value of the "data_model" field
Field number for the "criteria" field.
* filter expression to match rows that the operations will apply on
Field number for the "limit" field.
* limits the number of rows to match
(user can set one of: limit, limit_expr)
Field number for the "order" field.
* specifies order of matched rows
Field number for the "operation" field.
* list of operations to be applied.
Valid operations will depend on the data_model
Field number for the "args" field.
* values for parameters used in filter expression
Field number for the "limit_expr" field.
* limits the number of rows to match
(user can set one of: limit, limit_expr)
*
Delete documents/rows from a Collection/Table
@returns @ref Mysqlx::Resultset
Field number for the "collection" field.
* collection to change
Field number for the "data_model" field.
* data model that the operations refer to
Gets whether the "data_model" field is set
Clears the value of the "data_model" field
Field number for the "criteria" field.
* filter expression to match rows that the operations will apply on
Field number for the "limit" field.
* limits the number of rows to match
(user can set one of: limit, limit_expr)
Field number for the "order" field.
* specifies order of matched rows
Field number for the "args" field.
* values for parameters used in filter expression
Field number for the "limit_expr" field.
* limits the number of rows to match
(user can set one of: limit, limit_expr)
*
CreateView create view based on indicated @ref Mysqlx::Crud::Find message
Field number for the "collection" field.
* name of the VIEW object, which should be created
Field number for the "definer" field.
* user name of the definer, if the value isn't set then the definer
is current user
Gets whether the "definer" field is set
Clears the value of the "definer" field
Field number for the "algorithm" field.
* defines how MySQL Server processes the view
Gets whether the "algorithm" field is set
Clears the value of the "algorithm" field
Field number for the "security" field.
* defines the security context in which the view is going be executed
Gets whether the "security" field is set
Clears the value of the "security" field
Field number for the "check" field.
* limits the write operations done on a VIEW
Gets whether the "check" field is set
Clears the value of the "check" field
Field number for the "column" field.
* defines the list of aliases for column names specified in `stmt`
Field number for the "stmt" field.
* Mysqlx.Crud.Find message from which the SELECT statement
is going to be build
Field number for the "replace_existing" field.
* if true then suppress error when created view already exists;
just replace it
Gets whether the "replace_existing" field is set
Clears the value of the "replace_existing" field
*
ModifyView modify existing view based on indicated
@ref Mysqlx::Crud::Find message
Field number for the "collection" field.
* name of the VIEW object, which should be modified
Field number for the "definer" field.
* user name of the definer,
if the value isn't set then the definer is current user
Gets whether the "definer" field is set
Clears the value of the "definer" field
Field number for the "algorithm" field.
* defined how MySQL Server processes the view
Gets whether the "algorithm" field is set
Clears the value of the "algorithm" field
Field number for the "security" field.
* defines the security context in which the view is going be executed
Gets whether the "security" field is set
Clears the value of the "security" field
Field number for the "check" field.
* limits the write operations done on a VIEW
Gets whether the "check" field is set
Clears the value of the "check" field
Field number for the "column" field.
* defines the list of aliases for column names specified in `stmt`
Field number for the "stmt" field.
* Mysqlx.Crud.Find message from which the SELECT statement
is going to be build
*
DropView removing existing view
Field number for the "collection" field.
* name of the VIEW object, which should be deleted
Field number for the "if_exists" field.
* if true then suppress error when deleted view does not exists
Gets whether the "if_exists" field is set
Clears the value of the "if_exists" field
Holder for reflection information generated from mysqlx_cursor.proto
File descriptor for mysqlx_cursor.proto
*
Open a cursor
@startuml
client -> server: Open
alt Success
... none or partial Resultsets or full Resultsets ...
client <- server: StmtExecuteOk
else Failure
client <- server: Error
end alt
@enduml
@returns @ref Mysqlx::Ok
Field number for the "cursor_id" field.
* client-side assigned cursor ID; the ID is going to represent
the new cursor and assigned to it the statement
Gets whether the "cursor_id" field is set
Clears the value of the "cursor_id" field
Field number for the "stmt" field.
* statement for which the resultset is going to be iterated through by the cursor
Field number for the "fetch_rows" field.
* number of rows that should be retrieved from sequential cursor
Gets whether the "fetch_rows" field is set
Clears the value of the "fetch_rows" field
Container for nested types declared in the Open message type.
Field number for the "type" field.
Gets whether the "type" field is set
Clears the value of the "type" field
Field number for the "prepare_execute" field.
Container for nested types declared in the OneOfMessage message type.
*
Fetch next portion of data from a cursor
@startuml
client -> server: Fetch
alt Success
... none or partial Resultsets or full Resultsets ...
client <- server: StmtExecuteOk
else
client <- server: Error
end
@enduml
Field number for the "cursor_id" field.
* client-side assigned cursor ID; must be already open
Gets whether the "cursor_id" field is set
Clears the value of the "cursor_id" field
Field number for the "fetch_rows" field.
* number of rows that should be retrieved from sequential cursor
Gets whether the "fetch_rows" field is set
Clears the value of the "fetch_rows" field
*
Close cursor
@startuml
client -> server: Close
alt Success
client <- server: Ok
else Failure
client <- server: Error
end
@enduml
@returns @ref Mysqlx::Ok or @ref Mysqlx::Error
Field number for the "cursor_id" field.
* client-side assigned cursor ID; must be allocated/open
Gets whether the "cursor_id" field is set
Clears the value of the "cursor_id" field
Holder for reflection information generated from mysqlx_datatypes.proto
File descriptor for mysqlx_datatypes.proto
a scalar
Field number for the "type" field.
Gets whether the "type" field is set
Clears the value of the "type" field
Field number for the "v_signed_int" field.
Gets whether the "v_signed_int" field is set
Clears the value of the "v_signed_int" field
Field number for the "v_unsigned_int" field.
Gets whether the "v_unsigned_int" field is set
Clears the value of 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.
Gets whether the "v_double" field is set
Clears the value of the "v_double" field
Field number for the "v_float" field.
Gets whether the "v_float" field is set
Clears the value of the "v_float" field
Field number for the "v_bool" field.
Gets whether the "v_bool" field is set
Clears the value of the "v_bool" field
Field number for the "v_string" field.
Container for nested types declared in the Scalar message type.
* a string with a charset/collation
Field number for the "value" field.
Gets whether the "value" field is set
Clears the value of the "value" field
Field number for the "collation" field.
Gets whether the "collation" field is set
Clears the value of the "collation" field
* an opaque octet sequence, with an optional content_type
See @ref Mysqlx::Resultset::ContentType_BYTES for list of known values.
Field number for the "value" field.
Gets whether the "value" field is set
Clears the value of the "value" field
Field number for the "content_type" field.
Gets whether the "content_type" field is set
Clears the value of the "content_type" field
*
An object
Field number for the "fld" field.
Container for nested types declared in the Object message type.
Field number for the "key" field.
Gets whether the "key" field is set
Clears the value of the "key" field
Field number for the "value" field.
*
An Array
Field number for the "value" field.
*
A helper to allow all field types
Field number for the "type" field.
Gets whether the "type" field is set
Clears the value of the "type" field
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 @ref Mysqlx::Ok on success, @ref Mysqlx::Error on error
Field number for the "op" field.
Gets whether the "op" field is set
Clears the value of the "op" field
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.
Gets whether the "condition_key" field is set
Clears the value of the "condition_key" field
Field number for the "condition_value" field.
Gets whether the "condition_value" field is set
Clears the value of the "condition_value" field
Field number for the "op" field.
Gets whether the "op" field is set
Clears the value of the "op" field
Container for nested types declared in the Condition message type.
* Change error propagation behaviour
* Check if X Protocol field exists
* Check if X Protocol supports 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 @ref Mysqlx::Ok on success, @ref Mysqlx::Error on error
Holder for reflection information generated from mysqlx_expr.proto
File descriptor for mysqlx_expr.proto
*
The "root" of the expression tree.
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.
@par production list
@code{unparsed}
expr: operator |
: identifier |
: function_call |
: variable |
: literal |
: object |
: array |
: placeholder
@endcode
Field number for the "type" field.
Gets whether the "type" field is set
Clears the value of the "type" field
Field number for the "identifier" field.
Field number for the "variable" field.
Gets whether the "variable" field is set
Clears the value of 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.
Gets whether the "position" field is set
Clears the value of 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
@par production list
@code{unparsed}
identifier: string "." string |
: string
@endcode
Field number for the "name" field.
Gets whether the "name" field is set
Clears the value of the "name" field
Field number for the "schema_name" field.
Gets whether the "schema_name" field is set
Clears the value of the "schema_name" field
*
Document path item
@par production list
@code{unparsed}
document_path: path_item | path_item document_path
path_item : member | array_index | "**"
member : "." string | "." "*"
array_index : "[" number "]" | "[" "*" "]"
@endcode
Field number for the "type" field.
Gets whether the "type" field is set
Clears the value of the "type" field
Field number for the "value" field.
Gets whether the "value" field is set
Clears the value of the "value" field
Field number for the "index" field.
* used in case of ARRY_INDEX
Gets whether the "index" field is set
Clears the value of the "index" field
Container for nested types declared in the DocumentPathItem message type.
* .member
* \.*
* [index]
* [*]
* **
Field number for the "document_path" field.
* document path
Field number for the "name" field.
* name of column
Gets whether the "name" field is set
Clears the value of the "name" field
Field number for the "table_name" field.
* name of table
Gets whether the "table_name" field is set
Clears the value of the "table_name" field
Field number for the "schema_name" field.
* name of schema
Gets whether the "schema_name" field is set
Clears the value of the "schema_name" field
*
Function call: ``func(a, b, "1", 3)``
@par production list
@code{unparsed}
function_call: `identifier` "(" [ `expr` ["," `expr` ]* ] ")"
@endcode
Field number for the "name" field.
* identifier of function; at least name of it
Field number for the "param" field.
* list of parameters
Field number for the "name" field.
* name of operator
Gets whether the "name" field is set
Clears the value of the "name" field
Field number for the "param" field.
* list of parameters
*
An object (with expression values)
Field number for the "fld" field.
* list of fields
Container for nested types declared in the Object message type.
Field number for the "key" field.
* identifier of field
Gets whether the "key" field is set
Clears the value of the "key" field
Field number for the "value" field.
* value of field
*
An array of expressions
Field number for the "value" field.
* list of values
Holder for reflection information generated from mysqlx_notice.proto
File descriptor for mysqlx_notice.proto
*
Common frame for all notices
| ``.type`` | Value |
|---------------------------------------------------|------ |
| @ref Mysqlx::Notice::Warning | 1 |
| @ref Mysqlx::Notice::SessionVariableChanged | 2 |
| @ref Mysqlx::Notice::SessionStateChanged | 3 |
| @ref Mysqlx::Notice::GroupReplicationStateChanged | 4 |
| @ref Mysqlx::Notice::ServerHello | 5 |
Field number for the "type" field.
* the type of the payload
Gets whether the "type" field is set
Clears the value of the "type" field
Field number for the "scope" field.
* global or local notification
Gets whether the "scope" field is set
Clears the value of the "scope" field
Field number for the "payload" field.
* the payload of the notification
Gets whether the "payload" field is set
Clears the value of the "payload" field
Container for nested types declared in the Frame message type.
* scope of notice
* type of notice payload
*
Server-side warnings and notes
@par ``.scope`` == ``local``
``.level``, ``.code`` and ``.msg`` map the content of:
@code{sql}
SHOW WARNINGS
@endcode
@par ``.scope`` == ``global``
(undefined) Will be used for global, unstructured messages like:
- server is shutting down
- a node disconnected from group
- schema or table dropped
| @ref Mysqlx::Notice::Frame Field | Value |
|-----------------------------------|-------------------------|
| ``.type`` | 1 |
| ``.scope`` | ``local`` or ``global`` |
Field number for the "level" field.
* Note or Warning
Gets whether the "level" field is set
Clears the value of the "level" field
Field number for the "code" field.
* warning code
Gets whether the "code" field is set
Clears the value of the "code" field
Field number for the "msg" field.
* warning message
Gets whether the "msg" field is set
Clears the value of the "msg" field
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{sql}
SHOW SESSION VARIABLES
@endcode
| @ref Mysqlx::Notice::Frame Field | Value |
|-----------------------------------|----------|
| ``.type`` | 2 |
| ``.scope`` | ``local``|
Field number for the "param" field.
* name of the variable
Gets whether the "param" field is set
Clears the value of the "param" field
Field number for the "value" field.
* the changed value of param
Field number for the "param" field.
* parameter key
Gets whether the "param" field is set
Clears the value of the "param" field
Field number for the "value" field.
* updated value
Container for nested types declared in the SessionStateChanged message type.
.. more to be added
*
Notify clients about group replication state changes
| @ref Mysqlx::Notice::Frame Field | Value |
|-----------------------------------|------------|
|``.type`` | 4 |
|``.scope`` | ``global`` |
Field number for the "type" field.
* type of group replication event
Gets whether the "type" field is set
Clears the value of the "type" field
Field number for the "view_id" field.
* view identifier
Gets whether the "view_id" field is set
Clears the value of the "view_id" field
Container for nested types declared in the GroupReplicationStateChanged message type.
*
Notify clients about connection to X Protocol server
| @ref Mysqlx::Notice::Frame Field | Value |
|-----------------------------------|------------|
|``.type`` | 5 |
|``.scope`` | ``global`` |
Holder for reflection information generated from mysqlx_prepare.proto
File descriptor for mysqlx_prepare.proto
*
Prepare a new statement
@startuml
client -> server: Prepare
alt Success
client <- server: Ok
else Failure
client <- server: Error
end
@enduml
@returns @ref Mysqlx::Ok or @ref Mysqlx::Error
Field number for the "stmt_id" field.
* client-side assigned statement ID, which is going to identify
the result of preparation
Gets whether the "stmt_id" field is set
Clears the value of the "stmt_id" field
Field number for the "stmt" field.
* defines one of following messages to be prepared:
Crud::Find, Crud::Insert, Crud::Delete, Crud::Upsert, Sql::StmtExecute
Container for nested types declared in the Prepare message type.
Field number for the "type" field.
Gets whether the "type" field is set
Clears the value of the "type" field
Field number for the "find" field.
Field number for the "insert" field.
Field number for the "update" field.
Field number for the "delete" field.
Field number for the "stmt_execute" field.
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
@startuml
client -> server: Execute
alt Success
... Resultsets...
client <- server: StmtExecuteOk
else Failure
client <- server: Error
end
@enduml
@returns @ref Mysqlx::Ok
Field number for the "stmt_id" field.
* client-side assigned statement ID, must be already prepared
Gets whether the "stmt_id" field is set
Clears the value of the "stmt_id" field
Field number for the "args" field.
* Arguments to bind to the prepared statement
Field number for the "compact_metadata" field.
* send only type information for
@ref Mysqlx::Resultset::ColumnMetaData, skipping names and others
Gets whether the "compact_metadata" field is set
Clears the value of the "compact_metadata" field
*
Deallocate already-prepared statement
@startuml
client -> server: Deallocate
alt Success
client <- server: Ok
else Failure
client <- server: Error
end
@enduml
@returns @ref Mysqlx::Ok or @ref Mysqlx::Error
Field number for the "stmt_id" field.
* client-side assigned statement ID, must be already prepared
Gets whether the "stmt_id" field is set
Clears the value of the "stmt_id" field
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 a 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. See also:
https://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
@par
@note
The server may not set the ``original_{table|name}`` fields
if they are equal to the plain ``{table|name}`` field.
@par
@note
A client has to reconstruct it like:
@code{py}
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
@endcode
@par
@note
``Compact metadata format`` can be requested by the client.
In that case, only ``.type`` is set and all other fields are empty.
Expected data type 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
@ref Mysqlx::Resultset::Row.
@par Tip
The protobuf encoding of primitive data types is described in
https://developers.google.com/protocol-buffers/docs/encoding
+ SINT
- ``.length`` @n
Maximum number of displayable decimal digits (including
minus sign) of the type.
@note
The valid range is 0-255, but usually you'll see 1-20.
| SQL Type | Maximum Digits per Type |
|------------------|-------------------------|
| TINY SIGNED | 4 |
| SHORT SIGNED | 6 |
| INT24 SIGNED | 8 |
| INT SIGNED | 11 |
| LONGLONG SIGNED | 20 |
@par Tip
Definition of ``M`` are in
https://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html.
- ``value``@n
Variable length encoded signed 64 integer.
+ UINT
- ``.flags & 1`` (zerofill) @n
The client has to left pad with 0's up to .length.
- ``.length`` @n
Maximum number of displayable decimal digits of the
type.
@note
The 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 |
@par Tip
Definition of ``M`` are in
https://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html.
- ``value`` @n
Variable length encoded unsigned 64 integer.
+ BIT
- ``.length`` @n
Maximum number of displayable binary digits.
@note
The valid range for M of the ``BIT`` type is 1 - 64.
@par Tip
https://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html
- ``value`` @n
Variable length encoded unsigned 64 integer.
+ DOUBLE
- ``.length`` @n
Maximum number of displayable decimal digits (including
the decimal point and ``.fractional_digits``).
- ``.fractional_digits`` @n
Maximum number of displayable decimal digits following
the decimal point.
- ``value``@n
Encoded as protobuf's 'double'.
+ FLOAT
- ``.length``@n
Maximum number of displayable decimal digits (including
the decimal point and ``.fractional_digits``).
- ``.fractional_digits``@n
Maximum number of displayable decimal digits following
the decimal point.
- ``value``@n
Encoded as protobuf's 'float'.
+ BYTES, ENUM
@note
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``@n
Maximum length of characters of the underlying type.
- ``.flags & 1`` (rightpad) @n
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 ``0x00`` byte at
the end. To obtain the original string, the extra
``0x00`` should be removed. 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``@n
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
@par Tip
The protobuf encoding in
https://developers.google.com/protocol-buffers/docs/encoding.
@note
Hour, minutes, seconds, and 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`` @n
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``@n
| Name | Position |
|---------------|----------|
| is\_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 data types. See also: 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``
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 [0x00]?``
- 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``@n
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
Field number for the "type" field.
* datatype of the field in a row
Gets whether the "type" field is set
Clears the value of the "type" field
Field number for the "name" field.
* name of the column
Gets whether the "name" field is set
Clears the value of the "name" field
Field number for the "original_name" field.
* name of the column before an alias was applied
Gets whether the "original_name" field is set
Clears the value of the "original_name" field
Field number for the "table" field.
* name of the table the column originates from
Gets whether the "table" field is set
Clears the value of the "table" field
Field number for the "original_table" field.
* name of the table the column originates from before an alias was applied
Gets whether the "original_table" field is set
Clears the value of the "original_table" field
Field number for the "schema" field.
* schema the column originates from
Gets whether the "schema" field is set
Clears the value of the "schema" field
Field number for the "catalog" field.
* catalog the schema originates from
@note
As there is currently 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
Gets whether the "catalog" field is set
Clears the value of the "catalog" field
Field number for the "collation" field.
Gets whether the "collation" field is set
Clears the value of the "collation" field
Field number for the "fractional_digits" field.
* displayed factional decimal digits for floating point and
fixed point numbers
Gets whether the "fractional_digits" field is set
Clears the value of the "fractional_digits" field
Field number for the "length" field.
* maximum count of displayable characters of .type
Gets whether the "length" field is set
Clears the value of the "length" field
Field number for the "flags" field.
* ``.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
Gets whether the "flags" field is set
Clears the value of the "flags" field
Field number for the "content_type" field.
* 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 a 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 data types that rely on BLOB storage like image
manipulation, seeking into complex types in BLOBs, and
more types will be added
Gets whether the "content_type" field is set
Clears the value of 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.
Value of each field is encoded as sequence of bytes using
encoding appropriate for the type of the value given by
``ColumnMetadata``, as specified in the @ref 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 process.
@returns @ref Mysqlx::Session::AuthenticateContinue
Field number for the "mech_name" field.
* authentication mechanism name
Gets whether the "mech_name" field is set
Clears the value of the "mech_name" field
Field number for the "auth_data" field.
* authentication data
Gets whether the "auth_data" field is set
Clears the value of the "auth_data" field
Field number for the "initial_response" field.
* initial response
Gets whether the "initial_response" field is set
Clears the value of the "initial_response" field
*
Send by client or server after an @ref Mysqlx::Session::AuthenticateStart
to exchange more authentication data.
@returns Mysqlx::Session::AuthenticateContinue
Field number for the "auth_data" field.
* authentication data
Gets whether the "auth_data" field is set
Clears the value of the "auth_data" field
*
Sent by the server after successful authentication.
Field number for the "auth_data" field.
* authentication data
Gets whether the "auth_data" field is set
Clears the value of the "auth_data" field
*
Reset the current session.
@returns @ref Mysqlx::Ok
Field number for the "keep_open" field.
* if is true the session will be reset, but stays authenticated; otherwise,
the session will be closed and needs to be authenticated again
Gets whether the "keep_open" field is set
Clears the value of the "keep_open" field
*
Close the current session.
@returns @ref Mysqlx::Ok
Holder for reflection information generated from mysqlx_sql.proto
File descriptor for mysqlx_sql.proto
Execute a statement in the given namespace.
@startuml "Execute Statements"
client -> server: StmtExecute
... zero or more Resultsets ...
server --> client: StmtExecuteOk
@enduml
@notice 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.
@returns zero or more @ref Mysqlx::Resultset followed by @ref Mysqlx::Sql::StmtExecuteOk
Field number for the "namespace" field.
* namespace of the statement to be executed
Gets whether the "namespace" field is set
Clears the value of the "namespace" field
Field number for the "stmt" field.
* statement that shall be executed
Gets whether the "stmt" field is set
Clears the value of the "stmt" field
Field number for the "args" field.
* values for wildcard replacements
Field number for the "compact_metadata" field.
* send only type information for @ref Mysqlx::Resultset::ColumnMetaData,
skipping names and others
Gets whether the "compact_metadata" field is set
Clears the value of the "compact_metadata" field
*
Statement executed successfully