diff --git a/FormCompareTools/FormCompareTools.sln b/FormCompareTools/FormCompareTools.sln new file mode 100644 index 0000000..b2de601 --- /dev/null +++ b/FormCompareTools/FormCompareTools.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.9.34723.18 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormCompareTool", "FormCompareTools\FormCompareTool.csproj", "{4F190146-1762-464F-B27C-B849E908346D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4F190146-1762-464F-B27C-B849E908346D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4F190146-1762-464F-B27C-B849E908346D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4F190146-1762-464F-B27C-B849E908346D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4F190146-1762-464F-B27C-B849E908346D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {8F26CE78-19C2-40AA-B6EA-255F66DA6090} + EndGlobalSection +EndGlobal diff --git a/FormCompareTools/FormCompareTools/App.config b/FormCompareTools/FormCompareTools/App.config new file mode 100644 index 0000000..4b9b712 --- /dev/null +++ b/FormCompareTools/FormCompareTools/App.config @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FormCompareTools/FormCompareTools/FormCompareTool.csproj b/FormCompareTools/FormCompareTools/FormCompareTool.csproj new file mode 100644 index 0000000..ca716bd --- /dev/null +++ b/FormCompareTools/FormCompareTools/FormCompareTool.csproj @@ -0,0 +1,166 @@ + + + + + Debug + AnyCPU + {4F190146-1762-464F-B27C-B849E908346D} + Exe + FormCompareTools + FormCompareTools + v4.7.2 + 512 + true + true + + + preview + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\ClosedXML.0.102.2\lib\netstandard2.0\ClosedXML.dll + + + ..\packages\Dapper.2.1.35\lib\net461\Dapper.dll + + + ..\packages\DocumentFormat.OpenXml.2.16.0\lib\net46\DocumentFormat.OpenXml.dll + + + ..\packages\ExcelNumberFormat.1.1.0\lib\net20\ExcelNumberFormat.dll + + + ..\packages\Irony.NetCore.1.0.11\lib\net461\Irony.dll + + + ..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + + ..\bin\8.3.0\MySql.Data.dll + + + ..\packages\SixLabors.Fonts.1.0.0\lib\netstandard2.0\SixLabors.Fonts.dll + + + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + + + + ..\packages\System.IO.4.3.0\lib\net462\System.IO.dll + True + True + + + ..\packages\System.IO.Packaging.6.0.0\lib\net461\System.IO.Packaging.dll + + + ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + ..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll + True + True + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll + True + True + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll + True + True + + + ..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll + True + True + + + ..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll + True + True + + + ..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll + True + True + + + ..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll + + + ..\packages\System.Text.Json.8.0.4\lib\net462\System.Text.Json.dll + + + ..\packages\System.Text.RegularExpressions.4.3.1\lib\net463\System.Text.RegularExpressions.dll + True + True + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll + + + + + + + + + ..\packages\XLParser.1.5.2\lib\net461\XLParser.dll + + + + + + + + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + + \ No newline at end of file diff --git a/FormCompareTools/FormCompareTools/FormParameters.cs b/FormCompareTools/FormCompareTools/FormParameters.cs new file mode 100644 index 0000000..4ad01be --- /dev/null +++ b/FormCompareTools/FormCompareTools/FormParameters.cs @@ -0,0 +1,11 @@ +using System.Collections.Generic; + +namespace FormCompareTools +{ + internal class FormParameters + { + public string FormName { get; set; } + public string MainTableName { get; set; } + public Dictionary Columns { get; set; } + } +} diff --git a/FormCompareTools/FormCompareTools/InputParameters.cs b/FormCompareTools/FormCompareTools/InputParameters.cs new file mode 100644 index 0000000..f03d089 --- /dev/null +++ b/FormCompareTools/FormCompareTools/InputParameters.cs @@ -0,0 +1,16 @@ +namespace FormCompareTools +{ + internal class InputParameters + { + public string ExcelTemplate { get; set; } + public string ExcelOutput { get; set; } + public string PrimarySsn { get; set; } + public string FormName { get; set; } + public string TestName { get; set; } + public string LinesColumn { get; set; } = "A"; + public string DatabaseColumn { get; set; } = "E"; + public int FirstRow { get; set; } + public int LastRow { get; set; } + public string PrimarySsnCell { get; set; } = "C1"; + } +} diff --git a/FormCompareTools/FormCompareTools/Program.cs b/FormCompareTools/FormCompareTools/Program.cs new file mode 100644 index 0000000..41cece7 --- /dev/null +++ b/FormCompareTools/FormCompareTools/Program.cs @@ -0,0 +1,172 @@ +using ClosedXML.Excel; +using Dapper; +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.IO; +using System.Text.Json; + +namespace FormCompareTools +{ + internal class Program + { + static string GetParametersFile(string[] args) + { + if (args.Length == 0) + { + return null; + } + var inputParametersJson = args[0]; + if (File.Exists(inputParametersJson)) + { + return inputParametersJson; + } + + string appDirectory = AppDomain.CurrentDomain.BaseDirectory; + if (File.Exists(Path.Combine(appDirectory, inputParametersJson))) + { + return inputParametersJson; + } + return null; + } + + static string GetFormParametersFile(string[] args) + { + if (args.Length < 2) + { + return null; + } + + var inputParametersJson = args[1]; + if (File.Exists(inputParametersJson)) + { + return inputParametersJson; + } + + string appDirectory = AppDomain.CurrentDomain.BaseDirectory; + if (File.Exists(Path.Combine(appDirectory, inputParametersJson))) + { + return inputParametersJson; + } + return null; + } + + static void Main(string[] args){ + var inputParametersJson = GetParametersFile(args); + var inputFormParametersJson = GetFormParametersFile(args); + + if (string.IsNullOrWhiteSpace(inputParametersJson) || string.IsNullOrWhiteSpace(inputFormParametersJson)) + { + Console.WriteLine("Use FormCompareTool test_parameters.json form_parameters.json"); + return; + } + + InputParameters inputParameters; + using (var fs = File.OpenRead(inputParametersJson)) + { + inputParameters = JsonSerializer.Deserialize(fs); + } + + FormParameters formParameters; + using (var fs = File.OpenRead(inputFormParametersJson)) + { + formParameters = JsonSerializer.Deserialize(fs); + } + + var sheetName = $"{inputParameters.FormName}_{inputParameters.TestName}"; + + var wb = new XLWorkbook(inputParameters.ExcelTemplate); + + if (wb.TryGetWorksheet(sheetName, out var worksheet)) + { + var lines = formParameters.Columns; + var databaseFields = new List(); + for (int i = inputParameters.FirstRow; i <= inputParameters.LastRow; i++) + { + var lineCell = $"{inputParameters.LinesColumn}{i}"; + string lineNumber = GetCellValue(worksheet, lineCell); + + if (lines.TryGetValue(lineNumber, out var lineDatabaseField)) + { + databaseFields.Add(lineDatabaseField); + } + } + + (var dbResult, var dt) = ReadFromDatabase(inputParameters.PrimarySsn, inputParameters.FormName, databaseFields, formParameters); + if (dbResult) + { + for (int i = inputParameters.FirstRow; i <= inputParameters.LastRow; i++) + { + var databaseValueCell = $"{inputParameters.DatabaseColumn}{i}"; + var lineCell = $"{inputParameters.LinesColumn}{i}"; + var lineNumber = GetCellValue(worksheet, lineCell); + + if (lines.TryGetValue(lineNumber, out var lineDatabaseField)) + { + var rawValue = dt.Rows[0][lineDatabaseField]; + if (int.TryParse(rawValue.ToString(), out var intValue)) + { + worksheet.Cell(databaseValueCell).Value = intValue; + } + else if (decimal.TryParse(rawValue.ToString(), out var decimalValue)) + { + worksheet.Cell(databaseValueCell).Value = decimalValue; + } + else + { + worksheet.Cell(databaseValueCell).Value = rawValue.ToString(); + } + } + } + + worksheet.Cell(inputParameters.PrimarySsnCell).Value = inputParameters.PrimarySsn; + var uniqueKey = DateTime.Now.ToString("MMddhhmm"); + var excelOutputFileName = string.Format(inputParameters.ExcelOutput, uniqueKey); + wb.SaveAs(excelOutputFileName); + Console.WriteLine($"Saved to {excelOutputFileName}"); + } + } + if (Environment.UserInteractive) + { + Console.WriteLine($"Press any key to exit..."); + Console.ReadLine(); + } + } + + private static string GetCellValue(IXLWorksheet worksheet, string lineCell) + { + var lineNumber = string.Empty; + if (worksheet.Cell(lineCell).Value.IsText) + { + lineNumber = worksheet.Cell(lineCell).Value.GetText(); + } + else if (worksheet.Cell(lineCell).Value.IsNumber) + { + lineNumber = $"{worksheet.Cell(lineCell).Value.GetNumber()}"; + } + + return $"line_{lineNumber}"; + } + + static (bool result, DataTable table) ReadFromDatabase(string primaryssn, string formName, List fieldNames, FormParameters formParameters) + { + var database = ConfigurationManager.AppSettings["database"]; + var connectionString = ConfigurationManager.ConnectionStrings[database].ConnectionString; + + var sql = $"SELECT {string.Join(",", fieldNames)} FROM {formParameters.MainTableName} WHERE primaryssn='{primaryssn}' LIMIT 1"; + + using (var conn = new MySql.Data.MySqlClient.MySqlConnection(connectionString)) + { + var reader = conn.ExecuteReader(sql); + var dt = new DataTable(); + foreach(var field in fieldNames) + { + dt.Columns.Add(field, typeof(string)); + } + dt.Load(reader); + return (dt.Rows.Count > 0, dt); + } + } + } +} \ No newline at end of file diff --git a/FormCompareTools/FormCompareTools/Properties/AssemblyInfo.cs b/FormCompareTools/FormCompareTools/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..60ab980 --- /dev/null +++ b/FormCompareTools/FormCompareTools/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("FormCompareTools")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("HP Inc.")] +[assembly: AssemblyProduct("FormCompareTools")] +[assembly: AssemblyCopyright("Copyright © HP Inc. 2024")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("4f190146-1762-464f-b27c-b849e908346d")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/FormCompareTools/FormCompareTools/nm_forms.xlsx b/FormCompareTools/FormCompareTools/nm_forms.xlsx new file mode 100644 index 0000000..162067e Binary files /dev/null and b/FormCompareTools/FormCompareTools/nm_forms.xlsx differ diff --git a/FormCompareTools/FormCompareTools/nm_pit_1.json b/FormCompareTools/FormCompareTools/nm_pit_1.json new file mode 100644 index 0000000..502334b --- /dev/null +++ b/FormCompareTools/FormCompareTools/nm_pit_1.json @@ -0,0 +1,8 @@ +{ + "FormName": "nm_pit_1", + "MainTableName": "nm_frm_pit_1", + "Columns": { + "line_1": "number_of_fed_exemptions", + "line_2": "fed_deduction_amt" + } +} diff --git a/FormCompareTools/FormCompareTools/nm_pit_1_test_1.json b/FormCompareTools/FormCompareTools/nm_pit_1_test_1.json new file mode 100644 index 0000000..ec14cab --- /dev/null +++ b/FormCompareTools/FormCompareTools/nm_pit_1_test_1.json @@ -0,0 +1,12 @@ +{ + "ExcelTemplate": "nm_forms.xlsx", + "ExcelOutput": "C:\\temp\\nm_forms_{0}.xlsx", + "PrimarySsn": "226966190", + "FormName": "nm_pit_1", + "TestName": "test_1", + "LinesColumn": "A", + "DatabaseColumn": "E", + "FirstRow": 4, + "LastRow": 8, + "PrimarySsnCell": "C1" +} \ No newline at end of file diff --git a/FormCompareTools/FormCompareTools/packages.config b/FormCompareTools/FormCompareTools/packages.config new file mode 100644 index 0000000..cfd840f --- /dev/null +++ b/FormCompareTools/FormCompareTools/packages.config @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FormCompareTools/bin/8.3.0/MySql.Data.dll b/FormCompareTools/bin/8.3.0/MySql.Data.dll new file mode 100644 index 0000000..91386c2 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Data.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Data.xml b/FormCompareTools/bin/8.3.0/MySql.Data.xml new file mode 100644 index 0000000..a4b2746 --- /dev/null +++ b/FormCompareTools/bin/8.3.0/MySql.Data.xml @@ -0,0 +1,18611 @@ + + + + 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. + + + + Method that parse the challenge received from server during authentication process. + This method extracts salt and relying party name. + + Buffer holding the server challenge. + Thrown if an error occurs while parsing the challenge. + + + + Sets the ClientDataHash for the assertion + + + + + Method to obtains an assertion from a FIDO device. + + The assertion. + Thrown if an error occurs while getting the assertion. + + + + 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 + + + + + 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 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 WebAuthn authentication makes a request to perform the 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. + The cancellation token. + 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 + . + + + + + 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 Fido callback. + + + + + Gets or sets the event for the WebauthN 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. + + + + + 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. + + + + + Gets the length size (in bytes) of a string. + + length of string. + Number of bytes needed. + + + + 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 at the index provided. + + The index of the assertion statement to retrieve + The assertion statement object + The index is not in the range [0, count) + + + + Gets the number of assertions contained in the authentication device. + + The number of assertions contained in the authentication device. + + + + 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 + + + + Determines whether this device supports CTAP 2.1 Credential Management. + + + + + 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 if supports CTAP 2.1 Credential Management. + + The device to check. + if supports CTAP 2.1 Credential Management; otherwise, . + + + + 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. + + + + Returns the length of the client data hash of an assertion. + + The assertion object to act on. + The length of the client data hash of statement idx of the assertion. + + + + Returns a pointer to the client data hash of an assertion. + + The assertion object to act on. + A pointer to the client data hash of the assertion. + + + + Returns the number of statements in assertion. + + The assertion object to act on. + The number of statements in assertion. + + + + 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 certificate from PEM file. + + + + + 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 Challenge received is corrupt.. + + + + + Looks up a localized string similar to An event handler for FidoActionRequested was not specified.. + + + + + Looks up a localized string similar to FIDO registration is missing.. + + + + + 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 An event handler for WebAuthnActionRequested was not specified.. + + + + + Looks up a localized string similar to The timeout of 15 seconds for user interaction with FIDO device has been exceeded.. + + + + + 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. + + + + + ZStandard stream used for decompressing data. + + + + + Main constructor used to set the compression algorithm and initialize the list of messages to + be compressed by the client. + + The compression algorithm to use. + Flag indicating if the initialization is for compression or decompression. + + + + Gets or sets the list of messages that should be compressed by the client when compression is enabled. + + + + + Gets or sets the compression algorithm. + + + + + Flag indicating if compression is enabled. + + + + + Flag indicating if the last decompressed message contains multiple messages. + + + + + General method used to compress data using the compression algorithm defined in the constructor. + + The data to compress. + A compressed byte array. + + + + Compresses data using the deflate_stream algorithm. + + The data to compress. + A compressed byte array. + + + + Compresses data using the lz4_message algorithm. + + The data to compress. + A compressed byte array. + + + + Compresses data using the zstd_stream algorithm. + + The data to compress. + A compressed byte array. + + + + General method used to decompress data using the compression algorithm defined in the constructor. + + The data to decompress. + The expected length of the decompressed data. + A decompressed byte array. + + + + Decompresses data using the deflate_stream compression algorithm. + + The data to decompress. + The expected length of the decompressed data. + A decompressed byte array. + + + + Decompresses data using the lz4_message compression algorithm. + + The data to decompress. + The expected length of the decompressed data. + A decompressed byte array. + + + + Decompresses data using the zstd_stream compression algorithm. + + The data to decompress. + The expected length of the decompressed data. + A decompressed byte array. + + + + Closes and disposes of any open streams. + + + + + Gets the byte array representing the next X Protocol frame that is stored in cache. + + A byte array representing an X Protocol frame. + + + + Gets a representing the next X Protocol frame that is stored in cache. + + A with the next X Protocol frame. + + + + 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 + + + + diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/Microsoft.Bcl.AsyncInterfaces.dll b/FormCompareTools/bin/8.3.0/MySql.Web/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000..abe9406 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/Microsoft.Bcl.AsyncInterfaces.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/Microsoft.Web.Infrastructure.dll b/FormCompareTools/bin/8.3.0/MySql.Web/Microsoft.Web.Infrastructure.dll new file mode 100644 index 0000000..85f1138 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/Microsoft.Web.Infrastructure.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/MySql.Data.dll b/FormCompareTools/bin/8.3.0/MySql.Web/MySql.Data.dll new file mode 100644 index 0000000..66177cc Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/MySql.Data.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/MySql.Web.dll b/FormCompareTools/bin/8.3.0/MySql.Web/MySql.Web.dll new file mode 100644 index 0000000..02b79fe Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/MySql.Web.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/System.Buffers.dll b/FormCompareTools/bin/8.3.0/MySql.Web/System.Buffers.dll new file mode 100644 index 0000000..f2d83c5 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/System.Buffers.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/System.Configuration.ConfigurationManager.dll b/FormCompareTools/bin/8.3.0/MySql.Web/System.Configuration.ConfigurationManager.dll new file mode 100644 index 0000000..58530a4 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/System.Configuration.ConfigurationManager.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/System.Diagnostics.DiagnosticSource.dll b/FormCompareTools/bin/8.3.0/MySql.Web/System.Diagnostics.DiagnosticSource.dll new file mode 100644 index 0000000..1786b54 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/System.Diagnostics.DiagnosticSource.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/System.IO.Pipelines.dll b/FormCompareTools/bin/8.3.0/MySql.Web/System.IO.Pipelines.dll new file mode 100644 index 0000000..c534b2c Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/System.IO.Pipelines.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/System.Memory.dll b/FormCompareTools/bin/8.3.0/MySql.Web/System.Memory.dll new file mode 100644 index 0000000..4617199 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/System.Memory.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/System.Numerics.Vectors.dll b/FormCompareTools/bin/8.3.0/MySql.Web/System.Numerics.Vectors.dll new file mode 100644 index 0000000..0865972 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/System.Numerics.Vectors.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/System.Runtime.CompilerServices.Unsafe.dll b/FormCompareTools/bin/8.3.0/MySql.Web/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000..c5ba4e4 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/System.Threading.Tasks.Extensions.dll b/FormCompareTools/bin/8.3.0/MySql.Web/System.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000..eeec928 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/System.Threading.Tasks.Extensions.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.Helpers.dll b/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.Helpers.dll new file mode 100644 index 0000000..0da21c0 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.Helpers.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.Razor.dll b/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.Razor.dll new file mode 100644 index 0000000..7fa1f69 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.Razor.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.WebPages.Deployment.dll b/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.WebPages.Deployment.dll new file mode 100644 index 0000000..1242f74 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.WebPages.Deployment.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.WebPages.Razor.dll b/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.WebPages.Razor.dll new file mode 100644 index 0000000..ab12ee8 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.WebPages.Razor.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.WebPages.dll b/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.WebPages.dll new file mode 100644 index 0000000..2468ea6 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/System.Web.WebPages.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/WebMatrix.Data.dll b/FormCompareTools/bin/8.3.0/MySql.Web/WebMatrix.Data.dll new file mode 100644 index 0000000..ee3c168 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/WebMatrix.Data.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/WebMatrix.WebData.dll b/FormCompareTools/bin/8.3.0/MySql.Web/WebMatrix.WebData.dll new file mode 100644 index 0000000..2a83350 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/WebMatrix.WebData.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/ZstdSharp.dll b/FormCompareTools/bin/8.3.0/MySql.Web/ZstdSharp.dll new file mode 100644 index 0000000..931b84a Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/ZstdSharp.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/comerr64.dll b/FormCompareTools/bin/8.3.0/MySql.Web/comerr64.dll new file mode 100644 index 0000000..0a48cb5 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/comerr64.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/gssapi64.dll b/FormCompareTools/bin/8.3.0/MySql.Web/gssapi64.dll new file mode 100644 index 0000000..1628e38 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/gssapi64.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/k5sprt64.dll b/FormCompareTools/bin/8.3.0/MySql.Web/k5sprt64.dll new file mode 100644 index 0000000..9237ce9 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/k5sprt64.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/krb5_64.dll b/FormCompareTools/bin/8.3.0/MySql.Web/krb5_64.dll new file mode 100644 index 0000000..582f680 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/krb5_64.dll differ diff --git a/FormCompareTools/bin/8.3.0/MySql.Web/krbcc64.dll b/FormCompareTools/bin/8.3.0/MySql.Web/krbcc64.dll new file mode 100644 index 0000000..ba5a519 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/MySql.Web/krbcc64.dll differ diff --git a/FormCompareTools/bin/8.3.0/SmsSender.exe.config b/FormCompareTools/bin/8.3.0/SmsSender.exe.config new file mode 100644 index 0000000..b319077 --- /dev/null +++ b/FormCompareTools/bin/8.3.0/SmsSender.exe.config @@ -0,0 +1,356 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FormCompareTools/bin/8.3.0/System.Buffers.dll b/FormCompareTools/bin/8.3.0/System.Buffers.dll new file mode 100644 index 0000000..f2d83c5 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/System.Buffers.dll differ diff --git a/FormCompareTools/bin/8.3.0/System.Runtime.CompilerServices.Unsafe.dll b/FormCompareTools/bin/8.3.0/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000..c5ba4e4 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/FormCompareTools/bin/8.3.0/System.Threading.Tasks.Extensions.dll b/FormCompareTools/bin/8.3.0/System.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000..eeec928 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/System.Threading.Tasks.Extensions.dll differ diff --git a/FormCompareTools/bin/8.3.0/comerr64.dll b/FormCompareTools/bin/8.3.0/comerr64.dll new file mode 100644 index 0000000..0a48cb5 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/comerr64.dll differ diff --git a/FormCompareTools/bin/8.3.0/gssapi64.dll b/FormCompareTools/bin/8.3.0/gssapi64.dll new file mode 100644 index 0000000..1628e38 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/gssapi64.dll differ diff --git a/FormCompareTools/bin/8.3.0/k5sprt64.dll b/FormCompareTools/bin/8.3.0/k5sprt64.dll new file mode 100644 index 0000000..9237ce9 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/k5sprt64.dll differ diff --git a/FormCompareTools/bin/8.3.0/krb5_64.dll b/FormCompareTools/bin/8.3.0/krb5_64.dll new file mode 100644 index 0000000..582f680 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/krb5_64.dll differ diff --git a/FormCompareTools/bin/8.3.0/krbcc64.dll b/FormCompareTools/bin/8.3.0/krbcc64.dll new file mode 100644 index 0000000..ba5a519 Binary files /dev/null and b/FormCompareTools/bin/8.3.0/krbcc64.dll differ diff --git a/FormCompareTools/bin/mysql.data.dll b/FormCompareTools/bin/mysql.data.dll new file mode 100644 index 0000000..216dbe3 Binary files /dev/null and b/FormCompareTools/bin/mysql.data.dll differ