diff --git a/Unity-Files/Assets/Examples/Defender/Defender.unity b/Unity-Files/Assets/Examples/Defender/Defender.unity index 62ab0ef..524744e 100644 --- a/Unity-Files/Assets/Examples/Defender/Defender.unity +++ b/Unity-Files/Assets/Examples/Defender/Defender.unity @@ -545,6 +545,7 @@ MonoBehaviour: typeOfControl: 0 speed: 8 constraintRotationAmount: 0.37 + spin: 0 --- !u!50 &267901560 Rigidbody2D: serializedVersion: 4 @@ -582,6 +583,10 @@ MonoBehaviour: typeOfControl: 1 speed: 1.5 constrainedDistance: 6 + movement: {x: 0, y: 0} + moveHorizontal: 0 + initalPositionX: 0 + constraintOffsetXPosition: 0 --- !u!1 &288784317 GameObject: m_ObjectHideFlags: 0 @@ -873,9 +878,9 @@ RectTransform: m_Father: {fileID: 873720541} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 500, y: -166.07999} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 1000, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &328545999 @@ -1169,6 +1174,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 60592eec3660fca4f981ef3e48ceb03a, type: 3} m_Name: m_EditorClassIdentifier: + time: 0 --- !u!1 &565676024 GameObject: m_ObjectHideFlags: 0 @@ -1218,6 +1224,8 @@ MonoBehaviour: shootSpeed: 5 shootDirection: {x: 0, y: 1} relativeToRotation: 1 + timeOfLastSpawn: 0 + playerNumber: 0 --- !u!1 &605827951 GameObject: m_ObjectHideFlags: 0 @@ -1276,7 +1284,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_Font: {fileID: 12800000, guid: 2fb810d2f9fc27b4eb7693fd3f9f158c, type: 3} m_FontSize: 100 m_FontStyle: 0 m_BestFit: 1 @@ -1513,7 +1521,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_Font: {fileID: 12800000, guid: 2fb810d2f9fc27b4eb7693fd3f9f158c, type: 3} m_FontSize: 100 m_FontStyle: 2 m_BestFit: 1 @@ -1671,9 +1679,9 @@ RectTransform: m_Father: {fileID: 873720541} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 500, y: -241.07999} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 1000, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &839555745 @@ -1722,7 +1730,7 @@ MonoBehaviour: m_ContentType: 9 m_InputType: 0 m_AsteriskChar: 42 - m_KeyboardType: 6 + m_KeyboardType: 0 m_LineType: 0 m_HideMobileInput: 0 m_CharacterValidation: 4 @@ -1766,7 +1774,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &873720541 RectTransform: m_ObjectHideFlags: 0 @@ -2004,6 +2012,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: health: 3 + ui: {fileID: 0} + maxHealth: 0 + playerNumber: 0 --- !u!4 &990867870 Transform: m_ObjectHideFlags: 0 @@ -2031,6 +2042,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: droppedItemAmount: 3 + pasties: [] --- !u!1 &1011785959 GameObject: m_ObjectHideFlags: 0 @@ -2078,6 +2090,7 @@ MonoBehaviour: prefabToSpawn: {fileID: 105984, guid: 8177d22e11d634712aa2c506186fc6bc, type: 3} ItemOne: {fileID: 0} spawnInterval: 2 + boxCollider2D: {fileID: 0} --- !u!61 &1011785962 BoxCollider2D: m_ObjectHideFlags: 0 @@ -2172,6 +2185,7 @@ GameObject: - component: {fileID: 1059183747} - component: {fileID: 1059183749} - component: {fileID: 1059183748} + - component: {fileID: 1059183750} m_Layer: 5 m_Name: LeaderboardPanel m_TagString: Untagged @@ -2239,6 +2253,18 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1059183746} m_CullTransparentMesh: 1 +--- !u!114 &1059183750 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1059183746} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 57c66944257aaea43a0675130f87a21b, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &1061207721 GameObject: m_ObjectHideFlags: 0 @@ -2507,9 +2533,9 @@ RectTransform: m_Father: {fileID: 873720541} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 500, y: -91.07999} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 1000, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!95 &1083330063 @@ -2933,9 +2959,9 @@ RectTransform: m_Father: {fileID: 873720541} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 500, y: -316.08} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 1000, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1714273385 @@ -3527,6 +3553,9 @@ MonoBehaviour: inventory: {fileID: 224000013484281887} resourceItemPrefab: {fileID: 1000010562469388, guid: ec870ed13dd68446abb3fc5534317068, type: 3} + scores: 0000000000000000 + playersHealth: 0000000000000000 + gameOver: 0 --- !u!114 &1880477763 MonoBehaviour: m_ObjectHideFlags: 0 @@ -4398,9 +4427,9 @@ RectTransform: m_Father: {fileID: 873720541} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 500, y: -384.49} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 300, y: 86.82} m_Pivot: {x: 0.5, y: 0.5} --- !u!95 &2086538274 diff --git a/Unity-Files/Assets/NuGet.config b/Unity-Files/Assets/NuGet.config new file mode 100644 index 0000000..ca70369 --- /dev/null +++ b/Unity-Files/Assets/NuGet.config @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Unity-Files/Assets/NuGet.config.meta b/Unity-Files/Assets/NuGet.config.meta new file mode 100644 index 0000000..af3acf6 --- /dev/null +++ b/Unity-Files/Assets/NuGet.config.meta @@ -0,0 +1,32 @@ +fileFormatVersion: 2 +guid: ebaff7f6681919e46946b909f4bf8750 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/NuGet.meta b/Unity-Files/Assets/NuGet.meta new file mode 100644 index 0000000..260915e --- /dev/null +++ b/Unity-Files/Assets/NuGet.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 217cb7caed5f7fb49b339428b1d80974 +folderAsset: yes +timeCreated: 1510280316 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/NuGet/Editor.meta b/Unity-Files/Assets/NuGet/Editor.meta new file mode 100644 index 0000000..3b6fd6b --- /dev/null +++ b/Unity-Files/Assets/NuGet/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b3fad56c531ac5a4db190a745f589a8e +folderAsset: yes +timeCreated: 1510280304 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/NuGet/Editor/NugetForUnity.dll b/Unity-Files/Assets/NuGet/Editor/NugetForUnity.dll new file mode 100644 index 0000000..fca29ae --- /dev/null +++ b/Unity-Files/Assets/NuGet/Editor/NugetForUnity.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fd84d857284cbd4a2208768f3ed186eeaa03868c9247b53a4eed0fea8bcf977 +size 95232 diff --git a/Unity-Files/Assets/NuGet/Editor/NugetForUnity.dll.meta b/Unity-Files/Assets/NuGet/Editor/NugetForUnity.dll.meta new file mode 100644 index 0000000..833aac7 --- /dev/null +++ b/Unity-Files/Assets/NuGet/Editor/NugetForUnity.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 8dc1be91775c4bb469f6b74cef450eaa +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/NuGet/LICENSE b/Unity-Files/Assets/NuGet/LICENSE new file mode 100644 index 0000000..e5e7210 --- /dev/null +++ b/Unity-Files/Assets/NuGet/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Patrick McCarthy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Unity-Files/Assets/NuGet/LICENSE.meta b/Unity-Files/Assets/NuGet/LICENSE.meta new file mode 100644 index 0000000..9de0ac8 --- /dev/null +++ b/Unity-Files/Assets/NuGet/LICENSE.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1d9014b99ad06af428514a5902d29ff3 +timeCreated: 1573248500 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/NuGet/README.pdf b/Unity-Files/Assets/NuGet/README.pdf new file mode 100644 index 0000000..d9035a5 --- /dev/null +++ b/Unity-Files/Assets/NuGet/README.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddeae90440270610a7c46a0f9d257a9d214e4bd802eba31b7d436a328b535aa2 +size 246595 diff --git a/Unity-Files/Assets/NuGet/README.pdf.meta b/Unity-Files/Assets/NuGet/README.pdf.meta new file mode 100644 index 0000000..e95001a --- /dev/null +++ b/Unity-Files/Assets/NuGet/README.pdf.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 83c5d2001771f15429a88d67e81366d6 +timeCreated: 1517876157 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/NuGet/Resources.meta b/Unity-Files/Assets/NuGet/Resources.meta new file mode 100644 index 0000000..49a5e3b --- /dev/null +++ b/Unity-Files/Assets/NuGet/Resources.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1738075a39a390447b7a620ca6962142 +folderAsset: yes +timeCreated: 1510280362 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/NuGet/Resources/defaultIcon.png b/Unity-Files/Assets/NuGet/Resources/defaultIcon.png new file mode 100644 index 0000000..0f66614 --- /dev/null +++ b/Unity-Files/Assets/NuGet/Resources/defaultIcon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8377f973abb6f54a6f8b2b281401720b5754141e47050f539b9a4ea88df017a +size 4415 diff --git a/Unity-Files/Assets/NuGet/Resources/defaultIcon.png.meta b/Unity-Files/Assets/NuGet/Resources/defaultIcon.png.meta new file mode 100644 index 0000000..d23111a --- /dev/null +++ b/Unity-Files/Assets/NuGet/Resources/defaultIcon.png.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: eec19781926cd2248b7c9abfde8db555 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 215e43cda847e6d44af8b40376eeed8a + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages.meta b/Unity-Files/Assets/Packages.meta new file mode 100644 index 0000000..3b8b77b --- /dev/null +++ b/Unity-Files/Assets/Packages.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 69a15e269e05c7044b5e530d13721f82 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/BouncyCastle.1.8.5.meta b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5.meta new file mode 100644 index 0000000..314595b --- /dev/null +++ b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e9fa6f80b4ce0d545882bcb69841ffdd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/.signature.p7s b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/.signature.p7s new file mode 100644 index 0000000..378adca Binary files /dev/null and b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/.signature.p7s differ diff --git a/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/BouncyCastle.1.8.5.nupkg b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/BouncyCastle.1.8.5.nupkg new file mode 100644 index 0000000..f6d7c2a Binary files /dev/null and b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/BouncyCastle.1.8.5.nupkg differ diff --git a/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/BouncyCastle.1.8.5.nupkg.meta b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/BouncyCastle.1.8.5.nupkg.meta new file mode 100644 index 0000000..b346dbc --- /dev/null +++ b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/BouncyCastle.1.8.5.nupkg.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b419b372303f6b04c86b210e2f01c997 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/README.md b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/README.md new file mode 100644 index 0000000..270d9cc --- /dev/null +++ b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/README.md @@ -0,0 +1,30 @@ +# The Bouncy Castle Crypto Package For C Sharp + +The Bouncy Castle Crypto package is a C\# implementation of cryptographic algorithms and protocols, it was developed by the Legion of the Bouncy Castle, a registered Australian Charity, with a little help! The Legion, and the latest goings on with this package, can be found at [http://www.bouncycastle.org](http://www.bouncycastle.org). In addition to providing basic cryptography algorithms, the package also provides support for CMS, TSP, X.509 certificate generation and a variety of other standards such as OpenPGP. + +The Legion also gratefully acknowledges the contributions made to this package by others (see [here](http://www.bouncycastle.org/csharp/contributors.html) for the current list). If you would like to contribute to our efforts please feel free to get in touch with us or visit our [donations page](https://www.bouncycastle.org/donate), sponsor some specific work, or purchase a support contract through [Crypto Workshop](http://www.cryptoworkshop.com). + +Except where otherwise stated, this software is distributed under a license based on the MIT X Consortium license. To view the license, [see here](http://www.bouncycastle.org/licence.html). The OpenPGP library also includes a modified BZIP2 library which is licensed under the [Apache Software License, Version 2.0](http://www.apache.org/licenses/). + +**Note**: this source tree is not the FIPS version of the APIs - if you are interested in our FIPS version please contact us directly at [office@bouncycastle.org](mailto:office@bouncycastle.org). + +## Mailing Lists + +For those who are interested, there are 2 mailing lists for participation in this project. To subscribe use the links below and include the word subscribe in the message body. (To unsubscribe, replace **subscribe** with **unsubscribe** in the message body) + +* [announce-crypto-csharp-request@bouncycastle.org](mailto:announce-crypto-csharp-request@bouncycastle.org) + This mailing list is for new release announcements only, general subscribers cannot post to it. +* [dev-crypto-csharp-request@bouncycastle.org](mailto:dev-crypto-csharp-request@bouncycastle.org) + This mailing list is for discussion of development of the package. This includes bugs, comments, requests for enhancements, questions about use or operation. + +**NOTE:**You need to be subscribed to send mail to the above mailing list. + +## Feedback + +If you want to provide feedback directly to the members of **The Legion** then please use [feedback-crypto@bouncycastle.org](mailto:feedback-crypto@bouncycastle.org), if you want to help this project survive please consider [donating](https://www.bouncycastle.org/donate). + +For bug reporting/requests you can report issues here on github, via feedback-crypto if required, and we also have a [Jira issue tracker](http://www.bouncycastle.org/jira). We will accept pull requests based on this repository as well. + +## Finally + +Enjoy! diff --git a/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/README.md.meta b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/README.md.meta new file mode 100644 index 0000000..a9a36ed --- /dev/null +++ b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7e0b1a6ff9579ad4bbd4765ab8805c5b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/lib.meta b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/lib.meta new file mode 100644 index 0000000..3fa4b45 --- /dev/null +++ b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/lib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f95ebe307b465e140b2d13186fcfe19e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/lib/BouncyCastle.Crypto.dll b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/lib/BouncyCastle.Crypto.dll new file mode 100644 index 0000000..10d70e0 --- /dev/null +++ b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/lib/BouncyCastle.Crypto.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a64531cbda6e442cd3f3e351d73d4086bce009fb979ef90b28f6fa45122f5c8f +size 2531328 diff --git a/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/lib/BouncyCastle.Crypto.dll.meta b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/lib/BouncyCastle.Crypto.dll.meta new file mode 100644 index 0000000..bb75cc7 --- /dev/null +++ b/Unity-Files/Assets/Packages/BouncyCastle.1.8.5/lib/BouncyCastle.Crypto.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: a0d475a30abff164ea88b5e8cd1197cb +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0.meta b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0.meta new file mode 100644 index 0000000..058cb2f --- /dev/null +++ b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be77d0024479e614db4922c14454b72f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/.signature.p7s b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/.signature.p7s new file mode 100644 index 0000000..5d1eced Binary files /dev/null and b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/.signature.p7s differ diff --git a/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/Google.Protobuf.3.14.0.nupkg b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/Google.Protobuf.3.14.0.nupkg new file mode 100644 index 0000000..ef44b88 Binary files /dev/null and b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/Google.Protobuf.3.14.0.nupkg differ diff --git a/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/Google.Protobuf.3.14.0.nupkg.meta b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/Google.Protobuf.3.14.0.nupkg.meta new file mode 100644 index 0000000..22e5d23 --- /dev/null +++ b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/Google.Protobuf.3.14.0.nupkg.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c072f456a45c51945a958ef097b0022c +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib.meta b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib.meta new file mode 100644 index 0000000..f3e4c8d --- /dev/null +++ b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 14793ea70487c7e47916da77349c7584 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45.meta b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45.meta new file mode 100644 index 0000000..387a242 --- /dev/null +++ b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 65d4a67d94423394892289a39bf7e1b9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45/Google.Protobuf.dll b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45/Google.Protobuf.dll new file mode 100644 index 0000000..8b77975 --- /dev/null +++ b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45/Google.Protobuf.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c0622a3418b33a881ed8ce9fd407b3fc4f2b2cc4b923edeaa76785b5cd28f0f +size 389616 diff --git a/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45/Google.Protobuf.dll.meta b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45/Google.Protobuf.dll.meta new file mode 100644 index 0000000..84e27dc --- /dev/null +++ b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45/Google.Protobuf.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 90124a20ce13a8c4ca4fe67bf50d88cb +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45/Google.Protobuf.xml b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45/Google.Protobuf.xml new file mode 100644 index 0000000..99298c4 --- /dev/null +++ b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45/Google.Protobuf.xml @@ -0,0 +1,10042 @@ + + + + Google.Protobuf + + + + + Provides a utility routine to copy small arrays much more quickly than Buffer.BlockCopy + + + + + The threshold above which you should use Buffer.BlockCopy rather than ByteArray.Copy + + + + + Determines which copy routine to use based on the number of bytes to be copied. + + + + + Reverses the order of bytes in the array + + + + + Immutable array of bytes. + + + + + Unsafe operations that can cause IO Failure and/or other catastrophic side-effects. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Internal use only. Ensure that the provided array is not mutated and belongs to this instance. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Returns an empty ByteString. + + + + + Returns the length of this ByteString in bytes. + + + + + Returns true if this byte string is empty, false otherwise. + + + + + Provides read-only access to the data of this . + No data is copied so this is the most efficient way of accessing. + + + + + Provides read-only access to the data of this . + No data is copied so this is the most efficient way of accessing. + + + + + Converts this into a byte array. + + The data is copied - changes to the returned array will not be reflected in this ByteString. + A byte array with the same data as this ByteString. + + + + Converts this into a standard base64 representation. + + A base64 representation of this ByteString. + + + + Constructs a from the Base64 Encoded String. + + + + + Constructs a from data in the given stream, synchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + A ByteString with content read from the given stream. + + + + Constructs a from data in the given stream, asynchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + The cancellation token to use when reading from the stream, if any. + A ByteString with content read from the given stream. + + + + Constructs a from the given array. The contents + are copied, so further modifications to the array will not + be reflected in the returned ByteString. + This method can also be invoked in ByteString.CopyFrom(0xaa, 0xbb, ...) form + which is primarily useful for testing. + + + + + Constructs a from a portion of a byte array. + + + + + Constructs a from a read only span. The contents + are copied, so further modifications to the span will not + be reflected in the returned . + + + + + Creates a new by encoding the specified text with + the given encoding. + + + + + Creates a new by encoding the specified text in UTF-8. + + + + + Returns the byte at the given index. + + + + + Converts this into a string by applying the given encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with the given encoding. + + The encoding to use to decode the binary data into text. + The result of decoding the binary data with the given decoding. + + + + Converts this into a string by applying the UTF-8 encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with UTF-8. + + The result of decoding the binary data with the given decoding. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Creates a CodedInputStream from this ByteString's data. + + + + + Compares two byte strings for equality. + + The first byte string to compare. + The second byte string to compare. + true if the byte strings are equal; false otherwise. + + + + Compares two byte strings for inequality. + + The first byte string to compare. + The second byte string to compare. + false if the byte strings are equal; true otherwise. + + + + Compares this byte string with another object. + + The object to compare this with. + true if refers to an equal ; false otherwise. + + + + Returns a hash code for this object. Two equal byte strings + will return the same hash code. + + A hash code for this object. + + + + Compares this byte string with another. + + The to compare this with. + true if refers to an equal byte string; false otherwise. + + + + Used internally by CodedOutputStream to avoid creating a copy for the write + + + + + Copies the entire byte array to the destination array provided at the offset specified. + + + + + Writes the entire byte array to the provided stream + + + + + Reads and decodes protocol message fields. + + + + This class is generally used by generated code to read appropriate + primitives from the stream. It effectively encapsulates the lowest + levels of protocol buffer format. + + + Repeated fields and map fields are not handled by this class; use + and to serialize such fields. + + + + + + Whether to leave the underlying stream open when disposing of this stream. + This is always true when there's no stream. + + + + + Buffer of data read from the stream or provided at construction time. + + + + + The stream to read further input from, or null if the byte array buffer was provided + directly on construction, with no further data available. + + + + + The parser state is kept separately so that other parse implementations can reuse the same + parsing primitives. + + + + + Creates a new CodedInputStream reading data from the given byte array. + + + + + Creates a new that reads from the given byte array slice. + + + + + Creates a new reading data from the given stream, which will be disposed + when the returned object is disposed. + + The stream to read from. + + + + Creates a new reading data from the given stream. + + The stream to read from. + true to leave open when the returned + is disposed; false to dispose of the given stream when the + returned object is disposed. + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the default limits. + + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the specified limits. + + + This chains to the version with the default limits instead of vice versa to avoid + having to check that the default values are valid every time. + + + + + Creates a with the specified size and recursion limits, reading + from an input stream. + + + This method exists separately from the constructor to reduce the number of constructor overloads. + It is likely to be used considerably less frequently than the constructors, as the default limits + are suitable for most use cases. + + The input stream to read from + The total limit of data to read from the stream. + The maximum recursion depth to allow while reading. + A CodedInputStream reading from with the specified size + and recursion limits. + + + + Returns the current position in the input stream, or the position in the input buffer + + + + + Returns the last tag read, or 0 if no tags have been read or we've read beyond + the end of the stream. + + + + + Returns the size limit for this stream. + + + This limit is applied when reading from the underlying stream, as a sanity check. It is + not applied when reading from a byte array data source without an underlying stream. + The default value is Int32.MaxValue. + + + The size limit. + + + + + Returns the recursion limit for this stream. This limit is applied whilst reading messages, + to avoid maliciously-recursive data. + + + The default limit is 100. + + + The recursion limit for this stream. + + + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + + + + Disposes of this instance, potentially closing any underlying stream. + + + As there is no flushing to perform here, disposing of a which + was constructed with the leaveOpen option parameter set to true (or one which + was constructed to read from a byte array) has no effect. + + + + + Verifies that the last call to ReadTag() returned tag 0 - in other words, + we've reached the end of the stream when we expected to. + + The + tag read was not the one specified + + + + Peeks at the next field tag. This is like calling , but the + tag is not consumed. (So a subsequent call to will return the + same value.) + + + + + Reads a field tag, returning the tag of 0 for "end of stream". + + + If this method returns 0, it doesn't necessarily mean the end of all + the data in this CodedInputStream; it may be the end of the logical stream + for an embedded message, for example. + + The next field tag, or 0 for end of stream. (0 is never a valid tag.) + + + + Skips the data for the field with the tag we've just read. + This should be called directly after , when + the caller wishes to skip an unknown field. + + + This method throws if the last-read tag was an end-group tag. + If a caller wishes to skip a group, they should skip the whole group, by calling this method after reading the + start-group tag. This behavior allows callers to call this method on any field they don't understand, correctly + resulting in an error if an end-group tag has not been paired with an earlier start-group tag. + + The last tag was an end-group tag + The last read operation read to the end of the logical stream + + + + Skip a group. + + + + + Reads a double field from the stream. + + + + + Reads a float field from the stream. + + + + + Reads a uint64 field from the stream. + + + + + Reads an int64 field from the stream. + + + + + Reads an int32 field from the stream. + + + + + Reads a fixed64 field from the stream. + + + + + Reads a fixed32 field from the stream. + + + + + Reads a bool field from the stream. + + + + + Reads a string field from the stream. + + + + + Reads an embedded message field value from the stream. + + + + + Reads an embedded group field from the stream. + + + + + Reads a bytes field value from the stream. + + + + + Reads a uint32 field value from the stream. + + + + + Reads an enum field value from the stream. + + + + + Reads an sfixed32 field value from the stream. + + + + + Reads an sfixed64 field value from the stream. + + + + + Reads an sint32 field value from the stream. + + + + + Reads an sint64 field value from the stream. + + + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + + + + + Peeks at the next tag in the stream. If it matches , + the tag is consumed and the method returns true; otherwise, the + stream is left in the original position and the method returns false. + + + + + Reads a raw Varint from the stream. If larger than 32 bits, discard the upper bits. + This method is optimised for the case where we've got lots of data in the buffer. + That means we can check the size just once, then just read directly from the buffer + without constant rechecking of the buffer length. + + + + + Reads a varint from the input one byte at a time, so that it does not + read any bytes after the end of the varint. If you simply wrapped the + stream in a CodedInputStream and used ReadRawVarint32(Stream) + then you would probably end up reading past the end of the varint since + CodedInputStream buffers its input. + + + + + + + Reads a raw varint from the stream. + + + + + Reads a 32-bit little-endian integer from the stream. + + + + + Reads a 64-bit little-endian integer from the stream. + + + + + Sets currentLimit to (current position) + byteLimit. This is called + when descending into a length-delimited embedded message. The previous + limit is returned. + + The old limit. + + + + Discards the current limit, returning the previous limit. + + + + + Returns whether or not all the data before the limit has been read. + + + + + + Returns true if the stream has reached the end of the input. This is the + case if either the end of the underlying input source has been reached or + the stream has reached a limit created using PushLimit. + + + + + Called when buffer is empty to read more bytes from the + input. If is true, RefillBuffer() guarantees that + either there will be at least one byte in the buffer when it returns + or it will throw an exception. If is false, + RefillBuffer() returns false if no more bytes were available. + + + + + + + Reads a fixed size of bytes from the input. + + + the end of the stream or the current limit was reached + + + + + Reads a top-level message or a nested message after the limits for this message have been pushed. + (parser will proceed until the end of the current limit) + NOTE: this method needs to be public because it's invoked by the generated code - e.g. msg.MergeFrom(CodedInputStream input) method + + + + + Encodes and writes protocol message fields. + + + + This class is generally used by generated code to write appropriate + primitives to the stream. It effectively encapsulates the lowest + levels of protocol buffer format. Unlike some other implementations, + this does not include combined "write tag and value" methods. Generated + code knows the exact byte representations of the tags they're going to write, + so there's no need to re-encode them each time. Manually-written code calling + this class should just call one of the WriteTag overloads before each value. + + + Repeated fields and map fields are not handled by this class; use RepeatedField<T> + and MapField<TKey, TValue> to serialize such fields. + + + + + + Computes the number of bytes that would be needed to encode a + double field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + float field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bool field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + string field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + group field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + embedded message field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bytes field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + enum field, including the tag. The caller is responsible for + converting the enum value to its numeric value. + + + + + Computes the number of bytes that would be needed to encode an + sfixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sfixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a length, + as written by . + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a tag. + + + + + The buffer size used by CreateInstance(Stream). + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array slice. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new which write to the given stream, and disposes of that + stream when the returned CodedOutputStream is disposed. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + The size of buffer to use internally. + + + + Creates a new CodedOutputStream which write to the given stream. + + The stream to write to. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. + The size of buffer to use internally. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Returns the current position in the stream, or the position in the output buffer + + + + + Writes a double field value, without a tag, to the stream. + + The value to write + + + + Writes a float field value, without a tag, to the stream. + + The value to write + + + + Writes a uint64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int32 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed64 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed32 field value, without a tag, to the stream. + + The value to write + + + + Writes a bool field value, without a tag, to the stream. + + The value to write + + + + Writes a string field value, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a message, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a message, without a tag, to the stream. + Only the message data is written, without a length-delimiter. + + The value to write + + + + Writes a group, without a tag, to the stream. + + The value to write + + + + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a uint32 value, without a tag, to the stream. + + The value to write + + + + Writes an enum value, without a tag, to the stream. + + The value to write + + + + Writes an sfixed32 value, without a tag, to the stream. + + The value to write. + + + + Writes an sfixed64 value, without a tag, to the stream. + + The value to write + + + + Writes an sint32 value, without a tag, to the stream. + + The value to write + + + + Writes an sint64 value, without a tag, to the stream. + + The value to write + + + + Writes a length (in bytes) for length-delimited data. + + + This method simply writes a rawint, but exists for clarity in calling code. + + Length value, in bytes. + + + + Encodes and writes a tag. + + The number of the field to write the tag for + The wire format type of the tag to write + + + + Writes an already-encoded tag. + + The encoded tag + + + + Writes the given single-byte tag directly to the stream. + + The encoded tag + + + + Writes the given two-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + + + + Writes the given three-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + + + + Writes the given four-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + + + + Writes the given five-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + The fifth byte of the encoded tag + + + + Writes a 32 bit value as a varint. The fast route is taken when + there's enough buffer space left to whizz through without checking + for each byte; otherwise, we resort to calling WriteRawByte each time. + + + + + Writes out an array of bytes. + + + + + Writes out part of an array of bytes. + + + + + Indicates that a CodedOutputStream wrapping a flat byte array + ran out of space. + + + + + Flushes any buffered data and optionally closes the underlying stream, if any. + + + + By default, any underlying stream is closed by this method. To configure this behaviour, + use a constructor overload with a leaveOpen parameter. If this instance does not + have an underlying stream, this method does nothing. + + + For the sake of efficiency, calling this method does not prevent future write calls - but + if a later write ends up writing to a stream which has been disposed, that is likely to + fail. It is recommend that you not call any other methods after this. + + + + + + Flushes any buffered data to the underlying stream (if there is one). + + + + + Verifies that SpaceLeft returns zero. It's common to create a byte array + that is exactly big enough to hold a message, then write to it with + a CodedOutputStream. Calling CheckNoSpaceLeft after writing verifies that + the message was actually as big as expected, which can help finding bugs. + + + + + If writing to a flat array, returns the space left in the array. Otherwise, + throws an InvalidOperationException. + + + + + Utility to compare if two Lists are the same, and the hash code + of a List. + + + + + Checks if two lists are equal. + + + + + Gets the list's hash code. + + + + + Representation of a map field in a Protocol Buffer message. + + Key type in the map. Must be a type supported by Protocol Buffer map keys. + Value type in the map. Must be a type supported by Protocol Buffers. + + + For string keys, the equality comparison is provided by . + + + Null values are not permitted in the map, either for wrapper types or regular messages. + If a map is deserialized from a data stream and the value is missing from an entry, a default value + is created instead. For primitive types, that is the regular default value (0, the empty string and so + on); for message types, an empty instance of the message is created, as if the map entry contained a 0-length + encoded value for the field. + + + This implementation does not generally prohibit the use of key/value types which are not + supported by Protocol Buffers (e.g. using a key type of byte) but nor does it guarantee + that all operations will work in such cases. + + + The order in which entries are returned when iterating over this object is undefined, and may change + in future versions. + + + + + + Creates a deep clone of this object. + + + A deep clone of this object. + + + + + Adds the specified key/value pair to the map. + + + This operation fails if the key already exists in the map. To replace an existing entry, use the indexer. + + The key to add + The value to add. + The given key already exists in map. + + + + Determines whether the specified key is present in the map. + + The key to check. + true if the map contains the given key; false otherwise. + + + + Removes the entry identified by the given key from the map. + + The key indicating the entry to remove from the map. + true if the map contained the given key before the entry was removed; false otherwise. + + + + Gets the value associated with the specified key. + + The key whose value to get. + When this method returns, the value associated with the specified key, if the key is found; + otherwise, the default value for the type of the parameter. + This parameter is passed uninitialized. + true if the map contains an element with the specified key; otherwise, false. + + + + Gets or sets the value associated with the specified key. + + The key of the value to get or set. + The property is retrieved and key does not exist in the collection. + The value associated with the specified key. If the specified key is not found, + a get operation throws a , and a set operation creates a new element with the specified key. + + + + Gets a collection containing the keys in the map. + + + + + Gets a collection containing the values in the map. + + + + + Adds the specified entries to the map. The keys and values are not automatically cloned. + + The entries to add to the map. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Adds the specified item to the map. + + The item to add to the map. + + + + Removes all items from the map. + + + + + Determines whether map contains an entry equivalent to the given key/value pair. + + The key/value pair to find. + + + + + Copies the key/value pairs in this map to an array. + + The array to copy the entries into. + The index of the array at which to start copying values. + + + + Removes the specified key/value pair from the map. + + Both the key and the value must be found for the entry to be removed. + The key/value pair to remove. + true if the key/value pair was found and removed; false otherwise. + + + + Gets the number of elements contained in the map. + + + + + Gets a value indicating whether the map is read-only. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this map with another for equality. + + + The order of the key/value pairs in the maps is not deemed significant in this comparison. + + The map to compare this with. + true if refers to an equal map; false otherwise. + + + + Adds entries to the map from the given stream. + + + It is assumed that the stream is initially positioned after the tag specified by the codec. + This method will continue reading entries from the stream until the end is reached, or + a different tag is encountered. + + Stream to read from + Codec describing how the key/value pairs are encoded + + + + Adds entries to the map from the given parse context. + + + It is assumed that the input is initially positioned after the tag specified by the codec. + This method will continue reading entries from the input until the end is reached, or + a different tag is encountered. + + Input to read from + Codec describing how the key/value pairs are encoded + + + + Writes the contents of this map to the given coded output stream, using the specified codec + to encode each entry. + + The output stream to write to. + The codec to use for each entry. + + + + Writes the contents of this map to the given write context, using the specified codec + to encode each entry. + + The write context to write to. + The codec to use for each entry. + + + + Calculates the size of this map based on the given entry codec. + + The codec to use to encode each entry. + + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + A codec for a specific map field. This contains all the information required to encode and + decode the nested messages. + + + + + Creates a new entry codec based on a separate key codec and value codec, + and the tag to use for each map entry. + + The key codec. + The value codec. + The map tag to use to introduce each map entry. + + + + The tag used in the enclosing message to indicate map entries. + + + + + A mutable message class, used for parsing and serializing. This + delegates the work to a codec, but implements the interface + for interop with and . + This is nested inside Codec as it's tightly coupled to the associated codec, + and it's simpler if it has direct access to all its fields. + + + + + Provides a central place to implement equality comparisons, primarily for bitwise float/double equality. + + + + + Returns an equality comparer for suitable for Protobuf equality comparisons. + This is usually just the default equality comparer for the type, but floating point numbers are compared + bitwise. + + The type of equality comparer to return. + The equality comparer. + + + + Returns an equality comparer suitable for comparing 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Read-only wrapper around another dictionary. + + + + + The contents of a repeated field: essentially, a collection with some extra + restrictions (no null values) and capabilities (deep cloning). + + + This implementation does not generally prohibit the use of types which are not + supported by Protocol Buffers but nor does it guarantee that all operations will work in such cases. + + The element type of the repeated field. + + + + Creates a deep clone of this repeated field. + + + If the field type is + a message type, each element is also cloned; otherwise, it is + assumed that the field type is primitive (including string and + bytes, both of which are immutable) and so a simple copy is + equivalent to a deep clone. + + A deep clone of this repeated field. + + + + Adds the entries from the given input stream, decoding them with the specified codec. + + The input stream to read from. + The codec to use in order to read each entry. + + + + Adds the entries from the given parse context, decoding them with the specified codec. + + The input to read from. + The codec to use in order to read each entry. + + + + Calculates the size of this collection based on the given codec. + + The codec to use when encoding each field. + The number of bytes that would be written to an output by one of the WriteTo methods, + using the same codec. + + + + Writes the contents of this collection to the given , + encoding each value using the specified codec. + + The output stream to write to. + The codec to use when encoding each value. + + + + Writes the contents of this collection to the given write context, + encoding each value using the specified codec. + + The write context to write to. + The codec to use when encoding each value. + + + + Gets and sets the capacity of the RepeatedField's internal array. WHen set, the internal array is reallocated to the given capacity. + The new value is less than Count -or- when Count is less than 0. + + + + + Adds the specified item to the collection. + + The item to add. + + + + Removes all items from the collection. + + + + + Determines whether this collection contains the given item. + + The item to find. + true if this collection contains the given item; false otherwise. + + + + Copies this collection to the given array. + + The array to copy to. + The first index of the array to copy to. + + + + Removes the specified item from the collection + + The item to remove. + true if the item was found and removed; false otherwise. + + + + Gets the number of elements contained in the collection. + + + + + Gets a value indicating whether the collection is read-only. + + + + + Adds all of the specified values into this collection. + + The values to add to this collection. + + + + Adds all of the specified values into this collection. This method is present to + allow repeated fields to be constructed from queries within collection initializers. + Within non-collection-initializer code, consider using the equivalent + method instead for clarity. + + The values to add to this collection. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this repeated field with another for equality. + + The repeated field to compare this with. + true if refers to an equal repeated field; false otherwise. + + + + Returns the index of the given item within the collection, or -1 if the item is not + present. + + The item to find in the collection. + The zero-based index of the item, or -1 if it is not found. + + + + Inserts the given item at the specified index. + + The index at which to insert the item. + The item to insert. + + + + Removes the item at the given index. + + The zero-based index of the item to remove. + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + Gets or sets the item at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + The item at the specified index. + + + + Extension methods for , effectively providing + the familiar members from previous desktop framework versions while + targeting the newer releases, .NET Core etc. + + + + + Returns the public getter of a property, or null if there is no such getter + (either because it's read-only, or the getter isn't public). + + + + + Returns the public setter of a property, or null if there is no such setter + (either because it's write-only, or the setter isn't public). + + + + + Provides extension methods on Type that just proxy to TypeInfo. + These are used to support the new type system from .NET 4.5, without + having calls to GetTypeInfo all over the place. While the methods here are meant to be + broadly compatible with the desktop framework, there are some subtle differences in behaviour - but + they're not expected to affect our use cases. While the class is internal, that should be fine: we can + evaluate each new use appropriately. + + + + + See https://msdn.microsoft.com/en-us/library/system.type.isassignablefrom + + + + + Returns a representation of the public property associated with the given name in the given type, + including inherited properties or null if there is no such public property. + Here, "public property" means a property where either the getter, or the setter, or both, is public. + + + + + Returns a representation of the public method associated with the given name in the given type, + including inherited methods. + + + This has a few differences compared with Type.GetMethod in the desktop framework. It will throw + if there is an ambiguous match even between a private method and a public one, but it *won't* throw + if there are two overloads at different levels in the type hierarchy (e.g. class Base declares public void Foo(int) and + class Child : Base declares public void Foo(long)). + + One type in the hierarchy declared more than one method with the same name + + + + Represents a non-generic extension definition. This API is experimental and subject to change. + + + + + Internal use. Creates a new extension with the specified field number. + + + + + Gets the field number of this extension + + + + + Represents a type-safe extension identifier used for getting and setting single extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The field value type of this extension + + + + Creates a new extension identifier with the specified field number and codec + + + + + Represents a type-safe extension identifier used for getting repeated extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The repeated field value type of this extension + + + + Creates a new repeated extension identifier with the specified field number and codec + + + + + Provides extensions to messages while parsing. This API is experimental and subject to change. + + + + + Creates a new empty extension registry + + + + + Gets the total number of extensions in this extension registry + + + + + Returns whether the registry is readonly + + + + + Adds the specified extension to the registry + + + + + Adds the specified extensions to the registry + + + + + Clears the registry of all values + + + + + Gets whether the extension registry contains the specified extension + + + + + Copies the arrays in the registry set to the specified array at the specified index + + The array to copy to + The array index to start at + + + + Returns an enumerator to enumerate through the items in the registry + + Returns an enumerator for the extensions in this registry + + + + Removes the specified extension from the set + + The extension + true if the extension was removed, otherwise false + + + + Clones the registry into a new registry + + + + + Methods for managing s with null checking. + + Most users will not use this class directly and its API is experimental and subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if it doesn't exist in this set + + + + + Gets the value of the specified repeated extension, registering it if it doesn't exist + + + + + Sets the value of the specified extension. This will make a new instance of ExtensionSet if the set is null. + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified extension + + + + + Tries to merge a field from the coded input, returning true if the field was merged. + If the set is null or the field was not otherwise merged, this returns false. + + + + + Tries to merge a field from the coded input, returning true if the field was merged. + If the set is null or the field was not otherwise merged, this returns false. + + + + + Merges the second set into the first set, creating a new instance if first is null + + + + + Clones the set into a new set. If the set is null, this returns null + + + + + Used for keeping track of extensions in messages. + methods route to this set. + + Most users will not need to use this class directly + + The message type that extensions in this set target + + + + Gets a hash code of the set + + + + + Returns whether this set is equal to the other object + + + + + Calculates the size of this extension set + + + + + Writes the extension values in this set to the output stream + + + + + Writes the extension values in this set to the write context + + + + + Factory methods for . + + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + A codec for the given tag. + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a message field with the given tag. + + The tag. + A parser to use for the message type. + A codec for the given tag. + + + + Retrieves a codec suitable for a group field with the given tag. + + The start group tag. + The end group tag. + A parser to use for the group message type. + A codec for given tag + + + + Creates a codec for a wrapper type of a class - which must be string or ByteString. + + + + + Creates a codec for a wrapper type of a struct - which must be Int32, Int64, UInt32, UInt64, + Bool, Single or Double. + + + + + Helper code to create codecs for wrapper types. + + + Somewhat ugly with all the static methods, but the conversions involved to/from nullable types make it + slightly tricky to improve. So long as we keep the public API (ForClassWrapper, ForStructWrapper) in place, + we can refactor later if we come up with something cleaner. + + + + + Returns a field codec which effectively wraps a value of type T in a message. + + + + + + + An encode/decode pair for a single field. This effectively encapsulates + all the information needed to read or write the field value from/to a coded + stream. + + + This class is public and has to be as it is used by generated code, but its public + API is very limited - just what the generated code needs to call directly. + + + + This never writes default values to the stream, and does not address "packedness" + in repeated fields itself, other than to know whether or not the field *should* be packed. + + + + + Merges an input stream into a value + + + + + Merges a value into a reference to another value, returning a boolean if the value was set + + + + + Returns a delegate to write a value (unconditionally) to a coded output stream. + + + + + Returns the size calculator for just a value. + + + + + Returns a delegate to read a value from a coded input stream. It is assumed that + the stream is already positioned on the appropriate tag. + + + + + Returns a delegate to merge a value from a coded input stream. + It is assumed that the stream is already positioned on the appropriate tag + + + + + Returns a delegate to merge two values together. + + + + + Returns the fixed size for an entry, or 0 if sizes vary. + + + + + Gets the tag of the codec. + + + The tag of the codec. + + + + + Gets the end tag of the codec or 0 if there is no end tag + + + The end tag of the codec. + + + + + Default value for this codec. Usually the same for every instance of the same type, but + for string/ByteString wrapper fields the codec's default value is null, whereas for + other string/ByteString fields it's "" or ByteString.Empty. + + + The default value of the codec's type. + + + + + Write a tag and the given value, *if* the value is not the default. + + + + + Write a tag and the given value, *if* the value is not the default. + + + + + Reads a value of the codec type from the given . + + The input stream to read from. + The value read from the stream. + + + + Reads a value of the codec type from the given . + + The parse context to read from. + The value read. + + + + Calculates the size required to write the given value, with a tag, + if the value is not the default. + + + + + A tree representation of a FieldMask. Each leaf node in this tree represent + a field path in the FieldMask. + + For example, FieldMask "foo.bar,foo.baz,bar.baz" as a tree will be: + + [root] -+- foo -+- bar + | | + | +- baz + | + +- bar --- baz + + + By representing FieldMasks with this tree structure we can easily convert + a FieldMask to a canonical form, merge two FieldMasks, calculate the + intersection to two FieldMasks and traverse all fields specified by the + FieldMask in a message tree. + + + + + Creates an empty FieldMaskTree. + + + + + Creates a FieldMaskTree for a given FieldMask. + + + + + Adds a field path to the tree. In a FieldMask, every field path matches the + specified field as well as all its sub-fields. For example, a field path + "foo.bar" matches field "foo.bar" and also "foo.bar.baz", etc. When adding + a field path to the tree, redundant sub-paths will be removed. That is, + after adding "foo.bar" to the tree, "foo.bar.baz" will be removed if it + exists, which will turn the tree node for "foo.bar" to a leaf node. + Likewise, if the field path to add is a sub-path of an existing leaf node, + nothing will be changed in the tree. + + + + + Merges all field paths in a FieldMask into this tree. + + + + + Converts this tree to a FieldMask. + + + + + Gathers all field paths in a sub-tree. + + + + + Adds the intersection of this tree with the given to . + + + + + Merges all fields specified by this FieldMaskTree from to . + + + + + Merges all fields specified by a sub-tree from to . + + + + + Class containing helpful workarounds for various platform compatibility + + + + + Interface for a Protocol Buffers message, supporting + parsing from and writing to . + + + + + Internal implementation of merging data from given parse context into this message. + Users should never invoke this method directly. + + + + + Internal implementation of writing this message to a given write context. + Users should never invoke this method directly. + + + + + A message type that has a custom string format for diagnostic purposes. + + + + Calling on a generated message type normally + returns the JSON representation. If a message type implements this interface, + then the method will be called instead of the regular + JSON formatting code, but only when ToString() is called either on the message itself + or on another message which contains it. This does not affect the normal JSON formatting of + the message. + + + For example, if you create a proto message representing a GUID, the internal + representation may be a bytes field or four fixed32 fields. However, when debugging + it may be more convenient to see a result in the same format as provides. + + This interface extends to avoid it accidentally being implemented + on types other than messages, where it would not be used by anything in the framework. + + + + + Returns a string representation of this object, for diagnostic purposes. + + + This method is called when a message is formatted as part of a + call. It does not affect the JSON representation used by other than + in calls to . While it is recommended + that the result is valid JSON, this is never assumed by the Protobuf library. + + A string representation of this object, for diagnostic purposes. + + + + Generic interface for a deeply cloneable type. + + + + All generated messages implement this interface, but so do some non-message types. + Additionally, due to the type constraint on T in , + it is simpler to keep this as a separate interface. + + + The type itself, returned by the method. + + + + Creates a deep clone of this object. + + A deep clone of this object. + + + + Generic interface for a Protocol Buffers message containing one or more extensions, where the type parameter is expected to be the same type as the implementation class. + This interface is experiemental and is subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if the extension isn't registered in this set. + For a version of this method that never returns null, use + + + + + Gets the value of the specified repeated extension, registering it if it hasn't already been registered. + + + + + Sets the value of the specified extension + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified repeated extension + + + + + Interface for a Protocol Buffers message, supporting + basic operations required for serialization. + + + + + Merges the data from the specified coded input stream with the current message. + + See the user guide for precise merge semantics. + + + + + Writes the data to the given coded output stream. + + Coded output stream to write the data to. Must not be null. + + + + Calculates the size of this message in Protocol Buffer wire format, in bytes. + + The number of bytes required to write this message + to a coded output stream. + + + + Descriptor for this message. All instances are expected to return the same descriptor, + and for generated types this will be an explicitly-implemented member, returning the + same value as the static property declared on the type. + + + + + Generic interface for a Protocol Buffers message, + where the type parameter is expected to be the same type as + the implementation class. + + The message type. + + + + Merges the given message into this one. + + See the user guide for precise merge semantics. + The message to merge with this one. Must not be null. + + + + Thrown when an attempt is made to parse invalid JSON, e.g. using + a non-string property key, or including a redundant comma. Parsing a protocol buffer + message represented in JSON using can throw both this + exception and depending on the situation. This + exception is only thrown for "pure JSON" errors, whereas InvalidProtocolBufferException + is thrown when the JSON may be valid in and of itself, but cannot be parsed as a protocol buffer + message. + + + + + Thrown when a protocol message being parsed is invalid in some way, + e.g. it contains a malformed varint or a negative byte length. + + + + + Creates an exception for an error condition of an invalid tag being encountered. + + + + + Reflection-based converter from messages to JSON. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON formatting working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + The JSON representation of the first 160 characters of Unicode. + Empty strings are replaced by the static constructor. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Formats the specified message as JSON. + + The message to format. + The formatted message. + + + + Formats the specified message as JSON. + + The message to format. + The TextWriter to write the formatted message to. + The formatted message. + + + + Converts a message to JSON for diagnostic purposes with no extra context. + + + + This differs from calling on the default JSON + formatter in its handling of . As no type registry is available + in calls, the normal way of resolving the type of + an Any message cannot be applied. Instead, a JSON property named @value + is included with the base64 data from the property of the message. + + The value returned by this method is only designed to be used for diagnostic + purposes. It may not be parsable by , and may not be parsable + by other Protocol Buffer implementations. + + The message to format for diagnostic purposes. + The diagnostic-only JSON representation of the message + + + + Determines whether or not a field value should be serialized according to the field, + its value in the message, and the settings of this formatter. + + + + + Writes a single value to the given writer as JSON. Only types understood by + Protocol Buffers can be written in this way. This method is only exposed for + advanced use cases; most users should be using + or . + + The writer to write the value to. Must not be null. + The value to write. May be null. + + + + Central interception point for well-known type formatting. Any well-known types which + don't need special handling can fall back to WriteMessage. We avoid assuming that the + values are using the embedded well-known types, in order to allow for dynamic messages + in the future. + + + + + Writes a string (including leading and trailing double quotes) to a builder, escaping as required. + + + Other than surrogate pair handling, this code is mostly taken from src/google/protobuf/util/internal/json_escaping.cc. + + + + + Settings controlling JSON formatting. + + + + + Default settings, as used by + + + + + Whether fields which would otherwise not be included in the formatted data + should be formatted even when the value is not present, or has the default value. + This option only affects fields which don't support "presence" (e.g. + singular non-optional proto3 primitive fields). + + + + + The type registry used to format messages. + + + + + Whether to format enums as ints. Defaults to false. + + + + + Creates a new object with the specified formatting of default values + and an empty type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified formatting of default values + and type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. + + + + Creates a new object with the specified parameters. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. TypeRegistry.Empty will be used if it is null. + true to format the enums as integers; false to format enums as enum names. + + + + Creates a new object with the specified formatting of default values and the current settings. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified type registry and the current settings. + + The to use when formatting messages. + + + + Creates a new object with the specified enums formatting option and the current settings. + + true to format the enums as integers; false to format enums as enum names. + + + + Reflection-based converter from JSON to messages. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON parsing working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Parses and merges the information into the given message. + + The message to merge the JSON information into. + The JSON to parse. + + + + Parses JSON read from and merges the information into the given message. + + The message to merge the JSON information into. + Reader providing the JSON to parse. + + + + Merges the given message using data from the given tokenizer. In most cases, the next + token should be a "start object" token, but wrapper types and nullity can invalidate + that assumption. This is implemented as an LL(1) recursive descent parser over the stream + of tokens provided by the tokenizer. This token stream is assumed to be valid JSON, with the + tokenizer performing that validation - but not every token stream is valid "protobuf JSON". + + + + + Parses into a new message. + + The type of message to create. + The JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + The type of message to create. + Reader providing the JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses into a new message. + + The JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + Reader providing the JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new instance of the message type for the given field. + + + + + Checks that any infinite/NaN values originated from the correct text. + This corrects the lenient whitespace handling of double.Parse/float.Parse, as well as the + way that Mono parses out-of-range values as infinity. + + + + + Settings controlling JSON parsing. + + + + + Default settings, as used by . This has the same default + recursion limit as , and an empty type registry. + + + + + The maximum depth of messages to parse. Note that this limit only applies to parsing + messages, not collections - so a message within a collection within a message only counts as + depth 2, not 3. + + + + + The type registry used to parse messages. + + + + + Whether the parser should ignore unknown fields (true) or throw an exception when + they are encountered (false). + + + + + Creates a new object with the specified recursion limit. + + The maximum depth of messages to parse + + + + Creates a new object with the specified recursion limit and type registry. + + The maximum depth of messages to parse + The type registry used to parse messages + + + + Creates a new object set to either ignore unknown fields, or throw an exception + when unknown fields are encountered. + + true if unknown fields should be ignored when parsing; false to throw an exception. + + + + Creates a new object based on this one, but with the specified recursion limit. + + The new recursion limit. + + + + Creates a new object based on this one, but with the specified type registry. + + The new type registry. Must not be null. + + + + Simple but strict JSON tokenizer, rigidly following RFC 7159. + + + + This tokenizer is stateful, and only returns "useful" tokens - names, values etc. + It does not create tokens for the separator between names and values, or for the comma + between values. It validates the token stream as it goes - so callers can assume that the + tokens it produces are appropriate. For example, it would never produce "start object, end array." + + Implementation details: the base class handles single token push-back and + Not thread-safe. + + + + + Creates a tokenizer that reads from the given text reader. + + + + + Creates a tokenizer that first replays the given list of tokens, then continues reading + from another tokenizer. Note that if the returned tokenizer is "pushed back", that does not push back + on the continuation tokenizer, or vice versa. Care should be taken when using this method - it was + created for the sake of Any parsing. + + + + + Returns the depth of the stack, purely in objects (not collections). + Informally, this is the number of remaining unclosed '{' characters we have. + + + + + Returns the next JSON token in the stream. An EndDocument token is returned to indicate the end of the stream, + after which point Next() should not be called again. + + This implementation provides single-token buffering, and calls if there is no buffered token. + The next token in the stream. This is never null. + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Returns the next JSON token in the stream, when requested by the base class. (The method delegates + to this if it doesn't have a buffered token.) + + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Skips the value we're about to read. This must only be called immediately after reading a property name. + If the value is an object or an array, the complete object/array is skipped. + + + + + Tokenizer which first exhausts a list of tokens, then consults another tokenizer. + + + + + Tokenizer which does all the *real* work of parsing JSON. + + + + + This method essentially just loops through characters skipping whitespace, validating and + changing state (e.g. from ObjectBeforeColon to ObjectAfterColon) + until it reaches something which will be a genuine token (e.g. a start object, or a value) at which point + it returns the token. Although the method is large, it would be relatively hard to break down further... most + of it is the large switch statement, which sometimes returns and sometimes doesn't. + + + + + Reads a string token. It is assumed that the opening " has already been read. + + + + + Reads an escaped character. It is assumed that the leading backslash has already been read. + + + + + Reads an escaped Unicode 4-nybble hex sequence. It is assumed that the leading \u has already been read. + + + + + Consumes a text-only literal, throwing an exception if the read text doesn't match it. + It is assumed that the first letter of the literal has already been read. + + + + + Validates that we're in a valid state to read a value (using the given error prefix if necessary) + and changes the state to the appropriate one, e.g. ObjectAfterColon to ObjectAfterProperty. + + + + + Pops the top-most container, and sets the state to the appropriate one for the end of a value + in the parent container. + + + + + Possible states of the tokenizer. + + + This is a flags enum purely so we can simply and efficiently represent a set of valid states + for checking. + + Each is documented with an example, + where ^ represents the current position within the text stream. The examples all use string values, + but could be any value, including nested objects/arrays. + The complete state of the tokenizer also includes a stack to indicate the contexts (arrays/objects). + Any additional notional state of "AfterValue" indicates that a value has been completed, at which + point there's an immediate transition to ExpectedEndOfDocument, ObjectAfterProperty or ArrayAfterValue. + + + These states were derived manually by reading RFC 7159 carefully. + + + + + + ^ { "foo": "bar" } + Before the value in a document. Next states: ObjectStart, ArrayStart, "AfterValue" + + + + + { "foo": "bar" } ^ + After the value in a document. Next states: ReaderExhausted + + + + + { "foo": "bar" } ^ (and already read to the end of the reader) + Terminal state. + + + + + { ^ "foo": "bar" } + Before the *first* property in an object. + Next states: + "AfterValue" (empty object) + ObjectBeforeColon (read a name) + + + + + { "foo" ^ : "bar", "x": "y" } + Next state: ObjectAfterColon + + + + + { "foo" : ^ "bar", "x": "y" } + Before any property other than the first in an object. + (Equivalently: after any property in an object) + Next states: + "AfterValue" (value is simple) + ObjectStart (value is object) + ArrayStart (value is array) + + + + + { "foo" : "bar" ^ , "x" : "y" } + At the end of a property, so expecting either a comma or end-of-object + Next states: ObjectAfterComma or "AfterValue" + + + + + { "foo":"bar", ^ "x":"y" } + Read the comma after the previous property, so expecting another property. + This is like ObjectStart, but closing brace isn't valid here + Next state: ObjectBeforeColon. + + + + + [ ^ "foo", "bar" ] + Before the *first* value in an array. + Next states: + "AfterValue" (read a value) + "AfterValue" (end of array; will pop stack) + + + + + [ "foo" ^ , "bar" ] + After any value in an array, so expecting either a comma or end-of-array + Next states: ArrayAfterComma or "AfterValue" + + + + + [ "foo", ^ "bar" ] + After a comma in an array, so there *must* be another value (simple or complex). + Next states: "AfterValue" (simple value), StartObject, StartArray + + + + + Wrapper around a text reader allowing small amounts of buffering and location handling. + + + + + The buffered next character, if we have one. + + + + + Returns the next character in the stream, or null if we have reached the end. + + + + + + Creates a new exception appropriate for the current state of the reader. + + + + + Stream implementation which proxies another stream, only allowing a certain amount + of data to be read. Note that this is only used to read delimited streams, so it + doesn't attempt to implement everything. + + + + + Extension methods on and . + + + + + Merges data from the given byte array into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given byte array slice into an existing message. + + The message to merge the data into. + The data containing the slice to merge, which must be protobuf-encoded binary data. + The offset of the slice to merge. + The length of the slice to merge. + + + + Merges data from the given byte string into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given stream into an existing message. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Merges length-delimited data from the given stream into an existing message. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Converts the given message into a byte array in protobuf encoding. + + The message to convert. + The message data as a byte array. + + + + Writes the given message data to the given stream in protobuf encoding. + + The message to write to the stream. + The stream to write to. + + + + Writes the length and then data of the given message to a stream. + + The message to write. + The output stream to write to. + + + + Converts the given message into a byte string in protobuf encoding. + + The message to convert. + The message data as a byte string. + + + + Writes the given message data to the given buffer writer in protobuf encoding. + + The message to write to the stream. + The stream to write to. + + + + Writes the given message data to the given span in protobuf encoding. + The size of the destination span needs to fit the serialized size + of the message exactly, otherwise an exception is thrown. + + The message to write to the stream. + The span to write to. Size must match size of the message exactly. + + + + Checks if all required fields in a message have values set. For proto3 messages, this returns true + + + + + A general message parser, typically used by reflection-based code as all the methods + return simple . + + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given sequence. + + The data to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + A parser for a specific message type. + + +

+ This delegates most behavior to the + implementation within the original type, but + provides convenient overloads to parse from a variety of sources. +

+

+ Most applications will never need to create their own instances of this type; + instead, use the static Parser property of a generated message type to obtain a + parser for that type. +

+
+ The type of message to be parsed. +
+ + + Creates a new parser. + + + The factory method is effectively an optimization over using a generic constraint + to require a parameterless constructor: delegates are significantly faster to execute. + + Function to invoke when a new, empty message is required. + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given sequence. + + The data to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + Struct used to hold the keys for the fieldByNumber table in DescriptorPool and the keys for the + extensionByNumber table in ExtensionRegistry. + + + + + An opaque struct that represents the current parsing state and is passed along + as the parsing proceeds. + All the public methods are intended to be invoked only by the generated code, + users should never invoke them directly. + + + + + Creates a ParseContext instance from CodedInputStream. + WARNING: internally this copies the CodedInputStream's state, so after done with the ParseContext, + the CodedInputStream's state needs to be updated. + + + + + Returns the last tag read, or 0 if no tags have been read or we've read beyond + the end of the input. + + + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + + + + Reads a field tag, returning the tag of 0 for "end of input". + + + If this method returns 0, it doesn't necessarily mean the end of all + the data in this CodedInputReader; it may be the end of the logical input + for an embedded message, for example. + + The next field tag, or 0 for end of input. (0 is never a valid tag.) + + + + Reads a double field from the input. + + + + + Reads a float field from the input. + + + + + Reads a uint64 field from the input. + + + + + Reads an int64 field from the input. + + + + + Reads an int32 field from the input. + + + + + Reads a fixed64 field from the input. + + + + + Reads a fixed32 field from the input. + + + + + Reads a bool field from the input. + + + + + Reads a string field from the input. + + + + + Reads an embedded message field value from the input. + + + + + Reads an embedded group field from the input. + + + + + Reads a bytes field value from the input. + + + + + Reads a uint32 field value from the input. + + + + + Reads an enum field value from the input. + + + + + Reads an sfixed32 field value from the input. + + + + + Reads an sfixed64 field value from the input. + + + + + Reads an sint32 field value from the input. + + + + + Reads an sint64 field value from the input. + + + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + + + + + The position within the current buffer (i.e. the next byte to read) + + + + + Size of the current buffer + + + + + If we are currently inside a length-delimited block, this is the number of + bytes in the buffer that are still available once we leave the delimited block. + + + + + The absolute position of the end of the current length-delimited block (including totalBytesRetired) + + + + + The total number of consumed before the start of the current buffer. The + total bytes read up to the current position can be computed as + totalBytesRetired + bufferPos. + + + + + The last tag we read. 0 indicates we've read to the end of the stream + (or haven't read anything yet). + + + + + The next tag, used to store the value read by PeekTag. + + + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + + + + Primitives for parsing protobuf wire format. + + + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + + + + + Parses the next tag. + If the end of logical stream was reached, an invalid tag of 0 is returned. + + + + + Peeks at the next tag in the stream. If it matches , + the tag is consumed and the method returns true; otherwise, the + stream is left in the original position and the method returns false. + + + + + Peeks at the next field tag. This is like calling , but the + tag is not consumed. (So a subsequent call to will return the + same value.) + + + + + Parses a raw varint. + + + + + Parses a raw Varint. If larger than 32 bits, discard the upper bits. + This method is optimised for the case where we've got lots of data in the buffer. + That means we can check the size just once, then just read directly from the buffer + without constant rechecking of the buffer length. + + + + + Parses a 32-bit little-endian integer. + + + + + Parses a 64-bit little-endian integer. + + + + + Parses a double value. + + + + + Parses a float value. + + + + + Reads a fixed size of bytes from the input. + + + the end of the stream or the current limit was reached + + + + + Reads and discards bytes. + + the end of the stream + or the current limit was reached + + + + Reads a string field value from the input. + + + + + Reads a bytes field value from the input. + + + + + Reads a UTF-8 string from the next "length" bytes. + + + the end of the stream or the current limit was reached + + + + + Reads a string assuming that it is spread across multiple spans in a . + + + + + Validates that the specified size doesn't exceed the current limit. If it does then remaining bytes + are skipped and an error is thrown. + + + + + Reads a varint from the input one byte at a time, so that it does not + read any bytes after the end of the varint. If you simply wrapped the + stream in a CodedInputStream and used ReadRawVarint32(Stream) + then you would probably end up reading past the end of the varint since + CodedInputStream buffers its input. + + + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 32 bits to be varint encoded, thus always taking + 5 bytes on the wire.) + + + + + Decode a 64-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Checks whether there is known data available of the specified size remaining to parse. + When parsing from a Stream this can return false because we have no knowledge of the amount + of data remaining in the stream until it is read. + + + + + Checks whether there is known data available of the specified size remaining to parse + in the underlying data source. + When parsing from a Stream this will return false because we have no knowledge of the amount + of data remaining in the stream until it is read. + + + + + Read raw bytes of the specified length into a span. The amount of data available and the current limit should + be checked before calling this method. + + + + + Reading and skipping messages / groups + + + + + Skip a group. + + + + + Verifies that the last call to ReadTag() returned tag 0 - in other words, + we've reached the end of the stream when we expected to. + + The + tag read was not the one specified + + + + Fast parsing primitives for wrapper types + + + + + Helper methods for throwing exceptions when preconditions are not met. + + + This class is used internally and by generated code; it is not particularly + expected to be used from application code, although nothing prevents it + from being used that way. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + This is equivalent to but without the type parameter + constraint. In most cases, the constraint is useful to prevent you from calling CheckNotNull + with a value type - but it gets in the way if either you want to use it with a nullable + value type, or you want to use it with an unconstrained type parameter. + + + + + Container for a set of custom options specified within a message, field etc. + + + + This type is publicly immutable, but internally mutable. It is only populated + by the descriptor parsing code - by the time any user code is able to see an instance, + it will be fully initialized. + + + If an option is requested using the incorrect method, an answer may still be returned: all + of the numeric types are represented internally using 64-bit integers, for example. It is up to + the caller to ensure that they make the appropriate method call for the option they're interested in. + Note that enum options are simply stored as integers, so the value should be fetched using + and then cast appropriately. + + + Repeated options are currently not supported. Asking for a single value of an option + which was actually repeated will return the last value, except for message types where + all the set values are merged together. + + + + + + Retrieves a Boolean value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 32-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 64-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a string value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a bytes value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a message value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + Holder for reflection information generated from google/protobuf/descriptor.proto + + + File descriptor for google/protobuf/descriptor.proto + + + + The protocol compiler can output a FileDescriptorSet containing the .proto + files it parses. + + + + Field number for the "file" field. + + + + Describes a complete .proto file. + + + + Field number for the "name" field. + + + + file name, relative to root of source tree + + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "package" field. + + + + e.g. "foo", "foo.bar", etc. + + + + Gets whether the "package" field is set + + + Clears the value of the "package" field + + + Field number for the "dependency" field. + + + + Names of files imported by this file. + + + + Field number for the "public_dependency" field. + + + + Indexes of the public imported files in the dependency list above. + + + + Field number for the "weak_dependency" field. + + + + Indexes of the weak imported files in the dependency list. + For Google-internal migration only. Do not use. + + + + Field number for the "message_type" field. + + + + All top-level definitions in this file. + + + + Field number for the "enum_type" field. + + + Field number for the "service" field. + + + Field number for the "extension" field. + + + Field number for the "options" field. + + + Field number for the "source_code_info" field. + + + + This field contains optional information about the original source code. + You may safely remove this entire field without harming runtime + functionality of the descriptors -- the information is needed only by + development tools. + + + + Field number for the "syntax" field. + + + + The syntax of the proto file. + The supported values are "proto2" and "proto3". + + + + Gets whether the "syntax" field is set + + + Clears the value of the "syntax" field + + + + Describes a message type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "field" field. + + + Field number for the "extension" field. + + + Field number for the "nested_type" field. + + + Field number for the "enum_type" field. + + + Field number for the "extension_range" field. + + + Field number for the "oneof_decl" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + Field number for the "reserved_name" field. + + + + Reserved field names, which may not be used by fields in the same message. + A given name may only be reserved once. + + + + Container for nested types declared in the DescriptorProto message type. + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "options" field. + + + + Range of reserved tag numbers. Reserved tag numbers may not be used by + fields or extension ranges in the same message. Reserved ranges may + not overlap. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + + Describes a field within a message. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "label" field. + + + Gets whether the "label" field is set + + + Clears the value of the "label" field + + + Field number for the "type" field. + + + + If type_name is set, this need not be set. If both this and type_name + are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + + + + Gets whether the "type" field is set + + + Clears the value of the "type" field + + + Field number for the "type_name" field. + + + + For message and enum types, this is the name of the type. If the name + starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + rules are used to find the type (i.e. first the nested types within this + message are searched, then within the parent, on up to the root + namespace). + + + + Gets whether the "type_name" field is set + + + Clears the value of the "type_name" field + + + Field number for the "extendee" field. + + + + For extensions, this is the name of the type being extended. It is + resolved in the same manner as type_name. + + + + Gets whether the "extendee" field is set + + + Clears the value of the "extendee" field + + + Field number for the "default_value" field. + + + + For numeric types, contains the original text representation of the value. + For booleans, "true" or "false". + For strings, contains the default text contents (not escaped in any way). + For bytes, contains the C escaped value. All bytes >= 128 are escaped. + TODO(kenton): Base-64 encode? + + + + Gets whether the "default_value" field is set + + + Clears the value of the "default_value" field + + + Field number for the "oneof_index" field. + + + + If set, gives the index of a oneof in the containing type's oneof_decl + list. This field is a member of that oneof. + + + + Gets whether the "oneof_index" field is set + + + Clears the value of the "oneof_index" field + + + Field number for the "json_name" field. + + + + JSON name of this field. The value is set by protocol compiler. If the + user has set a "json_name" option on this field, that option's value + will be used. Otherwise, it's deduced from the field's name by converting + it to camelCase. + + + + Gets whether the "json_name" field is set + + + Clears the value of the "json_name" field + + + Field number for the "options" field. + + + Field number for the "proto3_optional" field. + + + + If true, this is a proto3 "optional". When a proto3 field is optional, it + tracks presence regardless of field type. + + When proto3_optional is true, this field must be belong to a oneof to + signal to old proto3 clients that presence is tracked for this field. This + oneof is known as a "synthetic" oneof, and this field must be its sole + member (each proto3 optional field gets its own synthetic oneof). Synthetic + oneofs exist in the descriptor only, and do not generate any API. Synthetic + oneofs must be ordered after all "real" oneofs. + + For message fields, proto3_optional doesn't create any semantic change, + since non-repeated message fields always track presence. However it still + indicates the semantic detail of whether the user wrote "optional" or not. + This can be useful for round-tripping the .proto file. For consistency we + give message fields a synthetic oneof also, even though it is not required + to track presence. This is especially important because the parser can't + tell if a field is a message or an enum, so it must always create a + synthetic oneof. + + Proto2 optional fields do not set this flag, because they already indicate + optional with `LABEL_OPTIONAL`. + + + + Gets whether the "proto3_optional" field is set + + + Clears the value of the "proto3_optional" field + + + Container for nested types declared in the FieldDescriptorProto message type. + + + + 0 is reserved for errors. + Order is weird for historical reasons. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + negative values are likely. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + negative values are likely. + + + + + Tag-delimited aggregate. + Group type is deprecated and not supported in proto3. However, Proto3 + implementations should still be able to parse the group wire format and + treat group fields as unknown fields. + + + + + Length-delimited aggregate. + + + + + New in version 2. + + + + + Uses ZigZag encoding. + + + + + Uses ZigZag encoding. + + + + + 0 is reserved for errors + + + + + Describes a oneof. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "options" field. + + + + Describes an enum type. + + + + 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. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + + Range of reserved numeric values. Reserved numeric values may not be used + by enum values in the same enum declaration. Reserved ranges may not + overlap. + + + + Field number for the "reserved_name" field. + + + + Reserved enum value names, which may not be reused. A given name may only + be reserved once. + + + + Container for nested types declared in the EnumDescriptorProto message type. + + + + Range of reserved numeric values. Reserved values may not be used by + entries in the same enum. Reserved ranges may not overlap. + + Note that this is distinct from DescriptorProto.ReservedRange in that it + is inclusive such that it can appropriately represent the entire int32 + domain. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Inclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Describes a value within an enum. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "options" field. + + + + Describes a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "method" field. + + + Field number for the "options" field. + + + + Describes a method of a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "input_type" field. + + + + Input and output type names. These are resolved in the same way as + FieldDescriptorProto.type_name, but must refer to a message type. + + + + Gets whether the "input_type" field is set + + + Clears the value of the "input_type" field + + + Field number for the "output_type" field. + + + Gets whether the "output_type" field is set + + + Clears the value of the "output_type" field + + + Field number for the "options" field. + + + Field number for the "client_streaming" field. + + + + Identifies if client streams multiple client messages + + + + Gets whether the "client_streaming" field is set + + + Clears the value of the "client_streaming" field + + + Field number for the "server_streaming" field. + + + + Identifies if server streams multiple server messages + + + + Gets whether the "server_streaming" field is set + + + Clears the value of the "server_streaming" field + + + Field number for the "java_package" field. + + + + Sets the Java package where classes generated from this .proto will be + placed. By default, the proto package is used, but this is often + inappropriate because proto packages do not normally start with backwards + domain names. + + + + Gets whether the "java_package" field is set + + + Clears the value of the "java_package" field + + + Field number for the "java_outer_classname" field. + + + + If set, all the classes from the .proto file are wrapped in a single + outer class with the given name. This applies to both Proto1 + (equivalent to the old "--one_java_file" option) and Proto2 (where + a .proto always translates to a single class, but you may want to + explicitly choose the class name). + + + + Gets whether the "java_outer_classname" field is set + + + Clears the value of the "java_outer_classname" field + + + Field number for the "java_multiple_files" field. + + + + If set true, then the Java code generator will generate a separate .java + file for each top-level message, enum, and service defined in the .proto + file. Thus, these types will *not* be nested inside the outer class + named by java_outer_classname. However, the outer class will still be + generated to contain the file's getDescriptor() method as well as any + top-level extensions defined in the file. + + + + Gets whether the "java_multiple_files" field is set + + + Clears the value of the "java_multiple_files" field + + + Field number for the "java_generate_equals_and_hash" field. + + + + This option does nothing. + + + + Gets whether the "java_generate_equals_and_hash" field is set + + + Clears the value of the "java_generate_equals_and_hash" field + + + Field number for the "java_string_check_utf8" field. + + + + If set true, then the Java2 code generator will generate code that + throws an exception whenever an attempt is made to assign a non-UTF-8 + byte sequence to a string field. + Message reflection will do the same. + However, an extension field still accepts non-UTF-8 byte sequences. + This option has no effect on when used with the lite runtime. + + + + Gets whether the "java_string_check_utf8" field is set + + + Clears the value of the "java_string_check_utf8" field + + + Field number for the "optimize_for" field. + + + Gets whether the "optimize_for" field is set + + + Clears the value of the "optimize_for" field + + + Field number for the "go_package" field. + + + + Sets the Go package where structs generated from this .proto will be + placed. If omitted, the Go package will be derived from the following: + - The basename of the package import path, if provided. + - Otherwise, the package statement in the .proto file, if present. + - Otherwise, the basename of the .proto file, without extension. + + + + Gets whether the "go_package" field is set + + + Clears the value of the "go_package" field + + + Field number for the "cc_generic_services" field. + + + + Should generic services be generated in each language? "Generic" services + are not specific to any particular RPC system. They are generated by the + main code generators in each language (without additional plugins). + Generic services were the only kind of service generation supported by + early versions of google.protobuf. + + Generic services are now considered deprecated in favor of using plugins + that generate code specific to your particular RPC system. Therefore, + these default to false. Old code which depends on generic services should + explicitly set them to true. + + + + Gets whether the "cc_generic_services" field is set + + + Clears the value of the "cc_generic_services" field + + + Field number for the "java_generic_services" field. + + + Gets whether the "java_generic_services" field is set + + + Clears the value of the "java_generic_services" field + + + Field number for the "py_generic_services" field. + + + Gets whether the "py_generic_services" field is set + + + Clears the value of the "py_generic_services" field + + + Field number for the "php_generic_services" field. + + + Gets whether the "php_generic_services" field is set + + + Clears the value of the "php_generic_services" field + + + Field number for the "deprecated" field. + + + + Is this file deprecated? + Depending on the target platform, this can emit Deprecated annotations + for everything in the file, or it will be completely ignored; in the very + least, this is a formalization for deprecating files. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "cc_enable_arenas" field. + + + + Enables the use of arenas for the proto messages in this file. This applies + only to generated classes for C++. + + + + Gets whether the "cc_enable_arenas" field is set + + + Clears the value of the "cc_enable_arenas" field + + + Field number for the "objc_class_prefix" field. + + + + Sets the objective c class prefix which is prepended to all objective c + generated classes from this .proto. There is no default. + + + + Gets whether the "objc_class_prefix" field is set + + + Clears the value of the "objc_class_prefix" field + + + Field number for the "csharp_namespace" field. + + + + Namespace for generated classes; defaults to the package. + + + + Gets whether the "csharp_namespace" field is set + + + Clears the value of the "csharp_namespace" field + + + Field number for the "swift_prefix" field. + + + + By default Swift generators will take the proto package and CamelCase it + replacing '.' with underscore and use that to prefix the types/symbols + defined. When this options is provided, they will use this value instead + to prefix the types/symbols defined. + + + + Gets whether the "swift_prefix" field is set + + + Clears the value of the "swift_prefix" field + + + Field number for the "php_class_prefix" field. + + + + Sets the php class prefix which is prepended to all php generated classes + from this .proto. Default is empty. + + + + Gets whether the "php_class_prefix" field is set + + + Clears the value of the "php_class_prefix" field + + + Field number for the "php_namespace" field. + + + + Use this option to change the namespace of php generated classes. Default + is empty. When this option is empty, the package name will be used for + determining the namespace. + + + + Gets whether the "php_namespace" field is set + + + Clears the value of the "php_namespace" field + + + Field number for the "php_metadata_namespace" field. + + + + Use this option to change the namespace of php generated metadata classes. + Default is empty. When this option is empty, the proto file name will be + used for determining the namespace. + + + + Gets whether the "php_metadata_namespace" field is set + + + Clears the value of the "php_metadata_namespace" field + + + Field number for the "ruby_package" field. + + + + Use this option to change the package of ruby generated classes. Default + is empty. When this option is not set, the package name will be used for + determining the ruby package. + + + + Gets whether the "ruby_package" field is set + + + Clears the value of the "ruby_package" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. + See the documentation for the "Options" section above. + + + + Container for nested types declared in the FileOptions message type. + + + + Generated classes can be optimized for speed or code size. + + + + + Generate complete code for parsing, serialization, + + + + + etc. + + + + + Generate code using MessageLite and the lite runtime. + + + + Field number for the "message_set_wire_format" field. + + + + Set true to use the old proto1 MessageSet wire format for extensions. + This is provided for backwards-compatibility with the MessageSet wire + format. You should not use this for any other reason: It's less + efficient, has fewer features, and is more complicated. + + The message must be defined exactly as follows: + message Foo { + option message_set_wire_format = true; + extensions 4 to max; + } + Note that the message cannot have any defined fields; MessageSets only + have extensions. + + All extensions of your type must be singular messages; e.g. they cannot + be int32s, enums, or repeated messages. + + Because this is an option, the above two restrictions are not enforced by + the protocol compiler. + + + + Gets whether the "message_set_wire_format" field is set + + + Clears the value of the "message_set_wire_format" field + + + Field number for the "no_standard_descriptor_accessor" field. + + + + Disables the generation of the standard "descriptor()" accessor, which can + conflict with a field of the same name. This is meant to make migration + from proto1 easier; new code should avoid fields named "descriptor". + + + + Gets whether the "no_standard_descriptor_accessor" field is set + + + Clears the value of the "no_standard_descriptor_accessor" field + + + Field number for the "deprecated" field. + + + + Is this message deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the message, or it will be completely ignored; in the very least, + this is a formalization for deprecating messages. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "map_entry" field. + + + + Whether the message is an automatically generated map entry type for the + maps field. + + For maps fields: + map<KeyType, ValueType> map_field = 1; + The parsed descriptor looks like: + message MapFieldEntry { + option map_entry = true; + optional KeyType key = 1; + optional ValueType value = 2; + } + repeated MapFieldEntry map_field = 1; + + Implementations may choose not to generate the map_entry=true message, but + use a native map in the target language to hold the keys and values. + The reflection APIs in such implementations still need to work as + if the field is a repeated message field. + + NOTE: Do not set the option in .proto files. Always use the maps syntax + instead. The option should only be implicitly set by the proto compiler + parser. + + + + Gets whether the "map_entry" field is set + + + Clears the value of the "map_entry" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "ctype" field. + + + + The ctype option instructs the C++ code generator to use a different + representation of the field than it normally would. See the specific + options below. This option is not yet implemented in the open source + release -- sorry, we'll try to include it in a future version! + + + + Gets whether the "ctype" field is set + + + Clears the value of the "ctype" field + + + Field number for the "packed" field. + + + + The packed option can be enabled for repeated primitive fields to enable + a more efficient representation on the wire. Rather than repeatedly + writing the tag and type for each element, the entire array is encoded as + a single length-delimited blob. In proto3, only explicit setting it to + false will avoid using packed encoding. + + + + Gets whether the "packed" field is set + + + Clears the value of the "packed" field + + + Field number for the "jstype" field. + + + + The jstype option determines the JavaScript type used for values of the + field. The option is permitted only for 64 bit integral and fixed types + (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + is represented as JavaScript string, which avoids loss of precision that + can happen when a large value is converted to a floating point JavaScript. + Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + use the JavaScript "number" type. The behavior of the default option + JS_NORMAL is implementation dependent. + + This option is an enum to permit additional types to be added, e.g. + goog.math.Integer. + + + + Gets whether the "jstype" field is set + + + Clears the value of the "jstype" field + + + Field number for the "lazy" field. + + + + Should this field be parsed lazily? Lazy applies only to message-type + fields. It means that when the outer message is initially parsed, the + inner message's contents will not be parsed but instead stored in encoded + form. The inner message will actually be parsed when it is first accessed. + + This is only a hint. Implementations are free to choose whether to use + eager or lazy parsing regardless of the value of this option. However, + setting this option true suggests that the protocol author believes that + using lazy parsing on this field is worth the additional bookkeeping + overhead typically needed to implement it. + + This option does not affect the public interface of any generated code; + all method signatures remain the same. Furthermore, thread-safety of the + interface is not affected by this option; const methods remain safe to + call from multiple threads concurrently, while non-const methods continue + to require exclusive access. + + Note that implementations may choose not to check required fields within + a lazy sub-message. That is, calling IsInitialized() on the outer message + may return true even if the inner message has missing required fields. + This is necessary because otherwise the inner message would have to be + parsed in order to perform the check, defeating the purpose of lazy + parsing. An implementation which chooses not to check required fields + must be consistent about it. That is, for any particular sub-message, the + implementation must either *always* check its required fields, or *never* + check its required fields, regardless of whether or not the message has + been parsed. + + + + Gets whether the "lazy" field is set + + + Clears the value of the "lazy" field + + + Field number for the "deprecated" field. + + + + Is this field deprecated? + Depending on the target platform, this can emit Deprecated annotations + for accessors, or it will be completely ignored; in the very least, this + is a formalization for deprecating fields. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "weak" field. + + + + For Google-internal migration only. Do not use. + + + + Gets whether the "weak" field is set + + + Clears the value of the "weak" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the FieldOptions message type. + + + + Default mode. + + + + + Use the default type. + + + + + Use JavaScript strings. + + + + + Use JavaScript numbers. + + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "allow_alias" field. + + + + Set this option to true to allow mapping different tag names to the same + value. + + + + Gets whether the "allow_alias" field is set + + + Clears the value of the "allow_alias" field + + + Field number for the "deprecated" field. + + + + Is this enum deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum, or it will be completely ignored; in the very least, this + is a formalization for deprecating enums. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this enum value deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum value, or it will be completely ignored; in the very least, + this is a formalization for deprecating enum values. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this service deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the service, or it will be completely ignored; in the very least, + this is a formalization for deprecating services. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this method deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the method, or it will be completely ignored; in the very least, + this is a formalization for deprecating methods. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "idempotency_level" field. + + + Gets whether the "idempotency_level" field is set + + + Clears the value of the "idempotency_level" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the MethodOptions message type. + + + + Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + or neither? HTTP based RPC implementation may choose GET verb for safe + methods, and PUT verb for idempotent methods instead of the default POST. + + + + + implies idempotent + + + + + idempotent, but may have side effects + + + + + A message representing a option the parser does not recognize. This only + appears in options protos created by the compiler::Parser class. + DescriptorPool resolves these when building Descriptor objects. Therefore, + options protos in descriptor objects (e.g. returned by Descriptor::options(), + or produced by Descriptor::CopyTo()) will never have UninterpretedOptions + in them. + + + + Field number for the "name" field. + + + Field number for the "identifier_value" field. + + + + The value of the uninterpreted option, in whatever type the tokenizer + identified it as during parsing. Exactly one of these should be set. + + + + Gets whether the "identifier_value" field is set + + + Clears the value of the "identifier_value" field + + + Field number for the "positive_int_value" field. + + + Gets whether the "positive_int_value" field is set + + + Clears the value of the "positive_int_value" field + + + Field number for the "negative_int_value" field. + + + Gets whether the "negative_int_value" field is set + + + Clears the value of the "negative_int_value" field + + + Field number for the "double_value" field. + + + Gets whether the "double_value" field is set + + + Clears the value of the "double_value" field + + + Field number for the "string_value" field. + + + Gets whether the "string_value" field is set + + + Clears the value of the "string_value" field + + + Field number for the "aggregate_value" field. + + + Gets whether the "aggregate_value" field is set + + + Clears the value of the "aggregate_value" field + + + Container for nested types declared in the UninterpretedOption message type. + + + + The name of the uninterpreted option. Each string represents a segment in + a dot-separated name. is_extension is true iff a segment represents an + extension (denoted with parentheses in options specs in .proto files). + E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents + "foo.(bar.baz).qux". + + + + Field number for the "name_part" field. + + + Gets whether the "name_part" field is set + + + Clears the value of the "name_part" field + + + Field number for the "is_extension" field. + + + Gets whether the "is_extension" field is set + + + Clears the value of the "is_extension" field + + + + Encapsulates information about the original source file from which a + FileDescriptorProto was generated. + + + + Field number for the "location" field. + + + + A Location identifies a piece of source code in a .proto file which + corresponds to a particular definition. This information is intended + to be useful to IDEs, code indexers, documentation generators, and similar + tools. + + For example, say we have a file like: + message Foo { + optional string foo = 1; + } + Let's look at just the field definition: + optional string foo = 1; + ^ ^^ ^^ ^ ^^^ + a bc de f ghi + We have the following locations: + span path represents + [a,i) [ 4, 0, 2, 0 ] The whole field definition. + [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + + Notes: + - A location may refer to a repeated field itself (i.e. not to any + particular index within it). This is used whenever a set of elements are + logically enclosed in a single code segment. For example, an entire + extend block (possibly containing multiple extension definitions) will + have an outer location whose path refers to the "extensions" repeated + field without an index. + - Multiple locations may have the same path. This happens when a single + logical declaration is spread out across multiple places. The most + obvious example is the "extend" block again -- there may be multiple + extend blocks in the same scope, each of which will have the same path. + - A location's span is not always a subset of its parent's span. For + example, the "extendee" of an extension declaration appears at the + beginning of the "extend" block and is shared by all extensions within + the block. + - Just because a location's span is a subset of some other location's span + does not mean that it is a descendant. For example, a "group" defines + both a type and a field in a single declaration. Thus, the locations + corresponding to the type and field and their components will overlap. + - Code which tries to interpret locations should probably be designed to + ignore those that it doesn't understand, as more types of locations could + be recorded in the future. + + + + Container for nested types declared in the SourceCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies which part of the FileDescriptorProto was defined at this + location. + + Each element is a field number or an index. They form a path from + the root FileDescriptorProto to the place where the definition. For + example, this path: + [ 4, 3, 2, 7, 1 ] + refers to: + file.message_type(3) // 4, 3 + .field(7) // 2, 7 + .name() // 1 + This is because FileDescriptorProto.message_type has field number 4: + repeated DescriptorProto message_type = 4; + and DescriptorProto.field has field number 2: + repeated FieldDescriptorProto field = 2; + and FieldDescriptorProto.name has field number 1: + optional string name = 1; + + Thus, the above path gives the location of a field name. If we removed + the last element: + [ 4, 3, 2, 7 ] + this path refers to the whole field declaration (from the beginning + of the label to the terminating semicolon). + + + + Field number for the "span" field. + + + + Always has exactly three or four elements: start line, start column, + end line (optional, otherwise assumed same as start line), end column. + These are packed into a single field for efficiency. Note that line + and column numbers are zero-based -- typically you will want to add + 1 to each before displaying to a user. + + + + Field number for the "leading_comments" field. + + + + If this SourceCodeInfo represents a complete declaration, these are any + comments appearing before and after the declaration which appear to be + attached to the declaration. + + A series of line comments appearing on consecutive lines, with no other + tokens appearing on those lines, will be treated as a single comment. + + leading_detached_comments will keep paragraphs of comments that appear + before (but not connected to) the current element. Each paragraph, + separated by empty lines, will be one comment element in the repeated + field. + + Only the comment content is provided; comment markers (e.g. //) are + stripped out. For block comments, leading whitespace and an asterisk + will be stripped from the beginning of each line other than the first. + Newlines are included in the output. + + Examples: + + optional int32 foo = 1; // Comment attached to foo. + // Comment attached to bar. + optional int32 bar = 2; + + optional string baz = 3; + // Comment attached to baz. + // Another line attached to baz. + + // Comment attached to qux. + // + // Another line attached to qux. + optional double qux = 4; + + // Detached comment for corge. This is not leading or trailing comments + // to qux or corge because there are blank lines separating it from + // both. + + // Detached comment for corge paragraph 2. + + optional string corge = 5; + /* Block comment attached + * to corge. Leading asterisks + * will be removed. */ + /* Block comment attached to + * grault. */ + optional int32 grault = 6; + + // ignored detached comments. + + + + Gets whether the "leading_comments" field is set + + + Clears the value of the "leading_comments" field + + + Field number for the "trailing_comments" field. + + + Gets whether the "trailing_comments" field is set + + + Clears the value of the "trailing_comments" field + + + Field number for the "leading_detached_comments" field. + + + + Describes the relationship between generated code and its original source + file. A GeneratedCodeInfo message is associated with only one generated + source file, but may contain references to different source .proto files. + + + + Field number for the "annotation" field. + + + + An Annotation connects some span of text in generated code to an element + of its generating .proto file. + + + + Container for nested types declared in the GeneratedCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies the element in the original source .proto file. This field + is formatted the same as SourceCodeInfo.Location.path. + + + + Field number for the "source_file" field. + + + + Identifies the filesystem path to the original source .proto. + + + + Gets whether the "source_file" field is set + + + Clears the value of the "source_file" field + + + Field number for the "begin" field. + + + + Identifies the starting offset in bytes in the generated code + that relates to the identified object. + + + + Gets whether the "begin" field is set + + + Clears the value of the "begin" field + + + Field number for the "end" field. + + + + Identifies the ending offset in bytes in the generated code that + relates to the identified offset. The end offset should be one past + the last relevant byte (so the length of the text = end - begin). + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Base class for nearly all descriptors, providing common functionality. + + + + + The index of this descriptor within its parent descriptor. + + + This returns the index of this descriptor within its parent, for + this descriptor's type. (There can be duplicate values for different + types, e.g. one enum type with index 0 and one message type with index 0.) + + + + + Returns the name of the entity (field, message etc) being described. + + + + + The fully qualified name of the descriptor's target. + + + + + The file this descriptor was declared in. + + + + + The declaration information about the descriptor, or null if no declaration information + is available for this descriptor. + + + This information is typically only available for dynamically loaded descriptors, + for example within a protoc plugin where the full descriptors, including source info, + are passed to the code by protoc. + + + + + Retrieves the list of nested descriptors corresponding to the given field number, if any. + If the field is unknown or not a nested descriptor list, return null to terminate the search. + The default implementation returns null. + + + + + Provides additional information about the declaration of a descriptor, + such as source location and comments. + + + + + The descriptor this declaration relates to. + + + + + The start line of the declaration within the source file. This value is 1-based. + + + + + The start column of the declaration within the source file. This value is 1-based. + + + + + // The end line of the declaration within the source file. This value is 1-based. + + + + + The end column of the declaration within the source file. This value is 1-based, and + exclusive. (The final character of the declaration is on the column before this value.) + + + + + Comments appearing before the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing after the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing before the declaration, but separated from it by blank + lines. Each string represents a newline-separated paragraph of comments. + Leading whitespace and the comment marker ("//") are removed from each line. + The list is never null, but may be empty. Likewise each element is never null, but may be empty. + + + + + Contains lookup tables containing all the descriptors defined in a particular file. + + + + + Finds a symbol of the given name within the pool. + + The type of symbol to look for + Fully-qualified name to look up + The symbol with the given name and type, + or null if the symbol doesn't exist or has the wrong type + + + + Adds a package to the symbol tables. If a package by the same name + already exists, that is fine, but if some other kind of symbol + exists under the same name, an exception is thrown. If the package + has multiple components, this also adds the parent package(s). + + + + + Adds a symbol to the symbol table. + + The symbol already existed + in the symbol table. + + + + Verifies that the descriptor's name is valid (i.e. it contains + only letters, digits and underscores, and does not start with a digit). + + + + + + Returns the field with the given number in the given descriptor, + or null if it can't be found. + + + + + Adds a field to the fieldsByNumber table. + + A field with the same + containing type and number already exists. + + + + Adds an enum value to the enumValuesByNumber table. If an enum value + with the same type and number already exists, this method does nothing. + (This is allowed; the first value defined with the number takes precedence.) + + + + + Looks up a descriptor by name, relative to some other descriptor. + The name may be fully-qualified (with a leading '.'), partially-qualified, + or unqualified. C++-like name lookup semantics are used to search for the + matching descriptor. + + + This isn't heavily optimized, but it's only used during cross linking anyway. + If it starts being used more widely, we should look at performance more carefully. + + + + + Internal class containing utility methods when working with descriptors. + + + + + Equivalent to Func[TInput, int, TOutput] but usable in .NET 2.0. Only used to convert + arrays. + + + + + Converts the given array into a read-only list, applying the specified conversion to + each input element. + + + + + Thrown when building descriptors fails because the source DescriptorProtos + are not valid. + + + + + The full name of the descriptor where the error occurred. + + + + + A human-readable description of the error. (The Message property + is made up of the descriptor's name and this description.) + + + + + Descriptor for an enum type in a .proto file. + + + + + The brief name of the descriptor's target. + + + + + The CLR type for this enum. For generated code, this will be a CLR enum type. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + An unmodifiable list of defined value descriptors for this enum. + + + + + Finds an enum value by number. If multiple enum values have the + same number, this returns the first defined value with that number. + If there is no value for the given number, this returns null. + + + + + Finds an enum value by name. + + The unqualified name of the value (e.g. "FOO"). + The value's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this enum. + + + + + The EnumOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum option for this descriptor + + + + + Gets a repeated value enum option for this descriptor + + + + + Descriptor for a single enum value within an enum in a .proto file. + + + + + Returns the name of the enum value described by this object. + + + + + Returns the number associated with this enum value. + + + + + Returns the enum descriptor that this value is part of. + + + + + The (possibly empty) set of custom options for this enum value. + + + + + The EnumValueOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum value option for this descriptor + + + + + Gets a repeated value enum value option for this descriptor + + + + + A collection to simplify retrieving the descriptors of extensions in a descriptor for a message + + + + + Returns a readonly list of all the extensions defined in this type in + the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in accending field order + + + + + Base class for field accessors. + + + + + Descriptor for a field or extension within a message in a .proto file. + + + + + Get the field's containing message type, or null if it is a field defined at the top level of a file as an extension. + + + + + Returns the oneof containing this field, or null if it is not part of a oneof. + + + + + Returns the oneof containing this field if it's a "real" oneof, or null if either this + field is not part of a oneof, or the oneof is synthetic. + + + + + The effective JSON name for this field. This is usually the lower-camel-cased form of the field name, + but can be overridden using the json_name option in the .proto file. + + + + + Indicates whether this field supports presence, either implicitly (e.g. due to it being a message + type field) or explicitly via Has/Clear members. If this returns true, it is safe to call + and + on this field's accessor with a suitable message. + + + + + An extension identifier for this field, or null if this field isn't an extension. + + + + + The brief name of the descriptor's target. + + + + + Returns the accessor for this field. + + + + While a describes the field, it does not provide + any way of obtaining or changing the value of the field within a specific message; + that is the responsibility of the accessor. + + + In descriptors for generated code, the value returned by this property will be non-null for all + regular fields. However, if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, and the value of the map field itself is represented by a dictionary in the + reflection API. There are never instances of those "hidden" messages, so no accessor is provided + and this property will return null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + + + Maps a field type as included in the .proto file to a FieldType. + + + + + Returns true if this field is a repeated field; false otherwise. + + + + + Returns true if this field is a required field; false otherwise. + + + + + Returns true if this field is a map field; false otherwise. + + + + + Returns true if this field is a packed, repeated field; false otherwise. + + + + + Returns true if this field extends another message type; false otherwise. + + + + + Returns the type of the field. + + + + + Returns the field number declared in the proto file. + + + + + Compares this descriptor with another one, ordering in "canonical" order + which simply means ascending order by field number. + must be a field of the same type, i.e. the of + both fields must be the same. + + + + + For enum fields, returns the field's type. + + + + + For embedded message and group fields, returns the field's type. + + + + + For extension fields, returns the extended type + + + + + The (possibly empty) set of custom options for this field. + + + + + The FieldOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value field option for this descriptor + + + + + Gets a repeated value field option for this descriptor + + + + + Look up and cross-link all field types etc. + + + + + Enumeration of all the possible field types. + + + + + The double field type. + + + + + The float field type. + + + + + The int64 field type. + + + + + The uint64 field type. + + + + + The int32 field type. + + + + + The fixed64 field type. + + + + + The fixed32 field type. + + + + + The bool field type. + + + + + The string field type. + + + + + The field type used for groups. + + + + + The field type used for message fields. + + + + + The bytes field type. + + + + + The uint32 field type. + + + + + The sfixed32 field type. + + + + + The sfixed64 field type. + + + + + The sint32 field type. + + + + + The sint64 field type. + + + + + The field type used for enum fields. + + + + + The syntax of a .proto file + + + + + Proto2 syntax + + + + + Proto3 syntax + + + + + An unknown declared syntax + + + + + Describes a .proto file, including everything defined within. + IDescriptor is implemented such that the File property returns this descriptor, + and the FullName is the same as the Name. + + + + + Computes the full name of a descriptor within this file, with an optional parent message. + + + + + Extracts public dependencies from direct dependencies. This is a static method despite its + first parameter, as the value we're in the middle of constructing is only used for exceptions. + + + + + The descriptor in its protocol message representation. + + + + + The syntax of the file + + + + + The file name. + + + + + The package as declared in the .proto file. This may or may not + be equivalent to the .NET namespace of the generated classes. + + + + + Unmodifiable list of top-level message types declared in this file. + + + + + Unmodifiable list of top-level enum types declared in this file. + + + + + Unmodifiable list of top-level services declared in this file. + + + + + Unmodifiable list of top-level extensions declared in this file. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if this descriptor was generated using a version of protoc that did not fully + support extensions in C#. + + + + + Unmodifiable list of this file's dependencies (imports). + + + + + Unmodifiable list of this file's public dependencies (public imports). + + + + + The original serialized binary form of this descriptor. + + + + + Implementation of IDescriptor.FullName - just returns the same as Name. + + + + + Implementation of IDescriptor.File - just returns this descriptor. + + + + + Pool containing symbol descriptors. + + + + + Finds a type (message, enum, service or extension) in the file by name. Does not find nested types. + + The unqualified type name to look for. + The type of descriptor to look for + The type's descriptor, or null if not found. + + + + Builds a FileDescriptor from its protocol buffer representation. + + The original serialized descriptor data. + We have only limited proto2 support, so serializing FileDescriptorProto + would not necessarily give us this. + The protocol message form of the FileDescriptor. + FileDescriptors corresponding to all of the + file's dependencies, in the exact order listed in the .proto file. May be null, + in which case it is treated as an empty array. + Whether unknown dependencies are ignored (true) or cause an exception to be thrown (false). + Details about generated code, for the purposes of reflection. + If is not + a valid descriptor. This can occur for a number of reasons, such as a field + having an undefined type or because two messages were defined with the same name. + + + + Creates a descriptor for generated code. + + + This method is only designed to be used by the results of generating code with protoc, + which creates the appropriate dependencies etc. It has to be public because the generated + code is "external", but should not be called directly by end users. + + + + + Converts the given descriptor binary data into FileDescriptor objects. + Note: reflection using the returned FileDescriptors is not currently supported. + + The binary file descriptor proto data. Must not be null, and any + dependencies must come before the descriptor which depends on them. (If A depends on B, and B + depends on C, then the descriptors must be presented in the order C, B, A.) This is compatible + with the order in which protoc provides descriptors to plugins. + The file descriptors corresponding to . + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns the file descriptor for descriptor.proto. + + + This is used for protos which take a direct dependency on descriptor.proto, typically for + annotations. While descriptor.proto is a proto2 file, it is built into the Google.Protobuf + runtime for reflection purposes. The messages are internal to the runtime as they would require + proto2 semantics for full support, but the file descriptor is available via this property. The + C# codegen in protoc automatically uses this property when it detects a dependency on descriptor.proto. + + + The file descriptor for descriptor.proto. + + + + + The (possibly empty) set of custom options for this file. + + + + + The FileOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value file option for this descriptor + + + + + Gets a repeated value file option for this descriptor + + + + + Performs initialization for the given generic type argument. + + + This method is present for the sake of AOT compilers. It allows code (whether handwritten or generated) + to make calls into the reflection machinery of this library to express an intention to use that type + reflectively (e.g. for JSON parsing and formatting). The call itself does almost nothing, but AOT compilers + attempting to determine which generic type arguments need to be handled will spot the code path and act + accordingly. + + The type to force initialization for. + + + + Extra information provided by generated code when initializing a message or file descriptor. + These are constructed as required, and are not long-lived. Hand-written code should + never need to use this type. + + + + + Irrelevant for file descriptors; the CLR type for the message for message descriptors. + + + + + Irrelevant for file descriptors; the parser for message descriptors. + + + + + Irrelevant for file descriptors; the CLR property names (in message descriptor field order) + for fields in the message for message descriptors. + + + + + The extensions defined within this file/message descriptor + + + + + Irrelevant for file descriptors; the CLR property "base" names (in message descriptor oneof order) + for oneofs in the message for message descriptors. It is expected that for a oneof name of "Foo", + there will be a "FooCase" property and a "ClearFoo" method. + + + + + The reflection information for types within this file/message descriptor. Elements may be null + if there is no corresponding generated type, e.g. for map entry types. + + + + + The CLR types for enums within this file/message descriptor. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types, enums, and extensions. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types and enums. + + + + + Interface implemented by all descriptor types. + + + + + Returns the name of the entity (message, field etc) being described. + + + + + Returns the fully-qualified name of the entity being described. + + + + + Returns the descriptor for the .proto file that this entity is part of. + + + + + Allows fields to be reflectively accessed. + + + + + Returns the descriptor associated with this field. + + + + + Clears the field in the specified message. (For repeated fields, + this clears the list.) + + + + + Fetches the field value. For repeated values, this will be an + implementation. For map values, this will be an + implementation. + + + + + Indicates whether the field in the specified message is set. + For proto3 fields that aren't explicitly optional, this throws an + + + + + Mutator for single "simple" fields only. + + + Repeated fields are mutated by fetching the value and manipulating it as a list. + Map fields are mutated by fetching the value and manipulating it as a dictionary. + + The field is not a "simple" field. + + + + Accessor for map fields. + + + + + Describes a message type. + + + + + The brief name of the descriptor's target. + + + + + The CLR type used to represent message instances from this descriptor. + + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, so this property will return null in such cases. + + + For wrapper types ( and the like), the type returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + A parser for this message type. + + + + As is not generic, this cannot be statically + typed to the relevant type, but it should produce objects of a type compatible with . + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. No message parser object is created for + such messages, so this property will return null in such cases. + + + For wrapper types ( and the like), the parser returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + Returns whether this message is one of the "well known types" which may have runtime/protoc support. + + + + + Returns whether this message is one of the "wrapper types" used for fields which represent primitive values + with the addition of presence. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + A collection of fields, which can be retrieved by name or field number. + + + + + An unmodifiable list of extensions defined in this message's scope. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if they are declared in a file generated using a version of protoc that did not fully + support extensions in C#. + + + + + An unmodifiable list of this message type's nested types. + + + + + An unmodifiable list of this message type's enum types. + + + + + An unmodifiable list of the "oneof" field collections in this message type. + All "real" oneofs (where returns false) + come before synthetic ones. + + + + + The number of real "oneof" descriptors in this message type. Every element in + with an index less than this will have a property value + of false; every element with an index greater than or equal to this will have a + property value of true. + + + + + Finds a field by field name. + + The unqualified name of the field (e.g. "foo"). + The field's descriptor, or null if not found. + + + + Finds a field by field number. + + The field number within this message type. + The field's descriptor, or null if not found. + + + + Finds a nested descriptor by name. The is valid for fields, nested + message types, oneofs and enums. + + The unqualified name of the descriptor, e.g. "Foo" + The descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this message. + + + + + The MessageOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value message option for this descriptor + + + + + Gets a repeated value message option for this descriptor + + + + + Looks up and cross-links all fields and nested types. + + + + + A collection to simplify retrieving the field accessor for a particular field. + + + + + Returns the fields in the message as an immutable list, in the order in which they + are declared in the source .proto file. + + + + + Returns the fields in the message as an immutable list, in ascending field number + order. Field numbers need not be contiguous, so there is no direct mapping from the + index in the list to the field number; to retrieve a field by field number, it is better + to use the indexer. + + + + + Returns a read-only dictionary mapping the field names in this message as they're available + in the JSON representation to the field descriptors. For example, a field foo_bar + in the message would result two entries, one with a key fooBar and one with a key + foo_bar, both referring to the same field. + + + + + Retrieves the descriptor for the field with the given number. + + Number of the field to retrieve the descriptor for + The accessor for the given field + The message descriptor does not contain a field + with the given number + + + + Retrieves the descriptor for the field with the given name. + + Name of the field to retrieve the descriptor for + The descriptor for the given field + The message descriptor does not contain a field + with the given name + + + + Describes a single method in a service. + + + + + The service this method belongs to. + + + + + The method's input type. + + + + + The method's input type. + + + + + Indicates if client streams multiple requests. + + + + + Indicates if server streams multiple responses. + + + + + The (possibly empty) set of custom options for this method. + + + + + The MethodOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value method option for this descriptor + + + + + Gets a repeated value method option for this descriptor + + + + + The brief name of the descriptor's target. + + + + + Reflection access for a oneof, allowing clear and "get case" actions. + + + + + Gets the descriptor for this oneof. + + + The descriptor of the oneof. + + + + + Clears the oneof in the specified message. + + + + + Indicates which field in the oneof is set for specified message + + + + + Describes a "oneof" field collection in a message type: a set of + fields of which at most one can be set in any particular message. + + + + + The brief name of the descriptor's target. + + + + + Gets the message type containing this oneof. + + + The message type containing this oneof. + + + + + Gets the fields within this oneof, in declaration order. + + + The fields within this oneof, in declaration order. + + + + + Returns true if this oneof is a synthetic oneof containing a proto3 optional field; + false otherwise. + + + + + Gets an accessor for reflective access to the values associated with the oneof + in a particular message. + + + + In descriptors for generated code, the value returned by this property will always be non-null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + The accessor used for reflective access. + + + + + The (possibly empty) set of custom options for this oneof. + + + + + The OneofOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value oneof option for this descriptor + + + + + Gets a repeated value oneof option for this descriptor + + + + + Specifies the original name (in the .proto file) of a named element, + such as an enum value. + + + + + The name of the element in the .proto file. + + + + + If the name is preferred in the .proto file. + + + + + Constructs a new attribute instance for the given name. + + The name of the element in the .proto file. + + + + Represents a package in the symbol table. We use PackageDescriptors + just as placeholders so that someone cannot define, say, a message type + that has the same name as an existing package. + + + + + The methods in this class are somewhat evil, and should not be tampered with lightly. + Basically they allow the creation of relatively weakly typed delegates from MethodInfos + which are more strongly typed. They do this by creating an appropriate strongly typed + delegate from the MethodInfo, and then calling that within an anonymous method. + Mind-bending stuff (at least to your humble narrator) but the resulting delegates are + very fast compared with calling Invoke later on. + + + + + Empty Type[] used when calling GetProperty to force property instead of indexer fetching. + + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to object. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to the specified type. The method is expected + to actually return an enum (because of where we're calling it - for oneof cases). Sometimes that + means we need some extra work to perform conversions. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + type that declares the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + + + + Creates a reflection helper for the given type arguments. Currently these are created on demand + rather than cached; this will be "busy" when initially loading a message's descriptor, but after that + they can be garbage collected. We could cache them by type if that proves to be important, but creating + an object is pretty cheap. + + + + + Accessor for repeated fields. + + + + + Describes a service type. + + + + + The brief name of the descriptor's target. + + + + + An unmodifiable list of methods in this service. + + + + + Finds a method by name. + + The unqualified name of the method (e.g. "Foo"). + The method's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this service. + + + + + The ServiceOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value service option for this descriptor + + + + + Gets a repeated value service option for this descriptor + + + + + Accessor for single fields. + + + + + An immutable registry of types which can be looked up by their full name. + + + + + An empty type registry, containing no types. + + + + + Attempts to find a message descriptor by its full name. + + The full name of the message, which is the dot-separated + combination of package, containing messages and message name + The message descriptor corresponding to or null + if there is no such message descriptor. + + + + Creates a type registry from the specified set of file descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the specified set of file descriptors. + + + All message types within all the specified files are added to the registry, and + the dependencies of the specified files are also added, recursively. + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + The specified message descriptors are only used to identify their file descriptors; the returned registry + contains all the types within the file descriptors which contain the specified message descriptors (and + the dependencies of those files), not just the specified messages. + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Builder class which isn't exposed, but acts as a convenient alternative to passing round two dictionaries in recursive calls. + + + + + Abstraction for reading from a stream / read only sequence. + Parsing from the buffer is a loop of reading from current buffer / refreshing the buffer once done. + + + + + Initialize an instance with a coded input stream. + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. + + + + + Initialize an instance with a read only sequence. + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. + + + + + Sets currentLimit to (current position) + byteLimit. This is called + when descending into a length-delimited embedded message. The previous + limit is returned. + + The old limit. + + + + Discards the current limit, returning the previous limit. + + + + + Returns whether or not all the data before the limit has been read. + + + + + + Returns true if the stream has reached the end of the input. This is the + case if either the end of the underlying input source has been reached or + the stream has reached a limit created using PushLimit. + + + + + Represents a single field in an UnknownFieldSet. + + An UnknownField consists of four lists of values. The lists correspond + to the four "wire types" used in the protocol buffer binary format. + Normally, only one of the four lists will contain any values, since it + is impossible to define a valid message type that declares two different + types for the same field number. However, the code is designed to allow + for the case where the same unknown field number is encountered using + multiple different wire types. + + + + + + Creates a new UnknownField. + + + + + Checks if two unknown field are equal. + + + + + Get the hash code of the unknown field. + + + + + Serializes the field, including the field number, and writes it to + + + The unknown field number. + The write context to write to. + + + + Computes the number of bytes required to encode this field, including field + number. + + + + + Merge the values in into this field. For each list + of values, 's values are append to the ones in this + field. + + + + + Returns a new list containing all of the given specified values from + both the and lists. + If is null and is null or empty, + null is returned. Otherwise, either a new list is created (if + is null) or the elements of are added to . + + + + + Adds a varint value. + + + + + Adds a fixed32 value. + + + + + Adds a fixed64 value. + + + + + Adds a length-delimited value. + + + + + Adds to the , creating + a new list if is null. The list is returned - either + the original reference or the new list. + + + + + Used to keep track of fields which were seen when parsing a protocol message + but whose field numbers or types are unrecognized. This most frequently + occurs when new fields are added to a message type and then messages containing + those fields are read by old software that was built before the new types were + added. + + Most users will never need to use this class directly. + + + + + Creates a new UnknownFieldSet. + + + + + Checks whether or not the given field number is present in the set. + + + + + Serializes the set and writes it to . + + + + + Serializes the set and writes it to . + + + + + Gets the number of bytes required to encode this set. + + + + + Checks if two unknown field sets are equal. + + + + + Gets the unknown field set's hash code. + + + + + Adds a field to the set. If a field with the same number already exists, it + is replaced. + + + + + Parse a single field from and merge it + into this set. + + The parse context from which to read the field + false if the tag is an "end group" tag, true otherwise + + + + Create a new UnknownFieldSet if unknownFields is null. + Parse a single field from and merge it + into unknownFields. If is configured to discard unknown fields, + will be returned as-is and the field will be skipped. + + The UnknownFieldSet which need to be merged + The coded input stream containing the field + The merged UnknownFieldSet + + + + Create a new UnknownFieldSet if unknownFields is null. + Parse a single field from and merge it + into unknownFields. If is configured to discard unknown fields, + will be returned as-is and the field will be skipped. + + The UnknownFieldSet which need to be merged + The parse context from which to read the field + The merged UnknownFieldSet + + + + Merges the fields from into this set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Created a new UnknownFieldSet to if + needed and merges the fields from into the first set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Adds a field to the unknown field set. If a field with the same + number already exists, the two are merged. + + + + + Clone an unknown field set from . + + + + Holder for reflection information generated from google/protobuf/any.proto + + + File descriptor for google/protobuf/any.proto + + + + `Any` contains an arbitrary serialized protocol buffer message along with a + URL that describes the type of the serialized message. + + Protobuf library provides support to pack/unpack Any values in the form + of utility functions or additional generated methods of the Any type. + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + 'type.googleapis.com/full.type.name' as the type URL and the unpack + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". + + JSON + ==== + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": <string>, + "lastName": <string> + } + + If the embedded message type is well-known and has a custom JSON + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + + + + Field number for the "type_url" field. + + + + A URL/resource name that uniquely identifies the type of the serialized + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must represent + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a canonical form + (e.g., leading "." is not accepted). + + In practice, teams usually precompile into the binary all types that they + expect it to use in the context of Any. However, for URLs which use the + scheme `http`, `https`, or no scheme, one can optionally set up a type + server that maps type URLs to message definitions as follows: + + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the official + protobuf release, and it is not used for type URLs beginning with + type.googleapis.com. + + Schemes other than `http`, `https` (or the empty scheme) might be + used with implementation specific semantics. + + + + Field number for the "value" field. + + + + Must be a valid serialized protocol buffer of the above specified type. + + + + + Retrieves the type name for a type URL, matching the + of the packed message type. + + + + This is always just the last part of the URL, after the final slash. No validation of + anything before the trailing slash is performed. If the type URL does not include a slash, + an empty string is returned rather than an exception being thrown; this won't match any types, + and the calling code is probably in a better position to give a meaningful error. + + + There is no handling of fragments or queries at the moment. + + + The URL to extract the type name from + The type name + + + + Returns a bool indictating whether this Any message is of the target message type + + The descriptor of the message type + true if the type name matches the descriptor's full name or false otherwise + + + + Unpacks the content of this Any message into the target message type, + which must match the type URL within this Any message. + + The type of message to unpack the content into. + The unpacked message. + The target message type doesn't match the type URL in this message + + + + Attempts to unpack the content of this Any message into the target message type, + if it matches the type URL within this Any message. + + The type of message to attempt to unpack the content into. + true if the message was successfully unpacked; false if the type name didn't match + + + + Packs the specified message into an Any message using a type URL prefix of "type.googleapis.com". + + The message to pack. + An Any message with the content and type URL of . + + + + Packs the specified message into an Any message using the specified type URL prefix. + + The message to pack. + The prefix for the type URL. + An Any message with the content and type URL of . + + + Holder for reflection information generated from google/protobuf/api.proto + + + File descriptor for google/protobuf/api.proto + + + + Api is a light-weight descriptor for an API Interface. + + Interfaces are also described as "protocol buffer services" in some contexts, + such as by the "service" keyword in a .proto file, but they are different + from API Services, which represent a concrete implementation of an interface + as opposed to simply a description of methods and bindings. They are also + sometimes simply referred to as "APIs" in other contexts, such as the name of + this message itself. See https://cloud.google.com/apis/design/glossary for + detailed terminology. + + + + Field number for the "name" field. + + + + The fully qualified name of this interface, including package name + followed by the interface's simple name. + + + + Field number for the "methods" field. + + + + The methods of this interface, in unspecified order. + + + + Field number for the "options" field. + + + + Any metadata attached to the interface. + + + + Field number for the "version" field. + + + + A version string for this interface. If specified, must have the form + `major-version.minor-version`, as in `1.10`. If the minor version is + omitted, it defaults to zero. If the entire version field is empty, the + major version is derived from the package name, as outlined below. If the + field is not empty, the version in the package name will be verified to be + consistent with what is provided here. + + The versioning schema uses [semantic + versioning](http://semver.org) where the major version number + indicates a breaking change and the minor version an additive, + non-breaking change. Both version numbers are signals to users + what to expect from different versions, and should be carefully + chosen based on the product plan. + + The major version is also reflected in the package name of the + interface, which must end in `v<major-version>`, as in + `google.feature.v1`. For major versions 0 and 1, the suffix can + be omitted. Zero major versions must only be used for + experimental, non-GA interfaces. + + + + Field number for the "source_context" field. + + + + Source context for the protocol buffer service represented by this + message. + + + + Field number for the "mixins" field. + + + + Included interfaces. See [Mixin][]. + + + + Field number for the "syntax" field. + + + + The source syntax of the service. + + + + + Method represents a method of an API interface. + + + + Field number for the "name" field. + + + + The simple name of this method. + + + + Field number for the "request_type_url" field. + + + + A URL of the input message type. + + + + Field number for the "request_streaming" field. + + + + If true, the request is streamed. + + + + Field number for the "response_type_url" field. + + + + The URL of the output message type. + + + + Field number for the "response_streaming" field. + + + + If true, the response is streamed. + + + + Field number for the "options" field. + + + + Any metadata attached to the method. + + + + Field number for the "syntax" field. + + + + The source syntax of this method. + + + + + Declares an API Interface to be included in this interface. The including + interface must redeclare all the methods from the included interface, but + documentation and options are inherited as follows: + + - If after comment and whitespace stripping, the documentation + string of the redeclared method is empty, it will be inherited + from the original method. + + - Each annotation belonging to the service config (http, + visibility) which is not set in the redeclared method will be + inherited. + + - If an http annotation is inherited, the path pattern will be + modified as follows. Any version prefix will be replaced by the + version of the including interface plus the [root][] path if + specified. + + Example of a simple mixin: + + package google.acl.v1; + service AccessControl { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v1/{resource=**}:getAcl"; + } + } + + package google.storage.v2; + service Storage { + rpc GetAcl(GetAclRequest) returns (Acl); + + // Get a data record. + rpc GetData(GetDataRequest) returns (Data) { + option (google.api.http).get = "/v2/{resource=**}"; + } + } + + Example of a mixin configuration: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + + The mixin construct implies that all methods in `AccessControl` are + also declared with same name and request/response types in + `Storage`. A documentation generator or annotation processor will + see the effective `Storage.GetAcl` method after inheriting + documentation and annotations as follows: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/{resource=**}:getAcl"; + } + ... + } + + Note how the version in the path pattern changed from `v1` to `v2`. + + If the `root` field in the mixin is specified, it should be a + relative path under which inherited HTTP paths are placed. Example: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + root: acls + + This implies the following inherited HTTP annotation: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + } + ... + } + + + + Field number for the "name" field. + + + + The fully qualified name of the interface which is included. + + + + Field number for the "root" field. + + + + If non-empty specifies a path under which inherited HTTP paths + are rooted. + + + + Holder for reflection information generated from google/protobuf/duration.proto + + + File descriptor for google/protobuf/duration.proto + + + + A Duration represents a signed, fixed-length span of time represented + as a count of seconds and fractions of seconds at nanosecond + resolution. It is independent of any calendar and concepts like "day" + or "month". It is related to Timestamp in that the difference between + two Timestamp values is a Duration and it can be added or subtracted + from a Timestamp. Range is approximately +-10,000 years. + + # Examples + + Example 1: Compute Duration from two Timestamps in pseudo code. + + Timestamp start = ...; + Timestamp end = ...; + Duration duration = ...; + + duration.seconds = end.seconds - start.seconds; + duration.nanos = end.nanos - start.nanos; + + if (duration.seconds < 0 && duration.nanos > 0) { + duration.seconds += 1; + duration.nanos -= 1000000000; + } else if (duration.seconds > 0 && duration.nanos < 0) { + duration.seconds -= 1; + duration.nanos += 1000000000; + } + + Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + + Timestamp start = ...; + Duration duration = ...; + Timestamp end = ...; + + end.seconds = start.seconds + duration.seconds; + end.nanos = start.nanos + duration.nanos; + + if (end.nanos < 0) { + end.seconds -= 1; + end.nanos += 1000000000; + } else if (end.nanos >= 1000000000) { + end.seconds += 1; + end.nanos -= 1000000000; + } + + Example 3: Compute Duration from datetime.timedelta in Python. + + td = datetime.timedelta(days=3, minutes=10) + duration = Duration() + duration.FromTimedelta(td) + + # JSON Mapping + + In JSON format, the Duration type is encoded as a string rather than an + object, where the string ends in the suffix "s" (indicating seconds) and + is preceded by the number of seconds, with nanoseconds expressed as + fractional seconds. For example, 3 seconds with 0 nanoseconds should be + encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + microsecond should be expressed in JSON format as "3.000001s". + + + + Field number for the "seconds" field. + + + + Signed seconds of the span of time. Must be from -315,576,000,000 + to +315,576,000,000 inclusive. Note: these bounds are computed from: + 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + + + + Field number for the "nanos" field. + + + + Signed fractions of a second at nanosecond resolution of the span + of time. Durations less than one second are represented with a 0 + `seconds` field and a positive or negative `nanos` field. For durations + of one second or more, a non-zero value for the `nanos` field must be + of the same sign as the `seconds` field. Must be from -999,999,999 + to +999,999,999 inclusive. + + + + + The number of nanoseconds in a second. + + + + + The number of nanoseconds in a BCL tick (as used by and ). + + + + + The maximum permitted number of seconds. + + + + + The minimum permitted number of seconds. + + + + + Converts this to a . + + If the duration is not a precise number of ticks, it is truncated towards 0. + The value of this duration, as a TimeSpan. + This value isn't a valid normalized duration, as + described in the documentation. + + + + Converts the given to a . + + The TimeSpan to convert. + The value of the given TimeSpan, as a Duration. + + + + Returns the result of negating the duration. For example, the negation of 5 minutes is -5 minutes. + + The duration to negate. Must not be null. + The negated value of this duration. + + + + Adds the two specified values together. + + The first value to add. Must not be null. + The second value to add. Must not be null. + + + + + Subtracts one from another. + + The duration to subtract from. Must not be null. + The duration to subtract. Must not be null. + The difference between the two specified durations. + + + + Creates a duration with the normalized values from the given number of seconds and + nanoseconds, conforming with the description in the proto file. + + + + + Converts a duration specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in duration.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Appends a number of nanoseconds to a StringBuilder. Either 0 digits are added (in which + case no "." is appended), or 3 6 or 9 digits. This is internal for use in Timestamp as well + as Duration. + + + + Holder for reflection information generated from google/protobuf/empty.proto + + + File descriptor for google/protobuf/empty.proto + + + + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the request + or the response type of an API method. For instance: + + service Foo { + rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + } + + The JSON representation for `Empty` is empty JSON object `{}`. + + + + Holder for reflection information generated from google/protobuf/field_mask.proto + + + File descriptor for google/protobuf/field_mask.proto + + + + `FieldMask` represents a set of symbolic field paths, for example: + + paths: "f.a" + paths: "f.b.d" + + Here `f` represents a field in some root message, `a` and `b` + fields in the message found in `f`, and `d` a field found in the + message in `f.b`. + + Field masks are used to specify a subset of fields that should be + returned by a get operation or modified by an update operation. + Field masks also have a custom JSON encoding (see below). + + # Field Masks in Projections + + When used in the context of a projection, a response message or + sub-message is filtered by the API to only contain those fields as + specified in the mask. For example, if the mask in the previous + example is applied to a response message as follows: + + f { + a : 22 + b { + d : 1 + x : 2 + } + y : 13 + } + z: 8 + + The result will not contain specific values for fields x,y and z + (their value will be set to the default, and omitted in proto text + output): + + f { + a : 22 + b { + d : 1 + } + } + + A repeated field is not allowed except at the last position of a + paths string. + + If a FieldMask object is not present in a get operation, the + operation applies to all fields (as if a FieldMask of all fields + had been specified). + + Note that a field mask does not necessarily apply to the + top-level response message. In case of a REST get operation, the + field mask applies directly to the response, but in case of a REST + list operation, the mask instead applies to each individual message + in the returned resource list. In case of a REST custom method, + other definitions may be used. Where the mask applies will be + clearly documented together with its declaration in the API. In + any case, the effect on the returned resource/resources is required + behavior for APIs. + + # Field Masks in Update Operations + + A field mask in update operations specifies which fields of the + targeted resource are going to be updated. The API is required + to only change the values of the fields as specified in the mask + and leave the others untouched. If a resource is passed in to + describe the updated values, the API ignores the values of all + fields not covered by the mask. + + If a repeated field is specified for an update operation, new values will + be appended to the existing repeated field in the target resource. Note that + a repeated field is only allowed in the last position of a `paths` string. + + If a sub-message is specified in the last position of the field mask for an + update operation, then new value will be merged into the existing sub-message + in the target resource. + + For example, given the target message: + + f { + b { + d: 1 + x: 2 + } + c: [1] + } + + And an update message: + + f { + b { + d: 10 + } + c: [2] + } + + then if the field mask is: + + paths: ["f.b", "f.c"] + + then the result will be: + + f { + b { + d: 10 + x: 2 + } + c: [1, 2] + } + + An implementation may provide options to override this default behavior for + repeated and message fields. + + In order to reset a field's value to the default, the field must + be in the mask and set to the default value in the provided resource. + Hence, in order to reset all fields of a resource, provide a default + instance of the resource and set all fields in the mask, or do + not provide a mask as described below. + + If a field mask is not present on update, the operation applies to + all fields (as if a field mask of all fields has been specified). + Note that in the presence of schema evolution, this may mean that + fields the client does not know and has therefore not filled into + the request will be reset to their default. If this is unwanted + behavior, a specific service may require a client to always specify + a field mask, producing an error if not. + + As with get operations, the location of the resource which + describes the updated values in the request message depends on the + operation kind. In any case, the effect of the field mask is + required to be honored by the API. + + ## Considerations for HTTP REST + + The HTTP kind of an update operation which uses a field mask must + be set to PATCH instead of PUT in order to satisfy HTTP semantics + (PUT must only be used for full updates). + + # JSON Encoding of Field Masks + + In JSON, a field mask is encoded as a single string where paths are + separated by a comma. Fields name in each path are converted + to/from lower-camel naming conventions. + + As an example, consider the following message declarations: + + message Profile { + User user = 1; + Photo photo = 2; + } + message User { + string display_name = 1; + string address = 2; + } + + In proto a field mask for `Profile` may look as such: + + mask { + paths: "user.display_name" + paths: "photo" + } + + In JSON, the same mask is represented as below: + + { + mask: "user.displayName,photo" + } + + # Field Masks and Oneof Fields + + Field masks treat fields in oneofs just as regular fields. Consider the + following message: + + message SampleMessage { + oneof test_oneof { + string name = 4; + SubMessage sub_message = 9; + } + } + + The field mask can be: + + mask { + paths: "name" + } + + Or: + + mask { + paths: "sub_message" + } + + Note that oneof type names ("test_oneof" in this case) cannot be used in + paths. + + ## Field Mask Verification + + The implementation of any API method which has a FieldMask type field in the + request should verify the included field paths, and return an + `INVALID_ARGUMENT` error if any path is unmappable. + + + + Field number for the "paths" field. + + + + The set of field mask paths. + + + + + Converts a field mask specified by paths to a string. + + + If the value is a normalized duration in the range described in field_mask.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Paths in the field mask + Determines the handling of non-normalized values + The represented field mask is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Parses from a string to a FieldMask. + + + + + Parses from a string to a FieldMask and validates all field paths. + + The type to validate the field paths against. + + + + Constructs a FieldMask for a list of field paths in a certain type. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Checks whether the given path is valid for a field mask. + + true if the path is valid; false otherwise + + + + Checks whether paths in a given fields mask are valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Checks whether a given field path is valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Converts this FieldMask to its canonical form. In the canonical form of a + FieldMask, all field paths are sorted alphabetically and redundant field + paths are removed. + + + + + Creates a union of two or more FieldMasks. + + + + + Calculates the intersection of two FieldMasks. + + + + + Merges fields specified by this FieldMask from one message to another with the + specified merge options. + + + + + Merges fields specified by this FieldMask from one message to another. + + + + + Options to customize merging behavior. + + + + + Whether to replace message fields(i.e., discard existing content in + destination message fields) when merging. + Default behavior is to merge the source message field into the + destination message field. + + + + + Whether to replace repeated fields (i.e., discard existing content in + destination repeated fields) when merging. + Default behavior is to append elements from source repeated field to the + destination repeated field. + + + + + Whether to replace primitive (non-repeated and non-message) fields in + destination message fields with the source primitive fields (i.e., if the + field is set in the source, the value is copied to the + destination; if the field is unset in the source, the field is cleared + from the destination) when merging. + + Default behavior is to always set the value of the source primitive + field to the destination primitive field, and if the source field is + unset, the default value of the source field is copied to the + destination. + + + + Holder for reflection information generated from google/protobuf/source_context.proto + + + File descriptor for google/protobuf/source_context.proto + + + + `SourceContext` represents information about the source of a + protobuf element, like the file in which it is defined. + + + + Field number for the "file_name" field. + + + + The path-qualified name of the .proto file that contained the associated + protobuf element. For example: `"google/protobuf/source_context.proto"`. + + + + Holder for reflection information generated from google/protobuf/struct.proto + + + File descriptor for google/protobuf/struct.proto + + + + `NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. + + The JSON representation for `NullValue` is JSON `null`. + + + + + Null value. + + + + + `Struct` represents a structured data value, consisting of fields + which map to dynamically typed values. In some languages, `Struct` + might be supported by a native representation. For example, in + scripting languages like JS a struct is represented as an + object. The details of that representation are described together + with the proto support for the language. + + The JSON representation for `Struct` is JSON object. + + + + Field number for the "fields" field. + + + + Unordered map of dynamically typed values. + + + + + `Value` represents a dynamically typed value which can be either + null, a number, a string, a boolean, a recursive struct value, or a + list of values. A producer of value is expected to set one of that + variants, absence of any variant indicates an error. + + The JSON representation for `Value` is JSON value. + + + + Field number for the "null_value" field. + + + + Represents a null value. + + + + Field number for the "number_value" field. + + + + Represents a double value. + + + + Field number for the "string_value" field. + + + + Represents a string value. + + + + Field number for the "bool_value" field. + + + + Represents a boolean value. + + + + Field number for the "struct_value" field. + + + + Represents a structured value. + + + + Field number for the "list_value" field. + + + + Represents a repeated `Value`. + + + + Enum of possible cases for the "kind" oneof. + + + + Convenience method to create a Value message with a string value. + + Value to set for the StringValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a number value. + + Value to set for the NumberValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a Boolean value. + + Value to set for the BoolValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a null initial value. + + A newly-created Value message a null initial value. + + + + Convenience method to create a Value message with an initial list of values. + + The values provided are not cloned; the references are copied directly. + A newly-created Value message an initial list value. + + + + Convenience method to create a Value message with an initial struct value + + The value provided is not cloned; the reference is copied directly. + A newly-created Value message an initial struct value. + + + + `ListValue` is a wrapper around a repeated field of values. + + The JSON representation for `ListValue` is JSON array. + + + + Field number for the "values" field. + + + + Repeated field of dynamically typed values. + + + + + Extension methods on BCL time-related types, converting to protobuf types. + + + + + Converts the given to a . + + The date and time to convert to a timestamp. + The value has a other than Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts the given to a . + + The time span to convert. + The converted duration. + + + Holder for reflection information generated from google/protobuf/timestamp.proto + + + File descriptor for google/protobuf/timestamp.proto + + + + A Timestamp represents a point in time independent of any time zone or local + calendar, encoded as a count of seconds and fractions of seconds at + nanosecond resolution. The count is relative to an epoch at UTC midnight on + January 1, 1970, in the proleptic Gregorian calendar which extends the + Gregorian calendar backwards to year one. + + All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + second table is needed for interpretation, using a [24-hour linear + smear](https://developers.google.com/time/smear). + + The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + restricting to that range, we ensure that we can convert to and from [RFC + 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + + # Examples + + Example 1: Compute Timestamp from POSIX `time()`. + + Timestamp timestamp; + timestamp.set_seconds(time(NULL)); + timestamp.set_nanos(0); + + Example 2: Compute Timestamp from POSIX `gettimeofday()`. + + struct timeval tv; + gettimeofday(&tv, NULL); + + Timestamp timestamp; + timestamp.set_seconds(tv.tv_sec); + timestamp.set_nanos(tv.tv_usec * 1000); + + Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + + FILETIME ft; + GetSystemTimeAsFileTime(&ft); + UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + + // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + Timestamp timestamp; + timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + + Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + + long millis = System.currentTimeMillis(); + + Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + .setNanos((int) ((millis % 1000) * 1000000)).build(); + + Example 5: Compute Timestamp from Java `Instant.now()`. + + Instant now = Instant.now(); + + Timestamp timestamp = + Timestamp.newBuilder().setSeconds(now.getEpochSecond()) + .setNanos(now.getNano()).build(); + + Example 6: Compute Timestamp from current time in Python. + + timestamp = Timestamp() + timestamp.GetCurrentTime() + + # JSON Mapping + + In JSON format, the Timestamp type is encoded as a string in the + [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + where {year} is always expressed using four digits while {month}, {day}, + {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + is required. A proto3 JSON serializer should always use UTC (as indicated by + "Z") when printing the Timestamp type and a proto3 JSON parser should be + able to accept both UTC and other timezones (as indicated by an offset). + + For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + 01:30 UTC on January 15, 2017. + + In JavaScript, one can convert a Date object to this format using the + standard + [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + method. In Python, a standard `datetime.datetime` object can be converted + to this format using + [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + the Joda Time's [`ISODateTimeFormat.dateTime()`]( + http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D + ) to obtain a formatter capable of generating timestamps in this format. + + + + Field number for the "seconds" field. + + + + Represents seconds of UTC time since Unix epoch + 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + 9999-12-31T23:59:59Z inclusive. + + + + Field number for the "nanos" field. + + + + Non-negative fractions of a second at nanosecond resolution. Negative + second values with fractions must still have non-negative nanos values + that count forward in time. Must be from 0 to 999,999,999 + inclusive. + + + + + Returns the difference between one and another, as a . + + The timestamp to subtract from. Must not be null. + The timestamp to subtract. Must not be null. + The difference between the two specified timestamps. + + + + Adds a to a , to obtain another Timestamp. + + The timestamp to add the duration to. Must not be null. + The duration to add. Must not be null. + The result of adding the duration to the timestamp. + + + + Subtracts a from a , to obtain another Timestamp. + + The timestamp to subtract the duration from. Must not be null. + The duration to subtract. + The result of subtracting the duration from the timestamp. + + + + Converts this timestamp into a . + + + The resulting DateTime will always have a Kind of Utc. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTime. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts this timestamp into a . + + + The resulting DateTimeOffset will always have an Offset of zero. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTimeOffset. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts the specified to a . + + + The Kind of is not DateTimeKind.Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts a timestamp specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in timestamp.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Given another timestamp, returns 0 if the timestamps are equivalent, -1 if this timestamp precedes the other, and 1 otherwise + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + Timestamp to compare + an integer indicating whether this timestamp precedes or follows the other + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Returns whether two timestamps are equivalent + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps refer to the same nanosecond + + + + Returns whether two timestamps differ + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps differ + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + Holder for reflection information generated from google/protobuf/type.proto + + + File descriptor for google/protobuf/type.proto + + + + The syntax in which a protocol buffer element is defined. + + + + + Syntax `proto2`. + + + + + Syntax `proto3`. + + + + + A protocol buffer message type. + + + + Field number for the "name" field. + + + + The fully qualified message name. + + + + Field number for the "fields" field. + + + + The list of fields. + + + + Field number for the "oneofs" field. + + + + The list of types appearing in `oneof` definitions in this type. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + A single field of a message type. + + + + Field number for the "kind" field. + + + + The field type. + + + + Field number for the "cardinality" field. + + + + The field cardinality. + + + + Field number for the "number" field. + + + + The field number. + + + + Field number for the "name" field. + + + + The field name. + + + + Field number for the "type_url" field. + + + + The field type URL, without the scheme, for message or enumeration + types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + + + + Field number for the "oneof_index" field. + + + + The index of the field type in `Type.oneofs`, for message or enumeration + types. The first type has index 1; zero means the type is not in the list. + + + + Field number for the "packed" field. + + + + Whether to use alternative packed wire representation. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "json_name" field. + + + + The field JSON name. + + + + Field number for the "default_value" field. + + + + The string value of the default value of this field. Proto2 syntax only. + + + + Container for nested types declared in the Field message type. + + + + Basic field types. + + + + + Field type unknown. + + + + + Field type double. + + + + + Field type float. + + + + + Field type int64. + + + + + Field type uint64. + + + + + Field type int32. + + + + + Field type fixed64. + + + + + Field type fixed32. + + + + + Field type bool. + + + + + Field type string. + + + + + Field type group. Proto2 syntax only, and deprecated. + + + + + Field type message. + + + + + Field type bytes. + + + + + Field type uint32. + + + + + Field type enum. + + + + + Field type sfixed32. + + + + + Field type sfixed64. + + + + + Field type sint32. + + + + + Field type sint64. + + + + + Whether a field is optional, required, or repeated. + + + + + For fields with unknown cardinality. + + + + + For optional fields. + + + + + For required fields. Proto2 syntax only. + + + + + For repeated fields. + + + + + Enum type definition. + + + + Field number for the "name" field. + + + + Enum type name. + + + + Field number for the "enumvalue" field. + + + + Enum value definitions. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + Enum value definition. + + + + Field number for the "name" field. + + + + Enum value name. + + + + Field number for the "number" field. + + + + Enum value number. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + + A protocol buffer option, which can be attached to a message, field, + enumeration, etc. + + + + Field number for the "name" field. + + + + The option's name. For protobuf built-in options (options defined in + descriptor.proto), this is the short name. For example, `"map_entry"`. + For custom options, it should be the fully-qualified name. For example, + `"google.api.http"`. + + + + Field number for the "value" field. + + + + The option's value packed in an Any message. If the value is a primitive, + the corresponding wrapper type defined in google/protobuf/wrappers.proto + should be used. If the value is an enum, it should be stored as an int32 + value using the google.protobuf.Int32Value type. + + + + Holder for reflection information generated from google/protobuf/wrappers.proto + + + File descriptor for google/protobuf/wrappers.proto + + + + Field number for the single "value" field in all wrapper types. + + + + + Wrapper message for `double`. + + The JSON representation for `DoubleValue` is JSON number. + + + + Field number for the "value" field. + + + + The double value. + + + + + Wrapper message for `float`. + + The JSON representation for `FloatValue` is JSON number. + + + + Field number for the "value" field. + + + + The float value. + + + + + Wrapper message for `int64`. + + The JSON representation for `Int64Value` is JSON string. + + + + Field number for the "value" field. + + + + The int64 value. + + + + + Wrapper message for `uint64`. + + The JSON representation for `UInt64Value` is JSON string. + + + + Field number for the "value" field. + + + + The uint64 value. + + + + + Wrapper message for `int32`. + + The JSON representation for `Int32Value` is JSON number. + + + + Field number for the "value" field. + + + + The int32 value. + + + + + Wrapper message for `uint32`. + + The JSON representation for `UInt32Value` is JSON number. + + + + Field number for the "value" field. + + + + The uint32 value. + + + + + Wrapper message for `bool`. + + The JSON representation for `BoolValue` is JSON `true` and `false`. + + + + Field number for the "value" field. + + + + The bool value. + + + + + Wrapper message for `string`. + + The JSON representation for `StringValue` is JSON string. + + + + Field number for the "value" field. + + + + The string value. + + + + + Wrapper message for `bytes`. + + The JSON representation for `BytesValue` is JSON string. + + + + Field number for the "value" field. + + + + The bytes value. + + + + + This class is used internally by the Protocol Buffer Library and generated + message implementations. It is public only for the sake of those generated + messages. Others should not use this class directly. + + This class contains constants and helper functions useful for dealing with + the Protocol Buffer wire format. + + + + + + Wire types within protobuf encoding. + + + + + Variable-length integer. + + + + + A fixed-length 64-bit value. + + + + + A length-delimited value, i.e. a length followed by that many bytes of data. + + + + + A "start group" value + + + + + An "end group" value + + + + + A fixed-length 32-bit value. + + + + + Given a tag value, determines the wire type (lower 3 bits). + + + + + Given a tag value, determines the field number (the upper 29 bits). + + + + + Makes a tag value given a field number and wire type. + + + + + Abstraction for writing to a steam / IBufferWriter + + + + + Initialize an instance with a coded output stream. + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. + + + + + Initialize an instance with a buffer writer. + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. + + + + + Initialize an instance with a buffer represented by a single span (i.e. buffer cannot be refreshed) + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. + + + + + Verifies that SpaceLeft returns zero. + + + + + If writing to a flat array, returns the space left in the array. Otherwise, + throws an InvalidOperationException. + + + + + An opaque struct that represents the current serialization state and is passed along + as the serialization proceeds. + All the public methods are intended to be invoked only by the generated code, + users should never invoke them directly. + + + + + Creates a WriteContext instance from CodedOutputStream. + WARNING: internally this copies the CodedOutputStream's state, so after done with the WriteContext, + the CodedOutputStream's state needs to be updated. + + + + + Writes a double field value, without a tag. + + The value to write + + + + Writes a float field value, without a tag. + + The value to write + + + + Writes a uint64 field value, without a tag. + + The value to write + + + + Writes an int64 field value, without a tag. + + The value to write + + + + Writes an int32 field value, without a tag. + + The value to write + + + + Writes a fixed64 field value, without a tag. + + The value to write + + + + Writes a fixed32 field value, without a tag. + + The value to write + + + + Writes a bool field value, without a tag. + + The value to write + + + + Writes a string field value, without a tag. + The data is length-prefixed. + + The value to write + + + + Writes a message, without a tag. + The data is length-prefixed. + + The value to write + + + + Writes a group, without a tag, to the stream. + + The value to write + + + + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a uint32 value, without a tag. + + The value to write + + + + Writes an enum value, without a tag. + + The value to write + + + + Writes an sfixed32 value, without a tag. + + The value to write. + + + + Writes an sfixed64 value, without a tag. + + The value to write + + + + Writes an sint32 value, without a tag. + + The value to write + + + + Writes an sint64 value, without a tag. + + The value to write + + + + Writes a length (in bytes) for length-delimited data. + + + This method simply writes a rawint, but exists for clarity in calling code. + + Length value, in bytes. + + + + Encodes and writes a tag. + + The number of the field to write the tag for + The wire format type of the tag to write + + + + Writes an already-encoded tag. + + The encoded tag + + + + Writes the given single-byte tag. + + The encoded tag + + + + Writes the given two-byte tag. + + The first byte of the encoded tag + The second byte of the encoded tag + + + + Writes the given three-byte tag. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + + + + Writes the given four-byte tag. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + + + + Writes the given five-byte tag. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + The fifth byte of the encoded tag + + + + Primitives for encoding protobuf wire format. + + + + + Writes a double field value, without a tag, to the stream. + + + + + Writes a float field value, without a tag, to the stream. + + + + + Writes a uint64 field value, without a tag, to the stream. + + + + + Writes an int64 field value, without a tag, to the stream. + + + + + Writes an int32 field value, without a tag, to the stream. + + + + + Writes a fixed64 field value, without a tag, to the stream. + + + + + Writes a fixed32 field value, without a tag, to the stream. + + + + + Writes a bool field value, without a tag, to the stream. + + + + + Writes a string field value, without a tag, to the stream. + The data is length-prefixed. + + + + + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + + + + + Writes a uint32 value, without a tag, to the stream. + + + + + Writes an enum value, without a tag, to the stream. + + + + + Writes an sfixed32 value, without a tag, to the stream. + + + + + Writes an sfixed64 value, without a tag, to the stream. + + + + + Writes an sint32 value, without a tag, to the stream. + + + + + Writes an sint64 value, without a tag, to the stream. + + + + + Writes a length (in bytes) for length-delimited data. + + + This method simply writes a rawint, but exists for clarity in calling code. + + + + + Writes a 32 bit value as a varint. The fast route is taken when + there's enough buffer space left to whizz through without checking + for each byte; otherwise, we resort to calling WriteRawByte each time. + + + + + Writes out an array of bytes. + + + + + Writes out part of an array of bytes. + + + + + Writes out part of an array of bytes. + + + + + Encodes and writes a tag. + + + + + Writes an already-encoded tag. + + + + + Writes the given single-byte tag directly to the stream. + + + + + Writes the given two-byte tag directly to the stream. + + + + + Writes the given three-byte tag directly to the stream. + + + + + Writes the given four-byte tag directly to the stream. + + + + + Writes the given five-byte tag directly to the stream. + + + + + Encode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Encode a 64-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Writing messages / groups. + + + + + Writes a message, without a tag. + The data is length-prefixed. + + + + + Writes a group, without a tag. + + + + + Writes a message, without a tag. + Message will be written without a length prefix. + + +
+
diff --git a/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45/Google.Protobuf.xml.meta b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45/Google.Protobuf.xml.meta new file mode 100644 index 0000000..7c49a00 --- /dev/null +++ b/Unity-Files/Assets/Packages/Google.Protobuf.3.14.0/lib/net45/Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: dbc7465fcb425f147b2bc84b2ad36200 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6.meta b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6.meta new file mode 100644 index 0000000..8df00ef --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a58fca2f22c45ec46a2a59d51e11ec22 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/.signature.p7s b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/.signature.p7s new file mode 100644 index 0000000..e448abb Binary files /dev/null and b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/.signature.p7s differ diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/K4os.Compression.LZ4.1.2.6.nupkg b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/K4os.Compression.LZ4.1.2.6.nupkg new file mode 100644 index 0000000..9e71a95 Binary files /dev/null and b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/K4os.Compression.LZ4.1.2.6.nupkg differ diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/K4os.Compression.LZ4.1.2.6.nupkg.meta b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/K4os.Compression.LZ4.1.2.6.nupkg.meta new file mode 100644 index 0000000..6d34135 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/K4os.Compression.LZ4.1.2.6.nupkg.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 944df4f05caee1d4b802c3a56fd5f6d6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib.meta b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib.meta new file mode 100644 index 0000000..9d420e0 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e3df19b793c7de34c9427677fc494b3b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46.meta b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46.meta new file mode 100644 index 0000000..bbcdf68 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5ce6a1307cb020c408fd8142de455938 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46/K4os.Compression.LZ4.dll b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46/K4os.Compression.LZ4.dll new file mode 100644 index 0000000..576c623 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46/K4os.Compression.LZ4.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec7bab574e66ba7dbecf5fb0131c5f828901c4d13f2c1178e275d611a3fab12e +size 60416 diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46/K4os.Compression.LZ4.dll.meta b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46/K4os.Compression.LZ4.dll.meta new file mode 100644 index 0000000..63c91c4 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46/K4os.Compression.LZ4.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: f87b57c776f339449a170da201d5d0fe +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46/K4os.Compression.LZ4.xml b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46/K4os.Compression.LZ4.xml new file mode 100644 index 0000000..2af718c --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46/K4os.Compression.LZ4.xml @@ -0,0 +1,1042 @@ + + + + K4os.Compression.LZ4 + + + + + Action performed by encoder using FlushAndEncode method. + + + + Nothing has happened, most likely loading 0 bytes. + + + Some bytes has been loaded into encoder. + + + Compression was not possible so bytes has been copied. + + + Compression succeeded. + + + + Interface of LZ4 decoder used by LZ4 streams. + + + + Block size. + + + Bytes already decoded and available to be read. + Always smaller than + + + + Decodes previously compressed block and caches decompressed block in decoder. + Returns number of bytes decoded. These bytes can be read with . + + Points to compressed block. + Length of compressed block. + Size of the block. Value 0 indicates default block size. + Number of decoded bytes. + + + + Inject already decompressed block and caches it in decoder. + Used with uncompressed-yet-chained blocks and pre-made dictionaries. + These bytes can be read with . + + Points to uncompressed block. + Length of uncompressed block. + Number of decoded bytes. + + + + Reads previously decoded bytes. Please note, should be + negative number, pointing to bytes before current head. + + Buffer to write to. + Offset in source buffer relatively to current head. + Please note, it should be negative value. + Number of bytes to read. + + + + Interface of LZ4 encoder used by LZ4 streams. + + + + Block size. + + + Number of bytes read for compression. + Always smaller than + + + Adds bytes to internal buffer. Increases + Source buffer. + Source buffer length. + Number of bytes topped up. If this function returns 0 it means that buffer + is full ( equals ) and + should be called to flush it. + + + + Encodes bytes in internal buffer (see: , ). + If is true then if encoded buffer is bigger than + source buffer source bytes are copied instead. In such case returned length is negative. + + Target buffer. + Target buffer length. + Indicates if copying is allowed. + Length of encoded buffer. Negative if bytes are just copied. + + + + LZ4 decoder used with independent blocks mode. Plase note, that it will fail + if input data has been compressed with chained blocks + ( and ) + + + + + + + + + + Creates new instance of block decoder. + Block size. Must be equal or greater to one used for compression. + + + + + + + + + + + + + + + + Independent block encoder. Produces larger files but uses less memory and + gives better performance. + + + + Creates new instance of + Compression level. + Block size. + + + + + + + + + LZ4 decoder handling dependent blocks. + + + Creates new instance of . + Block size. + Number of extra blocks. + + + + + + + + + + + + + + + + + + + + + + Static class with factory methods to create LZ4 decoders. + + + + Creates appropriate decoder for given parameters. + Dependent blocks. + Block size. + Number of extra blocks. + LZ4 decoder. + + + + Static class with factory method to create LZ4 encoders. + + + + Creates appropriate decoder for given parameters. + Dependent blocks. + Compression level. + Block size. + Number of extra blocks. + LZ4 encoder. + + + + Base class for LZ4 encoders. Provides basic functionality shared by + , , + and encoders. Do not used directly. + + + + Creates new instance of encoder. + Needs to be true if using dependent blocks. + Block size. + Number of extra blocks. + + + + + + + + + + + + + + + Encodes single block using appropriate algorithm. + Source buffer. + Source buffer length. + Target buffer. + Target buffer length. + Number of bytes actually written to target buffer. + + + Copies current dictionary. + Target buffer. + Dictionary length. + Dictionary length. + + + + + + + Functionality of encoders added on top of fixed interface. + + + + Tops encoder up with some data. + Encoder. + Buffer pointer, will be shifted after operation by the number of + bytes actually loaded. + Length of buffer. + true if buffer was topped up, false if no bytes were loaded. + + + Tops encoder up with some data. + Encoder. + Buffer. + Buffer offset. + Length of buffer. + Number of bytes actually loaded. + + + Tops encoder up with some data. + Encoder. + Buffer. + Buffer offset, will be increased after operation by the number + of bytes actually loaded. + Length of buffer. + true if buffer was topped up, false if no bytes were loaded. + + + Encodes all bytes currently stored in encoder into target buffer. + Encoder. + Target buffer. + Offset in target buffer. + Length of target buffer. + if true copying bytes is allowed. + Number of bytes encoder. If bytes were copied than this value is negative. + + + Encodes all bytes currently stored in encoder into target buffer. + Encoder. + Target buffer. + Offset in target buffer. Will be updated after operation. + Length of target buffer. + if true copying bytes is allowed. + Result of this action. Bytes can be Copied (), + Encoded () or nothing could have + happened (). + + + Encodes all bytes currently stored in encoder into target buffer. + Encoder. + Target buffer. Will be updated after operation. + Length of buffer. + if true copying bytes is allowed. + Result of this action. Bytes can be Copied (), + Encoded () or nothing could have + happened (). + + + Tops encoder and encodes content. + Encoder. + Source buffer (used to top up from). + Source buffer length. + Target buffer (used to encode into) + Target buffer length. + Forces encoding even if encoder is not full. + Allows to copy bytes if compression was not possible. + Number of bytes loaded (topped up) + Number if bytes encoded or copied. + Value is 0 if no encoding was done. + Action performed. + + + Tops encoder and encodes content. + Encoder. + Source buffer (used to top up from). + Offset within source buffer. + Source buffer length. + Target buffer (used to encode into) + Offset within target buffer. + Target buffer length. + Forces encoding even if encoder is not full. + Allows to copy bytes if compression was not possible. + Number of bytes loaded (topped up) + Number if bytes encoded or copied. + Value is 0 if no encoding was done. + Action performed. + + + Tops encoder and encodes content. + Encoder. + Source buffer (used to top up from). + Target buffer (used to encode into) + Forces encoding even if encoder is not full. + Allows to copy bytes if compression was not possible. + Number of bytes loaded (topped up) + Number if bytes encoded or copied. + Value is 0 if no encoding was done. + Action performed. + + + Encoded remaining bytes in encoder. + Encoder. + Target buffer. + Target buffer length. + Allows to copy bytes if compression was not possible. + Number if bytes encoded or copied. + Value is 0 if no encoding was done. + Action performed. + + + Encoded remaining bytes in encoder. + Encoder. + Target buffer. + Offset within target buffer. + Target buffer length. + Allows to copy bytes if compression was not possible. + Number if bytes encoded or copied. + Value is 0 if no encoding was done. + Action performed. + + + Encoded remaining bytes in encoder. + Encoder. + Target buffer. + Allows to copy bytes if compression was not possible. + Number if bytes encoded or copied. + Value is 0 if no encoding was done. + Action performed. + + + Drains decoder by reading all bytes which are ready. + Decoder. + Target buffer. + Offset within target buffer. + Offset in decoder relatively to decoder's head. + Please note, it should be negative value. + Number of bytes. + + + Drains decoder by reading all bytes which are ready. + Decoder. + Target buffer. + Offset in decoder relatively to decoder's head. + Please note, it should be negative value. + Number of bytes. + + + Decodes data and immediately drains it into target buffer. + Decoder. + Source buffer (with compressed data, to be decoded). + Source buffer length. + Target buffer (to drained into). + Target buffer length. + Number of bytes actually decoded. + true decoder was drained, false otherwise. + + + Decodes data and immediately drains it into target buffer. + Decoder. + Source buffer (with compressed data, to be decoded). + Offset within source buffer. + Source buffer length. + Target buffer (to drained into). + Offset within target buffer. + Target buffer length. + Number of bytes actually decoded. + true decoder was drained, false otherwise. + + + Decodes data and immediately drains it into target buffer. + Decoder. + Source buffer (with compressed data, to be decoded). + Target buffer (to drained into). + Number of bytes actually decoded. + true decoder was drained, false otherwise. + + + + Inject already decompressed block and caches it in decoder. + Used with uncompressed-yet-chained blocks and pre-made dictionaries. + See . + + Decoder. + Uncompressed block. + Offset in uncompressed block. + Length of uncompressed block. + Number of decoded bytes. + + + + Decodes previously compressed block and caches decompressed block in decoder. + Returns number of bytes decoded. + See . + + Decoder. + Compressed block. + Offset in compressed block. + Length of compressed block. + Size of the block. Value 0 indicates default block size. + Number of decoded bytes. + + + + LZ4 encoder using dependent blocks with fast compression. + + + + Creates new instance of + Block size. + Number of extra blocks. + + + + + + + + + + + + + LZ4 encoder using dependent blocks with high compression. + + + + Creates new instance of + Compression level. + Block size. + Number of extra blocks. + + + + + + + + + + + + Algorithm selection. + + + Intel and ARMv7 version of 32 bit algorithm. + + + Intel version of 64 bit algorithm. + + + Checks what algorithm should be used (32 vs 64 bit). + + + + Existence of this class is an admission of failure. + I failed to export internals to test assemblies. + Using InternalsVisibleTo work, of course, but with signing (which was requested + in https://github.com/MiloszKrajewski/K4os.Compression.LZ4/issues/9) it is + absolute PITA. So no, I'm not using InternalsVisibleTo I will just expose this + little class with some "redirects" to real internals. + + + + Pubternal wrapper for LZ4_stream_t. + + + Creates new instance of wrapper for LZ4_stream_t. + + + + + + + Compresses chunk of data using LZ4_compress_fast_continue. + + Wrapper for LZ4_stream_t + Source block address. + Target block address. + Source block length. + Target block length. + Acceleration. + Number of bytes actually written to target. + + + Utility class with memory related functions. + + + 1 KiB + + + 2 KiB + + + 4 KiB + + + 8 KiB + + + 16 KiB + + + 32 KiB + + + 64 KiB + + + 128 KiB + + + 256 KiB + + + 512 KiB + + + 1 MiB + + + 4 MiB + + + Empty byte array. + + + Checks if process is ran in 32-bit mode. + + + Rounds integer value up to nearest multiple of step. + A value. + A step. + Value rounded up. + + + + Copies memory block for to . + + The target block address. + The source block address. + Length in bytes. + + + + Fills memory block with predefined . + + The target block address. + Value to be used. + Length in bytes. + + + + Copies memory block for to . + + The target block address. + The source block address. + Length in bytes. + + + + Copies memory block for to . + It handle "move" semantic properly handling overlapping blocks properly. + + The target block address. + The source block address. + Length in bytes. + + + Allocated block of memory. It is NOT initialized with zeroes. + Size in bytes. + Pointer to allocated block. + + + Fill block of memory with zeroes. + Address. + Length. + Original pointer. + + + Fills memory block with repeating pattern of a single byte. + Address. + A pattern. + Length. + Original pointer. + + + Allocates block of memory and fills it with zeroes. + Size in bytes. + Pointer to allocated block. + + + + Free memory allocated previously with . + + + + + Clones managed array to unmanaged one. Allows quicker yet less safe unchecked access. + Input array. + Cloned array. + + + Clones managed array to unmanaged one. Allows quicker yet less safe unchecked access. + Input array. + Cloned array. + + + Reads exactly 1 byte from given address. + Address. + Byte at given address. + + + Writes exactly 1 byte to given address. + Address. + Value. + + + Reads exactly 2 bytes from given address. + Address. + 2 bytes at given address. + + + Writes exactly 2 bytes to given address. + Address. + Value. + + + Reads exactly 4 bytes from given address. + Address. + 4 bytes at given address. + + + Writes exactly 4 bytes to given address. + Address. + Value. + + + Reads exactly 8 bytes from given address. + Address. + 8 bytes at given address. + + + Writes exactly 8 bytes to given address. + Address. + Value. + + + Copies exactly 1 byte from source to target. + Target address. + Source address. + + + Copies exactly 2 bytes from source to target. + Target address. + Source address. + + + Copies exactly 4 bytes from source to target. + Target address. + Source address. + + + Copies exactly 8 bytes from source to target. + Target address. + Source address. + + + + Skeleton for class with unmanaged resources. + Implements but also handles proper release in + case was not called. + + + + Determines if object was already disposed. + + + Throws exception is object has been disposed already. Convenience method. + Thrown if object is already disposed. + + + Method releasing unmanaged resources. + + + Method releasing managed resources. + + + + Disposed resources. + + true if dispose was explicitly called, + false if called from GC. + + + + + + Destructor. + + + Unsafe memory operations. + + + Reads 4 bytes from given address. + Address. + 4 bytes at given address. + + + Writes 4 or 8 bytes to given address. + Address. + Value. + + + Copies exactly 16 bytes from source to target. + Target address. + Source address. + + + Copies exactly 18 bytes from source to target. + Target address. + Source address. + + + + Copies memory block for to + up to (around) . + It does not handle overlapping blocks and may copy up to 8 bytes more than expected. + + The target block address. + The source block address. + The limit (in target block). + + + + Copies memory block for to + up to (around) . + It does not handle overlapping blocks and may copy up to 32 bytes more than expected. + This version copies two times 16 bytes (instead of one time 32 bytes) + because it must be compatible with offsets >= 16. + + The target block address. + The source block address. + The limit (in target block). + + + Unsafe memory operations. + + + Reads exactly 2 bytes from given address. + Address. + 2 bytes at given address. + + + Writes exactly 2 bytes to given address. + Address. + Value. + + + Reads exactly 4 bytes from given address. + Address. + 4 bytes at given address. + + + Writes exactly 4 bytes to given address. + Address. + Value. + + + Copies exactly 1 byte from source to target. + Target address. + Source address. + + + Copies exactly 2 bytes from source to target. + Target address. + Source address. + + + Copies exactly 4 bytes from source to target. + Target address. + Source address. + + + Reads exactly 8 bytes from given address. + Address. + 8 bytes at given address. + + + Writes exactly 8 bytes to given address. + Address. + Value. + + + Copies exactly 8 bytes from source to target. + Target address. + Source address. + + + Reads 8 bytes from given address. + Address. + 8 bytes at given address. + + + Writes 8 bytes to given address. + Address. + Value. + + + Copies exactly 16 bytes from source to target. + Target address. + Source address. + + + Copies exactly 18 bytes from source to target. + Target address. + Source address. + + + + Copies memory block for to + up to (around) . + It does not handle overlapping blocks and may copy up to 8 bytes more than expected. + + The target block address. + The source block address. + The limit (in target block). + + + + Copies memory block for to + up to (around) . + It does not handle overlapping blocks and may copy up to 32 bytes more than expected. + This version copies two times 16 bytes (instead of one time 32 bytes) + because it must be compatible with offsets >= 16. + + The target block address. + The source block address. + The limit (in target block). + + + + Static class exposing LZ4 block compression methods. + + + + Version of LZ4 implementation. + + + + Enforces 32-bit compression/decompression algorithm even on 64-bit systems. + Please note, this property should not be used on regular basis, it just allows + to workaround some problems on platforms which do not support 64-bit the same was + as Intel (for example: unaligned read/writes). + + + + Maximum size after compression. + Length of input buffer. + Maximum length after compression. + + + Compresses data from one buffer into another. + Input buffer. + Length of input buffer. + Output buffer. + Output buffer length. + Compression level. + Number of bytes written, or negative value if output buffer is too small. + + + Compresses data from one buffer into another. + Input buffer. + Output buffer. + Compression level. + Number of bytes written, or negative value if output buffer is too small. + + + Compresses data from one buffer into another. + Input buffer. + Input buffer offset. + Input buffer length. + Output buffer. + Output buffer offset. + Output buffer length. + Compression level. + Number of bytes written, or negative value if output buffer is too small. + + + Decompresses data from given buffer. + Input buffer. + Input buffer length. + Output buffer. + Output buffer length. + Number of bytes written, or negative value if output buffer is too small. + + + Decompresses data from given buffer. + Input buffer. + Output buffer. + Number of bytes written, or negative value if output buffer is too small. + + + Decompresses data from given buffer. + Input buffer. + Input buffer offset. + Input buffer length. + Output buffer. + Output buffer offset. + Output buffer length. + Number of bytes written, or negative value if output buffer is too small. + + + Compression level. + + + Fast compression. + + + High compression, level 3. + + + High compression, level 4. + + + High compression, level 5. + + + High compression, level 6. + + + High compression, level 7. + + + High compression, level 8. + + + High compression, level 9. + + + Optimal compression, level 10. + + + Optimal compression, level 11. + + + Maximum compression, level 12. + + + + Pickling support with LZ4 compression. + + + + Compresses input buffer into self-contained package. + Input buffer. + Compression level. + Output buffer. + + + Compresses input buffer into self-contained package. + Input buffer. + Input buffer offset. + Input buffer length. + Compression level. + Output buffer. + + + Compresses input buffer into self-contained package. + Input buffer. + Compression level. + Output buffer. + + + Compresses input buffer into self-contained package. + Input buffer. + Length of input data. + Compression level. + Output buffer. + + + Decompresses previously pickled buffer (see: . + Input buffer. + Output buffer. + + + Decompresses previously pickled buffer (see: . + Input buffer. + Input buffer offset. + Input buffer length. + Output buffer. + + + Decompresses previously pickled buffer (see: . + Input buffer. + Output buffer. + + + Decompresses previously pickled buffer (see: . + Input buffer. + Input buffer length. + Output buffer. + + + diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46/K4os.Compression.LZ4.xml.meta b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46/K4os.Compression.LZ4.xml.meta new file mode 100644 index 0000000..ca209d6 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.1.2.6/lib/net46/K4os.Compression.LZ4.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3864b8592c7ed264ca46f8f78edf1a51 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6.meta b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6.meta new file mode 100644 index 0000000..ef61a0f --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 86762f4a7c219454b9d4005823efda08 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/.signature.p7s b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/.signature.p7s new file mode 100644 index 0000000..24b861d Binary files /dev/null and b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/.signature.p7s differ diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/K4os.Compression.LZ4.Streams.1.2.6.nupkg b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/K4os.Compression.LZ4.Streams.1.2.6.nupkg new file mode 100644 index 0000000..7100330 Binary files /dev/null and b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/K4os.Compression.LZ4.Streams.1.2.6.nupkg differ diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/K4os.Compression.LZ4.Streams.1.2.6.nupkg.meta b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/K4os.Compression.LZ4.Streams.1.2.6.nupkg.meta new file mode 100644 index 0000000..1a15013 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/K4os.Compression.LZ4.Streams.1.2.6.nupkg.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6f8a02274f384814496629dedefeb368 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib.meta b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib.meta new file mode 100644 index 0000000..457c514 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c89b3815de400894d9ee04f831f8b1d7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46.meta b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46.meta new file mode 100644 index 0000000..999e7b3 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bfc94ebaf36ffc3479bc28784e52bb20 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46/K4os.Compression.LZ4.Streams.dll b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46/K4os.Compression.LZ4.Streams.dll new file mode 100644 index 0000000..6f63675 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46/K4os.Compression.LZ4.Streams.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c3b7384f1d532ba4e11001b75b67f5ae01a2a8e429cbf78161c0f504355be6c +size 33280 diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46/K4os.Compression.LZ4.Streams.dll.meta b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46/K4os.Compression.LZ4.Streams.dll.meta new file mode 100644 index 0000000..7a61a4b --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46/K4os.Compression.LZ4.Streams.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: b9eb68a4c0a6a7647a9ea3be390a8bd0 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46/K4os.Compression.LZ4.Streams.xml b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46/K4os.Compression.LZ4.Streams.xml new file mode 100644 index 0000000..226a9ed --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46/K4os.Compression.LZ4.Streams.xml @@ -0,0 +1,304 @@ + + + + K4os.Compression.LZ4.Streams + + + + + LZ4 Frame descriptor. + + + + Content length. Not always known. + + + Indicates if content checksum is provided. + + + Indicates if blocks are chained (dependent) or not (independent). + + + Indicates if block checksums are provided. + + + Dictionary id. May be null. + + + Block size. + + + + Completely empty class to do nothing. + It is used internally instead of CancellationToken to make sure + blocking operations are easily distinguishable from async ones + (you cannot call blocking operation by accident as they *require* EmptyToken). + + + + + Base class for LZ4 encoder and decoder streams. + Cannot be used on its own it just provides some shared functionality. + + + + + + + + + + + + + + + + + + + + + + Read-only position in the stream. Trying to set it will throw + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + Decoder settings. + + + + Extra memory for decompression. + + + + LZ4 Decompression stream handling. + + + + Creates new instance . + Inner stream. + A function which will create appropriate decoder depending + on frame descriptor. + If true inner stream will not be closed after disposing. + If true reading from stream will be "interactive" allowing + to read bytes as soon as possible, even if more data is expected. + + + + + + + + + + + + + + + + + + + + + + + + + Length of stream. Please note, this will only work if original LZ4 stream has + ContentLength field set in descriptor. Otherwise returned value will be -1. + It will also require synchronous stream access, + so it wont work if AllowSynchronousIO is false. + + + + + Position within the stream. Position can be read, but cannot be set as LZ4 stream does + not have Seek capability. + + + + + LZ4 encoder settings. + + + + + Content length. It is not enforced, it can be set to any value, but it will be + written to the stream so it can be used while decoding. If you don't know the length + just leave default value. + + + + + Indicates if blocks should be chained (dependent) or not (independent). Dependent blocks + (with chaining) provide better compression ratio but are a little but slower and take + more memory. + + + + + Block size. You can use any block size, but default values for LZ4 are 64k, 256k, 1m, + and 4m. 64k is good enough for dependent blocks, but for independent blocks bigger is + better. + + + + Indicates is content checksum is provided. Not implemented yet. + + + Indicates if block checksum is provided. Not implemented yet. + + + Dictionary id. Not implemented yet. + + + Compression level. + + + Extra memory (for the process, more is usually better). + + + + LZ4 compression stream. + + + LZ4 compression stream. + + + + Creates new instance of . + Inner stream. + LZ4 Descriptor. + Function which will take descriptor and return + appropriate encoder. + Indicates if stream should be left + open after disposing. + + + + + + + + + + + + + + + + + + + + + + + + Length of the stream and number of bytes written so far. + + + Read-only position in the stream. Trying to set it will throw + . + + + + LZ4 frame descriptor. + + + + Content length (if available). + + + Indicates if content checksum if present. + + + Indicates if blocks are chained. + + + Indicates if block checksums are present. + + + Dictionary id (or null). + + + Block size. + + + Creates new instance of . + Content length. + Content checksum flag. + Chaining flag. + Block checksum flag. + Dictionary id. + Block size. + + + + Utility class with factory methods to create LZ4 compression and decompression streams. + + + + Created compression stream on top of inner stream. + Inner stream. + Compression settings. + Leave inner stream open after disposing. + Compression stream. + + + Created compression stream on top of inner stream. + Inner stream. + Compression level. + Extra memory used for compression. + Leave inner stream open after disposing. + Compression stream. + + + Creates decompression stream on top of inner stream. + Inner stream. + Decompression settings. + Leave inner stream open after disposing. + If true reading from stream will be "interactive" allowing + to read bytes as soon as possible, even if more data is expected. + Decompression stream. + + + Creates decompression stream on top of inner stream. + Inner stream. + Extra memory used for decompression. + Leave inner stream open after disposing. + If true reading from stream will be "interactive" allowing + to read bytes as soon as possible, even if more data is expected. + Decompression stream. + + + diff --git a/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46/K4os.Compression.LZ4.Streams.xml.meta b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46/K4os.Compression.LZ4.Streams.xml.meta new file mode 100644 index 0000000..d584dfe --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Compression.LZ4.Streams.1.2.6/lib/net46/K4os.Compression.LZ4.Streams.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4501fa5767a70cf439ef65e74cbdb7a2 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6.meta b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6.meta new file mode 100644 index 0000000..6b9cf98 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3eafec837c2fedd4890f8183228f128c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/.signature.p7s b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/.signature.p7s new file mode 100644 index 0000000..18a20f9 Binary files /dev/null and b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/.signature.p7s differ diff --git a/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/K4os.Hash.xxHash.1.0.6.nupkg b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/K4os.Hash.xxHash.1.0.6.nupkg new file mode 100644 index 0000000..0c0a977 Binary files /dev/null and b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/K4os.Hash.xxHash.1.0.6.nupkg differ diff --git a/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/K4os.Hash.xxHash.1.0.6.nupkg.meta b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/K4os.Hash.xxHash.1.0.6.nupkg.meta new file mode 100644 index 0000000..8567c54 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/K4os.Hash.xxHash.1.0.6.nupkg.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7cff04f6da87b1742b04d0ef6913a227 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib.meta b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib.meta new file mode 100644 index 0000000..dab4c08 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 67b6a9e27018812458f38e2c1a7d8a74 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46.meta b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46.meta new file mode 100644 index 0000000..8e3db14 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c15c5b5f407df694889b6f592be93c35 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46/K4os.Hash.xxHash.dll b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46/K4os.Hash.xxHash.dll new file mode 100644 index 0000000..4671a0a --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46/K4os.Hash.xxHash.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:110f348b5056d39445587a1fc3c9d8e2ea47255db3de8c085090d773cb1b638a +size 12288 diff --git a/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46/K4os.Hash.xxHash.dll.meta b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46/K4os.Hash.xxHash.dll.meta new file mode 100644 index 0000000..61e7f17 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46/K4os.Hash.xxHash.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: fe39d5308db92e640984e529b2850e53 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46/K4os.Hash.xxHash.xml b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46/K4os.Hash.xxHash.xml new file mode 100644 index 0000000..2b84147 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46/K4os.Hash.xxHash.xml @@ -0,0 +1,163 @@ + + + + K4os.Hash.xxHash + + + + + Adapter implementing + + + + + Creates new . + + Hash size (in bytes) + Reset function. + Update function. + Digest function. + + + + + + + + + + + + + + + + + + + Base class for both and . Do not use directly. + + + + Protected constructor to prevent instantiation. + + + + xxHash 32-bit. + + + + Hash of empty buffer. + + + Hash of provided buffer. + Buffer. + Length of buffer. + Digest. + + + Hash of provided buffer. + Buffer. + Digest. + + + Hash of provided buffer. + Buffer. + Starting offset. + Length of buffer. + Digest. + + + Creates xxHash instance. + + + Resets hash calculation. + + + Updates the has using given buffer. + Buffer. + Length of buffer. + + + Updates the has using given buffer. + Buffer. + + + Updates the has using given buffer. + Buffer. + Starting offset. + Length of buffer. + + + Hash so far. + Hash so far. + + + Hash so far, as byte array. + Hash so far. + + + Converts this class to + + + + + xxHash 64-bit. + + + + Hash of empty buffer. + + + Hash of provided buffer. + Buffer. + Length of buffer. + Digest. + + + Hash of provided buffer. + Buffer. + Digest. + + + Hash of provided buffer. + Buffer. + Starting offset. + Length of buffer. + Digest. + + + Creates xxHash instance. + + + Resets hash calculation. + + + Updates the has using given buffer. + Buffer. + Length of buffer. + + + Updates the has using given buffer. + Buffer. + + + Updates the has using given buffer. + Buffer. + Starting offset. + Length of buffer. + + + Hash so far. + Hash so far. + + + Hash so far, as byte array. + Hash so far. + + + Converts this class to + + + + diff --git a/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46/K4os.Hash.xxHash.xml.meta b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46/K4os.Hash.xxHash.xml.meta new file mode 100644 index 0000000..24b8306 --- /dev/null +++ b/Unity-Files/Assets/Packages/K4os.Hash.xxHash.1.0.6/lib/net46/K4os.Hash.xxHash.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 51bc14675201e4f43af42663662ae37d +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/MySql.Data.8.0.27.meta b/Unity-Files/Assets/Packages/MySql.Data.8.0.27.meta new file mode 100644 index 0000000..529f230 --- /dev/null +++ b/Unity-Files/Assets/Packages/MySql.Data.8.0.27.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6bb8cf363a9dd3445810157b1f236acf +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/MySql.Data.8.0.27/.signature.p7s b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/.signature.p7s new file mode 100644 index 0000000..e366bd8 Binary files /dev/null and b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/.signature.p7s differ diff --git a/Unity-Files/Assets/Packages/MySql.Data.8.0.27/MySql.Data.8.0.27.nupkg b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/MySql.Data.8.0.27.nupkg new file mode 100644 index 0000000..f6805de Binary files /dev/null and b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/MySql.Data.8.0.27.nupkg differ diff --git a/Unity-Files/Assets/Packages/MySql.Data.8.0.27/MySql.Data.8.0.27.nupkg.meta b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/MySql.Data.8.0.27.nupkg.meta new file mode 100644 index 0000000..f5fb10b --- /dev/null +++ b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/MySql.Data.8.0.27.nupkg.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c80f1738923b4954fa035275e4aa63ce +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib.meta b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib.meta new file mode 100644 index 0000000..af31f05 --- /dev/null +++ b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 443bd8c1d4f49e94bad07f983827e957 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452.meta b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452.meta new file mode 100644 index 0000000..7c50fef --- /dev/null +++ b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b1f1243bf6c77294e8ffd921ff7ba586 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/MySql.Data.dll b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/MySql.Data.dll new file mode 100644 index 0000000..3dc0b57 --- /dev/null +++ b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/MySql.Data.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cf729549d0588b8b383a40c0cda4ef7f8af300fa48af650e19d68d5bf406670 +size 1427968 diff --git a/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/MySql.Data.dll.meta b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/MySql.Data.dll.meta new file mode 100644 index 0000000..88bae55 --- /dev/null +++ b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/MySql.Data.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 0026109d85fcbb943a5de53204ad0972 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/MySql.Data.xml b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/MySql.Data.xml new file mode 100644 index 0000000..173e215 --- /dev/null +++ b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/MySql.Data.xml @@ -0,0 +1,18893 @@ + + + + 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. + + + + + The GSSAPI mechanism. + + + + + Obtain credentials to be used to create a security context + + username + password + host + + + + Processes the challenge data. + + A byte array containing the challenge data from the server + A byte array containing the response to be sent to the server + + + + Security context already established. + + A byte array containing the challenge data from the server + A non-null byte array containing the response to be sent to the server + + + + Enables connections to a user account set with the authentication_kerberos authentication plugin. + + + + + Defines the default behavior for an authentication plugin. + + + + + Gets or sets the authentication data returned by the server. + + + + + This is a factory method that is used only internally. It creates an auth plugin based on the method type + + + + + + + + + Gets the connection option settings. + + + + + Gets the server version associated with this authentication plugin. + + + + + Gets the encoding assigned to the native driver. + + + + + Sets the authentication data required to encode, encrypt, or convert the password of the user. + + A byte array containing the authentication data provided by the server. + This method may be overriden based on the requirements by the implementing authentication plugin. + + + + Defines the behavior when checking for constraints. + + This method is intended to be overriden. + + + + Throws a that encapsulates the original exception. + + The exception to encapsulate. + + + + Defines the behavior when authentication is successful. + + This method is intended to be overriden. + + + + Defines the behavior when more data is required from the server. + + The data returned by the server. + The data to return to the server. + This method is intended to be overriden. + + + + Gets the plugin name based on the authentication plugin type defined during the creation of this object. + + + + + Gets the user name associated to the connection settings. + + The user name associated to the connection settings. + + + + Gets the encoded, encrypted, or converted password based on the authentication plugin type defined during the creation of this object. + This method is intended to be overriden. + + An object containing the encoded, encrypted, or converted password. + + + + Provides functionality to read, decode and convert PEM files to objects supported in .NET. + + + + + Converts the binary data of a PEM file to an object. + + A binary representation of the public key provided by the server. + An object containing the data found in the public key. + + + + Allows connections to a user account set with the authentication_ldap_sasl authentication plugin. + + + + + Determines if the character is a non-ASCII space. + + + This list was obtained from http://tools.ietf.org/html/rfc3454#appendix-C.1.2 + + true if the character is a non-ASCII space; otherwise, false. + The character. + + + + Determines if the character is commonly mapped to nothing. + + + This list was obtained from http://tools.ietf.org/html/rfc3454#appendix-B.1 + + true if the character is commonly mapped to nothing; otherwise, false. + The character. + + + + Determines if the character is prohibited. + + + This list was obtained from http://tools.ietf.org/html/rfc3454#appendix-C.3 + + true if the character is prohibited; otherwise, false. + The string. + The character index. + + + + Prepares the user name or password string. + + The string to prepare. + The prepared string. + + + + Allows connections to a user account set with the mysql_native_password authentication plugin. + + + + + Returns a byte array containing the proper encryption of the + given password/seed according to the new 4.1.1 authentication scheme. + + + + + + + + Enables connections from a user account set with the authentication_iam authentication plugin. + + + + + Verify that OCI .NET SDK is referenced. + + + + + Get the values for the key_file and fingerprint entries. + + + + + Sign nonce sent by server using SHA256 algorithm and the private key provided by the user. + + + + + Base class to handle SCRAM authentication methods + + + + + Defines the state of the authentication process. + + + + + Gets the name of the method. + + + + + Parses the server's challenge token and returns the next challenge response. + + The next challenge response. + + + + Builds up the client-first message. + + An array of bytes containig the client-first message. + + + + Processes the server response from the client-first message and + builds up the client-final message. + + Response from the server. + An array of bytes containing the client-final message. + + + + Validates the server response. + + Server-final message + + + + Creates the HMAC SHA1 context. + + The HMAC context. + The secret key. + + + + Apply the HMAC keyed algorithm. + + The results of the HMAC keyed algorithm. + The key. + The string. + + + + Applies the cryptographic hash function. + + The results of the hash. + The string. + + + + Applies the exclusive-or operation to combine two octet strings. + + The alpha component. + The blue component. + + + + The SCRAM-SHA-1 SASL mechanism. + + + A salted challenge/response SASL mechanism that uses the HMAC SHA-1 algorithm. + + + + + Initializes a new instance of the class. + + + Creates a new SCRAM-SHA-1 SASL context. + + The user name. + The password. + The host. + + + + Gets the name of the method. + + + + + The SCRAM-SHA-256 SASL mechanism. + + + A salted challenge/response SASL mechanism that uses the HMAC SHA-256 algorithm. + + + + + Initializes a new instance of the class. + + + Creates a new SCRAM-SHA-256 SASL context. + + The user name. + The password. + The host. + + + + Gets the name of the method. + + + + + The implementation of the sha256_password authentication plugin. + + + + + The byte array representation of the public key provided by the server. + + + + + Applies XOR to the byte arrays provided as input. + + A byte array that contains the results of the XOR operation. + + + + Allows connections to a user account set with the authentication_windows authentication plugin. + + + + + Allows importing large amounts of data into a database with bulk loading. + + + + + Gets or sets the connection. + + The connection. + + + + Gets or sets the field terminator. + + The field terminator. + + + + Gets or sets the line terminator. + + The line terminator. + + + + Gets or sets the name of the table. + + The name of the table. + + + + Gets or sets the character set. + + The character set. + + + + Gets or sets the name of the file. + + The name of the file. + + + + Gets or sets the timeout. + + The timeout. + + + + Gets or sets a value indicating whether the file name that is to be loaded + is local to the client or not. The default value is false. + + true if local; otherwise, false. + + + + Gets or sets the number of lines to skip. + + The number of lines to skip. + + + + Gets or sets the line prefix. + + The line prefix. + + + + Gets or sets the field quotation character. + + The field quotation character. + + + + Gets or sets a value indicating whether [field quotation optional]. + + + true if [field quotation optional]; otherwise, false. + + + + + Gets or sets the escape character. + + The escape character. + + + + Gets or sets the conflict option. + + The conflict option. + + + + Gets or sets the priority. + + The priority. + + + + Gets the columns. + + The columns. + + + + Gets the expressions. + + The expressions. + + + + Executes the load operation. + + The number of rows inserted. + + + + Asynchronous version of the load operation. + + The number of rows inserted. + + + + Executes the load operation asynchronously while the cancellation isn't requested. + + The cancellation token. + The number of rows inserted. + + + + Represents the priority set for bulk loading operations. + + + + + This is the default and indicates normal priority + + + + + Low priority will cause the load operation to wait until all readers of the table + have finished. This only affects storage engines that use only table-level locking + such as MyISAM, Memory, and Merge. + + + + + Concurrent priority is only relevant for MyISAM tables and signals that if the table + has no free blocks in the middle that other readers can retrieve data from the table + while the load operation is happening. + + + + + Represents the behavior when conflicts arise during bulk loading operations. + + + + + This is the default and indicates normal operation. In the event of a LOCAL load, this + is the same as ignore. When the data file is on the server, then a key conflict will + cause an error to be thrown and the rest of the data file ignored. + + + + + Replace column values when a key conflict occurs. + + + + + Ignore any rows where the primary key conflicts. + + + + + Summary description for CharSetMap. + + + + + Returns the text encoding for a given MySQL character set name + + Version of the connection requesting the encoding + Name of the character set to get the encoding for + Encoding object for the given character set name + + + + Initializes the mapping. + + + + + Represents a character set object. + + + + Represents a SQL statement to execute against a MySQL database. This class cannot be inherited. + The object includes the following methods for executing commands at a MySQL database: + + + Item + Description + + + + + + Executes commands that return rows. + + + + + + Executes commands such as SQL INSERT, DELETE, and UPDATE statements. + + + + + + Retrieves a single value (for example, an aggregate value) from a database. + + + + 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. + + + 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. + + + The following example creates an instance each of and . + The object opens a connection and then is set as the + property for the . The example then calls the method, + passes to it a connection string and a query string that consists of a SQL INSERT statement, and closes the connection. + + Public Sub InsertRow(myConnectionString As String) + " If the connection string is null, use a default. + If myConnectionString = "" Then + myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass" + End If + + Dim myConnection As New MySqlConnection(myConnectionString) + Dim myInsertQuery As String = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)" + Dim myCommand As New MySqlCommand(myInsertQuery) + myCommand.Connection = myConnection + myConnection.Open() + myCommand.ExecuteNonQuery() + myCommand.Connection.Close() + End Sub + + + public void InsertRow(string myConnectionString) + { + // If the connection string is null, use a default. + if(myConnectionString == "") + { + myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass"; + } + + MySqlConnection myConnection = new MySqlConnection(myConnectionString); + string myInsertQuery = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)"; + MySqlCommand myCommand = new MySqlCommand(myInsertQuery); + myCommand.Connection = myConnection; + myConnection.Open(); + myCommand.ExecuteNonQuery(); + myCommand.Connection.Close(); + } + + + + + + + Initializes a new instance of the MySqlCommand class. + + + The following example creates a MySqlCommand and sets some of its properties. + + + This example shows how to use one of the overloaded + versions of the MySqlCommand constructor. For other examples that might be available, + see the individual overload topics. + + + + Public Sub CreateMySqlCommand() + Dim myConnection As New MySqlConnection _ + ("Persist Security Info=False;database=test;server=myServer") + myConnection.Open() + Dim myTrans As MySqlTransaction = myConnection.BeginTransaction() + Dim mySelectQuery As String = "SELECT * FROM MyTable" + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection, myTrans) + myCommand.CommandTimeout = 20 + End Sub + + + public void CreateMySqlCommand() + { + MySqlConnection myConnection = new MySqlConnection("Persist Security Info=False;database=test;server=myServer"); + myConnection.Open(); + MySqlTransaction myTrans = myConnection.BeginTransaction(); + string mySelectQuery = "SELECT * FROM myTable"; + MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection,myTrans); + myCommand.CommandTimeout = 20; + } + + + + Initializes a new instance of the MySqlCommand class. + + The base constructor initializes all fields to their default values. The + following table shows initial property values for an instance of . + + + Properties + Initial Value + + + + + + empty string ("") + + + + + + 0 + + + + + + CommandType.Text + + + + + + Null + + + + You can change the value for any of these properties through a separate call to + the property. + + + The following example creates a and + sets some of its properties. + + + Public Sub CreateMySqlCommand() + Dim myCommand As New MySqlCommand() + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlCommand myCommand = new MySqlCommand(); + myCommand.CommandType = CommandType.Text; + } + + + + + + Initializes a new instance of the class with the text of the query. + The text of the query. + When an instance of is created, + the following read/write properties are set to initial values. + + + + Properties + Initial Value + + + + + + + cmdText + + + + + + + 0 + + + + + + CommandType.Text + + + + + + Null + + + + You can change the value for any of these properties through a separate call to + the property. + + + The following example creates a and + sets some of its properties. + + + Public Sub CreateMySqlCommand() + Dim sql as String = "SELECT * FROM mytable" + Dim myCommand As New MySqlCommand(sql) + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + string sql = "SELECT * FROM mytable"; + MySqlCommand myCommand = new MySqlCommand(sql); + myCommand.CommandType = CommandType.Text; + } + + + + + + 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 SQL Server. + + When an instance of is created, + the following read/write properties are set to initial values. + + + + Properties + Initial Value + + + + + + + cmdText + + + + + + + 0 + + + + + + CommandType.Text + + + + + + + connection + + + + + You can change the value for any of these properties through a separate call to + the property. + + + The following example creates a and + sets some of its properties. + + + Public Sub CreateMySqlCommand() + Dim conn as new MySqlConnection("server=myServer") + Dim sql as String = "SELECT * FROM mytable" + Dim myCommand As New MySqlCommand(sql, conn) + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlConnection conn = new MySqlConnection("server=myserver") + string sql = "SELECT * FROM mytable"; + MySqlCommand myCommand = new MySqlCommand(sql, conn); + myCommand.CommandType = CommandType.Text; + } + + + + + + 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 SQL Server. + + The in which the executes. + + When an instance of is created, + the following read/write properties are set to initial values. + + + + Properties + Initial Value + + + + + + + cmdText + + + + + + + 0 + + + + + + CommandType.Text + + + + + + + connection + + + + + You can change the value for any of these properties through a separate call to + the property. + + + The following example creates a and + sets some of its properties. + + + Public Sub CreateMySqlCommand() + Dim conn as new MySqlConnection("server=myServer") + conn.Open(); + Dim txn as MySqlTransaction = conn.BeginTransaction() + Dim sql as String = "SELECT * FROM mytable" + Dim myCommand As New MySqlCommand(sql, conn, txn) + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlConnection conn = new MySqlConnection("server=myserver") + conn.Open(); + MySqlTransaction txn = conn.BeginTransaction(); + string sql = "SELECT * FROM mytable"; + MySqlCommand myCommand = new MySqlCommand(sql, conn, txn); + myCommand.CommandType = CommandType.Text; + } + + + + + + Gets the last inserted id. + + + + + + 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. + + + When the property is set to , + the property should be set to the name of the stored procedure. + The user may be required to use escape character syntax if the stored procedure name + contains any special characters. The command executes this stored procedure when + you call one of the execute methods. In Connector/NET 8.0 (and previous versions), having both a stored function + and stored procedure with the same name in the same database is not supported. It is + suggested that you provide unqiue names for your stored routines. + + + The following example creates an instance of and sets some of its properties. + + Public Sub CreateMySqlCommand() + Dim myCommand As New MySqlCommand() + myCommand.CommandText = "SELECT * FROM Mytable ORDER BY id" + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlCommand myCommand = new MySqlCommand(); + myCommand.CommandText = "SELECT * FROM mytable ORDER BY id"; + myCommand.CommandType = CommandType.Text; + } + + + + + + 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. + Because of this, CommandTimeout is only supported when connected to MySQL + version 5.0.0 or higher. + + + + + Gets or sets a value indicating how the property is to be interpreted. + + One of the values. + The default is . + + + When you set the property to , you + should set the property to the name of the stored + procedure. The command executes this stored procedure when you call one of the + execute methods. + + + The following example creates an instance of and sets some of its properties. + + Public Sub CreateMySqlCommand() + Dim myCommand As New MySqlCommand() + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlCommand myCommand = new MySqlCommand(); + myCommand.CommandType = CommandType.Text; + } + + + + + + Gets a boolean value that indicates whether the Prepared method has been called. + + + + + + Gets or sets the object used by this instance of the + . + + The connection to a data source. The default value is a null reference + (Nothing in Visual Basic). + + + If you set Connection while a transaction is in progress and the + property is not null, an + is generated. If the Transaction property is not null and the transaction + has already been committed or rolled back, Transaction is set to + null. + + + The following example creates a and sets some of its properties. + + Public Sub CreateMySqlCommand() + Dim mySelectQuery As String = "SELECT * FROM mytable ORDER BY id" + Dim myConnectString As String = "Persist Security Info=False;database=test;server=myServer" + Dim myCommand As New MySqlCommand(mySelectQuery) + myCommand.Connection = New MySqlConnection(myConnectString) + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + string mySelectQuery = "SELECT * FROM mytable ORDER BY id"; + string myConnectString = "Persist Security Info=False;database=test;server=myServer"; + MySqlCommand myCommand = new MySqlCommand(mySelectQuery); + myCommand.Connection = new MySqlConnection(myConnectString); + myCommand.CommandType = CommandType.Text; + } + + + + + + 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. + + Parameters can be used along with . There are no restrictions in this regard. + + The following example creates an instance of and displays its parameters. + To accomplish this, the method is passed a , a query string + that is a SQL SELECT statement, and an array of objects. + + Public Sub CreateMySqlCommand(myConnection As MySqlConnection, _ + mySelectQuery As String, myParamArray() As MySqlParameter) + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) + myCommand.CommandText = "SELECT id, name FROM mytable WHERE age=@age" + myCommand.UpdatedRowSource = UpdateRowSource.Both + myCommand.Parameters.Add(myParamArray) + Dim j As Integer + For j = 0 To myCommand.Parameters.Count - 1 + myCommand.Parameters.Add(myParamArray(j)) + Next j + Dim myMessage As String = "" + Dim i As Integer + For i = 0 To myCommand.Parameters.Count - 1 + myMessage += myCommand.Parameters(i).ToString() & ControlChars.Cr + Next i + Console.WriteLine(myMessage) + End Sub + + + public void CreateMySqlCommand(MySqlConnection myConnection, string mySelectQuery, + MySqlParameter[] myParamArray) + { + MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection); + myCommand.CommandText = "SELECT id, name FROM mytable WHERE age=@age"; + myCommand.Parameters.Add(myParamArray); + for (int j=0; j<myParamArray.Length; j++) + { + myCommand.Parameters.Add(myParamArray[j]) ; + } + string myMessage = ""; + for (int i = 0; i < myCommand.Parameters.Count; i++) + { + myMessage += myCommand.Parameters[i].ToString() + "\n"; + } + MessageBox.Show(myMessage); + } + + + + + + 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. + + Query Attributes can be used along with . There are no restrictions in this regard. + + The following example creates an instance of and also a couple of + to be added later to the . Then, it prints out the values of . + + Public Sub CreateMySqlCommandWithQueryAttributes(ByVal myConnection As MySqlConnection) + Dim myCommand As MySqlCommand = New MySqlCommand() + myCommand.Connection = myConnection + Dim mySqlAttribute As MySqlAttribute = New MySqlAttribute("qa1", "qaValue") + Dim mySqlAttribute2 As MySqlAttribute = New MySqlAttribute("qa2", 2) + myCommand.Attributes.SetAttribute(mySqlAttribute) + myCommand.Attributes.SetAttribute(mySqlAttribute2) + myCommand.CommandText = $"SELECT mysql_query_attribute_string('{mySqlAttribute.AttributeName}') AS attr1," & + $"mysql_query_attribute_string('{mySqlAttribute2.AttributeName}') AS attr2" + + Using reader = myCommand.ExecuteReader() + While reader.Read() + Console.WriteLine($"Attribute1 Value: {reader.GetString(0)}") + Console.WriteLine($"Attribute1 Value: {reader.GetString(1)}") + End While + End Using + End Sub + + + public void CreateMySqlCommandWithQueryAttributes(MySqlConnection myConnection) + { + MySqlCommand myCommand = new MySqlCommand(); + myCommand.Connection = myConnection; + + MySqlAttribute mySqlAttribute = new MySqlAttribute("qa1", "qaValue"); + MySqlAttribute mySqlAttribute2 = new MySqlAttribute("qa2", 2); + + myCommand.Attributes.SetAttribute(mySqlAttribute); + myCommand.Attributes.SetAttribute(mySqlAttribute2); + + myCommand.CommandText = $"SELECT mysql_query_attribute_string('{mySqlAttribute.AttributeName}') AS attr1," + + $"mysql_query_attribute_string('{mySqlAttribute2.AttributeName}') AS attr2"; + + using (var reader = myCommand.ExecuteReader()) + { + while (reader.Read()) + { + Console.WriteLine($"Attribute1 Value: {reader.GetString(0)}"); + Console.WriteLine($"Attribute1 Value: {reader.GetString(1)}"); + } + } + } + + + + + + 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 Transaction 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 boolean value that indicates whether caching is enabled. + + + + + Gets or sets the seconds for how long a TableDirect result should be cached. + + + + + Gets or sets how command results are applied to the DataRow when used by the + Update method of the DbDataAdapter. + + + + + Gets or sets a value indicating whether the command object should be visible in a Windows Form Designer control. + + + + + Attempts to cancel the execution of a currently active command + + + Cancelling a currently active query only works with MySQL versions 5.0.0 and higher. + + + + + Creates a new instance of a object. + + + This method is a strongly-typed version of . + + A object. + + + + + Check the connection to make sure + - it is open + - it is not currently being used by a reader + - and we have the right version of MySQL for the requested command type + + + + + Executes a SQL statement against the connection and returns the number of rows affected. + Number of rows affected + You can use ExecuteNonQuery 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. + + The following example creates a MySqlCommand and then + executes it using ExecuteNonQuery. The example is passed a string that is a + SQL statement (such as UPDATE, INSERT, or DELETE) and a string to use to + connect to the data source. + + Public Sub CreateMySqlCommand(myExecuteQuery As String, myConnection As MySqlConnection) + Dim myCommand As New MySqlCommand(myExecuteQuery, myConnection) + myCommand.Connection.Open() + myCommand.ExecuteNonQuery() + myConnection.Close() + End Sub + + + public void CreateMySqlCommand(string myExecuteQuery, MySqlConnection myConnection) + { + MySqlCommand myCommand = new MySqlCommand(myExecuteQuery, myConnection); + myCommand.Connection.Open(); + myCommand.ExecuteNonQuery(); + myConnection.Close(); + } + + + + + + Reset reader to null, to avoid "There is already an open data reader" + on the next ExecuteReader(). Used in error handling scenarios. + + + + + Reset SQL_SELECT_LIMIT that could have been modified by CommandBehavior. + + + + + Sends the value to + and builds a object. + + A object. + + + When the property is set to StoredProcedure, + the property should be set to the name of the stored + procedure. The command executes this stored procedure when you call + ExecuteReader. + + + While is in use, the associated + instance of is busy serving it + and no other operations can be performed on , other than closing it. + This is the case until the method of MySqlDataReader is called. + + + The following example creates an instance of , then executes it by + passing a string that is a SQL SELECT statement, and a string to use to connect to the + data source. + + Public Sub CreateMySqlDataReader(mySelectQuery As String, myConnection As MySqlConnection) + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) + myConnection.Open() + Dim myReader As MySqlDataReader + myReader = myCommand.ExecuteReader() + + Try + While myReader.Read() + Console.WriteLine(myReader.GetString(0)) + End While + Finally + myReader.Close + myConnection.Close + End Try + End Sub + + + public void CreateMySqlDataReader(string mySelectQuery, MySqlConnection myConnection) + { + MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection); + myConnection.Open(); + MMySqlDataReader myReader; + myReader = myCommand.ExecuteReader(); + try + { + while(myReader.Read()) + { + Console.WriteLine(myReader.GetString(0)); + } + } + finally + { + myReader.Close(); + myConnection.Close(); + } + } + + + + + + 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. + + + The supports a special mode that enables large binary + values to be read efficiently. For more information, see the SequentialAccess + setting for . + + + 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 the MySqlDataReader is called. + If the MySqlDataReader object is created with CommandBehavior set to + CloseConnection, closing the MySqlDataReader instance closes the connection + automatically. + + + When calling ExecuteReader with the SingleRow behavior, you should be aware that using a limit + clause in your SQL will cause all rows (up to the limit given) to be retrieved by the client. The + method will still return false after the first row but pulling all rows of data + into the client will have a performance impact. If the limit clause is not necessary, it should + be avoided. + + + A object. + + + + + Executes the query, and returns the first column of the first row in the + result set returned by the query. Extra columns or rows are ignored. + + The first column of the first row in the result set, or a null reference if the + result set is empty + + + Use the ExecuteScalar method to retrieve a single value (for example, + an aggregate value) from a database. This requires less code than using the + method, and then performing the operations necessary + to generate the single value using the data returned by a + + + The following example creates a and then + executes it using ExecuteScalar. The example is passed a string that is a + SQL statement that returns an aggregate result, and a string to use to + connect to the data source. + + + Public Sub CreateMySqlCommand(myScalarQuery As String, myConnection As MySqlConnection) + Dim myCommand As New MySqlCommand(myScalarQuery, myConnection) + myCommand.Connection.Open() + myCommand.ExecuteScalar() + myConnection.Close() + End Sub + + + public void CreateMySqlCommand(string myScalarQuery, MySqlConnection myConnection) + { + MySqlCommand myCommand = new MySqlCommand(myScalarQuery, myConnection); + myCommand.Connection.Open(); + myCommand.ExecuteScalar(); + myConnection.Close(); + } + + + + + + + + + Creates a prepared version of the command on an instance of MySQL Server. + + + Prepared statements are only supported on MySQL version 4.1 and higher. Calling + prepare while connected to earlier versions of MySQL will succeed but will execute + the statement in the same way as unprepared. + + + The following example demonstrates the use of the Prepare method. + + public sub PrepareExample() + Dim cmd as New MySqlCommand("INSERT INTO mytable VALUES (@val)", myConnection) + cmd.Parameters.Add( "@val", 10 ) + cmd.Prepare() + cmd.ExecuteNonQuery() + + cmd.Parameters(0).Value = 20 + cmd.ExecuteNonQuery() + end sub + + + private void PrepareExample() + { + MySqlCommand cmd = new MySqlCommand("INSERT INTO mytable VALUES (@val)", myConnection); + cmd.Parameters.Add( "@val", 10 ); + cmd.Prepare(); + cmd.ExecuteNonQuery(); + + cmd.Parameters[0].Value = 20; + cmd.ExecuteNonQuery(); + } + + + + + + 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 (Nothing in Visual Basic) + to indicate that no callback is required. + A user-defined state object that is passed to the + callback procedure. Retrieve this object from within the callback procedure + using the property. + An that can be used to poll or wait for results, + or both; this value is also needed when invoking , + which returns the number of affected rows. + + + + Initiates the asynchronous execution of the SQL statement or stored procedure + that is described by this . + + An that can be used to poll or wait for results, + or both; this value is also needed when invoking , + which returns the number of affected rows. + + + + Finishes asynchronous execution of a SQL statement. + + The returned by the call + to . + + + + + Verifies if a query is valid even if it has not spaces or is a stored procedure call + + Query to validate + If it is necessary to add call statement + + + + Creates a clone of this object. CommandText, Connection, and Transaction properties + are included as well as the entire parameter list. + + The cloned object. + + + + Summary description for API. + + + + + Summary description for CompressedStream. + + + + + Represents an open connection to a MySQL Server database. This class cannot be inherited. + + + A MySqlConnection object represents a session to a MySQL Server + data source. When you create an instance of MySqlConnection, all + properties are set to their initial values. For a list of these values, see the + MySqlConnection constructor. + + + + If the MySqlConnection goes out of scope, it is not closed. Therefore, + you must explicitly close the connection by calling + or . + + + The following example creates a and + a MySqlConnection. The MySqlConnection is opened and set as the + for the MySqlCommand. The example then calls + , and closes the connection. To accomplish this, the ExecuteNonQuery is + passed a connection string and a query string that is a SQL INSERT + statement. + + + Public Sub InsertRow(myConnectionString As String) + ' If the connection string is null, use a default. + If myConnectionString = "" Then + myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass" + End If + Dim myConnection As New MySqlConnection(myConnectionString) + Dim myInsertQuery As String = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)" + Dim myCommand As New MySqlCommand(myInsertQuery) + myCommand.Connection = myConnection + myConnection.Open() + myCommand.ExecuteNonQuery() + myCommand.Connection.Close() + End Sub + + + + + public void InsertRow(string myConnectionString) + { + // If the connection string is null, use a default. + if(myConnectionString == "") + { + myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass"; + } + MySqlConnection myConnection = new MySqlConnection(myConnectionString); + string myInsertQuery = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)"; + MySqlCommand myCommand = new MySqlCommand(myInsertQuery); + myCommand.Connection = myConnection; + myConnection.Open(); + myCommand.ExecuteNonQuery(); + myCommand.Connection.Close(); + } + + + + + + Occurs when MySQL returns warnings as a result of executing a command or query. + + + + + Initializes a new instance of the class. + + When a new instance of is created, the read/write + properties are set to the following initial values unless they are specifically + set using their associated keywords in the property. + + + Properties + Initial Value + + + + + + empty string ("") + + + + + + 15 + + + + + + empty string ("") + + + + + + empty string ("") + + + + + + empty string ("") + + + You can change the value for these properties only by using the ConnectionString property. + + + + + Initializes a new instance of the class when given a string containing the connection string. + + When a new instance of is created, the read/write + properties are set to the following initial values unless they are specifically + set using their associated keywords in the property. + + + + Properties + Initial Value + + + + + + empty string ("") + + + + + + 15 + + + + + + empty string ("") + + + + + + empty string ("") + + + + + + empty string ("") + + + + You can change the value for these properties only by using the ConnectionString property. + + + 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. + The value set is less than 0. + A value of 0 indicates no limit, and should be avoided in a + because an attempt to connect + will wait indefinitely. + + The following example creates a MySqlConnection + and sets some of its properties in the connection string. + + Public Sub CreateSqlConnection() + Dim myConnection As New MySqlConnection() + myConnection.ConnectionString = "Persist Security Info=False;Username=user;Password=pass;database=test1;server=localhost;Connect Timeout=30" + myConnection.Open() + End Sub + + + public void CreateSqlConnection() + { + MySqlConnection myConnection = new MySqlConnection(); + myConnection.ConnectionString = "Persist Security Info=False;Username=user;Password=pass;database=test1;server=localhost;Connect Timeout=30"; + myConnection.Open(); + } + + + + + 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 Database 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. + + + The following example creates a and displays + some of its read-only properties. + + + Public Sub CreateMySqlConnection() + Dim myConnString As String = _ + "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass" + Dim myConnection As New MySqlConnection( myConnString ) + myConnection.Open() + MessageBox.Show( "Server Version: " + myConnection.ServerVersion _ + + ControlChars.NewLine + "Database: " + myConnection.Database ) + myConnection.ChangeDatabase( "test2" ) + MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.NewLine + "Database: " + myConnection.Database ) + myConnection.Close() + End Sub + + + + public void CreateMySqlConnection() + { + string myConnString = + "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass"; + MySqlConnection myConnection = new MySqlConnection( myConnString ); + myConnection.Open(); + MessageBox.Show( "Server Version: " + myConnection.ServerVersion + + "\nDatabase: " + myConnection.Database ); + myConnection.ChangeDatabase( "test2" ); + MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion + + "\nDatabase: " + myConnection.Database ); + myConnection.Close(); + } + + + + + + 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 Closed. + + The allowed state changes are: + + + From Closed to Open, using the Open method of the connection object. + + + From Open to Closed, using either the Close method or the Dispose method of the connection object. + + + + The following example creates a , opens it, + displays some of its properties, then closes the connection. + + + Public Sub CreateMySqlConnection(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.Cr + "State: " + myConnection.State.ToString()) + myConnection.Close() + End Sub + + + public void CreateMySqlConnection(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + + "\nState: " + myConnection.State.ToString()); + myConnection.Close(); + } + + + + + 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. + The following example creates a , opens it, + displays some of its properties, then closes the connection. + + + Public Sub CreateMySqlConnection(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.Cr + "State: " + myConnection.State.ToString()) + myConnection.Close() + End Sub + + + public void CreateMySqlConnection(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + + "\nState: " + myConnection.State.ToString()); + myConnection.Close(); + } + + + + + + Gets or sets the string used to connect to a MySQL Server database. + + + The ConnectionString returned may not be exactly like what was originally + set but will be indentical in terms of keyword/value pairs. Security information + will not be included unless the Persist Security Info value is set to true. + + + You can use the ConnectionString property to connect to a database. + The following example illustrates a typical connection string. + + "Persist Security Info=False;database=MyDB;server=MySqlServer;user id=myUser;Password=myPass" + + The ConnectionString property can be set only when the connection is + closed. Many of the connection string values have corresponding read-only + properties. When the connection string is set, all of these properties are + updated, except when an error is detected. In this case, none of the properties + are updated. properties return only those settings contained in the + ConnectionString. + + + To connect to a local machine, specify "localhost" for the server. If you do not + specify a server, localhost is assumed. + + + Resetting the ConnectionString on a closed connection resets all + connection string values (and related properties) including the password. For + example, if you set a connection string that includes "Database= MyDb", and + then reset the connection string to "Data Source=myserver;User Id=myUser;Password=myPass", + the property is no longer set to MyDb. + + + The connection string is parsed immediately after being set. If errors in + syntax are found when parsing, a runtime exception, such as , + is generated. Other errors can be found only when an attempt is made to open the + connection. + + + The basic format of a connection string consists of a series of keyword/value + pairs separated by semicolons. The equal sign (=) connects each keyword and its + value. To include values that contain a semicolon, single-quote character, or + double-quote character, the value must be enclosed in double quotes. If the + value contains both a semicolon and a double-quote character, the value can be + enclosed in single quotes. The single quote is also useful if the value begins + with a double-quote character. Conversely, the double quote can be used if the + value begins with a single quote. If the value contains both single-quote and + double-quote characters, the quote character used to enclose the value must be + doubled each time it occurs within the value. + + + To include preceding or trailing spaces in the string value, the value must + be enclosed in either single quotes or double quotes. Any leading or trailing + spaces around integer, Boolean, or enumerated values are ignored, even if + enclosed in quotes. However, spaces within a string literal keyword or value are + preserved. Using .NET Framework version 1.1, single or double quotes may be used + within a connection string without using delimiters (for example, Data Source= + my'Server or Data Source= my"Server), unless a quote character is the first or + last character in the value. + + + To include an equal sign (=) in a keyword or value, it must be preceded by + another equal sign. For example, in the hypothetical connection string + + "key==word=value" + + the keyword is "key=word" and the value is "value". + + If a specific keyword in a keyword= value pair occurs multiple times in a + connection string, the last occurrence listed is used in the value set. + + Keywords are not case sensitive. + + The following table lists the valid names for keyword values within the + ConnectionString. + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefaultDescription
+ Connect Timeout -or- Connection Timeout + 15 + The length of time (in seconds) to wait for a connection to the server before + terminating the attempt and generating an error. +
+ Host -or- Server -or- Data Source -or- + DataSource -or- Address -or- Addr -or- + Network Address + localhost + + The name or network address of the instance of MySQL to which to connect. Multiple hosts can be + specified separated by &. This can be useful where multiple MySQL servers are configured for replication + and you are not concerned about the precise server you are connecting to. No attempt is made by the provider to + synchronize writes to the database so care should be taken when using this option. + + + In Unix environment with Mono, this can be a fully qualified path to MySQL socket filename. With this configuration, the Unix socket will be used instead of TCP/IP socket. + Currently only a single socket name can be given so accessing MySQL in a replicated environment using Unix sockets is not currently supported. + +
Port3306 + The port MySQL is using to listen for connections. This value is ignored if the connection protocol + is anything but socket. +
Protocolsocket + Specifies the type of connection to make to the server.Values can be: + socket or tcp for a socket connection
+ pipe for a named pipe connection
+ unix for a Unix socket connection
+ memory to use MySQL shared memory +
+ CharSet -or Character Set + + + Specifies the character set that should be used to encode all queries sent to the server. + Resultsets are still returned in the character set of the data returned. +
LoggingfalseWhen true, various pieces of information is output to any configured TraceListeners.
Allow Batchtrue + When true, multiple SQL statements can be sent with one command execution.

+ -Note-
+ Starting with MySQL 4.1.1, batch statements should be separated by the server-defined seperator character.
+ Commands sent to earlier versions of MySQL should be seperated with ';'. +
Encryptfalse + When true, SSL/TLS encryption is used for all data sent between the + client and server if the server has a certificate installed. Recognized values + are true, false, yes, and no. +
+ Initial Catalog -or- Database + mysqlThe name of the database to use intially
+ Password -or- pwd + + The password for the MySQL account being used.
Persist Security Infofalse + When set to false or no (strongly recommended), security-sensitive + information, such as the password, is not returned as part of the connection if + the connection is open or has ever been in an open state. Resetting the + connection string resets all connection string values including the password. + Recognized values are true, false, yes, and no. +
+ User Id -or- Username -or- Uid -or- User name + + The MySQL login account being used.
Shared Memory NameMYSQLThe name of the shared memory object to use for communication if the connection protocol is set to memory.
Allow Zero Datetimefalse + True to have MySqlDataReader.GetValue() return a MySqlDateTime for date or datetime columns that have illegal values. + False will cause a DateTime object to be returned for legal values and an exception will be thrown for illegal values. +
Convert Zero Datetimefalse + True to have MySqlDataReader.GetValue() and MySqlDataReader.GetDateTime() + return DateTime.MinValue for date or datetime columns that have illegal values. +
+ Pipe Name -or- Pipe + mysql + When set to the name of a named pipe, the MySqlConnection will attempt to connect to MySQL + on that named pipe.

This settings only applies to the Windows platform. +
+ Use Performance Monitor -or- UsePerformanceMonitor + false + Posts performance data that can be tracked using perfmon +
+ Procedure Cache Size + 25 + How many stored procedure definitions can be held in the cache +
Use Procedure Bodiestrue + Instructs the provider to attempt to call the procedure without first resolving the metadata. This + is useful in situations where the calling user does not have access to the mysql.proc table. To + use this mode, the parameters for the procedure must be added to the command in the same order + as they appear in the procedure definition and their types must be explicitly set. +
Auto Enlisttrue + Indicates whether the connection should automatically enlist in the current transaction, + if there is one. +
Respect Binary Flagstrue + Indicates whether the connection should respect all binary flags sent to the client + as part of column metadata. False will cause the connector to behave like + Connector/NET 5.0 and earlier. +
BlobAsUTF8IncludePatternnull + Pattern that should be used to indicate which blob columns should be treated as UTF-8. +
BlobAsUTF8ExcludePatternnull + Pattern that should be used to indicate which blob columns should not be treated as UTF-8. +
Default Command Timeout30 + The default timeout that new MySqlCommand objects will use unless changed. +
Allow User Variablesfalse + Should the provider expect user variables in the SQL. +
Interactive -or- Interactive Sessionfalse + Should this session be considered interactive? +
Functions Return Stringfalse + Set this option to true to force the return value of SQL functions to be string. +
Use Affected Rowsfalse + Set this option to true to cause the affected rows reported to reflect only the + rows that are actually changed. By default, the number of rows that are matched + is returned. +
+
+ + The following table lists the valid names for connection pooling values within + the ConnectionString. For more information about connection pooling, see + Connection Pooling for the MySql Data Provider. + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefaultDescription
Connection Lifetime0 + When a connection is returned to the pool, its creation time is compared with + the current time, and the connection is destroyed if that time span (in seconds) + exceeds the value specified by Connection Lifetime. This is useful in + clustered configurations to force load balancing between a running server and a + server just brought online. + + A value of zero (0) causes pooled connections to have the maximum connection + timeout. + +
Max Pool Size100The maximum number of connections allowed in the pool.
Min Pool Size0The minimum number of connections allowed in the pool.
Poolingtrue + When true, the MySqlConnection object is drawn from the appropriate + pool, or if necessary, is created and added to the appropriate pool. Recognized + values are true, false, yes, and no. +
Connection Resetfalse + Specifies whether the database connection should be reset when being + drawn from the pool. Leaving this as false will yeild much faster + connection opens but the user should understand the side effects + of doing this such as temporary tables and user variables from the previous + session not being cleared out. +
Cache Server Propertiesfalse + Specifies whether the server variables are cached between pooled connections. + On systems where the variables change infrequently and there are lots of + connection attempts, this can speed up things dramatically. +
+
+ + When setting keyword or connection pooling values that require a Boolean + value, you can use 'yes' instead of 'true', and 'no' instead of 'false'. + + + Note The MySql Data Provider uses the native socket protocol to + communicate with MySQL. Therefore, it does not support the use of an ODBC data source name (DSN) when + connecting to MySQL because it does not add an ODBC layer. + + + CAUTION In this release, the application should use caution when constructing a + connection string based on user input (for example when retrieving user ID and password information from a + dialog box, and appending it to the connection string). The application should + ensure that a user cannot embed extra connection string parameters in these + values (for example, entering a password as "validpassword;database=somedb" in + an attempt to attach to a different database). + +
+ The following example creates a and sets some of its properties + + Public Sub CreateConnection() + Dim myConnection As New MySqlConnection() + myConnection.ConnectionString = "Persist Security Info=False;database=myDB;server=myHost;Connect Timeout=30;user id=myUser; pwd=myPass" + myConnection.Open() + End Sub 'CreateConnection + + + public void CreateConnection() + { + MySqlConnection myConnection = new MySqlConnection(); + myConnection.ConnectionString = "Persist Security Info=False;database=myDB;server=myHost;Connect Timeout=30;user id=myUser; pwd=myPass"; + myConnection.Open(); + } + + + The following example creates a in Unix environment with Mono installed. MySQL socket filename used in this example is "/var/lib/mysql/mysql.sock". The actual filename depends on your MySQL configuration. + + Public Sub CreateConnection() + Dim myConnection As New MySqlConnection() + myConnection.ConnectionString = "database=myDB;server=/var/lib/mysql/mysql.sock;user id=myUser; pwd=myPass" + myConnection.Open() + End Sub 'CreateConnection + + + public void CreateConnection() + { + MySqlConnection myConnection = new MySqlConnection(); + myConnection.ConnectionString = "database=myDB;server=/var/lib/mysql/mysql.sock;user id=myUser; pwd=myPass"; + myConnection.Open(); + } + + +
+ + + Gets a boolean value that indicates whether the password associated to the connection is expired. + + + + Begins a database transaction.An object representing the new transaction.Parallel transactions are not supported. + This command is equivalent to the MySQL BEGIN TRANSACTION command. + + You must explicitly commit or roll back the transaction using the or + method. + + If you do not specify an isolation level, the default isolation level is used. To specify an isolation + level with the method, use the overload that takes the iso parameter. Also + note that any attempt to begin a transaction while a transaction is in progress will throw an exception on MySQL 4.1 and higher. + On MySQL 4.0, an exception will not be thrown because servers 4.0 and earlier did not report their transacation status. + + + + The following example creates a and a + . It also demonstrates how to use the BeginTransaction, a + , and methods. + + Public Sub RunTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' 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 Test (id, desc) VALUES (100, 'Description')" + myCommand.ExecuteNonQuery() + myCommand.CommandText = "Insert into Test (id, desc) VALUES (101, 'Description')" + myCommand.ExecuteNonQuery() + myTrans.Commit() + Console.WriteLine("Both records are written to database.") + Catch e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " + ex.GetType().ToString() + _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " + e.GetType().ToString() + _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub + + + 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 Test (id, desc) VALUES (100, 'Description')"; + myCommand.ExecuteNonQuery(); + myCommand.CommandText = "insert into Test (id, desc) VALUES (101, 'Description')"; + myCommand.ExecuteNonQuery(); + myTrans.Commit(); + Console.WriteLine("Both records are written to database."); + } + catch(Exception e) + { + try + { + myTrans.Rollback(); + } + catch (SqlException 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(); + } + } + + + + + Begins a database transaction with the specified isolation level.The isolation level under which the transaction should run. The scope of the transaction. An object representing the new transaction.Parallel exceptions are not supported. + This command is equivalent to the MySQL BEGIN TRANSACTION command. + + You must explicitly commit or roll back the transaction using the or + method. + + If you do not specify an isolation level, the default isolation level is used. To specify an isolation + level with the method, use the overload that takes the iso parameter. + Also note that any attempt to begin a transaction while a transaction is in progress will throw an exception on MySQL 4.1 and higher. + On MySQL 4.0, an exception will not be thrown because servers 4.0 and earlier did not report their transacation status. + + + + The following example creates a and a + . It also demonstrates how to use the BeginTransaction, a + , and methods. + + Public Sub RunTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' 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 Test (id, desc) VALUES (100, 'Description')" + myCommand.ExecuteNonQuery() + myCommand.CommandText = "Insert into Test (id, desc) VALUES (101, 'Description')" + myCommand.ExecuteNonQuery() + myTrans.Commit() + Console.WriteLine("Both records are written to database.") + Catch e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " + ex.GetType().ToString() + _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " + e.GetType().ToString() + _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub + + + 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 Test (id, desc) VALUES (100, 'Description')"; + myCommand.ExecuteNonQuery(); + myCommand.CommandText = "insert into Test (id, desc) VALUES (101, 'Description')"; + myCommand.ExecuteNonQuery(); + myTrans.Commit(); + Console.WriteLine("Both records are written to database."); + } + catch(Exception e) + { + try + { + myTrans.Rollback(); + } + catch (SqlException 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(); + } + } + + + + + Changes the current database for an open MySqlConnection.The name of the database to use. + + The value supplied in the database parameter must be a valid database + name. The database 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. + The following example creates a and displays + some of its read-only properties. + + + Public Sub CreateMySqlConnection() + Dim myConnString As String = _ + "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass" + Dim myConnection As New MySqlConnection( myConnString ) + myConnection.Open() + MessageBox.Show( "Server Version: " + myConnection.ServerVersion _ + + ControlChars.NewLine + "Database: " + myConnection.Database ) + myConnection.ChangeDatabase( "test2" ) + MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.NewLine + "Database: " + myConnection.Database ) + myConnection.Close() + End Sub + + + + public void CreateMySqlConnection() + { + string myConnString = + "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass"; + MySqlConnection myConnection = new MySqlConnection( myConnString ); + myConnection.Open(); + MessageBox.Show( "Server Version: " + myConnection.ServerVersion + + "\nDatabase: " + myConnection.Database ); + myConnection.ChangeDatabase( "test2" ); + MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion + + "\nDatabase: " + myConnection.Database ); + myConnection.Close(); + } + + + + + + Pings the server. + + true if the ping was successful; otherwise, false. + + + Opens a database connection with the property settings specified by the ConnectionString.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. + + + The following example creates a , opens it, + displays some of its properties, then closes the connection. + + + Public Sub CreateMySqlConnection(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.Cr + "State: " + myConnection.State.ToString()) + myConnection.Close() + End Sub + + + public void CreateMySqlConnection(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + + "\nState: " + myConnection.State.ToString()); + myConnection.Close(); + } + + + + + + 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 Close 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 Close more than one time. No exception is + generated. + + + The following example creates a , opens it, + displays some of its properties, then closes the connection. + + + Public Sub CreateMySqlConnection(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.Cr + "State: " + myConnection.State.ToString()) + myConnection.Close() + End Sub + + + public void CreateMySqlConnection(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + + "\nState: " + myConnection.State.ToString()); + myConnection.Close(); + } + + + + + + Cancels the query after the specified time interval. + + The length of time (in seconds) to wait for the cancelation of the command execution. + + + + Sets query timeout. If timeout has been set prior and not + yet cleared ClearCommandTimeout(), it has no effect. + + timeout in seconds + true if + + + + Clears query timeout, allowing next SetCommandTimeout() to succeed. + + + + + Gets a schema collection based on the provided restriction values. + + The name of the collection. + The values to restrict. + A schema collection object. + + + Empties the connection pool associated with the specified connection. + The associated with the pool to be cleared. + + + ClearPool 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 Close is called on them. + + + + + Clears all connection pools. + + ClearAllPools essentially performs a on all current connection + pools. + + + + + + Initiates the asynchronous execution of a transaction. + + An object representing the new transaction. + + + + Asynchronous version of BeginTransaction. + + The cancellation token. + An object representing the new transaction. + + + + Asynchronous version of BeginTransaction. + + The isolation level under which the transaction should run. + An object representing the new transaction. + + + + Asynchronous version of BeginTransaction. + + The isolation level under which the transaction should run. + The cancellation token. + An object representing the new transaction. + + + + Asynchronous version of the ChangeDataBase method. + + The name of the database to use. + + + + + Asynchronous version of the ChangeDataBase method. + + The name of the database to use. + The cancellation token. + + + + + Asynchronous version of the Close method. + + + + + Asynchronous version of the Close method. + + The cancellation token. + + + + Asynchronous version of the ClearPool method. + + The connection associated with the pool to be cleared. + + + + Asynchronous version of the ClearPool method. + + The connection associated with the pool to be cleared. + The cancellation token. + + + + Asynchronous version of the ClearAllPools method. + + + + + Asynchronous version of the ClearAllPools method. + + The cancellation token. + + + + Asynchronous version of the GetSchemaCollection method. + + The name of the collection. + The values to restrict. + A collection of schema objects. + + + + Asynchronous version of the GetSchemaCollection method. + + The name of the collection. + The values to restrict. + The cancellation token. + A collection of schema objects. + + + + Returns schema information for the data source of this . + + A that contains schema information. + + + + Returns schema information for the data source of this + using the specified string for the schema name. + + Specifies the name of the schema to return. + A that contains schema information. + + + + Returns schema information for the data source of this + using the specified string for the schema name and the specified string array + for the restriction values. + + Specifies the name of the schema to return. + Specifies a set of restriction values for the requested schema. + A that contains schema information. + + + + Enlists in the specified transaction. + + + A reference to an existing in which to enlist. + + + + + Creates a new MySqlConnection object with the exact same ConnectionString value + + A cloned MySqlConnection object + + + + Represents the method that will handle the event of a + . + + + + + Provides data for the InfoMessage event. This class cannot be inherited. + + + + + Gets or sets an array of objects set with the errors found. + + + + + IDisposable wrapper around SetCommandTimeout and ClearCommandTimeout functionality. + + + + + Summary description for Crypt. + + + + + Simple XOR scramble + + Source array + Index inside source array + Destination array + Index inside destination array + Password used to xor the bits + Number of bytes to scramble + + + + Returns a byte array containing the proper encryption of the + given password/seed according to the new 4.1.1 authentication scheme. + + + + + + + + Encrypts a password using the MySql encryption scheme + + The password to encrypt + The encryption seed the server gave us + Indicates if we should use the old or new encryption scheme + + + + + Hashes a password using the algorithm from Monty's code. + The first element in the return is the result of the "old" hash. + The second element is the rest of the "new" hash. + + Password to be hashed + Two element array containing the hashed values + + + + Provides a means of reading a forward-only stream of rows from a MySQL database. This class cannot be inherited. + + + To create a MySQLDataReader, you must call the + method of the object, rather than directly using a constructor. + + + While the MySqlDataReader is in use, the associated + is busy serving the MySqlDataReader, and no other operations can be performed + on the MySqlConnection other than closing it. This is the case until the + method of the MySqlDataReader is called. + + + and + are the only properties that you can call after the MySqlDataReader is + closed. Though the RecordsAffected property may be accessed at any time + while the MySqlDataReader exists, always call Close before returning + the value of RecordsAffected to ensure an accurate return value. + + + For optimal performance, MySqlDataReader 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 GetValue. + + + The following example creates a , + a , and a MySqlDataReader. The example reads through + the data, writing it out to the console. Finally, the example closes the MySqlDataReader, then the + MySqlConnection. + + Public Sub ReadMyData(myConnString As String) + Dim mySelectQuery As String = "SELECT OrderID, CustomerID FROM Orders" + Dim myConnection As New MySqlConnection(myConnString) + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) + myConnection.Open() + Dim myReader As MySqlDataReader + myReader = myCommand.ExecuteReader() + ' Always call Read before accessing data. + While myReader.Read() + Console.WriteLine((myReader.GetInt32(0) & ", " & myReader.GetString(1))) + End While + ' always call Close when done reading. + myReader.Close() + ' Close the connection when done with it. + myConnection.Close() + End Sub 'ReadMyData + + + public void ReadMyData(string myConnString) { + string mySelectQuery = "SELECT OrderID, CustomerID FROM Orders"; + MySqlConnection myConnection = new MySqlConnection(myConnString); + MySqlCommand myCommand = new MySqlCommand(mySelectQuery,myConnection); + myConnection.Open(); + MySqlDataReader myReader; + myReader = myCommand.ExecuteReader(); + // Always call Read before accessing data. + while (myReader.Read()) { + Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1)); + } + // always call Close when done reading. + myReader.Close(); + // Close the connection when done with it. + myConnection.Close(); + } + + + + + + Gets the number of columns in the current row. + + + + + Gets a value indicating whether the MySqlDataReader contains one or more rows. + + + + + Gets a value indicating whether the data reader is closed. + + + + + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + + + + + Overloaded. Gets the value of a column in its native format. + In C#, this property is the indexer for the MySqlDataReader class. + + + + + Gets the value of a column in its native format. + [C#] In C#, this property is the indexer for the MySqlDataReader class. + + + + + Gets a value indicating the depth of nesting for the current row. This method is not + supported currently and always returns 0. + + + + + Closes the MySqlDataReader object. + + + + + Gets the value of the specified column as a Boolean. + + + + + + + Gets the value of the specified column as a Boolean. + + + + + + + Gets the value of the specified column as a byte. + + + + + + + Gets the value of the specified column as a byte. + + + + + + + Gets the value of the specified column as a sbyte. + + + + + + + Gets the value of the specified column as a sbyte. + + + + + + + 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. + + + + + + + Gets the value of the specified column as a single character. + + + + + + + Reads a stream of characters from the specified column offset into the buffer as an array starting at the given buffer offset. + + + + + + + + + + + Gets the name of the source data type. + + + + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a DateTime object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or 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 DateTime object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or 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 DateTime object. + + + Call IsDBNull 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 DateTime object. + + + Call IsDBNull 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 Decimal object. + + + Call IsDBNull to check for null values before calling this method. + + The column nameThe 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 Decimal object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinalThe 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 Double object. + + + Call IsDBNull to check for null values before calling this method. + + The column nameThe 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 Double 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 Type that is the data type of the object. + + + + + + + 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 Float object. + + + Call IsDBNull to check for null values before calling this method. + + The column nameThe 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 Float 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 globally-unique identifier(GUID). + + The name of the column. + + + + + + + Gets the value of the specified column as a 16-bit signed integer. + + No conversions are performed; threfore, the data retrieved must already be a 16 bit integer value. + + + Call IsDBNull to check for null values before calling this method. + + The column nameThe 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 16 bit integer value. + + + 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 32-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a 32 bit integer value. + + + 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 32-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a 32 bit integer value. + + + 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 64-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a 64 bit integer value. + + + 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 64-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a 64 bit integer value. + + + Call IsDBNull 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. + + + + + + + Gets the column ordinal, given the name of the column. + + + + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a String 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 String 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 Time value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or 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 Time value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + + Gets the value of the specified column in its native format. + + + + + + + Gets all attribute columns in the collection for the current row. + + + + + + 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 16 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or 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 16 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or 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 32 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or 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 32 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or 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 64 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or 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 64 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + + Gets a value indicating whether the column contains non-existent or missing values. + + + + + + + Advances the data reader to the next result, when reading the results of batch SQL statements. + + + + + + Advances the MySqlDataReader to the next record. + + + + + + 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 . + + + + + Returns a DataTable that describes the column metadata of the MySqlDataReader. + + + + + + Summary description for BaseDriver. + + + + + For pooled connections, time when the driver was + put into idle queue + + + + + Loads the properties from the connected server into a hashtable + + + + + + + Loads all the current character set names and ids for this server + into the charSets hashtable + + + + + The exception that is thrown when MySQL returns an error. This class cannot be inherited. + + + + This class is created whenever the MySql Data Provider encounters an error generated from the server. + + + Any open connections are not automatically closed when an exception is thrown. If + the client application determines that the exception is fatal, it should close any open + objects or objects. + + + The following example generates a MySqlException due to a missing server, + and then displays the exception. + + + Public Sub ShowException() + Dim mySelectQuery As String = "SELECT column1 FROM table1" + Dim myConnection As New MySqlConnection ("Data Source=localhost;Database=Sample;") + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) + + Try + myCommand.Connection.Open() + Catch e As MySqlException + MessageBox.Show( e.Message ) + End Try + End Sub + + + public void ShowException() + { + string mySelectQuery = "SELECT column1 FROM table1"; + MySqlConnection myConnection = + new MySqlConnection("Data Source=localhost;Database=Sample;"); + MySqlCommand myCommand = new MySqlCommand(mySelectQuery,myConnection); + + try + { + myCommand.Connection.Open(); + } + catch (MySqlException e) + { + MessageBox.Show( e.Message ); + } + } + + + + + + Gets a number that identifies the type of error. + + + + + True if this exception was fatal and cause the closing of the connection, false otherwise. + + + + + Gets the SQL state. + + + + + Gets an integer that representes the MySQL error code. + + + + + Summary description for Field. + + + + + We are adding a custom installer class to our assembly so our installer + can make proper changes to the machine.config file. + + + + + We override Install so we can add our assembly to the proper + machine.config files. + + + + + + We override Uninstall so we can remove out assembly from the + machine.config files. + + + + + + Automatically generates single-table commands used to reconcile changes made to a DataSet 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 DataSet with the associated instance of MySQL. + However, you can create a MySqlCommandBuilder object to automatically generate SQL statements for + single-table updates if you set the SelectCommand property + of the MySqlDataAdapter. Then, any additional SQL statements that you do not set are generated by the + MySqlCommandBuilder. + + + + The MySqlCommandBuilder registers itself as a listener for RowUpdating + events whenever you set the property. You can only associate one + MySqlDataAdapter or MySqlCommandBuilder object with each other at one time. + + + + To generate INSERT, UPDATE, or DELETE statements, the MySqlCommandBuilder uses the + SelectCommand property to retrieve a required set of metadata automatically. If you change + the SelectCommand after the metadata has is retrieved (for example, after the first update), you + should call the method to update the metadata. + + + + The SelectCommand must also return at least one primary key or unique + column. If none are present, an InvalidOperation exception is generated, + and the commands are not generated. + + + + The MySqlCommandBuilder also uses the Connection, + CommandTimeout, and Transaction + properties referenced by the SelectCommand. The user should call + RefreshSchema if any of these properties are modified, or if the + SelectCommand itself is replaced. Otherwise the InsertCommand, + UpdateCommand, and + DeleteCommand properties retain + their previous values. + + + + If you call Dispose, the MySqlCommandBuilder is disassociated + from the MySqlDataAdapter, and the generated commands are no longer used. + + + + Caution must be used when using MySqlCOmmandBuilder on MySql 4.0 systems. With MySql 4.0, + database/schema information is not provided to the connector for a query. This means that + a query that pulls columns from two identically named tables in two or more different databases + will not cause an exception to be thrown but will not work correctly. Even more dangerous + is the situation where your select statement references database X but is executed in + database Y and both databases have tables with similar layouts. This situation can cause + unwanted changes or deletes. + This note does not apply to MySQL versions 4.1 and later. + + + + 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 MySqlCommandBuilder. + + + Public Shared Function SelectRows(myConnection As String, mySelectQuery As String, myTableName As String) As DataSet + Dim myConn As New MySqlConnection(myConnection) + Dim myDataAdapter As New MySqlDataAdapter() + myDataAdapter.SelectCommand = New MySqlCommand(mySelectQuery, myConn) + Dim cb As SqlCommandBuilder = New MySqlCommandBuilder(myDataAdapter) + + myConn.Open() + + Dim ds As DataSet = 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() + End Function 'SelectRows + + + 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 MySqlCommandBuilder, any existing + MySqlCommandBuilder associated with this MySqlDataAdapter + 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 MySqlCommandBuilder, any existing + MySqlCommandBuilder associated with this MySqlDataAdapter + is released. + + + + + + Retrieves parameter information from the stored procedure specified + in the MySqlCommand and populates the Parameters collection of the + specified MySqlCommand object. + This method is not currently supported since stored procedures are + not available in MySql. + + The MySqlCommand referencing the stored + procedure from which the parameter information is to be derived. + The derived parameters are added to the Parameters collection of the + MySqlCommand. + The command text is not + a valid stored procedure name. + + + + Gets the delete command. + + + + + + Gets the update command. + + + + + + Gets the insert command. + + + + + + + + + + + + + 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 MySQLDataAdapter, serves as a bridge between a + and MySQL for retrieving and saving data. The MySQLDataAdapter provides this + bridge by mapping , which changes the data in the + DataSet to match the data in the data source, and , + which changes the data in the data source to match the data in the DataSet, + using the appropriate SQL statements against the data source. + + + When the MySQLDataAdapter fills a DataSet, 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 MySQLDataAdapter create the schema of the DataSet, + including primary key information, before filling it with data using . + + + MySQLDataAdapter is used in conjunction with + and to increase performance when connecting to a MySQL database. + + + The MySQLDataAdapter also includes the , + , , + , and + properties to facilitate the loading and updating of data. + + + When an instance of MySQLDataAdapter is created, the read/write properties + are set to initial values. For a list of these values, see the MySQLDataAdapter + 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 MySqlConnection is opened and set as the for the + MySqlCommand. The example then calls , and closes + the connection. To accomplish this, the ExecuteNonQuery is + passed a connection string and a query string that is a SQL INSERT + statement. + + Public Function SelectRows(dataSet As DataSet, connection As String, query As String) As DataSet + Dim conn As New MySqlConnection(connection) + Dim adapter As New MySqlDataAdapter() + adapter.SelectCommand = new MySqlCommand(query, conn) + adapter.Fill(dataset) + Return dataset + End Function + + + 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 MySqlDataAdapter class. + + + When an instance of is created, + the following read/write properties are set to the following initial + values. + + + + Properties + Initial Value + + + + + + + MissingMappingAction.Passthrough + + + + + + + + MissingSchemaAction.Add + + + + + You can change the value of any of these properties through a separate call + to the property. + + + The following example creates a and sets some of + its properties. + + Public Sub CreateSqlDataAdapter() + Dim conn As MySqlConnection = New MySqlConnection("Data Source=localhost;" & _ + "database=test") + Dim da As MySqlDataAdapter = New MySqlDataAdapter + da.MissingSchemaAction = MissingSchemaAction.AddWithKey + + da.SelectCommand = New MySqlCommand("SELECT id, name FROM mytable", conn) + da.InsertCommand = New MySqlCommand("INSERT INTO mytable (id, name) " & _ + "VALUES (@id, @name)", conn) + da.UpdateCommand = New MySqlCommand("UPDATE mytable SET id=@id, name=@name " & _ + "WHERE id=@oldId", conn) + da.DeleteCommand = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + End Sub + + + public static void CreateSqlDataAdapter() + { + MySqlConnection conn = new MySqlConnection("Data Source=localhost;database=test"); + MySqlDataAdapter da = new MySqlDataAdapter(); + da.MissingSchemaAction = MissingSchemaAction.AddWithKey; + + da.SelectCommand = new MySqlCommand("SELECT id, name FROM mytable", conn); + da.InsertCommand = new MySqlCommand("INSERT INTO mytable (id, name) " + + "VALUES (@id, @name)", conn); + da.UpdateCommand = new MySqlCommand("UPDATE mytable SET id=@id, name=@name " + + "WHERE id=@oldId", conn); + da.DeleteCommand = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + } + + + + + + 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 . + + + When an instance of is created, + the following read/write properties are set to the following initial + values. + + + + Properties + Initial Value + + + + + + + MissingMappingAction.Passthrough + + + + + + + + MissingSchemaAction.Add + + + + + You can change the value of any of these properties through a separate call + to the property. + + + When SelectCommand (or any of the other command properties) is assigned + to a previously created , the MySqlCommand is not cloned. + The SelectCommand maintains a reference to the previously created MySqlCommand + object. + + + The following example creates a and sets some of + its properties. + + Public Sub CreateSqlDataAdapter() + Dim conn As MySqlConnection = New MySqlConnection("Data Source=localhost;" & _ + "database=test") + Dim cmd as new MySqlCommand("SELECT id, name FROM mytable", conn) + Dim da As MySqlDataAdapter = New MySqlDataAdapter(cmd) + da.MissingSchemaAction = MissingSchemaAction.AddWithKey + + da.InsertCommand = New MySqlCommand("INSERT INTO mytable (id, name) " & _ + "VALUES (@id, @name)", conn) + da.UpdateCommand = New MySqlCommand("UPDATE mytable SET id=@id, name=@name " & _ + "WHERE id=@oldId", conn) + da.DeleteCommand = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + End Sub + + + public static void CreateSqlDataAdapter() + { + MySqlConnection conn = new MySqlConnection("Data Source=localhost;database=test"); + MySqlCommand cmd = new MySqlCommand("SELECT id, name FROM mytable", conn); + MySqlDataAdapter da = new MySqlDataAdapter(cmd); + da.MissingSchemaAction = MissingSchemaAction.AddWithKey; + + da.InsertCommand = new MySqlCommand("INSERT INTO mytable (id, name) " + + "VALUES (@id, @name)", conn); + da.UpdateCommand = new MySqlCommand("UPDATE mytable SET id=@id, name=@name " + + "WHERE id=@oldId", conn); + da.DeleteCommand = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + } + + + + + + 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. + + + When an instance of is created, + the following read/write properties are set to the following initial + values. + + + + Properties + Initial Value + + + + + + + MissingMappingAction.Passthrough + + + + + + + + MissingSchemaAction.Add + + + + + You can change the value of any of these properties through a separate call + to the property. + + + The following example creates a and sets some of + its properties. + + Public Sub CreateSqlDataAdapter() + Dim conn As MySqlConnection = New MySqlConnection("Data Source=localhost;" & _ + "database=test") + Dim da As MySqlDataAdapter = New MySqlDataAdapter("SELECT id, name FROM mytable", conn) + da.MissingSchemaAction = MissingSchemaAction.AddWithKey + + da.InsertCommand = New MySqlCommand("INSERT INTO mytable (id, name) " & _ + "VALUES (@id, @name)", conn) + da.UpdateCommand = New MySqlCommand("UPDATE mytable SET id=@id, name=@name " & _ + "WHERE id=@oldId", conn) + da.DeleteCommand = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + End Sub + + + public static void CreateSqlDataAdapter() + { + MySqlConnection conn = new MySqlConnection("Data Source=localhost;database=test"); + MySqlDataAdapter da = new MySqlDataAdapter("SELECT id, name FROM mytable", conn); + da.MissingSchemaAction = MissingSchemaAction.AddWithKey; + + da.InsertCommand = new MySqlCommand("INSERT INTO mytable (id, name) " + + "VALUES (@id, @name)", conn); + da.UpdateCommand = new MySqlCommand("UPDATE mytable SET id=@id, name=@name " + + "WHERE id=@oldId", conn); + da.DeleteCommand = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + } + + + + + + 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 + + When an instance of is created, + the following read/write properties are set to the following initial + values. + + + + Properties + Initial Value + + + + + + + MissingMappingAction.Passthrough + + + + + + + + MissingSchemaAction.Add + + + + + You can change the value of any of these properties through a separate call + to the property. + + + The following example creates a and sets some of + its properties. + + Public Sub CreateSqlDataAdapter() + Dim da As MySqlDataAdapter = New MySqlDataAdapter("SELECT id, name FROM mytable", "Data Source=localhost;database=test") + Dim conn As MySqlConnection = da.SelectCommand.Connection + da.MissingSchemaAction = MissingSchemaAction.AddWithKey + + da.InsertCommand = New MySqlCommand("INSERT INTO mytable (id, name) " & _ + "VALUES (@id, @name)", conn) + da.UpdateCommand = New MySqlCommand("UPDATE mytable SET id=@id, name=@name " & _ + "WHERE id=@oldId", conn) + da.DeleteCommand = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + End Sub + + + public static void CreateSqlDataAdapter() + { + MySqlDataAdapter da = new MySqlDataAdapter("SELECT id, name FROM mytable", "Data Source=localhost;database=test"); + MySqlConnection conn = da.SelectCommand.Connection; + da.MissingSchemaAction = MissingSchemaAction.AddWithKey; + + da.InsertCommand = new MySqlCommand("INSERT INTO mytable (id, name) " + + "VALUES (@id, @name)", conn); + da.UpdateCommand = new MySqlCommand("UPDATE mytable SET id=@id, name=@name " + + "WHERE id=@oldId", conn); + da.DeleteCommand = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + } + + + + + + 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 DeleteCommand 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 DeleteCommand is assigned to a previously created , + the MySqlCommand is not cloned. The DeleteCommand maintains a reference + to the previously created MySqlCommand object. + + + The following example creates a and sets the + and DeleteCommand properties. It assumes you have already + created a object. + + Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter + Dim da As MySqlDataAdapter = New MySqlDataAdapter() + Dim cmd As MySqlCommand + Dim parm As MySqlParameter + + ' Create the SelectCommand. + cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) + + da.SelectCommand = cmd + + ' Create the DeleteCommand. + cmd = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + parm = cmd.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + parm.SourceVersion = DataRowVersion.Original + + da.DeleteCommand = cmd + + Return da + End Function + + + public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) + { + MySqlDataAdapter da = new MySqlDataAdapter(); + MySqlCommand cmd; + MySqlParameter parm; + + // Create the SelectCommand. + cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); + + da.SelectCommand = cmd; + + // Create the DeleteCommand. + cmd = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + parm = cmd.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + parm.SourceVersion = DataRowVersion.Original; + + da.DeleteCommand = cmd; + + return da; + } + + + + + + 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 MySqlCommand is not cloned. The InsertCommand maintains a reference + to the previously created MySqlCommand 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 MySqlCommand object. + + + The following example creates a and sets the + and InsertCommand properties. It assumes you have already + created a object. + + Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter + Dim da As MySqlDataAdapter = New MySqlDataAdapter() + Dim cmd As MySqlCommand + Dim parm As MySqlParameter + + ' Create the SelectCommand. + cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) + + da.SelectCommand = cmd + + ' Create the InsertCommand. + cmd = New MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id, @name)", conn) + + cmd.Parameters.Add( "@id", MySqlDbType.VarChar, 15, "id" ) + cmd.Parameters.Add( "@name", MySqlDbType.VarChar, 15, "name" ) + da.InsertCommand = cmd + + Return da + End Function + + + public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) + { + MySqlDataAdapter da = new MySqlDataAdapter(); + MySqlCommand cmd; + MySqlParameter parm; + + // Create the SelectCommand. + cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); + + da.SelectCommand = cmd; + + // Create the InsertCommand. + cmd = new MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id,@name)", conn); + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15, "id" ); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15, "name" ); + + da.InsertCommand = cmd; + + return da; + } + + + + + + 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 SelectCommand is assigned to a previously created , + the MySqlCommand is not cloned. The SelectCommand maintains a reference to the + previously created MySqlCommand object. + + + If the SelectCommand does not return any rows, no tables are added to the + , and no exception is raised. + + + The following example creates a and sets the + and InsertCommand properties. It assumes you have already + created a object. + + Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter + Dim da As MySqlDataAdapter = New MySqlDataAdapter() + Dim cmd As MySqlCommand + Dim parm As MySqlParameter + + ' Create the SelectCommand. + cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) + + da.SelectCommand = cmd + + ' Create the InsertCommand. + cmd = New MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id, @name)", conn) + + cmd.Parameters.Add( "@id", MySqlDbType.VarChar, 15, "id" ) + cmd.Parameters.Add( "@name", MySqlDbType.VarChar, 15, "name" ) + da.InsertCommand = cmd + + Return da + End Function + + + public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) + { + MySqlDataAdapter da = new MySqlDataAdapter(); + MySqlCommand cmd; + MySqlParameter parm; + + // Create the SelectCommand. + cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); + + da.SelectCommand = cmd; + + // Create the InsertCommand. + cmd = new MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id,@name)", conn); + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15, "id" ); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15, "name" ); + + da.InsertCommand = cmd; + + return da; + } + + + + + + 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 UpdateCommand 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 UpdateCommand is assigned to a previously created , + the MySqlCommand is not cloned. The UpdateCommand maintains a reference + to the previously created MySqlCommand 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 MySqlCommand object. + + + The following example creates a and sets the + and UpdateCommand properties. It assumes you have already + created a object. + + Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter + Dim da As MySqlDataAdapter = New MySqlDataAdapter() + Dim cmd As MySqlCommand + Dim parm As MySqlParameter + + ' Create the SelectCommand. + cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) + + da.SelectCommand = cmd + + ' Create the UpdateCommand. + cmd = New MySqlCommand("UPDATE mytable SET id=@id, name=@name WHERE id=@oldId", conn) + + cmd.Parameters.Add( "@id", MySqlDbType.VarChar, 15, "id" ) + cmd.Parameters.Add( "@name", MySqlDbType.VarChar, 15, "name" ) + + parm = cmd.Parameters.Add("@oldId", MySqlDbType.VarChar, 15, "id") + parm.SourceVersion = DataRowVersion.Original + + da.UpdateCommand = cmd + + Return da + End Function + + + public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) + { + MySqlDataAdapter da = new MySqlDataAdapter(); + MySqlCommand cmd; + MySqlParameter parm; + + // Create the SelectCommand. + cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); + + da.SelectCommand = cmd; + + // Create the UpdateCommand. + cmd = new MySqlCommand("UPDATE mytable SET id=@id, name=@name WHERE id=@oldId", conn); + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15, "id" ); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15, "name" ); + + parm = cmd.Parameters.Add( "@oldId", MySqlDbType.VarChar, 15, "id" ); + parm.SourceVersion = DataRowVersion.Original; + + da.UpdateCommand = cmd; + + return da; + } + + + + + + 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 + + + + Overridden. See . + + + + + + + + + + Overridden. See . + + + + + + + + + + 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 Fill method. + + The to fill records with. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The to fill records with. + The cancellation token. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill 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 Fill 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 Fill 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 Fill 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 Fill method. + + The to fill with records. + An instance of . + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill 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 Fill 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 Fill 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 Fill 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 Fill 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 Fill 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 Fill 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 Fill 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 Fill 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 Fill 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 Fill 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 Fill 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 Fill 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 . + + + + Async version of FillSchema + + DataSet to use + Schema Type + DataTable[] + + + + Async version of FillSchema + + DataSet to use + Schema Type + Source Table + DataTable[] + + + + Async version of FillSchema + + DataSet to use + Schema Type + Source Table + DataReader to use + DataTable[] + + + + Async version of FillSchema + + DataSet to use + Schema Type + DBCommand to use + Source Table + Command Behavior + DataTable[] + + + + Async version of FillSchema + + DataTable to use + Schema Type + DataTable + + + + Async version of FillSchema + + DataTable to use + Schema Type + DataReader to use + DataTable + + + + Async version of FillSchema + + DataTable to use + Schema Type + DBCommand to use + Command Behavior + DataTable + + + + Async version of Update + + DataRow[] to use + int + + + + Async version of Update + + DataSet to use + int + + + + Async version of Update + + DataTable to use + int + + + + Async version of Update + + DataRow[] to use + Data Table Mapping + int + + + + Async version of Update + + DataSet to use + Source Table + + + + + Represents the method that will handle the event of a . + + + + + Represents the method that will handle the event of a . + + + + + Provides data for the RowUpdating event. This class cannot be inherited. + + + + + Initializes a new instance of the MySqlRowUpdatingEventArgs class. + + The to + . + The to execute during . + One of the values that specifies the type of query executed. + The sent through an . + + + + Gets or sets the MySqlCommand to execute when performing the Update. + + + + + Provides data for the RowUpdated event. This class cannot be inherited. + + + + + Initializes a new instance of the MySqlRowUpdatedEventArgs class. + + The sent through an . + The executed when is called. + One of the values that specifies the type of query executed. + The sent through an . + + + + Gets or sets the MySqlCommand executed when Update is called. + + + + + Enables the provider to help ensure that a user has a security level adequate for accessing data. + + + + + Adds a new connection string with set of restricted keywords to the MySqlClientPermission object + + Settings to be used for the connection + Keywords to define the restrictions + KeyRestrictionBehavior to be used + + + + Returns MySqlClientPermission as an IPermission + + + + + + Associates a security action with a custom security attribute. + + + + + Represents a section within a configuration file. + + + + + Gets the MySQL configuations associated to the current configuration. + + + + + Gets a collection of the exception interceptors available in the current configuration. + + + + + Gets a collection of the command interceptors available in the current configuration. + + + + + Gets a collection of the authentication plugins available in the current configuration. + + + + + Gets or sets the replication configurations. + + + + + Defines the configurations allowed for an authentication plugin. + + + + + Gets or sets the name of the authentication plugin. + + + + + Gets or sets the type of the authentication plugin. + + + + + Defines the configurations allowed for an interceptor. + + + + + Gets or sets the name of the interceptor. + + + + + Gets or sets the type of the interceptor. + + + + + Represents a generic configuration element. + + + + + + Gets an enumerator that iterates through the returned list. + + An enumerator that iterates through the returned list. + + + + Helper class that makes it easier to work with the provider. + + + + + Asynchronous version of ExecuteDataRow. + + The settings to be used for the connection. + The command to execute. + The parameters to use for the command. + The DataRow containing the first row of the resultset. + + + + Asynchronous version of ExecuteDataRow. + + The settings to be used for the connection. + The command to execute. + The cancellation token. + The parameters to use for the command. + The DataRow containing the first row of the resultset. + + + + Executes a single SQL command and returns the first row of the resultset. A new MySqlConnection object + is created, opened, and closed during this method. + + Settings to be used for the connection + Command to execute + Parameters to use for the command + DataRow containing the first row of the resultset + + + + Executes a single SQL command and returns the resultset in a . + A new MySqlConnection object is created, opened, and closed during this method. + + Settings to be used for the connection + Command to execute + containing the resultset + + + + Executes a single SQL command and returns the resultset in a . + A new MySqlConnection object is created, opened, and closed during this method. + + Settings to be used for the connection + Command to execute + Parameters to use for the command + containing the resultset + + + + Executes a single SQL command and returns the resultset in a . + The state of the object remains unchanged after execution + of this method. + + object to use + Command to execute + containing the resultset + + + + Executes a single SQL command and returns the resultset in a . + The state of the object remains unchanged after execution + of this method. + + object to use + Command to execute + Parameters to use for the command + containing the resultset + + + + Updates the given table with data from the given + + Settings to use for the update + Command text to use for the update + containing the new data to use in the update + Tablename in the dataset to update + + + + Async version of ExecuteDataset + + Settings to be used for the connection + Command to execute + containing the resultset + + + + Async version of ExecuteDataset + + Settings to be used for the connection + Command to execute + Parameters to use for the command + containing the resultset + + + + Async version of ExecuteDataset + + object to use + Command to execute + containing the resultset + + + + Async version of ExecuteDataset + + object to use + Command to execute + Parameters to use for the command + containing the resultset + + + + Async version of UpdateDataset + + Settings to use for the update + Command text to use for the update + containing the new data to use in the update + Tablename in the dataset to update + + + + Executes a single command against a MySQL database. The is assumed to be + open when the method is called and remains open after the method completes. + + The object to use + The SQL command to be executed. + An array of objects to use with the command. + The number of affected records. + + + + Executes a single command against a MySQL database. + + to use. + The SQL command to be executed. + An rray of objects to use with the command. + The number of affected records. + A new is created using the given. + + + + Executes a single command against a MySQL database, possibly inside an existing transaction. + + object to use for the command + object to use for the command + Command text to use + Array of objects to use with the command + True if the connection should be preserved, false if not + object ready to read the results of the command + + + + Executes a single command against a MySQL database. + + Settings to use for this command + Command text to use + object ready to read the results of the command + + + + Executes a single command against a MySQL database. + + object to use for the command + Command text to use + object ready to read the results of the command + + + + Executes a single command against a MySQL database. + + Settings to use for this command + Command text to use + Array of objects to use with the command + object ready to read the results of the command + + + + Executes a single command against a MySQL database. + + Connection to use for the command + Command text to use + Array of objects to use with the command + object ready to read the results of the command + + + + Execute a single command against a MySQL database. + + Settings to use for the update + Command text to use for the update + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Execute a single command against a MySQL database. + + Settings to use for the command + Command text to use for the command + Parameters to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Execute a single command against a MySQL database. + + object to use + Command text to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Execute a single command against a MySQL database. + + object to use + Command text to use for the command + Parameters to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Escapes the string. + + The string to escape. + The string with all quotes escaped. + + + + Replaces quotes with double quotes. + + The string to modidify. + A string containing double quotes instead of single quotes. + + + + Async version of ExecuteNonQuery + + object to use + SQL command to be executed + Array of objects to use with the command. + Rows affected + + + + Asynchronous version of the ExecuteNonQuery method. + + to use. + The SQL command to be executed. + An array of objects to use with the command. + The number of rows affected. + + + + Asynchronous version of the ExecuteNonQuery method. + + to use. + The SQL command to be executed. + The cancellation token. + An array of objects to use with the command. + The number of rows affected. + + + + Async version of ExecuteReader + + object to use for the command + object to use for the command + Command text to use + Array of objects to use with the command + True if the connection should be preserved, false if not + object ready to read the results of the command + + + + Async version of ExecuteReader + + Settings to use for this command + Command text to use + object ready to read the results of the command + + + + Async version of ExecuteReader + + object to use for the command + Command text to use + object ready to read the results of the command + + + + Async version of ExecuteReader + + Settings to use for this command + Command text to use + Array of objects to use with the command + object ready to read the results of the command + + + + Async version of ExecuteReader + + Connection to use for the command + Command text to use + Array of objects to use with the command + object ready to read the results of the command + + + + Async version of ExecuteScalar + + Settings to use for the update + Command text to use for the update + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Async version of ExecuteScalar + + Settings to use for the command + Command text to use for the command + Parameters to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Async version of ExecuteScalar + + object to use + Command text to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Async version of ExecuteScalar + + object to use + Command text to use for the command + Parameters to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Represents a parameter to a , This class cannot be inherited. + + + + + Gets or sets the to use when loading . + + + + + CLoses this object. + + An object that is a clone of this object. + + + + Initializes a new instance of the class with the parameter name, the , the size, and the source column name. + + The name of the parameter to map. + One of the values. + The length of the parameter. + The name of the source column. + + + + Initializes a new instance of the class with the parameter name and a value of the new MySqlParameter. + + The name of the parameter to map. + An that is the value of the . + + + + Initializes a new instance of the class with the parameter name and the data type. + + The name of the parameter to map. + One of the values. + + + + Initializes a new instance of the class with the parameter name, the , and the size. + + The name of the parameter to map. + One of the values. + The length of the parameter. + + + + Initializes a new instance of the class with the parameter name, the type of the parameter, the size of the parameter, a , the precision of the parameter, the scale of the parameter, the source column, a to use, and the value of the parameter. + + The name of the parameter to map. + One of the values. + The length of the parameter. + One of the values. + true if the value of the field can be null, otherwise false. + The total number of digits to the left and right of the decimal point to which is resolved. + The total number of decimal places to which is resolved. + The name of the source column. + One of the values. + An that is the value of the . + + + + + Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. + As of MySql version 4.1 and earlier, input-only is the only valid choice. + + + + + Gets or sets a value indicating whether the parameter accepts null values. + + + + + Gets or sets the of the parameter. + + + + + Gets or sets the maximum number of digits used to represent the property. + + + + + Gets or sets the number of decimal places to which is resolved. + + + + + Gets or sets the maximum size, in bytes, of the data within the column. + + + + + Gets or sets the value of the parameter. + + + + + Returns the possible values for this parameter if this parameter is of type + SET or ENUM. Returns null otherwise. + + + + + Gets or sets the name of the source column that is mapped to the and used for loading or returning the . + + + + + Sets or gets a value which indicates whether the source column is nullable. + This allows to correctly generate Update statements + for nullable columns. + + + + + Gets or sets the of the parameter. + + + + + Overridden. Gets a string containing the . + + + + + + Resets the DbType property to its original settings. + + + + + Represents a collection of parameters relevant to a as well as their respective mappings to columns in a . This class cannot be inherited. + + + The number of the parameters in the collection must be equal to the number of + parameter placeholders within the command text, or an exception will be generated. + + The following example creates multiple instances of + that are exposed as a collection through the + object within . + These parameters are used to select data within the data source and place the data in + the . This code example assumes that a DataSet + object and an instance of were created properly + with the appropriate schema, commands, and connection. + + Public Sub AddParameters() + ' ... + ' create myDataSet and myDataAdapter + ' ... + myDataAdapter.SelectCommand.Parameters.Add("@CategoryName", MySqlDbType.VarChar, 80).Value = "toasters" + myDataAdapter.SelectCommand.Parameters.Add("@SerialNum", MySqlDbType.Long).Value = 239 + + myDataAdapter.Fill(myDataSet) + End Sub 'AddSqlParameters + + + public void AddSqlParameters() + { + // ... + // create myDataSet and myDataAdapter + // ... + + myDataAdapter.SelectCommand.Parameters.Add("@CategoryName", MySqlDbType.VarChar, 80).Value = "toasters"; + myDataAdapter.SelectCommand.Parameters.Add("@SerialNum", MySqlDbType.Long).Value = 239; + myDataAdapter.Fill(myDataSet); + } + + + + + + Gets a value that indicates whether the + has a fixed size. + + + + + Gets a value that indicates whether the + is read-only. + + + + + Gets a value that indicates whether the + is synchronized. + + + + + Gets the number of MySqlParameter objects in the collection. + + + + + Gets the at the specified index. + + Gets the with a specified attribute. + [C#] In C#, this property is the indexer for the class. + + + + + Gets the with the specified name. + + + + + Adds a to the with the parameter name, the data type, the column length, and the source column name. + + The name of the parameter. + One of the values. + The length of the column. + The name of the source column. + The newly added object. + + + + Adds the specified object to the . + + The to add to the collection. + The newly added object. + + + + Adds a parameter and its value. + + The name of the parameter. + The value of the parameter. + A object representing the provided values. + + + + Adds a to the given the parameter name and the data type. + + The name of the parameter. + One of the values. + The newly added object. + + + + Adds a to the with the parameter name, the data type, and the column length. + + The name of the parameter. + One of the values. + The length of the column. + The newly added object. + + + + Removes all items from the collection. + + + + + Gets the location of the in the collection with a specific parameter name. + + The name of the object to retrieve. + The zero-based location of the in the collection. + + + + Gets the location of a in the collection. + + The object to locate. + The zero-based location of the in the collection. + Gets the location of a in the collection. + + + + This method will update all the items in the index hashes when + we insert a parameter somewhere in the middle + + + + + + + Adds an array of values to the end of the . + + + + + + Retrieve the parameter with the given name. + + + + + + + Adds the specified object to the . + + The to add to the collection. + The index of the new object. + + + + Gets a value indicating whether a with the specified parameter name exists in the collection. + + The name of the object to find. + true if the collection contains the parameter; otherwise, false. + + + + Gets a value indicating whether a MySqlParameter exists in the collection. + + The value of the object to find. + true if the collection contains the object; otherwise, false. + Gets a value indicating whether a exists in the collection. + + + + Copies MySqlParameter objects from the MySqlParameterCollection to the specified array. + + + + + + + Returns an enumerator that iterates through the . + + + + + + Inserts a MySqlParameter into the collection at the specified index. + + + + + + + Removes the specified MySqlParameter from the collection. + + + + + + Removes the specified from the collection using the parameter name. + + The name of the object to retrieve. + + + + Removes the specified from the collection using a specific index. + + The zero-based index of the parameter. + Removes the specified from the collection. + + + + Gets an object that can be used to synchronize access to the + . + + + + + Represents a single(not nested) TransactionScope + + + + + Defines security permissions assigned to a MySQL object. + + + + + Creates a set of permissions. + + A flag indicating if the reflection permission should be included. + A object representing a collection of permissions. + + + + BaseCommandInterceptor is the base class that should be used for all userland + command interceptors + + + + + Gets the active connection. + + + + + Executes an SQL statements that returns a scalar value such as a calculation. + + The SQL statement to execute. + A scalar value that represents the result returned by the execution of the SQL statement. + false. + This method is intended to be overriden. + + + + Executes an SQL statement that returns the number of affected rows. + + The SQL statement to execute. + The number of affected rows. + false. + This method is intended to be overriden. + + + + Executes an SQL statement that will return a resultset. + + The SQL statement to execute. + A value that describes the results of the query and its effect on the database. + A object containing the result of the statement execution. + false. + This method is intended to be overriden. + + + + Sets the active connection. + + The active connection. + + + + CommandInterceptor is the "manager" class that keeps the list of registered interceptors + for the given connection. + + + + + BaseExceptionInterceptor is the base class that should be used for all userland + exception interceptors. + + + + + Returns the received exception. + + The exception to be returned. + The exception originally received. + + + + Gets the active connection. + + + + + Initilizes this object by setting the active connection. + + The connection to become active. + + + + StandardExceptionInterceptor is the standard interceptor that simply returns the exception. + It is the default action. + + + + + Returns the received exception, which is the default action + + The exception to be returned. + The exception originally received. + + + + ExceptionInterceptor is the "manager" class that keeps the list of registered interceptors + for the given connection. + + + + + Interceptor is the base class for the "manager" classes such as ExceptionInterceptor, + CommandInterceptor, etc + + + + + Return schema information about procedures and functions + Restrictions supported are: + schema, name, type + + + + + + + Return schema information about parameters for procedures and functions + Restrictions supported are: + schema, name, type, parameter name + + + + + Initializes a new row for the procedure parameters table. + + + + + Parses out the elements of a procedure parameter data type. + + + + + Implementation of memcached binary client protocol. + + According to http://code.google.com/p/memcached/wiki/BinaryProtocolRevamped + + + + Sends an store command (add, replace, set). + + + + + + + + + + + Sends a get command. + + + + + + + + + Sends a delete command. + + + + + + + + Sends a command without args (like flush). + + + + + + + + Sends a command with amount (INCR/DECR) + + + + + + + + + Encodes in the binary protocol the a command of the kind set, add or replace. + + + + + + + If true applies to set, add or replace commands; if false applies to append and prepend commands. + + + + + An interface of the client memcached protocol. This class is abstract for + implementation of the Memcached client interface see for the + text protocol version and for the binary protocol version. + + + + + The port used by the connection. + + + + + The server DNS or IP address used by the connection. + + + + + The network stream used by the connecition. + + + + + Factory method for creating instances of that implement a connection with the requested features. + The connection object returned must be explicitely opened see method . + + The Memcached server DNS or IP address. + The port for the Memcached server + A set of flags indicating characterestics requested. + An instance of a client connection ready to be used. + + + + Opens the client connection. + + + + + Closes the client connection. + + + + + Adds a new key/value pair with the given TimeSpan expiration. + + The key for identifying the entry. + The data to associate with the key. + The interval of timespan, use TimeSpan.Zero for no expiration. + + + + Appens the data to the existing data for the associated key. + + The key for identifying the entry. + The data to append with the data associated with the key. + + + + Executes the Check-and-set Memcached operation. + + The key for identifying the entry. + The data to use in the CAS. + The interval of timespan, use TimeSpan.Zero for no expiration. + The CAS unique value to use. + + + + + Decrements the value associated with a key by the given amount. + + The key associated with the value to decrement. + The amount to decrement the value. + + + + Removes they pair key/value given the specified key. + + + + + + Removes all entries from the storage, effectively invalidating the whole cache. + + The interval after which the cache will be cleaned. Can be TimeSpan.Zero for immediately. + + + + Get the key/value pair associated with a given key. + + The key for which to returm the key/value. + The key/value associated with the key or a MemcachedException if it does not exists. + + + + Increments the value associated with a key by the given amount. + + The key associated with the value to increment. + The amount to increment the value. + + + + Prepends the data to the existing data for the associated key. + + The key for identifying the entry. + The data to append with the data associated with the key. + + + + Replaces the value associated with the given key with another value. + + The key for identifying the entry. + The data to replace the value associated with the key. + The interval of timespan, use TimeSpan.Zero for no expiration. + + + + Set the value of a given key. + + The key for identifying the entry. + The data to associate with the given key. + The interval of timespan, use TimeSpan.Zero for no expiration. + + + + A set of flags for requesting new instances of connections + + + + + Requests a connection implememting the text protocol. + + + + + Requests a connection implementing the binary protocol. + + + + + Requests a TCP connection. Currently UDP is not supported. + + + + + The base exception class for all Memcached exceptions. + + + + + Implementation of the Memcached text client protocol. + + + + + Sends a command to the memcached server. + + + + + + + This version is for commands that take a key, data, expiration and casUnique. + + + + Sends a command to the memcached server. + + + + + + This version is for commands that take a key, data and expiration + + + + Send a command to memcached server. + + + + + This version is for commands that don't need flags neither expiration fields. + + + + Sends a command to the server. + + + + This version is for commands that only require a key + + + + Sends a command to the server. + + + + + This version is for commands that only require a key and an integer value. + + + + Sends a command to the server. + + + + This version is for commands that only require a key and expiration. + + + + Represents a query attribute to a . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the attribute name and its value. + + Name of the attribute. + Value of the attribute. + + + + Name of the query attribute. + + + + + Value of the query attribute. + + + + + Gets or sets the of the attribute. + + + + + Sets the MySqlDbType from the Value + + + + + Gets the value for the attribute type. + + + + + Serialize the value of the query attribute. + + + + + Represents a collection of query attributes relevant to a . + + + The following example creates multiple instances of + that are exposed as a collection through the + object within . This code example assumes that an instance + of was created + properly. + + Public Sub AddQueryAttributes() + ' ... + ' create MySqlCommand + ' ... + myCommand.Attributes.SetAttribute("queryAttribute", "value of the query attribute") + myCommand.Attributes.SetAttribute("queryAttribute2", DateTime.Now) + End Sub + + + public void AddQueryAttributes() + { + // ... + // create MySqlCommand + // ... + + myCommand.Attributes.SetAttribute("queryAttribute", "value of the query attribute"); + myCommand.Attributes.SetAttribute("queryAttribute2", DateTime.Now); + } + + + + + + Gets the at the specified index. + + + + + Gets the number of objects in the collection. + + + + + Adds the specified object to the . + + object to add. + + + + Adds a query attribute and its value. + + Name of the query attribute. + Value of the query attribute. + + + + Removes all items from the collection. + + + + + Returns an enumerator that iterates through the . + + + + + Abstract class that provides common functionality for connection options that apply for all protocols. + + + + + Readonly field containing a collection of protocol shared connection options. + + + + + Gets or sets a flag indicating if the object has access to procedures. + + + + + Gets or sets a dictionary representing key-value pairs for each connection option. + + + + + Gets or sets the name of the server. + + The server. + + + + Gets or sets the name of the database for the initial connection. + + + + + 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 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.1,TLSv1.2; + + + + + Gets or sets the path to a local key file in PEM format to use for establishing an encrypted connection. + + + + + Gets or sets the path to a local certificate file in PEM format to use for establishing an encrypted connection. + + + + + Gets or sets the idle connection time(seconds) for TCP connections. + + + + + Gets or sets the character set that should be used for sending queries to the server. + + + + + Analyzes the connection string for potential duplicated or invalid connection options. + + Connection string. + Flag that indicates if the connection is using X Protocol. + Flag that indicates if the default port is used. + + + + Represents a set of methods for creating instances of the MySQL client implementation of the data source classes. + + + + + Gets an instance of the . + This can be used to retrieve strongly typed data objects. + + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbCommand. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbConnection. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbParameter. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbConnectionStringBuilder. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbCommandBuilder. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbDataAdapter. + + + + Provide a simple caching layer + + + + + Aids in the creation of connection strings by exposing the connection options as properties. + Contains connection options specific to the Classic protocol. + + + + + Main constructor. + + + + + Constructor accepting a connection string. + + The connection string. + + + + Readonly field containing a collection of classic protocol and protocol shared connection options. + + + + + Gets or sets the name of the named pipe that should be used + for communicating with MySQL. + + + + + Gets or sets a boolean value that indicates whether this connection + should use compression. + + + + + Gets or sets a boolean value that indicates whether this connection will allow + commands to send multiple SQL statements in one execution. + + + + + Gets or sets a boolean value that indicates whether logging is enabled. + + + + + Gets or sets the base name of the shared memory objects used to + communicate with MySQL when the shared memory protocol is being used. + + + + + Gets or sets the default command timeout. + + + + + Gets or sets the connection timeout. + + + + + Gets or sets a boolean value that indicates whether this connection will allow + to load data local infile. + + + + + Gets or sets the safe path where files can be read and uploaded to the server. + + + + + Gets or sets a boolean value that indicates if the password should be persisted + in the connection string. + + + + + Gets or sets a boolean value that indicates if the connection should be encrypted. + + Obsolte. Use instead. + + + + Gets or sets a boolean value that indicates if RSA public keys should be retrieved from the server. + + This option is only relevant when SSL is disabled. Setting this option to true in + 8.0 servers that have the caching_sha2_password authentication plugin as the default plugin will + cause the connection attempt to fail if the user hasn't successfully connected to the server on a + previous occasion. + + + + Gets or sets the default authentication plugin to be used. This plugin takes precedence over + the server-side default authentication plugin when a valid authentication plugin is specified. + + + The default authentication plugin is mandatory for supporting user-less and password-less Kerberos authentications. + If no value is set, it uses the server-side default authentication plugin. + + + + + Gets or sets the OCI config file location. + + + The default values vary depending on the OS. On Windows systems the value is '%HOMEDRIVE%%HOMEPATH%\.oci\config' + and for Linux/MacOS systems it is '~/.oci/config'. + + + + + Gets or sets a boolean value that indicates if zero date time values are supported. + + Default value is false. + + + + Gets or sets a boolean value that indicates if zero datetime values should be + converted to DateTime.MinValue. + + Default value is false. + + + + Gets or sets a boolean value that indicates if the Usage Advisor should be enabled. + + Default value is false. + + + + Gets or sets the size of the stored procedure cache. + + Default value is 25. + + + + Gets or sets a boolean value that indicates if the performance monitor hooks should be enabled. + + Default value is false. + + + + Gets or sets a boolean value that indicates if an opened connection should particiapte in the current scope. + + Default value is true. + + + + Gets or sets a boolean value that indicates if security asserts must be included. + + Must be set to true when using the class in a partial trust environment, + with the library installed in the GAC of the hosting environment. Not supported in .NET Core. + Default value is false. + + + + Gets or sets a boolean value that indicates if column binary flags set by the server are ignored. + + Default value is true. + + + + Gets or sets a boolean value that indicates if TINYINT(1) shound be treated as a BOOLEAN. + + Default value is true. + + + + Gets or sets a boolean value that indicates if the provider expects user variables in the SQL. + + Default value is false. + + + + Gets or sets a boolean value that indicates if the session should be interactive. + + Default value is false. + + + + Gets or sets a boolean value that indicates if server functions should be treated as returning a string. + + Default value is false. + + + + Gets or sets a boolean value that indicates if the server should report affected rows instead of found rows. + + Default value is false. + + + + Gets or sets a boolean value that indicates if items of data type BINARY(16) should be treated as guids. + + Default value is false. + + + + Gets or sets a boolean value that indicates if SQL Server syntax should be allowed by supporting square brackets + around symbols instead of backticks. + + Default value is false. + + + + Gets or sets a boolean value that indicates if caching of TableDirect commands is enabled. + + Default value is false. + + + + Gets or sets the seconds for how long a TableDirect result should be cached. + + Default value is 0. + + + + Gets or sets a boolean value that indicates if stored routine parameters should be checked against the server. + + Default value is true. + + + + Gets or sets a boolean value that indicates if this connection will use replication. + + Default value is false. + + + + Gets or sets the list of interceptors that can triage thrown MySqlExceptions. + + + + + Gets or sets the list of interceptors that can intercept command operations. + + + + + Gets or sets the 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. + + + + 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. + + + + + Use SSL, if server supports it. This option is only available for the classic protocol. + + + + + Always use SSL. Deny connection if server does not support SSL. + Do not perform server certificate validation. + This is the default SSL mode when the same isn't specified as part of the connection string. + + + + + Always use SSL. Validate server SSL certificate, but different host name mismatch. + + + + + Always use SSL and perform full certificate validation. + + + + + Specifies the connection types supported + + + + + Use TCP/IP sockets. + + + + + Use client library. + + + + + Use MySQL embedded server. + + + + + Defines the location of the certificate store. + + + + + Do not use certificate store. + + + + + Use certificate store for the current user. + + + + + User certificate store for the machine. + + + + + Specifies the authentication mechanism that should be used. + + + + + If SSL is enabled or Unix sockets are being used, sets PLAIN as the authentication mechanism; + otherwise, it tries to use MYSQL41 and then SHA256_MEMORY. + + + + + Authenticate using PLAIN. + + + + + Authenticate using MYSQL41. + + + + + Authenticate using EXTERNAL. + + + + + Authenticate using SHA256_MEMORY. + + + + + Defines waiting options that may be used with row locking options. + + + + + Waits until the blocking transaction releases the row lock. + + + + + Never waits to acquire a row lock. The query executes immediately, + failing with an error if a requested row is locked. + + + + + Never waits to acquire a row lock. The query executes immediately, + removing locked rows from the result set. + + + + + Defines the type of compression used when data is exchanged between client and server. + + + + + Uses compression if client and server are able to reach a concensus. Otherwise, compression + is not used. + + + + + Enforces the use of compression. If no concensus is reached, an error is raised. + + + + + Disables compression. + + + + + Defines the compression algorithms that can be used. + + + + + The warnings that cause a connection to close. + + + + + Controls which column type should be read as type System.Guid. + + + + + Same as Char36 when OldGuids equals False, otherwise, the same as LittleEndianBinary16. + + + + + No column types are read or written as type Guid. + + + + + Char(36) columns are read or written as type Guid using lowercase hex with hyphens, which match UUID(). + + + + + Char(32) columns are read or written as type Guid using lowercase hex without hyphens. + + + + + Binary(16) columns are read or written as type Guid using big-endian byte order, which matches UUID_TO_BIN(x). + + + + + Binary(16) columns are read or written as type Guid using big-endian byte order + with time parts swapped, which matches UUID_TO_BIN(x,1). + + + + + Binary(16) columns are read or written as type Guid using little-endian byte order, + that is, the byte order used by System.Guid.ToByteArray and System.Guid.#ctor(System.Byte[]). + + + + + Collection of error codes that can be returned by the server + + + + + + + + + + + Error level + + + + + Error code + + + + + Error message + + + + + Provides a reference to error codes returned by MySQL. + + + + + ER_HASHCHK + + + + ER_NISAMCHK + + + + ER_NO + + + + ER_YES + + + The file couldn't be created. + ER_CANT_CREATE_FILE + + + The table couldn't be created. + ER_CANT_CREATE_TABLE + + + The database couldn't be created. + ER_CANT_CREATE_DB + + + The database couldn't be created, it already exists. + ER_DB_CREATE_EXISTS + + + The database couldn't be dropped, it doesn't exist. + ER_DB_DROP_EXISTS + + + The database couldn't be dropped, the file can't be deleted. + ER_DB_DROP_DELETE + + + The database couldn't be dropped, the directory can't be deleted. + ER_DB_DROP_RMDIR + + + The file couldn't be deleted. + ER_CANT_DELETE_FILE + + + The record couldn't be read from the system table. + ER_CANT_FIND_SYSTEM_REC + + + The status couldn't be retrieved. + ER_CANT_GET_STAT + + + The working directory couldn't be retrieved. + ER_CANT_GET_WD + + + The file couldn't be locked. + ER_CANT_LOCK + + + The file couldn't be opened. + ER_CANT_OPEN_FILE + + + The file couldn't be found. + ER_FILE_NOT_FOUND + + + The directory couldn't be read. + ER_CANT_READ_DIR + + + The working directory couldn't be entered. + ER_CANT_SET_WD + + + The record changed since it was last read. + ER_CHECKREAD + + + The disk is full. + ER_DISK_FULL + + + + There is already a key with the given values. + + + + An error occurred when closing the file. + ER_ERROR_ON_CLOSE + + + An error occurred when reading from the file. + ER_ERROR_ON_READ + + + An error occurred when renaming then file. + ER_ERROR_ON_RENAME + + + An error occurred when writing to the file. + ER_ERROR_ON_WRITE + + + The file is in use. + ER_FILE_USED + + + Sorting has been aborted. + ER_FILSORT_ABORT + + + The view doesn't exist. + ER_FORM_NOT_FOUND + + + Got the specified error from the table storage engine. + ER_GET_ERRNO + + + The table storage engine doesn't support the specified option. + ER_ILLEGAL_HA + + + + The specified key was not found. + + + + The file contains incorrect information. + ER_NOT_FORM_FILE + + + The key file is incorrect for the table, it should be repaired. + ER_NOT_KEYFILE + + + The key file is old for the table, it should be repaired. + ER_OLD_KEYFILE + + + The table is read-only + ER_OPEN_AS_READONLY + + + The server is out of memory, it should be restarted. + ER_OUTOFMEMORY + + + The server is out of sort-memory, the sort buffer size should be increased. + ER_OUT_OF_SORTMEMORY + + + An unexpected EOF was found when reading from the file. + ER_UNEXPECTED_EOF + + + Too many connections are open. + ER_CON_COUNT_ERROR + + + The server is out of resources, check if MySql or some other process is using all available memory. + ER_OUT_OF_RESOURCES + + + + Given when the connection is unable to successfully connect to host. + + + + The handshake was invalid. + ER_HANDSHAKE_ERROR + + + Access was denied for the specified user using the specified database. + ER_DBACCESS_DENIED_ERROR + + + + Normally returned when an incorrect password is given + + + + No database has been selected. + ER_NO_DB_ERROR + + + The command is unknown. + ER_UNKNOWN_COM_ERROR + + + The specified column cannot be NULL. + ER_BAD_NULL_ERROR + + + The specified database is not known. + + + The specified table already exists. + ER_TABLE_EXISTS_ERROR + + + The specified table is unknown. + ER_BAD_TABLE_ERROR + + + The specified column is ambiguous. + ER_NON_UNIQ_ERROR + + + The server is currently being shutdown. + ER_SERVER_SHUTDOWN + + + The specified columns is unknown. + ER_BAD_FIELD_ERROR + + + The specified column isn't in GROUP BY. + ER_WRONG_FIELD_WITH_GROUP + + + The specified columns cannot be grouped on. + ER_WRONG_GROUP_FIELD + + + There are sum functions and columns in the same statement. + ER_WRONG_SUM_SELECT + + + The column count doesn't match the value count. + ER_WRONG_VALUE_COUNT + + + The identifier name is too long. + ER_TOO_LONG_IDENT + + + The column name is duplicated. + ER_DUP_FIELDNAME + + + + Duplicate Key Name + + + + + Duplicate Key Entry + + + + The column specifier is incorrect. + ER_WRONG_FIELD_SPEC + + + An error occurred when parsing the statement. + ER_PARSE_ERROR + + + The statement is empty. + ER_EMPTY_QUERY + + + The table alias isn't unique. + ER_NONUNIQ_TABLE + + + The default value is invalid for the specified field. + ER_INVALID_DEFAULT + + + The table has multiple primary keys defined. + ER_MULTIPLE_PRI_KEY + + + Too many keys were defined for the table. + ER_TOO_MANY_KEYS + + + Too many parts to the keys were defined for the table. + ER_TOO_MANY_KEY_PARTS + + + The specified key is too long + ER_TOO_LONG_KEY + + + The specified key column doesn't exist in the table. + ER_KEY_COLUMN_DOES_NOT_EXITS + + + The BLOB column was used as a key, this can't be done. + ER_BLOB_USED_AS_KEY + + + The column length is too big for the specified column type. + ER_TOO_BIG_FIELDLENGTH + + + There can only be one auto-column, and it must be defined as a PK. + ER_WRONG_AUTO_KEY + + + The server is ready to accept connections. + ER_READY + + + + ER_NORMAL_SHUTDOWN + + + The server received the specified signal and is aborting. + ER_GOT_SIGNAL + + + The server shutdown is complete. + ER_SHUTDOWN_COMPLETE + + + The server is forcing close of the specified thread. + ER_FORCING_CLOSE + + + An error occurred when creating the IP socket. + ER_IPSOCK_ERROR + + + The table has no index like the one used in CREATE INDEX. + ER_NO_SUCH_INDEX + + + The field separator argument is not what is expected, check the manual. + ER_WRONG_FIELD_TERMINATORS + + + The BLOB columns must terminated, fixed row lengths cannot be used. + ER_BLOBS_AND_NO_TERMINATED + + + The text file cannot be read. + ER_TEXTFILE_NOT_READABLE + + + The specified file already exists. + ER_FILE_EXISTS_ERROR + + + Information returned by the LOAD statement. + ER_LOAD_INFO + + + Information returned by an UPDATE statement. + ER_ALTER_INFO + + + The prefix key is incorrect. + ER_WRONG_SUB_KEY + + + All columns cannot be removed from a table, use DROP TABLE instead. + ER_CANT_REMOVE_ALL_FIELDS + + + Cannot DROP, check that the column or key exists. + ER_CANT_DROP_FIELD_OR_KEY + + + Information returned by an INSERT statement. + ER_INSERT_INFO + + + The target table cannot be specified for update in FROM clause. + ER_UPDATE_TABLE_USED + + + The specified thread ID is unknown. + ER_NO_SUCH_THREAD + + + The thread cannot be killed, the current user is not the owner. + ER_KILL_DENIED_ERROR + + + No tables used in the statement. + ER_NO_TABLES_USED + + + Too many string have been used for the specified column and SET. + ER_TOO_BIG_SET + + + A unique filename couldn't be generated. + ER_NO_UNIQUE_LOGFILE + + + The specified table was locked with a READ lock, and can't be updated. + ER_TABLE_NOT_LOCKED_FOR_WRITE + + + The specified table was not locked with LOCK TABLES. + ER_TABLE_NOT_LOCKED + + + BLOB and Text columns cannot have a default value. + ER_BLOB_CANT_HAVE_DEFAULT + + + The specified database name is incorrect. + ER_WRONG_DB_NAME + + + The specified table name is incorrect. + ER_WRONG_TABLE_NAME + + + The SELECT command would examine more than MAX_JOIN_SIZE rows, check the WHERE clause and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is ok. + ER_TOO_BIG_SELECT + + + An unknown error occurred. + ER_UNKNOWN_ERROR + + + The specified procedure is unknown. + ER_UNKNOWN_PROCEDURE + + + The number of parameters provided for the specified procedure is incorrect. + ER_WRONG_PARAMCOUNT_TO_PROCEDURE + + + The parameters provided for the specified procedure are incorrect. + ER_WRONG_PARAMETERS_TO_PROCEDURE + + + The specified table is unknown. + ER_UNKNOWN_TABLE + + + The specified column has been specified twice. + ER_FIELD_SPECIFIED_TWICE + + + The group function has been incorrectly used. + ER_INVALID_GROUP_FUNC_USE + + + The specified table uses an extension that doesn't exist in this MySQL version. + ER_UNSUPPORTED_EXTENSION + + + The table must have at least one column. + ER_TABLE_MUST_HAVE_COLUMNS + + + The specified table is full. + ER_RECORD_FILE_FULL + + + The specified character set is unknown. + ER_UNKNOWN_CHARACTER_SET + + + Too many tables, MySQL can only use the specified number of tables in a JOIN. + ER_TOO_MANY_TABLES + + + Too many columns + ER_TOO_MANY_FIELDS + + + The row size is too large, the maximum row size for the used tables (not counting BLOBS) is specified, change some columns or BLOBS. + ER_TOO_BIG_ROWSIZE + + + A thread stack overrun occurred. Stack statistics are specified. + ER_STACK_OVERRUN + + + A cross dependency was found in the OUTER JOIN, examine the ON conditions. + ER_WRONG_OUTER_JOIN + + + The table handler doesn't support NULL in the given index, change specified column to be NOT NULL or use another handler. + ER_NULL_COLUMN_IN_INDEX + + + The specified user defined function cannot be loaded. + ER_CANT_FIND_UDF + + + The specified user defined function cannot be initialised. + ER_CANT_INITIALIZE_UDF + + + No paths are allowed for the shared library. + ER_UDF_NO_PATHS + + + The specified user defined function already exists. + ER_UDF_EXISTS + + + The specified shared library cannot be opened. + ER_CANT_OPEN_LIBRARY + + + The specified symbol cannot be found in the library. + ER_CANT_FIND_DL_ENTRY + + + The specified function is not defined. + ER_FUNCTION_NOT_DEFINED + + + The specified host is blocked because of too many connection errors, unblock with 'mysqladmin flush-hosts'. + ER_HOST_IS_BLOCKED + + + + The given host is not allowed to connect + + + + + The anonymous user is not allowed to connect + + + + + The given password is not allowed + + + + + The given password does not match + + + + Information returned by an UPDATE statement. + ER_UPDATE_INFO + + + A new thread couldn't be created. + ER_CANT_CREATE_THREAD + + + The column count doesn't match the value count. + ER_WRONG_VALUE_COUNT_ON_ROW + + + The specified table can't be re-opened. + ER_CANT_REOPEN_TABLE + + + The NULL value has been used incorrectly. + ER_INVALID_USE_OF_NULL + + + The regular expression contains an error. + ER_REGEXP_ERROR + + + GROUP columns (MIN(), MAX(), COUNT(), ...) cannot be mixes with no GROUP columns if there is not GROUP BY clause. + ER_MIX_OF_GROUP_FUNC_AND_FIELDS + + + + ER_NONEXISTING_GRANT + + + + ER_TABLEACCESS_DENIED_ERROR + + + + ER_COLUMNACCESS_DENIED_ERROR + + + + ER_ILLEGAL_GRANT_FOR_TABLE + + + + ER_GRANT_WRONG_HOST_OR_USER + + + + ER_NO_SUCH_TABLE + + + + ER_NONEXISTING_TABLE_GRANT + + + + ER_NOT_ALLOWED_COMMAND + + + + ER_SYNTAX_ERROR + + + + ER_DELAYED_CANT_CHANGE_LOCK + + + + ER_TOO_MANY_DELAYED_THREADS + + + + ER_ABORTING_CONNECTION + + + + An attempt was made to send or receive a packet larger than + max_allowed_packet_size + + + + + ER_NET_READ_ERROR_FROM_PIPE + + + + ER_NET_FCNTL_ERROR + + + + ER_NET_PACKETS_OUT_OF_ORDER + + + + ER_NET_UNCOMPRESS_ERROR + + + + ER_NET_READ_ERROR + + + + ER_NET_READ_INTERRUPTED + + + + ER_NET_ERROR_ON_WRITE + + + + ER_NET_WRITE_INTERRUPTED + + + + ER_TOO_LONG_STRING + + + + ER_TABLE_CANT_HANDLE_BLOB + + + + ER_TABLE_CANT_HANDLE_AUTO_INCREMENT + + + + ER_DELAYED_INSERT_TABLE_LOCKED + + + + ER_WRONG_COLUMN_NAME + + + + ER_WRONG_KEY_COLUMN + + + + ER_WRONG_MRG_TABLE + + + + ER_DUP_UNIQUE + + + + ER_BLOB_KEY_WITHOUT_LENGTH + + + + ER_PRIMARY_CANT_HAVE_NULL + + + + ER_TOO_MANY_ROWS + + + + ER_REQUIRES_PRIMARY_KEY + + + + ER_NO_RAID_COMPILED + + + + ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE + + + + ER_KEY_DOES_NOT_EXITS + + + + ER_CHECK_NO_SUCH_TABLE + + + + ER_CHECK_NOT_IMPLEMENTED + + + + ER_CANT_DO_THIS_DURING_AN_TRANSACTION + + + + ER_ERROR_DURING_COMMIT + + + + ER_ERROR_DURING_ROLLBACK + + + + ER_ERROR_DURING_FLUSH_LOGS + + + + ER_ERROR_DURING_CHECKPOINT + + + + ER_NEW_ABORTING_CONNECTION + + + + ER_DUMP_NOT_IMPLEMENTED + + + + ER_FLUSH_SOURCE_BINLOG_CLOSED + + + + ER_INDEX_REBUILD + + + + ER_SOURCE + + + + ER_SOURCE_NET_READ + + + + ER_SOURCE_NET_WRITE + + + + ER_FT_MATCHING_KEY_NOT_FOUND + + + + ER_LOCK_OR_ACTIVE_TRANSACTION + + + + ER_UNKNOWN_SYSTEM_VARIABLE + + + + ER_CRASHED_ON_USAGE + + + + ER_CRASHED_ON_REPAIR + + + + ER_WARNING_NOT_COMPLETE_ROLLBACK + + + + ER_TRANS_CACHE_FULL + + + + ER_REPLICA_MUST_STOP + + + + ER_REPLICA_NOT_RUNNING + + + + ER_BAD_REPLICA + + + + ER_SOURCE_INFO + + + + ER_REPLICA_THREAD + + + + ER_TOO_MANY_USER_CONNECTIONS + + + + ER_SET_CONSTANTS_ONLY + + + + ER_LOCK_WAIT_TIMEOUT + + + + ER_LOCK_TABLE_FULL + + + + ER_READ_ONLY_TRANSACTION + + + + ER_DROP_DB_WITH_READ_LOCK + + + + ER_CREATE_DB_WITH_READ_LOCK + + + + ER_WRONG_ARGUMENTS + + + + ER_NO_PERMISSION_TO_CREATE_USER + + + + ER_UNION_TABLES_IN_DIFFERENT_DIR + + + + ER_LOCK_DEADLOCK + + + + ER_TABLE_CANT_HANDLE_FT + + + + ER_CANNOT_ADD_FOREIGN + + + + ER_NO_REFERENCED_ROW + + + + ER_ROW_IS_REFERENCED + + + + ER_CONNECT_TO_SOURCE + + + + ER_QUERY_ON_SOURCE + + + + ER_ERROR_WHEN_EXECUTING_COMMAND + + + + ER_WRONG_USAGE + + + + ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT + + + + ER_CANT_UPDATE_WITH_READLOCK + + + + ER_MIXING_NOT_ALLOWED + + + + ER_DUP_ARGUMENT + + + + ER_USER_LIMIT_REACHED + + + + ER_SPECIFIC_ACCESS_DENIED_ERROR + + + + ER_LOCAL_VARIABLE + + + + ER_GLOBAL_VARIABLE + + + + ER_NO_DEFAULT + + + + ER_WRONG_VALUE_FOR_VAR + + + + ER_WRONG_TYPE_FOR_VAR + + + + ER_VAR_CANT_BE_READ + + + + ER_CANT_USE_OPTION_HERE + + + + ER_NOT_SUPPORTED_YET + + + + ER_SOURCE_FATAL_ERROR_READING_BINLOG + + + + ER_REPLICA_IGNORED_TABLE + + + + ER_INCORRECT_GLOBAL_LOCAL_VAR + + + + ER_WRONG_FK_DEF + + + + ER_KEY_REF_DO_NOT_MATCH_TABLE_REF + + + + ER_OPERAND_COLUMNS + + + + ER_SUBQUERY_NO_1_ROW + + + + ER_UNKNOWN_STMT_HANDLER + + + + ER_CORRUPT_HELP_DB + + + + ER_CYCLIC_REFERENCE + + + + ER_AUTO_CONVERT + + + + ER_ILLEGAL_REFERENCE + + + + ER_DERIVED_MUST_HAVE_ALIAS + + + + ER_SELECT_REDUCED + + + + ER_TABLENAME_NOT_ALLOWED_HERE + + + + ER_NOT_SUPPORTED_AUTH_MODE + + + + ER_SPATIAL_CANT_HAVE_NULL + + + + ER_COLLATION_CHARSET_MISMATCH + + + + ER_REPLICA_WAS_RUNNING + + + + ER_REPLICA_WAS_NOT_RUNNING + + + + ER_TOO_BIG_FOR_UNCOMPRESS + + + + ER_ZLIB_Z_MEM_ERROR + + + + ER_ZLIB_Z_BUF_ERROR + + + + ER_ZLIB_Z_DATA_ERROR + + + + ER_CUT_VALUE_GROUP_CONCAT + + + + ER_WARN_TOO_FEW_RECORDS + + + + ER_WARN_TOO_MANY_RECORDS + + + + ER_WARN_NULL_TO_NOTNULL + + + + ER_WARN_DATA_OUT_OF_RANGE + + + + WARN_DATA_TRUNCATED + + + + ER_WARN_USING_OTHER_HANDLER + + + + ER_CANT_AGGREGATE_2COLLATIONS + + + + ER_DROP_USER + + + + ER_REVOKE_GRANTS + + + + ER_CANT_AGGREGATE_3COLLATIONS + + + + ER_CANT_AGGREGATE_NCOLLATIONS + + + + ER_VARIABLE_IS_NOT_STRUCT + + + + ER_UNKNOWN_COLLATION + + + + ER_REPLICA_IGNORED_SSL_PARAMS + + + + ER_SERVER_IS_IN_SECURE_AUTH_MODE + + + + ER_WARN_FIELD_RESOLVED + + + + ER_BAD_REPLICA_UNTIL_COND + + + + ER_MISSING_SKIP_REPLICA + + + + ER_UNTIL_COND_IGNORED + + + + ER_WRONG_NAME_FOR_INDEX + + + + ER_WRONG_NAME_FOR_CATALOG + + + + ER_WARN_QC_RESIZE + + + + ER_BAD_FT_COLUMN + + + + ER_UNKNOWN_KEY_CACHE + + + + ER_WARN_HOSTNAME_WONT_WORK + + + + ER_UNKNOWN_STORAGE_ENGINE + + + + ER_WARN_DEPRECATED_SYNTAX + + + + ER_NON_UPDATABLE_TABLE + + + + ER_FEATURE_DISABLED + + + + ER_OPTION_PREVENTS_STATEMENT + + + + ER_DUPLICATED_VALUE_IN_TYPE + + + + ER_TRUNCATED_WRONG_VALUE + + + + ER_TOO_MUCH_AUTO_TIMESTAMP_COLS + + + + ER_INVALID_ON_UPDATE + + + + ER_UNSUPPORTED_PS + + + + ER_GET_ERRMSG + + + + ER_GET_TEMPORARY_ERRMSG + + + + ER_UNKNOWN_TIME_ZONE + + + + ER_WARN_INVALID_TIMESTAMP + + + + ER_INVALID_CHARACTER_STRING + + + + ER_WARN_ALLOWED_PACKET_OVERFLOWED + + + + ER_CONFLICTING_DECLARATIONS + + + + ER_SP_NO_RECURSIVE_CREATE + + + + ER_SP_ALREADY_EXISTS + + + + ER_SP_DOES_NOT_EXIST + + + + ER_SP_DROP_FAILED + + + + ER_SP_STORE_FAILED + + + + ER_SP_LILABEL_MISMATCH + + + + ER_SP_LABEL_REDEFINE + + + + ER_SP_LABEL_MISMATCH + + + + ER_SP_UNINIT_VAR + + + + ER_SP_BADSELECT + + + + ER_SP_BADRETURN + + + + ER_SP_BADSTATEMENT + + + + ER_UPDATE_LOG_DEPRECATED_IGNORED + + + + ER_UPDATE_LOG_DEPRECATED_TRANSLATED + + + + ER_QUERY_INTERRUPTED + + + + ER_SP_WRONG_NO_OF_ARGS + + + + ER_SP_COND_MISMATCH + + + + ER_SP_NORETURN + + + + ER_SP_NORETURNEND + + + + ER_SP_BAD_CURSOR_QUERY + + + + ER_SP_BAD_CURSOR_SELECT + + + + ER_SP_CURSOR_MISMATCH + + + + ER_SP_CURSOR_ALREADY_OPEN + + + + ER_SP_CURSOR_NOT_OPEN + + + + ER_SP_UNDECLARED_VAR + + + + ER_SP_WRONG_NO_OF_FETCH_ARGS + + + + ER_SP_FETCH_NO_DATA + + + + ER_SP_DUP_PARAM + + + + ER_SP_DUP_VAR + + + + ER_SP_DUP_COND + + + + ER_SP_DUP_CURS + + + + ER_SP_CANT_ALTER + + + + ER_SP_SUBSELECT_NYI + + + + ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG + + + + ER_SP_VARCOND_AFTER_CURSHNDLR + + + + ER_SP_CURSOR_AFTER_HANDLER + + + + ER_SP_CASE_NOT_FOUND + + + + ER_FPARSER_TOO_BIG_FILE + + + + ER_FPARSER_BAD_HEADER + + + + ER_FPARSER_EOF_IN_COMMENT + + + + ER_FPARSER_ERROR_IN_PARAMETER + + + + ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER + + + + ER_VIEW_NO_EXPLAIN + + + + ER_FRM_UNKNOWN_TYPE + + + + ER_WRONG_OBJECT + + + + ER_NONUPDATEABLE_COLUMN + + + + ER_VIEW_SELECT_DERIVED + + + + ER_VIEW_SELECT_CLAUSE + + + + ER_VIEW_SELECT_VARIABLE + + + + ER_VIEW_SELECT_TMPTABLE + + + + ER_VIEW_WRONG_LIST + + + + ER_WARN_VIEW_MERGE + + + + ER_WARN_VIEW_WITHOUT_KEY + + + + ER_VIEW_INVALID + + + + ER_SP_NO_DROP_SP + + + + ER_SP_GOTO_IN_HNDLR + + + + ER_TRG_ALREADY_EXISTS + + + + ER_TRG_DOES_NOT_EXIST + + + + ER_TRG_ON_VIEW_OR_TEMP_TABLE + + + + ER_TRG_CANT_CHANGE_ROW + + + + ER_TRG_NO_SUCH_ROW_IN_TRG + + + + ER_NO_DEFAULT_FOR_FIELD + + + + ER_DIVISION_BY_ZERO + + + + ER_TRUNCATED_WRONG_VALUE_FOR_FIELD + + + + ER_ILLEGAL_VALUE_FOR_TYPE + + + + ER_VIEW_NONUPD_CHECK + + + + ER_VIEW_CHECK_FAILED + + + + ER_PROCACCESS_DENIED_ERROR + + + + ER_RELAY_LOG_FAIL + + + + ER_PASSWD_LENGTH + + + + ER_UNKNOWN_TARGET_BINLOG + + + + ER_IO_ERR_LOG_INDEX_READ + + + + ER_BINLOG_PURGE_PROHIBITED + + + + ER_FSEEK_FAIL + + + + ER_BINLOG_PURGE_FATAL_ERR + + + + ER_LOG_IN_USE + + + + ER_LOG_PURGE_UNKNOWN_ERR + + + + ER_RELAY_LOG_INIT + + + + ER_NO_BINARY_LOGGING + + + + ER_RESERVED_SYNTAX + + + + ER_WSAS_FAILED + + + + ER_DIFF_GROUPS_PROC + + + + ER_NO_GROUP_FOR_PROC + + + + ER_ORDER_WITH_PROC + + + + ER_LOGGING_PROHIBIT_CHANGING_OF + + + + ER_NO_FILE_MAPPING + + + + ER_WRONG_MAGIC + + + + ER_PS_MANY_PARAM + + + + ER_KEY_PART_0 + + + + ER_VIEW_CHECKSUM + + + + ER_VIEW_MULTIUPDATE + + + + ER_VIEW_NO_INSERT_FIELD_LIST + + + + ER_VIEW_DELETE_MERGE_VIEW + + + + ER_CANNOT_USER + + + + ER_XAER_NOTA + + + + ER_XAER_INVAL + + + + ER_XAER_RMFAIL + + + + ER_XAER_OUTSIDE + + + + ER_XAER_RMERR + + + + ER_XA_RBROLLBACK + + + + ER_NONEXISTING_PROC_GRANT + + + + ER_PROC_AUTO_GRANT_FAIL + + + + ER_PROC_AUTO_REVOKE_FAIL + + + + ER_DATA_TOO_LONG + + + + ER_SP_BAD_SQLSTATE + + + + ER_STARTUP + + + + ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR + + + + ER_CANT_CREATE_USER_WITH_GRANT + + + + ER_WRONG_VALUE_FOR_TYPE + + + + ER_TABLE_DEF_CHANGED + + + + ER_SP_DUP_HANDLER + + + + ER_SP_NOT_VAR_ARG + + + + ER_SP_NO_RETSET + + + + ER_CANT_CREATE_GEOMETRY_OBJECT + + + + ER_FAILED_ROUTINE_BREAK_BINLOG + + + + ER_BINLOG_UNSAFE_ROUTINE + + + + ER_BINLOG_CREATE_ROUTINE_NEED_SUPER + + + + ER_EXEC_STMT_WITH_OPEN_CURSOR + + + + ER_STMT_HAS_NO_OPEN_CURSOR + + + + ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG + + + + ER_NO_DEFAULT_FOR_VIEW_FIELD + + + + ER_SP_NO_RECURSION + + + + ER_TOO_BIG_SCALE + + + + ER_TOO_BIG_PRECISION + + + + ER_M_BIGGER_THAN_D + + + + ER_WRONG_LOCK_OF_SYSTEM_TABLE + + + + ER_CONNECT_TO_FOREIGN_DATA_SOURCE + + + + ER_QUERY_ON_FOREIGN_DATA_SOURCE + + + + ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST + + + + ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE + + + + ER_FOREIGN_DATA_STRING_INVALID + + + + ER_CANT_CREATE_FEDERATED_TABLE + + + + ER_TRG_IN_WRONG_SCHEMA + + + + ER_STACK_OVERRUN_NEED_MORE + + + + ER_TOO_LONG_BODY + + + + ER_WARN_CANT_DROP_DEFAULT_KEYCACHE + + + + ER_TOO_BIG_DISPLAYWIDTH + + + + ER_XAER_DUPID + + + + ER_DATETIME_FUNCTION_OVERFLOW + + + + ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG + + + + ER_VIEW_PREVENT_UPDATE + + + + ER_PS_NO_RECURSION + + + + ER_SP_CANT_SET_AUTOCOMMIT + + + + ER_MALFORMED_DEFINER + + + + ER_VIEW_FRM_NO_USER + + + + ER_VIEW_OTHER_USER + + + + ER_NO_SUCH_USER + + + + ER_FORBID_SCHEMA_CHANGE + + + + ER_ROW_IS_REFERENCED_2 + + + + ER_NO_REFERENCED_ROW_2 + + + + ER_SP_BAD_VAR_SHADOW + + + + ER_TRG_NO_DEFINER + + + + ER_OLD_FILE_FORMAT + + + + ER_SP_RECURSION_LIMIT + + + + ER_SP_PROC_TABLE_CORRUPT + + + + ER_SP_WRONG_NAME + + + + ER_TABLE_NEEDS_UPGRADE + + + + ER_SP_NO_AGGREGATE + + + + ER_MAX_PREPARED_STMT_COUNT_REACHED + + + + ER_VIEW_RECURSIVE + + + + ER_NON_GROUPING_FIELD_USED + + + + ER_TABLE_CANT_HANDLE_SPKEYS + + + + ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA + + + + ER_REMOVED_SPACES + + + + ER_AUTOINC_READ_FAILED + + + + ER_USERNAME + + + + ER_HOSTNAME + + + + ER_WRONG_STRING_LENGTH + + + + ER_NON_INSERTABLE_TABLE + + + + ER_ADMIN_WRONG_MRG_TABLE + + + + ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT + + + + ER_NAME_BECOMES_EMPTY + + + + ER_AMBIGUOUS_FIELD_TERM + + + + ER_FOREIGN_SERVER_EXISTS + + + + ER_FOREIGN_SERVER_DOESNT_EXIST + + + + ER_ILLEGAL_HA_CREATE_OPTION + + + + ER_PARTITION_REQUIRES_VALUES_ERROR + + + + ER_PARTITION_WRONG_VALUES_ERROR + + + + ER_PARTITION_MAXVALUE_ERROR + + + + ER_PARTITION_SUBPARTITION_ERROR + + + + ER_PARTITION_SUBPART_MIX_ERROR + + + + ER_PARTITION_WRONG_NO_PART_ERROR + + + + ER_PARTITION_WRONG_NO_SUBPART_ERROR + + + + ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR + + + + ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR + + + + ER_FIELD_NOT_FOUND_PART_ERROR + + + + ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR + + + + ER_INCONSISTENT_PARTITION_INFO_ERROR + + + + ER_PARTITION_FUNC_NOT_ALLOWED_ERROR + + + + ER_PARTITIONS_MUST_BE_DEFINED_ERROR + + + + ER_RANGE_NOT_INCREASING_ERROR + + + + ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR + + + + ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR + + + + ER_PARTITION_ENTRY_ERROR + + + + ER_MIX_HANDLER_ERROR + + + + ER_PARTITION_NOT_DEFINED_ERROR + + + + ER_TOO_MANY_PARTITIONS_ERROR + + + + ER_SUBPARTITION_ERROR + + + + ER_CANT_CREATE_HANDLER_FILE + + + + ER_BLOB_FIELD_IN_PART_FUNC_ERROR + + + + ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF + + + + ER_NO_PARTS_ERROR + + + + ER_PARTITION_MGMT_ON_NONPARTITIONED + + + + ER_FOREIGN_KEY_ON_PARTITIONED + + + + ER_DROP_PARTITION_NON_EXISTENT + + + + ER_DROP_LAST_PARTITION + + + + ER_COALESCE_ONLY_ON_HASH_PARTITION + + + + ER_REORG_HASH_ONLY_ON_SAME_NO + + + + ER_REORG_NO_PARAM_ERROR + + + + ER_ONLY_ON_RANGE_LIST_PARTITION + + + + ER_ADD_PARTITION_SUBPART_ERROR + + + + ER_ADD_PARTITION_NO_NEW_PARTITION + + + + ER_COALESCE_PARTITION_NO_PARTITION + + + + ER_REORG_PARTITION_NOT_EXIST + + + + ER_SAME_NAME_PARTITION + + + + ER_NO_BINLOG_ERROR + + + + ER_CONSECUTIVE_REORG_PARTITIONS + + + + ER_REORG_OUTSIDE_RANGE + + + + ER_PARTITION_FUNCTION_FAILURE + + + + ER_PART_STATE_ERROR + + + + ER_LIMITED_PART_RANGE + + + + ER_PLUGIN_IS_NOT_LOADED + + + + ER_WRONG_VALUE + + + + ER_NO_PARTITION_FOR_GIVEN_VALUE + + + + ER_FILEGROUP_OPTION_ONLY_ONCE + + + + ER_CREATE_FILEGROUP_FAILED + + + + ER_DROP_FILEGROUP_FAILED + + + + ER_TABLESPACE_AUTO_EXTEND_ERROR + + + + ER_WRONG_SIZE_NUMBER + + + + ER_SIZE_OVERFLOW_ERROR + + + + ER_ALTER_FILEGROUP_FAILED + + + + ER_BINLOG_ROW_LOGGING_FAILED + + + + ER_BINLOG_ROW_WRONG_TABLE_DEF + + + + ER_BINLOG_ROW_RBR_TO_SBR + + + + ER_EVENT_ALREADY_EXISTS + + + + ER_EVENT_STORE_FAILED + + + + ER_EVENT_DOES_NOT_EXIST + + + + ER_EVENT_CANT_ALTER + + + + ER_EVENT_DROP_FAILED + + + + ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG + + + + ER_EVENT_ENDS_BEFORE_STARTS + + + + ER_EVENT_EXEC_TIME_IN_THE_PAST + + + + ER_EVENT_OPEN_TABLE_FAILED + + + + ER_EVENT_NEITHER_M_EXPR_NOR_M_AT + + + + ER_COL_COUNT_DOESNT_MATCH_CORRUPTED + + + + ER_CANNOT_LOAD_FROM_TABLE + + + + ER_EVENT_CANNOT_DELETE + + + + ER_EVENT_COMPILE_ERROR + + + + ER_EVENT_SAME_NAME + + + + ER_EVENT_DATA_TOO_LONG + + + + ER_DROP_INDEX_FK + + + + ER_WARN_DEPRECATED_SYNTAX_WITH_VER + + + + ER_CANT_WRITE_LOCK_LOG_TABLE + + + + ER_CANT_LOCK_LOG_TABLE + + + + ER_FOREIGN_DUPLICATE_KEY + + + + ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE + + + + ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR + + + + ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT + + + + ER_NDB_CANT_SWITCH_BINLOG_FORMAT + + + + ER_PARTITION_NO_TEMPORARY + + + + ER_PARTITION_CONST_DOMAIN_ERROR + + + + ER_PARTITION_FUNCTION_IS_NOT_ALLOWED + + + + ER_DDL_LOG_ERROR + + + + ER_NULL_IN_VALUES_LESS_THAN + + + + ER_WRONG_PARTITION_NAME + + + + ER_CANT_CHANGE_TRANSACTION_ISOLATION + + + + ER_DUP_ENTRY_AUTOINCREMENT_CASE + + + + ER_EVENT_MODIFY_QUEUE_ERROR + + + + ER_EVENT_SET_VAR_ERROR + + + + ER_PARTITION_MERGE_ERROR + + + + ER_CANT_ACTIVATE_LOG + + + + ER_RBR_NOT_AVAILABLE + + + + ER_BASE64_DECODE_ERROR + + + + ER_EVENT_RECURSION_FORBIDDEN + + + + ER_EVENTS_DB_ERROR + + + + ER_ONLY_INTEGERS_ALLOWED + + + + ER_UNSUPORTED_LOG_ENGINE + + + + ER_BAD_LOG_STATEMENT + + + + ER_CANT_RENAME_LOG_TABLE + + + + ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT + + + + ER_WRONG_PARAMETERS_TO_NATIVE_FCT + + + + ER_WRONG_PARAMETERS_TO_STORED_FCT + + + + ER_NATIVE_FCT_NAME_COLLISION + + + + ER_DUP_ENTRY_WITH_KEY_NAME + + + + ER_BINLOG_PURGE_EMFILE + + + + ER_EVENT_CANNOT_CREATE_IN_THE_PAST + + + + ER_EVENT_CANNOT_ALTER_IN_THE_PAST + + + + ER_REPLICA_INCIDENT + + + + ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT + + + + ER_BINLOG_UNSAFE_STATEMENT + + + + ER_REPLICA_FATAL_ERROR + + + + ER_REPLICA_RELAY_LOG_READ_FAILURE + + + + ER_REPLICA_RELAY_LOG_WRITE_FAILURE + + + + ER_REPLICA_CREATE_EVENT_FAILURE + + + + ER_REPLICA_SOURCE_COM_FAILURE + + + + ER_BINLOG_LOGGING_IMPOSSIBLE + + + + ER_VIEW_NO_CREATION_CTX + + + + ER_VIEW_INVALID_CREATION_CTX + + + + ER_SR_INVALID_CREATION_CTX + + + + ER_TRG_CORRUPTED_FILE + + + + ER_TRG_NO_CREATION_CTX + + + + ER_TRG_INVALID_CREATION_CTX + + + + ER_EVENT_INVALID_CREATION_CTX + + + + ER_TRG_CANT_OPEN_TABLE + + + + ER_CANT_CREATE_SROUTINE + + + + ER_REPLICA_AMBIGOUS_EXEC_MODE + + + + ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT + + + + ER_REPLICA_CORRUPT_EVENT + + + + ER_LOAD_DATA_INVALID_COLUMN + + + + ER_LOG_PURGE_NO_FILE + + + + ER_XA_RBTIMEOUT + + + + ER_XA_RBDEADLOCK + + + + ER_NEED_REPREPARE + + + + ER_DELAYED_NOT_SUPPORTED + + + + WARN_NO_SOURCE_INFO + + + + WARN_OPTION_IGNORED + + + + WARN_PLUGIN_DELETE_BUILTIN + + + + WARN_PLUGIN_BUSY + + + + ER_VARIABLE_IS_READONLY + + + + ER_WARN_ENGINE_TRANSACTION_ROLLBACK + + + + ER_REPLICA_HEARTBEAT_FAILURE + + + + ER_REPLICA_HEARTBEAT_VALUE_OUT_OF_RANGE + + + + ER_NDB_REPLICATION_SCHEMA_ERROR + + + + ER_CONFLICT_FN_PARSE_ERROR + + + + ER_EXCEPTIONS_WRITE_ERROR + + + + ER_TOO_LONG_TABLE_COMMENT + + + + ER_TOO_LONG_FIELD_COMMENT + + + + ER_FUNC_INEXISTENT_NAME_COLLISION + + + + ER_DATABASE_NAME + + + + ER_TABLE_NAME + + + + ER_PARTITION_NAME + + + + ER_SUBPARTITION_NAME + + + + ER_TEMPORARY_NAME + + + + ER_RENAMED_NAME + + + + ER_TOO_MANY_CONCURRENT_TRXS + + + + WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED + + + + ER_DEBUG_SYNC_TIMEOUT + + + + ER_DEBUG_SYNC_HIT_LIMIT + + + + ER_ERROR_LAST + + + + ER_CLIENT_INTERACTION_TIMEOUT + + + + WriteInteger + + + + + + + Summary description for MySqlPool. + + + + + It is assumed that this property will only be used from inside an active + lock. + + + + + Indicates whether this pool is being cleared. + + + + + It is assumed that this method is only called from inside an active lock. + + + + + It is assumed that this method is only called from inside an active lock. + + + + + Removes a connection from the in use pool. The only situations where this method + would be called are when a connection that is in use gets some type of fatal exception + or when the connection is being returned to the pool and it's too old to be + returned. + + + + + + Clears this pool of all idle connections and marks this pool and being cleared + so all other connections are closed when they are returned. + + + + + Remove expired drivers from the idle pool + + + + Closing driver is a potentially lengthy operation involving network + IO. Therefore we do not close expired drivers while holding + idlePool.SyncRoot lock. We just remove the old drivers from the idle + queue and return them to the caller. The caller will need to close + them (or let GC close them) + + + + + Summary description for MySqlPoolManager. + + + + + Queue of demoted hosts. + + + + + List of hosts that will be attempted to connect to. + + + + + Timer to be used when a host have been demoted. + + + + + Remove drivers that have been idle for too long. + + + + + Remove hosts that have been on the demoted list for more + than 120,000 milliseconds and add them to the available hosts list. + + + + + Provides a class capable of executing a SQL script containing + multiple SQL statements including CREATE PROCEDURE statements + that require changing the delimiter + + + + + Handles the event raised whenever a statement is executed. + + + + + Handles the event raised whenever an error is raised by the execution of a script. + + + + + Handles the event raised whenever a script execution is finished. + + + + + Initializes a new instance of the + class. + + + + + Initializes a new instance of the + class. + + The connection. + + + + Initializes a new instance of the + class. + + The query. + + + + Initializes a new instance of the + class. + + The connection. + The query. + + + + Gets or sets the connection. + + The connection. + + + + Gets or sets the query. + + The query. + + + + Gets or sets the delimiter. + + The delimiter. + + + + Executes this instance. + + The number of statements executed as part of the script. + + + + Initiates the asynchronous execution of SQL statements. + + The number of statements executed as part of the script inside. + + + + Initiates the asynchronous execution of SQL statements. + + The cancellation token. + The number of statements executed as part of the script inside. + + + + Represents the method that will handle errors when executing MySQL statements. + + + + + Represents the method that will handle errors when executing MySQL scripts. + + + + + Sets the arguments associated to MySQL scripts. + + + + + Gets the statement text. + + The statement text. + + + + Gets the line. + + The line. + + + + Gets the position. + + The position. + + + + Sets the arguments associated to MySQL script errors. + + + + + Initializes a new instance of the class. + + The exception. + + + + Gets the exception. + + The exception. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignore; otherwise, false. + + + + Summary description for MySqlStream. + + + + + ReadPacket is called by NativeDriver to start reading the next + packet on the stream. + + + + + Reads the specified number of bytes from the stream and stores them at given + offset in the buffer. + Throws EndOfStreamException if not all bytes can be read. + + Stream to read from + Array to store bytes read from the stream + The offset in buffer at which to begin storing the data read from the current stream. + Number of bytes to read + + + + LoadPacket loads up and decodes the header of the incoming packet. + + + + + Traces information about the client execution. + + + + + Gets the list of trace listeners. + + + + + Gets or sets the switch to control tracing and debugging. + + + + + Gets or sets a flag indicating if query analysis is enabled. + + + + + Enables query analysis. + + The host on which to enable query analysis. + The interval of time for logging trace information. + + + + Disables query analysis. + + + + + Specifies the types of warning flags. + + + + + No index exists. + + + + + Bad index exists. + + + + + Rows have been excluded from the result. + + + + + Columns have been excluded from the result. + + + + + Type conversions took place. + + + + + Specifies the event that triggered the trace. + + + + + A connection has been opened. + + + + + A connection has been closed. + + + + + A query has been executed. + + + + + Data has been retrieved from the resultset. + + + + + Data retrieval has ended. + + + + + Query execution has ended. + + + + + The statement to be executed has been created. + + + + + The statement has been executed. + + + + + The statement is no longer required. + + + + + The query provided is of a nonquery type. + + + + + Usage advisor warnings have been requested. + + + + + Noncritical problem. + + + + + An error has been raised during data retrieval. + + + + + The query has been normalized. + + + + + Summary description for Driver. + + + + + Sets the current database for the this connection + + + + + + Return the appropriate set of connection flags for our + server capabilities and our user requested options. + + + + + Query is the method that is called to send all queries to the server + + + + + Verify that the file to upload is in a valid directory + according to the safe path entered by a user under + "AllowLoadLocalInfileInPath" connection option. + + File to validate against the safe path. + + + + Sends the specified file to the server. + This supports the LOAD DATA LOCAL INFILE + + + + + + FetchDataRow is the method that the data reader calls to see if there is another + row to fetch. In the non-prepared mode, it will simply read the next data packet. + In the prepared mode (statementId > 0), it will + + + + + Execution timeout, in milliseconds. When the accumulated time for network IO exceeds this value + TimeoutException is thrown. This timeout needs to be reset for every new command + + + + + + Struct that represents the response OK Packet + https://dev.mysql.com/doc/internals/en/packet-OK_Packet.html + + + + + Creates an instance of the OKPacket object with all of its metadata + + The packet to parse + + + + Add a session tracker to the list + + Type of the session tracker + Name of the element changed + Value of the changed system variable (only for SessionTrackType.SystemVariables; otherwise, null) + + + + Summary description for PreparedStatement. + + + + + Prepares CommandText for use with the Prepare method + + Command text stripped of all paramter names + + Takes the output of TokenizeSql and creates a single string of SQL + that only contains '?' markers for each parameter. It also creates + the parameterMap array list that includes all the paramter names in the + order they appeared in the SQL + + + + + Defines a replication configurarion element in the configuration file. + + + + + Gets a collection of objects representing the server groups. + + + + + Defines a replication server group in the configuration file. + + + + + Gets or sets the name of the replication server group configuration. + + + + + Gets or sets the group type of the replication server group configuration. + + + + + Gets or sets the number of seconds to wait for retry. + + + + + Gets a collection of objects representing the + server configurations associated to this group configuration. + + + + + Defines a replication server in configuration file. + + + + + Gets or sets the name of the replication server configuration. + + + + + Gets or sets whether the replication server is configured as source. + + + + + Gets or sets whether the replication server is configured as source. + + + + + Gets or sets the connection string associated to this replication server. + + + + + Manager for Replication and Load Balancing features + + + + + Returns Replication Server Group List + + + + + Adds a Default Server Group to the list + + Group name + Time between reconnections for failed servers + Replication Server Group added + + + + Adds a Server Group to the list + + Group name + ServerGroup type reference + Time between reconnections for failed servers + Server Group added + + + + Gets the next server from a replication group + + Group name + True if the server to return must be a source + Replication Server defined by the Load Balancing plugin + + + + Gets a Server Group by name + + Group name + Server Group if found, otherwise throws an MySqlException + + + + Validates if the replication group name exists + + Group name to validate + true if the replication group name is found; otherwise, false + + + + Assigns a new server driver to the connection object + + Group name + True if the server connection to assign must be a source + MySqlConnection object where the new driver will be assigned + + + + Class that implements Round Robing Load Balancing technique. + + + + + Gets an available server based on Round Robin load balancing. + + Flag indicating if the server to return must be a source. + A object representing the next available server. + + + + Represents a server in a Replication environment. + + + + + Gets the server name. + + + + + Gets a value indicating whether the server is source or replica. + + + + + Gets a value indicating whether the server is source or replica. + + + + + Gets the connection string used to connect to the server. + + + + + Gets a flag indicating if the server is available to be considered in load balancing. + + + + + Base class used to implement load balancing features. + + + + + List of servers available for replication. + + + + The group name. + The number of seconds to perform a retry. + + + + Gets the group name. + + + + + Gets the retry time between connections to failed servers. + + + + + Gets the server list in the group. + + + + + Adds a server into the group. + + The server name. + A flag indicating if the server to add is source or replica. + The connection string used by this server. + A object representing the recently added object. + + + + Removes a server from the group. + + The server name. + + + + Gets a server by name. + + The server name. + The replication server. + + + + Must be implemented. Defines the next server for a custom load balancing implementation. + + Defines if the server to return is a source or any. + The next server based on the load balancing implementation. + Null if no available server is found. + + + + + Defines the next server for a custom load balancing implementation. + + Defines if the server to return is a source or any. + Currently not being used. + The next server based on the load balancing implementation. + Null if no available server is found. + + + + + Handles a failed connection to a server. + + The failed server. + This method can be overrided to implement a custom failover handling. + + + + Handles a failed connection to a server. + + The failed server. + The exception that caused the failover. + + + + return the ordinal for the given column name + + + + + + + Retrieve the value as the given column index + + The column value to retrieve + The value as the given column + + + + Closes the current resultset, dumping any data still on the wire + + + + + Loads the column metadata for the current resultset + + + + + Represents a schema and its contents. + + + + + Gets or sets the name of the schema. + + + + + Gets the list of columns in the schema. + + + + + Gets the list of rows in the schema. + + + + + Represents a row within a schema. + + + + + Represents a column within a schema. + + + + + The name of the column. + + + + + The type of the column. + + + + + GetForeignKeysOnTable retrieves the foreign keys on the given table. + Since MySQL supports foreign keys on versions prior to 5.0, we can't use + information schema. MySQL also does not include any type of SHOW command + for foreign keys so we have to resort to use SHOW CREATE TABLE and parsing + the output. + + The table to store the key info in. + The table to get the foeign key info for. + Only get foreign keys that match this name. + Should column information be included in the table. + + + + Builds the initial part of the COM_QUERY packet + + Collection of parameters + Collection of attributes + A + + + + Serializes the given parameter to the given memory stream + + + This method is called by PrepareSqlBuffers to convert the given + parameter to bytes and write those bytes to the given memory stream. + + + True if the parameter was successfully serialized, false otherwise. + + + + Summary description for StoredProcedure. + + + + + Defines the basic operations to be performed on the table cache. + + + + + The maximum age allowed for cache entries. + + + + + Adds the given command and result set to the cache. + + The command to store in the cache. + The resultset associated to the stored command. + + + + Retrieves the specified command from the cache. + + The command to retrieve. + The allowed age for the cache entry. + + + + + Removes the specified command from the cache. + + The command to remove from the cache. + + + + Clears the cache. + + + + + Removes cache entries older than the value defined by . + + + + + Stream that supports timeout of IO operations. + This class is used is used to support timeouts for SQL command, where a + typical operation involves several network reads/writes. + Timeout here is defined as the accumulated duration of all IO operations. + + + + + Construct a TimedStream + + Undelying stream + + + + Figure out whether it is necessary to reset timeout on stream. + We track the current value of timeout and try to avoid + changing it too often, because setting Read/WriteTimeout property + on network stream maybe a slow operation that involves a system call + (setsockopt). Therefore, we allow a small difference, and do not + reset timeout if current value is slightly greater than the requested + one (within 0.1 second). + + + + + Common handler for IO exceptions. + Resets timeout to infinity if timeout exception is + detected and stops the times. + + original exception + + + + Represents a SQL transaction to be made in a MySQL database. This class cannot be inherited. + + The application creates a MySqlTransaction object by calling + on the object. All subsequent operations associated with the + transaction (for example, committing or aborting the transaction), are performed on the + MySqlTransaction object. + + The following example creates a and a MySqlTransaction. + It also demonstrates how to use the , + , and methods. + + Public Sub RunTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' 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 e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " & ex.GetType().ToString() & _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " & e.GetType().ToString() & _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub 'RunTransaction + + + 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. + + + + + Commits the database transaction. + + The Commit method is equivalent to the MySQL SQL statement + COMMIT. + + The following example creates a and a + . It also demonstrates how to use the + , , and Rollback + methods. + + Public Sub RunSqlTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' 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 mytable (id, desc) VALUES (100, 'Description')" + myCommand.ExecuteNonQuery() + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (101, 'Description')" + myCommand.ExecuteNonQuery() + myTrans.Commit() + Console.WriteLine("Success.") + Catch e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " & ex.GetType().ToString() & _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " & e.GetType().ToString() & _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub + + + public void RunSqlTransaction(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 mytable (id, desc) VALUES (100, 'Description')"; + myCommand.ExecuteNonQuery(); + myCommand.CommandText = "Insert into mytable (id, desc) 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(); + } + } + + + + + + Rolls back a transaction from a pending state. + + The Rollback 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). + + The following example creates a and a + . It also demonstrates how to use the + , , and Rollback + methods. + + Public Sub RunSqlTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' 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 mytable (id, desc) VALUES (100, 'Description')" + myCommand.ExecuteNonQuery() + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (101, 'Description')" + myCommand.ExecuteNonQuery() + myTrans.Commit() + Console.WriteLine("Success.") + Catch e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " & ex.GetType().ToString() & _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " & e.GetType().ToString() & _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub + + + public void RunSqlTransaction(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 mytable (id, desc) VALUES (100, 'Description')"; + myCommand.ExecuteNonQuery(); + myCommand.CommandText = "Insert into mytable (id, desc) 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(); + } + } + + + + + + Defines the type of the column. + + + + + GSS API constants + + + + + GSS_C_NT_HOSTBASED_SERVICE (1.2.840.113554.1.2.1.4) + + + + + GSS_KRB5_NT_PRINCIPAL_NAME (1.2.840.113554.1.2.2.1) + + + + + GSS_C_NT_USER_NAME (1.2.840.113554.1.2.1.1) + + + + + GSS_KRB5_MECH_OID_DESC (1.2.840.113554.1.2.2) + + + + + GSS_KRB5_MECH_OID_DESC Set + + + + + Defines a security context + + + + + Sets the main properties to create and initiate a security context. + + Service Principal Name. + Credentials. + Requested flags. + + + + Initiate the security context + + Challenge received by the server. + A byte array containing the response to be sent to the server + + + + Unwrap a message. + + Message acquired from the server. + Unwrapped message. + + + + Wrap a message. + + Message to be wrapped. + A byte array containing the wrapped message. + + + + Allocate a clr byte array and copy the token data over + + Buffer. + A byte array + + + + Cleanups unmanaged resources + + + + + No flags provided + + + + + Delegates credentials to a remote peer. Do not delegate the credentials if the value is false. + + + + + Requests that the peer authenticate itself. If false, authenticate to the remote peer only. + + + + + Enables replay detection for messages protected with gss_wrap(3GSS) or gss_get_mic(3GSS). Do not attempt to detect replayed messages if false. + + + + + Enables detection of out-of-sequence protected messages. Do not attempt to detect out-of-sequence messages if false. + + + + + Requests that confidential service be made available by means of gss_wrap(3GSS). If false, no per-message confidential service is required. + + + + + Requests that integrity service be made available by means of gss_wrap(3GSS) or gss_get_mic(3GSS). If false, no per-message integrity service is required. + + + + + Does not reveal the initiator's identify to the acceptor. Otherwise, authenticate normally. + + + + + (Returned only) If true, the protection services specified by the states of GSS_C_CONF_FLAG and GSS_C_INTEG_FLAG are available + if the accompanying major status return value is either GSS_S_COMPLETE or GSS_S_CONTINUE_NEEDED. If false, the protection services are available + only if the accompanying major status return value is GSS_S_COMPLETE. + + + + + (Returned only) If true, the resultant security context may be transferred to other processes by means of a call to gss_export_sec_context(3GSS). If false, the security context cannot be transferred. + + + + + Credentials to use to establish the context + + + + + Acquires credentials for the supplied principal using the supplied password + + Username + Password + GSS_C_BOTH - Credentials may be used either to initiate or accept security contexts. + GSS_C_INITIATE - Credentials will only be used to initiate security contexts. + GSS_C_ACCEPT - Credentials will only be used to accept security contexts. + An object containing the credentials + + + + Acquires credentials for the supplied principal using material stored in a valid keytab + + Username + GSS_C_BOTH - Credentials may be used either to initiate or accept security contexts. + GSS_C_INITIATE - Credentials will only be used to initiate security contexts. + GSS_C_ACCEPT - Credentials will only be used to accept security contexts. + An object containing the credentials + + + + Acquires default credentials stored in the cache + + GSS_C_BOTH - Credentials may be used either to initiate or accept security contexts. + GSS_C_INITIATE - Credentials will only be used to initiate security contexts. + GSS_C_ACCEPT - Credentials will only be used to accept security contexts. + An object containing the credentials + + + + Translates a name in internal form to a textual representation. + + Name in internal form (GSSAPI). + + + + size_t->unsigned int + + + void* + + + OM_uint32->gss_uint32->unsigned int + + + void* + + + OM_uint32->gss_uint32->unsigned int + + + void* + + + + Converts a contiguous string name to GSS_API internal format + The gss_import_name() function converts a contiguous string name to internal form. In general, + the internal name returned by means of the output_name parameter will not be a mechanism name; the exception to this is if the input_name_type + indicates that the contiguous string provided by means of the input_name_buffer parameter is of type GSS_C_NT_EXPORT_NAME, in which case, + the returned internal name will be a mechanism name for the mechanism that exported the name. + + Status code returned by the underlying mechanism. + The gss_buffer_desc structure containing the name to be imported. + A gss_OID that specifies the format that the input_name_buffer is in. + The gss_name_t structure to receive the returned name in internal form. Storage associated with this name must be freed by the application after use with a call to gss_release_name(). + + The gss_import_name() function may return the following status codes: + GSS_S_COMPLETE: The gss_import_name() function completed successfully. + GSS_S_BAD_NAMETYPE: The input_name_type was unrecognized. + GSS_S_BAD_NAME: The input_name parameter could not be interpreted as a name of the specified type. + GSS_S_BAD_MECH: The input_name_type was GSS_C_NT_EXPORT_NAME, but the mechanism contained within the input_name is not supported. + + + + + Allows an application to acquire a handle for a pre-existing credential by name. GSS-API implementations must impose a local access-control + policy on callers of this routine to prevent unauthorized callers from acquiring credentials to which they are not entitled. + This routine is not intended to provide a "login to the network" function, as such a function would involve the creation of new credentials + rather than merely acquiring a handle to existing credentials + + Mechanism specific status code. + Name of principal whose credential should be acquired. + Number of seconds that credentials should remain valid. + Specify GSS_C_INDEFINITE to request that the credentials have the maximum permitted lifetime. + Set of underlying security mechanisms that may be used. + GSS_C_NO_OID_SET may be used to obtain an implementation-specific default. + GSS_C_BOTH - Credentials may be used either to initiate or accept security contexts. + GSS_C_INITIATE - Credentials will only be used to initiate security contexts. + GSS_C_ACCEPT - Credentials will only be used to accept security contexts. + The returned credential handle. Resources associated with this credential handle must be released + by the application after use with a call to gss_release_cred(). + The set of mechanisms for which the credential is valid. Storage associated with the returned OID-set must + be released by the application after use with a call to gss_release_oid_set(). Specify NULL if not required. + Actual number of seconds for which the returned credentials will remain valid. If the implementation does not + support expiration of credentials, the value GSS_C_INDEFINITE will be returned. Specify NULL if not required. + + gss_acquire_cred() may return the following status codes: + GSS_S_COMPLETE: Successful completion. + GSS_S_BAD_MECH: Unavailable mechanism requested. + GSS_S_BAD_NAMETYPE: Type contained within desired_name parameter is not supported. + GSS_S_BAD_NAME: Value supplied for desired_name parameter is ill formed. + GSS_S_CREDENTIALS_EXPIRED: The credentials could not be acquired Because they have expired. + GSS_S_NO_CRED: No credentials were found for the specified name. + + + + + Acquires a credential for use in establishing a security context using a password. + + Mechanism specific status code. + Name of principal whose credential should be acquired. + The password. + Number of seconds that credentials should remain valid. + Specify GSS_C_INDEFINITE to request that the credentials have the maximum permitted lifetime. + Set of underlying security mechanisms that may be used. + GSS_C_NO_OID_SET may be used to obtain an implementation-specific default. + GSS_C_BOTH - Credentials may be used either to initiate or accept security contexts. + GSS_C_INITIATE - Credentials will only be used to initiate security contexts. + GSS_C_ACCEPT - Credentials will only be used to accept security contexts. + The returned credential handle. Resources associated with this credential handle must be released + by the application after use with a call to gss_release_cred(). + The set of mechanisms for which the credential is valid. Storage associated with the returned OID-set must + be released by the application after use with a call to gss_release_oid_set(). Specify NULL if not required. + Actual number of seconds for which the returned credentials will remain valid. If the implementation does not + support expiration of credentials, the value GSS_C_INDEFINITE will be returned. Specify NULL if not required. + + gss_acquire_cred_with_password() may return the following status codes: + GSS_S_COMPLETE: Successful completion. + GSS_S_BAD_MECH: Unavailable mechanism requested. + GSS_S_BAD_NAMETYPE: Type contained within desired_name parameter is not supported. + GSS_S_BAD_NAME: Value supplied for desired_name parameter is ill formed. + GSS_S_CREDENTIALS_EXPIRED: The credentials could not be acquired Because they have expired. + GSS_S_NO_CRED: No credentials were found for the specified name. + + + + + Obtains information about a credential. + + Mechanism specific status code. + A handle that refers to the target credential. + The name whose identity the credential asserts. + The number of seconds for which the credential remain valid. + If the credential has expired, this parameter is set to zero. + How the credential may be used. + Set of mechanisms supported by the credential. + + gss_init_sec_context() may return the following status codes: + GSS_S_COMPLETE: Successful completion. + GSS_S_NO_CRED: The referenced credentials could not be accessed. + GSS_S_DEFECTIVE_CREDENTIAL: The referenced credentials were invalid. + GSS_S_CREDENTIALS_EXPIRED: The referenced credentials have expired. + If the lifetime parameter is not passed in as NULL, then its value is set to 0. + + + + + Initiates the establishment of a security context between the application and a remote peer. + Initially, the input_token parameter should be specified either as GSS_C_NO_BUFFER, or as a pointer to a gss_buffer_desc object whose length field + contains the value zero. The routine may return a output_token which should be transferred to the peer application, where the peer application will + present it to gss_accept_sec_context. If no token need be sent, gss_init_sec_context will indicate this by setting the length field of the output_token + argument to zero. To complete the context establishment, one or more reply tokens may be required from the peer application; if so, gss_init_sec_context + will return a status containing the supplementary information bit GSS_S_CONTINUE_NEEDED. In this case, gss_init_sec_context should be called again when the + reply token is received from the peer application, passing the reply token to gss_init_sec_context via the input_token parameters. + + Mechanism specific status code. + Handle for credentials claimed. Supply GSS_C_NO_CREDENTIAL to act as a default initiator principal. + If no default initiator is defined, the function will return GSS_S_NO_CRED. + Context handle for new context. Supply GSS_C_NO_CONTEXT for first call; use value returned by first call in continuation calls. + Resources associated with this context-handle must be released by the application after use with a call to gss_delete_sec_context(). + Name of target. + Object ID of desired mechanism. Supply GSS_C_NO_OID to obtain an implementation specific default. + Contains various independent flags, each of which requests that the context support a specific service option. + Symbolic names are provided for each flag, and the symbolic names corresponding to the required flags should be logically-ORed together to form the bit-mask value. + Desired number of seconds for which context should remain valid. Supply 0 to request a default validity period. + Application-specified bindings. Allows application to securely bind channel identification information to the security context. + Specify GSS_C_NO_CHANNEL_BINDINGS if channel bindings are not used. + Token received from peer application. Supply GSS_C_NO_BUFFER, or a pointer to a buffer containing the value GSS_C_EMPTY_BUFFER on initial call. + Actual mechanism used. The OID returned via this parameter will be a pointer to static storage that should be treated as read-only; + In particular the application should not attempt to free it. Specify NULL if not required. + Token to be sent to peer application. If the length field of the returned buffer is zero, no token need be sent to the peer application. + Storage associated with this buffer must be freed by the application after use with a call to gss_release_buffer(). + Contains various independent flags, each of which indicates that the context supports a specific service option. + Specify NULL if not required. Symbolic names are provided for each flag, and the symbolic names corresponding to the required flags should be + logically-ANDed with the ret_flags value to test whether a given option is supported by the context. + Number of seconds for which the context will remain valid. If the implementation does not support context expiration, + the value GSS_C_INDEFINITE will be returned. Specify NULL if not required. + + gss_init_sec_context() may return the following status codes: + + GSS_S_COMPLETE: Successful completion. + GSS_S_CONTINUE_NEEDED: A token from the peer application is required to complete the context, and gss_init_sec_context() must be called again with that token. + GSS_S_DEFECTIVE_TOKEN: Consistency checks performed on the input_token failed. + GSS_S_DEFECTIVE_CREDENTIAL: Consistency checks performed on the credential failed. + GSS_S_NO_CRED: The supplied credentials are not valid for context acceptance, or the credential handle does not reference any credentials. + GSS_S_CREDENTIALS_EXPIRED: The referenced credentials have expired. + GSS_S_BAD_BINDINGS: The input_token contains different channel bindings than those specified by means of the input_chan_bindings parameter. + GSS_S_BAD_SIG: The input_token contains an invalid MIC or a MIC that cannot be verified. + GSS_S_OLD_TOKEN: The input_token is too old. This is a fatal error while establishing context. + GSS_S_DUPLICATE_TOKEN: The input_token is valid, but it is a duplicate of a token already processed.This is a fatal error while establishing context. + GSS_S_NO_CONTEXT: The supplied context handle does not refer to a valid context. + GSS_S_BAD_NAMETYPE: The provided target_name parameter contains an invalid or unsupported name type. + GSS_S_BAD_NAME: The supplied target_name parameter is ill-formed. + GSS_S_BAD_MECH: The token received specifies a mechanism that is not supported by the implementation or the provided credential. + + + + + Allows an application to obtain a textual representation of a GSS-API status code, for display to the user or for logging purposes. + Since some status values may indicate multiple conditions, applications may need to call gss_display_status multiple times, + each call generating a single text string. The message_context parameter is used by gss_display_status to store state information about which + error messages have already been extracted from a given status_value; message_context must be initialized to 0 by the application prior to the first call, + and gss_display_status will return a non-zero value in this parameter if there are further messages to extract. + + Mechanism specific status code. + Status value to be converted. + GSS_C_GSS_CODE - status_value is a GSS status code. GSS_C_MECH_CODE - status_value is a mechanism status code. + Underlying mechanism (used to interpret a minor status value). Supply GSS_C_NO_OID to obtain the system default. + Should be initialized to zero by the application prior to the first call. + On return from gss_display_status(), a non-zero status_value parameter indicates that additional messages may be extracted from the status code via + subsequent calls to gss_display_status(), passing the same status_value, status_type, mech_type, and message_context parameters. + Textual interpretation of the status_value. Storage associated with this parameter must be freed by the application + after use with a call to gss_release_buffer(). + + gss_display_status() may return the following status codes: + GSS_S_COMPLETE: Successful completion. + GSS_S_BAD_MECH: Indicates that translation in accordance with an unsupported mechanism type was requested. + GSS_S_BAD_STATUS: The status value was not recognized, or the status type was neither GSS_C_GSS_CODE nor GSS_C_MECH_CODE. + + + + + Allows an application to obtain a textual representation of an opaque internal-form name for display purposes. + The syntax of a printable name is defined by the GSS-API implementation. + + Mechanism specific status code. + Name to be displayed. + Buffer to receive textual name string. + The type of the returned name. + + gss_display_name() may return the following status codes: + GSS_S_COMPLETE: Successful completion. + GSS_S_BAD_NAME: input_name was ill-formed. + + + + + Free storage associated with a buffer. The storage must have been allocated by a GSS-API routine. + In addition to freeing the associated storage, the routine will zero the length field in the descriptor to which the buffer parameter refers, + and implementations are encouraged to additionally set the pointer field in the descriptor to NULL. Any buffer object returned by a GSS-API routine + may be passed to gss_release_buffer (even if there is no storage associated with the buffer). + + Mechanism-specific status code. + The storage associated with the buffer will be deleted. The gss_buffer_desc object will not be freed, + but its length field will be zeroed. + + The gss_release_buffer() function may return the following status codes: + GSS_S_COMPLETE: Successful completion + + + + + Delete a security context. gss_delete_sec_context will delete the local data structures associated with the specified security context, + and may generate an output_token, which when passed to the peer gss_process_context_token will instruct it to do likewise. + If no token is required by the mechanism, the GSS-API should set the length field of the output_token (if provided) to zero. + No further security services may be obtained using the context specified by context_handle. + + Mechanism specific status code. + Context handle identifying context to delete. After deleting the context, + the GSS-API will set this context handle to GSS_C_NO_CONTEXT. + + The gss_delete_sec_context() function may return the following status codes: + GSS_S_COMPLETE: Successful completion. + GSS_S_NO_CONTEXT: No valid context was supplied. + + + + + Free GSSAPI-allocated storage associated with an internal-form name. The name is set to GSS_C_NO_NAME on successful completion of this call. + + Mechanism specific status code. + The name to be deleted. + + The gss_release_name() function may return the following status codes: + GSS_S_COMPLETE: Successful completion. + GSS_S_BAD_NAME: The name parameter did not contain a valid name. + + + + + Informs GSS-API that the specified credential handle is no longer required by the application, and frees associated resources. + The cred_handle is set to GSS_C_NO_CREDENTIAL on successful completion of this call. + + Mechanism specific status code. + Opaque handle identifying credential to be released. If GSS_C_NO_CREDENTIAL is supplied, + the routine will complete successfully, but will do nothing. + + The gss_release_cred() function may return the following status codes: + GSS_S_COMPLETE: Successful completion. + GSS_S_NO_CRED: Credentials could not be accessed. + + + + + Converts a message previously protected by gss_wrap back to a usable form, verifying the embedded MIC. + The conf_state parameter indicates whether the message was encrypted; the qop_state parameter indicates the strength of + protection that was used to provide the confidentiality and integrity services. + + Mechanism specific status code. + Identifies the context on which the message arrived. + Protected message. + Buffer to receive unwrapped message. + + The gss_unwrap() function may return the following status codes: + GSS_S_COMPLETE: Successful completion. + GSS_S_DEFECTIVE_TOKEN: The token failed consistency checks. + GSS_S_BAD_SIG: The MIC was incorrect. + GSS_S_DUPLICATE_TOKEN: The token was valid, and contained a correct MIC for the message, but it had already been processed. + GSS_S_OLD_TOKEN: The token was valid, and contained a correct MIC for the message, but it is too old to check for duplication. + GSS_S_UNSEQ_TOKEN: The token was valid, and contained a correct MIC for the message, but has been verified out of sequence; + a later token has already been received. + GSS_S_GAP_TOKEN: The token was valid, and contained a correct MIC for the message, but has been verified out of sequence; + an earlier expected token has not yet been received. + GSS_S_CONTEXT_EXPIRED: The context has already expired. + GSS_S_NO_CONTEXT: The context_handle parameter did not identify a valid context. + + + + + Attaches a cryptographic MIC and optionally encrypts the specified input_message. The output_message contains both the MIC and the message. + The qop_req parameter allows a choice between several cryptographic algorithms, if supported by the chosen mechanism. + + Mechanism specific status code. + Identifies the context on which the message arrived. + Message to be protected. + Buffer to receive protected message. + + The gss_unwrap() function may return the following status codes: + GSS_S_COMPLETE: Successful completion. + GSS_S_CONTEXT_EXPIRED: The context has already expired. + GSS_S_NO_CONTEXT: The context_handle parameter did not identify a valid context. + GSS_S_BAD_QOP: The specified QOP is not supported by the mechanism. + + + + + MIT Kerberos 5 GSS Bindings Linux + + + + + Automatic dynamic disposable + + + + + Automatic dynamic disposable storing + + + + + Automatic dynamic disposable storing , will be called at dispose + + + + + Automatic dynamic disposable storing , will be disposed + + + + + Automatic dynamic disposable storing , will be disposed + + + + + Automatic dynamic disposable storing , will be disposed + + + + + Automatic dynamic disposable storing , will be disposed and will be called at dispose + + + + + Automatic dynamic disposable + + + + + Original value, can be used with ref + + + + + Automatic dynamic disposable storing , will be disposed and will be called at dispose + + + + + Returns stored value + + + + + Gets the Kerberos configuration from the "krb5.conf/krb5.ini" file + + + + + Memory pinned object + + + + + Create memory pinned object from + + Any class type + Value to pin + Pinned value + + + + Memory pinned object + + Any class type + + + + Original object value, can be used with ref + + + + + In memory address of the object + + + + + Create memory pinned object from + + Value to pin + + + + Returns address of object in memory + + + + + Returns original object value + + + + + SSPI constants + + + + + SSPI Bindings + + + + + A safe handle to the credential's handle. + + + + + Acquires a handle to preexisting credentials of a security principal. + + + + + Creates an instance of SspiSecurityContext with credentials provided. + + Credentials to be used with the Security Context + + + + Initiates the client side, outbound security context from a credential handle. + + Byte array to be sent to the server. + Byte array received by the server. + if should continue processing; otherwise, . + + + + Defines the type of the security buffer. + + + + + Defines a security handle. + + + + + Describes a buffer allocated by a transport to pass to a security package. + + + + + Specifies the size, in bytes, of the buffer. + + + + + Bit flags that indicate the type of the buffer. + + + + + Pointer to a buffer. + + + + + Hold a numeric value used in defining other data types. + + + + + Least significant digits. + + + + + Most significant digits. + + + + + Holds a pointer used to define a security handle. + + + + + Least significant digits. + + + + + Most significant digits. + + + + + Indicates the sizes of important structures used in the message support functions. + + + + + Specifies the maximum size of the security token used in the authentication changes. + + + + + Specifies the maximum size of the signature created by the MakeSignature function. + This member must be zero if integrity services are not requested or available. + + + + + Specifies the preferred integral size of the messages. + + + + + Size of the security trailer to be appended to messages. + This member should be zero if the relevant services are not requested or available. + + + + + Implements the 'SEC_WINNT_AUTH_IDENTITY' structure. See: + https://msdn.microsoft.com/en-us/library/windows/desktop/aa380131(v=vs.85).aspx + + + + + DNS resolver that runs queries against a server. + + + + + Initializes a new instance of the class. + + + + + Gets the DNS SVR records of the service name that is provided. + + A list of s sorted as described in RFC2782. + + + + Sorts a list of DNS SRV records according to the sorting rules described in RFC2782. + + List of s to sort. + A new list of sorted s. + + + + Resets the DnsSrvResolver + + + + + Class that represents a DNS SRV record. + RFC 2782 (https://tools.ietf.org/html/rfc2782) + + + + + Gets the port. + + + + + Gets the priority. + + + + + Gets the target domain name. + + + + + Gets the weight. + + + + + Initializes a new instance of class. + + The port. + The priority. + The target. + The weight. + + + + Initializes a new instance of class. + + The DNS SRV record. + + + + Compare two objects. First, using their priority and + if both have the same, then using their weights. + + A to compare. + A to compare. + + + + + Initializes a new instance of the class from a . + + The DNS SRV record. + + + + This class is modeled after .NET Stopwatch. It provides better + performance (no system calls).It is however less precise than + .NET Stopwatch, measuring in milliseconds. It is adequate to use + when high-precision is not required (e.g for measuring IO timeouts), + but not for other tasks. + + + + + Wrapper around NetworkStream. + + MyNetworkStream is equivalent to NetworkStream, except + 1. It throws TimeoutException if read or write timeout occurs, instead + of IOException, to match behavior of other streams (named pipe and + shared memory). This property comes handy in TimedStream. + + 2. It implements workarounds for WSAEWOULDBLOCK errors, that can start + occuring after stream has times out. For a discussion about the CLR bug, + refer to http://tinyurl.com/lhgpyf. This error should never occur, as + we're not using asynchronous operations, but apparerntly it does occur + directly after timeout has expired. + The workaround is hinted in the URL above and implemented like this: + For each IO operation, if it throws WSAEWOULDBLOCK, we explicitely set + the socket to Blocking and retry the operation once again. + + + + + Determines whether the connection state is closed or open. + + true if connection is closed; otherwise, false. + + + + Set keepalive + timeout on socket. + + socket + keepalive timeout, in seconds + + + + Read a single quoted identifier from the stream + + + + + + + Helper class to encapsulate shared memory functionality + Also cares of proper cleanup of file mapping object and cew + + + + + Summary description for SharedMemoryStream. + + + + + By creating a private ctor, we keep the compiler from creating a default ctor + + + + + Mark - or + signs that are unary ops as no output + + + + + + Handles SSL connections for the Classic and X protocols. + + + + + Contains the connection options provided by the user. + + + + + A flag to establish how certificates are to be treated and validated. + + + + + Defines the supported TLS protocols. + + + + + Retrieves a collection containing the client SSL PFX certificates. + + Dependent on connection string settings. + Either file or store based certificates are used. + + + + Initiates the SSL connection. + + The base stream. + The encoding used in the SSL connection. + The connection string used to establish the connection. + A instance ready to initiate an SSL connection. + + + + Verifies the SSL certificates used for authentication. + + An object that contains state information for this validation. + The MySQL server certificate used to authenticate the remote party. + The chain of certificate authorities associated with the remote certificate. + One or more errors associated with the remote certificate. + true if no errors were found based on the selected SSL mode; false, otherwise. + + + + Gets the extension of the specified file. + + The path of the file. + Flag to indicate if the result should be converted to lower case. + The . character is ommited from the result. + + + + + Summary description for StreamCreator. + + + + + Set the keepalive timeout on the socket. + + The socket object. + The keepalive timeout, in seconds. + + + + Summary description for Version. + + + + + Provides functionality to read SSL PEM certificates and to perform multiple validations via Bouncy Castle. + + + + + Raises an exception if the specified connection option is null, empty or whitespace. + + The connection option to verify. + The name of the connection option. + + + + Reads the specified file as a byte array. + + The path of the file to read. + A byte array representing the read file. + + + + Reads the SSL certificate file. + + The path to the certificate file. + A instance representing the SSL certificate file. + + + + Reads the SSL certificate key file. + + The path to the certificate key file. + A instance representing the SSL certificate key file. + + + + Verifies that the certificate has not yet expired. + + The certificate to verify. + + + + Verifies a certificate CA status. + + The certificate to validate. + A flag indicating the expected CA status. + + + + Verifies that the certificate was signed using the private key that corresponds to the specified public key + + The client side certificate containing the public key. + The server certificate. + + + + Verifies that no SSL policy errors regarding the identitfy of the host were raised. + + A instance set with the raised SSL errors. + + + + Verifies that the issuer matches the CA by comparing the CA certificate issuer and the server certificate issuer. + + The CA certificate. + The server certificate. + + + + + Gets and sets the host list. + + + + + Gets the active host. + + + + + Active host. + + + + + Sets the initial active host. + + + + + Determines the next host. + + object that represents the next available host. + + + + Implements common elements that allow to manage the hosts available for client side failover. + + + + + Gets and sets the failover group which consists of a host list. + + + + + Resets the manager. + + + + + Sets the host list to be used during failover operations. + + The host list. + The failover method. + + + + Attempts to establish a connection to a host specified from the list. + + The original connection string set by the user. + An out parameter that stores the updated connection string. + A object in case this is a pooling scenario. + A flag indicating if the default port is used in the connection. + An instance if the connection was succesfully established, a exception is thrown otherwise. + + + + + Creates a if more than one host is found. + + A string containing an unparsed list of hosts. + true if the connection is X Protocol; otherwise false. + true if the connection data is a URI; otherwise false. + The number of hosts found, -1 if an error was raised during parsing. + + + + Creates a object based on the provided parameters. + + The host string that can be a simple host name or a host name and port. + The priority of the host. + The port number of the host. + true if the connection data is a URI; otherwise false. + + + + + Attempts the next host in the list. Moves to the first element if the end of the list is reached. + + + + + Determines the next host on which to attempt a connection by checking the value of the Priority property in descending order. + + + + + Determines the next host on which to attempt a connection randomly. + + + + + Depicts a host which can be failed over to. + + + + + Gets and sets the name or address of the host. + + + + + Gets and sets the port number. + + + + + Gets a value between 0 and 100 which represents the priority of the host. + + + + + Flag to indicate if this host is currently being used. + + + + + Flag to indicate if this host has been attempted to connection. + + + + + Time since the host has been demoted. + + + + + Initializes a object. + + The host. + The port. + The priority. + + + + Compares two objects of type . + + FailoverServer object to compare. + True if host properties are the same. Otherwise, false. + + + + Manages the hosts available for client side failover using the Random Failover method. + The Random Failover method attempts to connect to the hosts specified in the list randomly until all the hosts have been attempted. + + + + + The initial host taken from the list. + + + + + The host for the current connection attempt. + + + + + Random object to get the next host. + + + + + Sets the initial active host. + + + + + Determines the next host. + + A object that represents the next available host. + + + + Manages the hosts available for client side failover using the Sequential Failover method. + The Sequential Failover method attempts to connect to the hosts specified in the list one after another until the initial host is reached. + + + + + The initial host taken from the list. + + + + + The index of the current host. + + + + + The host for the current connection attempt. + + + + + Sets the initial active host. + + + + + Determines the next host. + + A object that represents the next available host. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Improper MySqlCommandBuilder state: adapter is null. + + + + + Looks up a localized string similar to Improper MySqlCommandBuilder state: adapter's SelectCommand is null. + + + + + Looks up a localized string similar to Invalid attempt to access a field before calling Read(). + + + + + Looks up a localized string similar to Authentication to host '{0}' for user '{1}' using method '{2}' failed with message: {3}. + + + + + Looks up a localized string similar to Authentication method '{0}' not supported by any of the available plugins.. + + + + + Looks up a localized string similar to Authentication plugin '{0}' is currently not supported.. + + + + + Looks up a localized string similar to Version string not in acceptable format. + + + + + Looks up a localized string similar to The buffer cannot be null. + + + + + Looks up a localized string similar to The buffer is not large enough. + + + + + Looks up a localized string similar to Canceling an executing query requires MySQL 5.0 or higher.. + + + + + Looks up a localized string similar to Canceling an active query is only supported on MySQL 5.0.0 and above. . + + + + + Looks up a localized string similar to Parameters can only be derived for commands using the StoredProcedure command type.. + + + + + Looks up a localized string similar to MySqlCommandBuilder does not support multi-table statements. + + + + + Looks up a localized string similar to MySqlCommandBuilder cannot operate on tables with no unique or key columns. + + + + + Looks up a localized string similar to Chaos isolation level is not supported . + + + + + Looks up a localized string similar to Clear-password authentication is not supported over insecure channels.. + + + + + Looks up a localized string similar to The CommandText property has not been properly initialized.. + + + + + Looks up a localized string similar to Compression is not supported.. + + + + + Looks up a localized string similar to The connection is already open.. + + + + + Looks up a localized string similar to Connection unexpectedly terminated.. + + + + + Looks up a localized string similar to Connection must be valid and open. + + + + + Looks up a localized string similar to The connection is not open.. + + + + + Looks up a localized string similar to The connection property has not been set or is null.. + + + + + Looks up a localized string similar to Could not find specified column in results: {0}. + + + + + Looks up a localized string similar to Count cannot be negative. + + + + + Looks up a localized string similar to SetLength is not a valid operation on CompressedStream. + + + + + Looks up a localized string similar to The given value was not in a supported format.. + + + + + Looks up a localized string similar to There is already an open DataReader associated with this Connection which must be closed first.. + + + + + Looks up a localized string similar to The default connection encoding was not found. Please report this as a bug along with your connection string and system details.. + + + + + Looks up a localized string similar to MySQL Connector/NET does not currently support distributed transactions.. + + + + + Looks up a localized string similar to Specifying multiple host names with DNS SRV lookup is not permitted.. + + + + + Looks up a localized string similar to Specifying a port number with DNS SRV lookup is not permitted.. + + + + + Looks up a localized string similar to Using Unix domain sockets with DNS SRV lookup is not permitted.. + + + + + Looks up a localized string similar to Unable to locate any hosts for {0}.. + + + + + Looks up a localized string similar to Connection option '{0}' is duplicated.. + + + + + Looks up a localized string similar to SSL connection option '{0}' is duplicated.. + + + + + Looks up a localized string similar to Encoding error during validation.. + + + + + Looks up a localized string similar to Error creating socket connection. + + + + + Looks up a localized string similar to Verify that user '{0}'@'{1}' has enough privileges to execute.. + + + + + Looks up a localized string similar to Fatal error encountered during command execution.. + + + + + Looks up a localized string similar to Fatal error encountered during data read.. + + + + + Looks up a localized string similar to Fatal error encountered attempting to read the resultset.. + + + + + Looks up a localized string similar to File based certificates are only supported when connecting to MySQL Server 5.1 or greater.. + + + + + Looks up a localized string similar to The specified file cannot be converted to a certificate.. + + + + + Looks up a localized string similar to The specified file cannot be converted to a key.. + + + + + Looks up a localized string similar to Failed to read file at the specified location.. + + + + + Looks up a localized string similar to No file path has been provided for the connection option {0}.. + + + + + Looks up a localized string similar to From index and length use more bytes than from contains. + + + + + Looks up a localized string similar to From index must be a valid index inside the from buffer. + + + + + Looks up a localized string similar to Call to GetHostEntry failed after {0} while querying for hostname '{1}': SocketErrorCode={2}, ErrorCode={3}, NativeErrorCode={4}.. + + + + + Looks up a localized string similar to Retrieving procedure metadata for {0} from server.. + + + + + Looks up a localized string similar to Value has an unsupported format.. + + + + + Looks up a localized string similar to An incorrect response was received from the server.. + + + + + Looks up a localized string similar to Index and length use more bytes than to has room for. + + + + + Looks up a localized string similar to Index must be a valid position in the buffer. + + + + + Looks up a localized string similar to The provided key is invalid.. + + + + + Looks up a localized string similar to Certificate with Thumbprint '{0}' not found.. + + + + + Looks up a localized string similar to You have specified an invalid column ordinal.. + + + + + Looks up a localized string similar to The requested value '{0}' is invalid for the given keyword '{1}'.. + + + + + Looks up a localized string similar to The host name or IP address is invalid.. + + + + + Looks up a localized string similar to Microsecond must be a value between 0 and 999999.. + + + + + Looks up a localized string similar to Millisecond must be a value between 0 and 999. For more precision use Microsecond.. + + + + + Looks up a localized string similar to No other SSL options are accepted when SSL Mode is set to None.. + + + + + 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 Option "tls-version" can not be specified when SSL connections are disabled.. + + + + + Looks up a localized string similar to '{0}' not recognized as a valid TLS protocol version (should be one of TLSv1, TLSv1.1, TLSv1.2{1}).. + + + + + Looks up a localized string similar to '{0}' is an illegal value for a boolean option.. + + + + + Looks up a localized string similar to Keyword does not allow null values.. + + + + + Looks up a localized string similar to Option not supported.. + + + + + Looks up a localized string similar to Server asked for stream in response to LOAD DATA LOCAL INFILE, but the functionality is disabled by the client setting 'allowlocalinfile' to 'false'.. + + + + + Looks up a localized string similar to Mixing named and unnamed parameters is not allowed.. + + + + + Looks up a localized string similar to INTERNAL ERROR: More than one output parameter row detected.. + + + + + Looks up a localized string similar to Multiple simultaneous connections or connections with different connection strings inside the same transaction are not currently supported.. + + + + + Looks up a localized string similar to NamedPipeStream does not support seeking. + + + + + Looks up a localized string similar to NamedPipeStream doesn't support SetLength. + + + + + Looks up a localized string similar to The new value must be a MySqlParameter object.. + + + + + Looks up a localized string similar to Invalid attempt to call NextResult when the reader is closed.. + + + + + Looks up a localized string similar to When calling stored procedures and 'Use Procedure Bodies' is false, all parameters must have their type explicitly set.. + + + + + Looks up a localized string similar to Nested transactions are not supported.. + + + + + Looks up a localized string similar to The host {0} does not support SSL connections.. + + + + + Looks up a localized string similar to Unix sockets are not supported on Windows.. + + + + + Looks up a localized string similar to Cannot retrieve Windows identity for current user. Connections that use IntegratedSecurity cannot be pooled. Use either 'ConnectionReset=true' or 'Pooling=false' in the connection string to fix.. + + + + + Looks up a localized string similar to The object is not open or has been disposed.. + + + + + Looks up a localized string similar to OCI configuration file could not be read.. + + + + + Looks up a localized string similar to OCI configuration file does not contain a 'fingerprint' or 'key_file' entry.. + + + + + Looks up a localized string similar to OCI configuration entry 'key_file' does not reference a valid key file.. + + + + + Looks up a localized string similar to Private key could not be found at location given by OCI configuration entry 'key_file'.. + + + + + Looks up a localized string similar to The OCI SDK cannot be found or is not installed.. + + + + + Looks up a localized string similar to The offset cannot be negative. + + + + + Looks up a localized string similar to Offset must be a valid position in buffer. + + + + + Looks up a localized string similar to Authentication with old password no longer supported, use 4.1 style passwords.. + + + + + Looks up a localized string similar to The option '{0}' is not currently supported.. + + + + + Looks up a localized string similar to Parameter '{0}' has already been defined.. + + + + + Looks up a localized string similar to Parameter cannot have a negative value. + + + + + Looks up a localized string similar to Parameter cannot be null. + + + + + Looks up a localized string similar to Parameter '{0}' can't be null or empty.. + + + + + Looks up a localized string similar to Parameter index was not found in Parameter Collection.. + + + + + Looks up a localized string similar to Parameter is invalid.. + + + + + Looks up a localized string similar to Parameter '{0}' must be defined.. + + + + + Looks up a localized string similar to Parameter '{0}' was not found during prepare.. + + + + + Looks up a localized string similar to Parameter can't be null or empty.. + + + + + Looks up a localized string similar to Password must be valid and contain length characters. + + + + + Looks up a localized string similar to This category includes a series of counters for MySQL. + + + + + Looks up a localized string similar to .NET Data Provider for MySQL. + + + + + Looks up a localized string similar to The number of times a procedures metadata had to be queried from the server.. + + + + + Looks up a localized string similar to Hard Procedure Queries. + + + + + Looks up a localized string similar to The number of times a procedures metadata was retrieved from the client-side cache.. + + + + + Looks up a localized string similar to Soft Procedure Queries. + + + + + Looks up a localized string similar to same name are not supported.. + + + + + Looks up a localized string similar to MySQL Server {0} dos not support query attributes.. + + + + + Looks up a localized string similar to MySQL Connector/NET does not support query attributes with prepared statements for this version of MySQL Server.. + + + + + Looks up a localized string similar to Packets larger than max_allowed_packet are not allowed.. + + + + + Looks up a localized string similar to Reading from the stream has failed.. + + + + + Looks up a localized string similar to Invalid attempt to read a prior column using SequentialAccess. + + + + + Looks up a localized string similar to Replicated connections allow only readonly statements.. + + + + + Looks up a localized string similar to Attempt to connect to '{0}' server failed.. + + + + + Looks up a localized string similar to No available server found.. + + + + + Looks up a localized string similar to Replication group '{0}' not found.. + + + + + Looks up a localized string similar to Replicated server not found: '{0}'. + + + + + Looks up a localized string similar to Routine '{0}' cannot be found. Either check the spelling or make sure you have sufficient rights to execute the routine.. + + + + + Looks up a localized string similar to Attempt to call stored function '{0}' without specifying a return parameter. + + + + + Looks up a localized string similar to Retrieval of the RSA public key is not enabled for insecure connections.. + + + + + Looks up a localized string similar to Connector/NET no longer supports server versions prior to 5.0. + + + + + Looks up a localized string similar to Snapshot isolation level is not supported.. + + + + + Looks up a localized string similar to Socket streams do not support seeking. + + + + + Looks up a localized string similar to Retrieving procedure metadata for {0} from procedure cache.. + + + + + Looks up a localized string similar to Stored procedures are not supported on this version of MySQL. + + + + + Looks up a localized string similar to The certificate authority (CA) does not match.. + + + + + Looks up a localized string similar to The host name does not match the name on the certificate.. + + + + + Looks up a localized string similar to The certificate is not a certificate authority (CA).. + + + + + Looks up a localized string similar to SSL Connection error.. + + + + + Looks up a localized string similar to Connection protocol '{0}' does not support SSL connections.. + + + + + Looks up a localized string similar to The stream has already been closed. + + + + + Looks up a localized string similar to The stream does not support reading. + + + + + Looks up a localized string similar to The stream does not support writing. + + + + + Looks up a localized string similar to String can't be empty.. + + + + + Looks up a localized string similar to Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.. + + + + + Looks up a localized string similar to error connecting: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.. + + + + + Looks up a localized string similar to All server connection attempts were aborted. Timeout of {0} seconds was exceeded for each selected server.. + + + + + Looks up a localized string similar to This connection is using {0}, which is now deprecated and will be removed in a future release of Connector/NET.. + + + + + Looks up a localized string similar to TLSv1.3 is supported in .NET Framework 4.8 or .NET Core 3.0.. + + + + + Looks up a localized string similar to No supported TLS protocol version found in the 'tls-versions' list.. + + + + + Looks up a localized string similar to {0}: Connection Closed. + + + + + Looks up a localized string similar to Unable to trace. There are more than Int32.MaxValue connections in use.. + + + + + Looks up a localized string similar to {0}: Error encountered during row fetch. Number = {1}, Message={2}. + + + + + Looks up a localized string similar to {0}: Connection Opened: connection string = '{1}'. + + + + + Looks up a localized string similar to {0}: Error encountered attempting to open result: Number={1}, Message={2}. + + + + + Looks up a localized string similar to {0}: Query Closed. + + + + + Looks up a localized string similar to {0}: Query Normalized: {2}. + + + + + Looks up a localized string similar to {0}: Query Opened: {2}. + + + + + Looks up a localized string similar to {0}: Resultset Opened: field(s) = {1}, affected rows = {2}, inserted id = {3}. + + + + + Looks up a localized string similar to {0}: Resultset Closed. Total rows={1}, skipped rows={2}, size (bytes)={3}. + + + + + Looks up a localized string similar to {0}: Set Database: {1}. + + + + + Looks up a localized string similar to {0}: Statement closed: statement id = {1}. + + + + + Looks up a localized string similar to {0}: Statement executed: statement id = {1}. + + + + + Looks up a localized string similar to {0}: Statement prepared: sql='{1}', statement id={2}. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: Query is using a bad index. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: The field '{2}' was converted to the following types: {3}. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: Query does not use an index. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: The following columns were not accessed: {2}. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: Skipped {2} rows. Consider a more focused query.. + + + + + Looks up a localized string similar to {0}: MySql Warning: Level={1}, Code={2}, Message={3}. + + + + + Looks up a localized string similar to Type '{0}' is not derived from BaseCommandInterceptor. + + + + + Looks up a localized string similar to Type '{0}' is not derived from BaseExceptionInterceptor. + + + + + Looks up a localized string similar to Unable to connect to any of the specified MySQL hosts.. + + + + + Looks up a localized string similar to Unable to create plugin for authentication method '{0}'. Please see inner exception for details.. + + + + + Looks up a localized string similar to Unable to derive stored routine parameters. The 'Parameters' information schema table is not available and access to the stored procedure body has been disabled.. + + + + + Looks up a localized string similar to Unable to enable query analysis. Be sure the MySql.Data.EMTrace assembly is properly located and registered.. + + + + + Looks up a localized string similar to An error occured attempting to enumerate the user-defined functions. Do you have SELECT privileges on the mysql.func table?. + + + + + Looks up a localized string similar to Unable to execute stored procedure '{0}'.. + + + + + Looks up a localized string similar to There was an error parsing the foreign key definition.. + + + + + Looks up a localized string similar to Error encountered reading the RSA public key.. + + + + + Looks up a localized string similar to Unable to retrieve stored procedure metadata for routine '{0}'. Either grant SELECT privilege to mysql.proc for this user or use "check parameters=false" with your connection string.. + + + + + Looks up a localized string similar to Unable to start a second async operation while one is running.. + + + + + Looks up a localized string similar to Unix sockets are not supported on Windows. + + + + + Looks up a localized string similar to Unknown authentication method '{0}' was requested.. + + + + + Looks up a localized string similar to Unknown connection protocol. + + + + + Looks up a localized string similar to MySQL user '{0}' does not equal the logged-in Windows user '{1}'.. + + + + + Looks up a localized string similar to Trying to upload a file from outside the path set on 'allowloadlocalinfileinpath' is invalid.. + + + + + Looks up a localized string similar to Value '{0}' is not of the correct type.. + + + + + Looks up a localized string similar to The requested column value could not be treated as or conveted to a Guid.. + + + + + Looks up a localized string similar to Windows authentication connections are not supported on {0}. + + + + + Looks up a localized string similar to Writing to the stream failed.. + + + + + Looks up a localized string similar to Parameter '{0}' is not found but a parameter with the name '{1}' is found. Parameter names must include the leading parameter marker.. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Appdata path is not defined.. + + + + + Looks up a localized string similar to Authentication failed using MYSQL41 and SHA256_MEMORY. Check the user name and password or try using a secure connection.. + + + + + Looks up a localized string similar to You can't get more sessions because Client is closed.. + + + + + Looks up a localized string similar to Client option '{0}' does not support value '{1}'.. + + + + + Looks up a localized string similar to Client option '{0}' is not recognized as valid.. + + + + + Looks up a localized string similar to {0} '{1}' does not exist in schema '{2}'.. + + + + + Looks up a localized string similar to Compression requested but the compression algorithm negotiation failed.. + + + + + Looks up a localized string similar to Compression using {0} is not supported.. + + + + + Looks up a localized string similar to Failed to load libzstd.dll. Removing zstd_stream from the client supported compression algorithms.. + + + + + Looks up a localized string similar to Compression using {0} is not supported in .NET Framework.. + + + + + Looks up a localized string similar to The connection property 'compression' acceptable values are: 'preferred', 'required' or 'disabled'. The value '{0}' is not acceptable.. + + + + + Looks up a localized string similar to Compression is not enabled.. + + + + + Looks up a localized string similar to Compression requested but the server does not support it.. + + + + + Looks up a localized string similar to There are still decompressed messages pending to be processed.. + + + + + Looks up a localized string similar to '{0}' cannot be set to false with DNS SRV lookup enabled.. + + + + + Looks up a localized string similar to Scheme '{0}' is not valid.. + + + + + Looks up a localized string similar to Duplicate key '{0}' used in "connection-attributes".. + + + + + Looks up a localized string similar to Key name in connection attribute cannot be an empty string.. + + + + + Looks up a localized string similar to At least one option must be specified.. + + + + + Looks up a localized string similar to This feature is currently not supported.. + + + + + Looks up a localized string similar to This functionality is only supported in MySQL {0} and higher.. + + + + + Looks up a localized string similar to Collation with id '{0}' not found.. + + + + + Looks up a localized string similar to The value of "connection-attributes" must be either a boolean or a list of key-value pairs.. + + + + + Looks up a localized string similar to Connection Data is incorrect.. + + + + + Looks up a localized string similar to The connection string is invalid.. + + + + + Looks up a localized string similar to '{0}' is not a valid connection string attribute.. + + + + + Looks up a localized string similar to The connection timeout value must be a positive integer (including 0).. + + + + + Looks up a localized string similar to Decimal (BCD) format is invalid.. + + + + + Looks up a localized string similar to Field type with name '{0}' not found.. + + + + + Looks up a localized string similar to Index type with name '{0}' not found.. + + + + + Looks up a localized string similar to The value provided is not a valid JSON document. {0}. + + + + + Looks up a localized string similar to {0} is not a valid column name in the row.. + + + + + Looks up a localized string similar to {0} is not a valid index for the row.. + + + + + Looks up a localized string similar to Session state is not valid.. + + + + + Looks up a localized string similar to Invalid Uri . + + + + + Looks up a localized string similar to Invalid uri query value. + + + + + Looks up a localized string similar to Key names in "connection-attributes" cannot start with "_".. + + + + + Looks up a localized string similar to Json configuration must contain 'uri' or 'host' but not both.. + + + + + Looks up a localized string similar to Keyword '{0}' not found.. + + + + + Looks up a localized string similar to Keyword not supported.. + + + + + Looks up a localized string similar to Field '{0}' is mandatory.. + + + + + Looks up a localized string similar to Missed required schema option.. + + + + + Looks up a localized string similar to More than one document id was generated. Please use the DocumentIds property instead.. + + + + + Looks up a localized string similar to There is no data at index {0}. + + + + + Looks up a localized string similar to No 'host' has been specified.. + + + + + Looks up a localized string similar to No more data in resultset.. + + + + + Looks up a localized string similar to Object '{0}' not found. + + + + + Looks up a localized string similar to No placeholders.. + + + + + Looks up a localized string similar to Connection closed. Reason: connection idle was too long. + + + + + Looks up a localized string similar to Connection closed. Reason: connection was killed by a different session. + + + + + Looks up a localized string similar to Connection closed. Reason: server was shutdown. + + + + + Looks up a localized string similar to {0} must be a value greater than 0.. + + + + + Looks up a localized string similar to Path not found '{0}'.. + + + + + Looks up a localized string similar to Queue timeout expired. The timeout period elapsed prior to getting a session from the pool.. + + + + + Looks up a localized string similar to Providing a port number as part of the host address isn't supported when using connection strings in basic format or anonymous objects. Use URI format instead.. + + + + + Looks up a localized string similar to You must either assign no priority to any of the hosts or give a priority for every host.. + + + + + Looks up a localized string similar to The priority must be between 0 and 100.. + + + + + Looks up a localized string similar to ProgramData path is not defined.. + + + + + Looks up a localized string similar to Replacement document has an '_id' that is + different from the matched document.. + + + + + Looks up a localized string similar to The server doesn't support the requested operation. Please update the MySQL Server, client library, or both.. + + + + + Looks up a localized string similar to The process of closing the resultset and resulted in results being lost.. + + + + + Looks up a localized string similar to All server connection attempts were aborted. Timeout of {0} milliseconds was exceeded for each selected server.. + + + + + Looks up a localized string similar to All server connection attempts were aborted. Timeout was exceeded for each selected server.. + + + + + Looks up a localized string similar to Connection attempt to the server was aborted. Timeout of {0} milliseconds was exceeded.. + + + + + Looks up a localized string similar to Connection attempt to the server was aborted. Timeout was exceeded.. + + + + + Looks up a localized string similar to Unable to connect to any specified host.. + + + + + Looks up a localized string similar to Unable to read or decode data value.. + + + + + Looks up a localized string similar to Unable to open a session.. + + + + + Looks up a localized string similar to Unexpected end of packet found while reading data values. + + + + + Looks up a localized string similar to Field name '{0}' is not allowed.. + + + + + Looks up a localized string similar to Unknown placeholder :{0}. + + + + + Looks up a localized string similar to Value '{0}' is not of the correct type.. + + + + + Summary description for MySqlUInt64. + + + + + An exception thrown by MySQL when a type conversion does not succeed. + + + + Initializes a new instance of the class with a specified error message. + Message describing the error. + + + + Represents a datetime data type object in a MySql database. + + + + + Defines whether the UTF or local timezone will be used. + + + + + Constructs a new MySqlDateTime object by setting the individual time properties to + the given values. + + The year to use. + The month to use. + The day to use. + The hour to use. + The minute to use. + The second to use. + The microsecond to use. + + + + Constructs a new MySqlDateTime object by using values from the given object. + + The object to copy. + + + + Constructs a new MySqlDateTime object by copying the current value of the given object. + + The MySqlDateTime object to copy. + + + + Enables the contruction of a MySqlDateTime object by parsing a string. + + + + + Indicates if this object contains a value that can be represented as a DateTime + + + + Returns the year portion of this datetime + + + Returns the month portion of this datetime + + + Returns the day portion of this datetime + + + Returns the hour portion of this datetime + + + Returns the minute portion of this datetime + + + Returns the second portion of this datetime + + + + Returns the milliseconds portion of this datetime + expressed as a value between 0 and 999 + + + + + Returns the microseconds portion of this datetime (6 digit precision) + + + + + Returns true if this datetime object has a null value + + + + + Retrieves the value of this as a DateTime object. + + + + Returns this value as a DateTime + + + Returns a MySQL specific string representation of this value + + + + + + + + + Represents a decimal data type object in a MySql database. + + + + + Gets a boolean value signaling if the type is null. + + + + + Gets or sets the decimal precision of the type. + + + + + Gets or sets the scale of the type. + + + + + Gets the decimal value associated to this type. + + + + + Converts this decimal value to a double value. + + The value of this type converted to a dobule value. + + + + Represents a geometry data type object in a MySql database. + + + + + Gets the x coordinate. + + + + + Gets the y coordinate. + + + + + Gets the SRID value. + + + + + Gets a boolean value that signals if the type is null. + + + + + Gets the value associated to this type. + + + + + Gets the value associated to this type. + + + + Returns the Well-Known Text representation of this value + POINT({0} {1})", longitude, latitude + http://dev.mysql.com/doc/refman/4.1/en/gis-wkt-format.html + + + + Get value from WKT format + SRID=0;POINT (x y) or POINT (x y) + + WKT string format + + + + Try to get value from WKT format + SRID=0;POINT (x y) or POINT (x y) + + WKT string format + Out mysqlGeometryValue + + + + Sets the DSInfo when GetSchema is called for the DataSourceInformation collection. + + + + + Gets the well-known text representation of the geomtry object. + + A string representation of the WKT. + + + + Enables X Protocol packets from the network stream to be retrieved and processed + + + + + The instance of the stream that holds the network connection with MySQL Server. + + + + + This field is used to enable compression and decompression actions in the communication channel. + + + + + A Queue to store the pending packets removed from the + + + + + Creates a new instance of XPacketProcessor. + + The stream to be used as communication channel. + + + + Creates a new instance of XPacketProcessor. + + The stream to be used as communication channel. + The XCompressionController to be used for compression actions. + + + + Identifies the kind of packet received over the network and execute + the corresponding processing. + + + + + Reads data from the network stream and create a packet of type . + + A . + + + + Sends the read/write actions to the MyNetworkStream class. + + + + + Reads the pending packets present in the network channel and processes them accordingly. + + + + + Implementation of EXTERNAL authentication type. + + + + + Implementation of MySQL41 authentication type. + + + + + Implementation of PLAIN authentication type. + + + + + Compares two Guids in string format. + + The first string to compare. + The first string to compare. + An integer that indicates the lexical relationship between the two comparands, similar to + + + + Compares two objects. + + The first to compare. + The second to compare. + An integer that indicates the lexical relationship between the two comparands, similar to + + + + Provides functionality for loading unmanaged libraries. + + + + + Loads the specified unmanaged library from the embedded resources. + + The application name. + The library name. + + + + Provides support for configuring X Protocol compressed messages. + + + + + The capabilities sub-key used to specify the compression algorithm. + + + + + The capabilities key used to specify the compression capability. + + + + + Messages with a value lower than this threshold will not be compressed. + + + + + Default value for enabling or disabling combined compressed messages. + + + + + Default value for the maximum number of combined compressed messages contained in a compression message. + + + + + The capabilities sub-key used to specify if combining compressed messages is permitted. + + + + + The capabilities sub-key used to specify the maximum number of compressed messages contained in a compression message. + + + + + Buffer used to store the data received from the server. + + + + + Deflate stream used for compressing data. + + + + + Deflate stream used for decompressing data. + + + + + Flag indicating if the initialization is for compression or decompression. + + + + + Stores the communication packet generated the last time ReadNextBufferedMessage method was called. + + + + + Indicates if the libzstd.dll has been loaded. + + + + + Stream used to store multiple X Protocol messages. + + + + + ZStandard stream used for decompressing data. + + + + + Main constructor used to set the compression algorithm and initialize the list of messages to + be compressed by the client. + + The compression algorithm to use. + Flag indicating if the initialization is for compression or decompression. + + + + Gets or sets the list of messages that should be compressed by the client when compression is enabled. + + + + + Gets or sets the compression algorithm. + + + + + Flag indicating if compression is enabled. + + + + + Flag indicating if the last decompressed message contains multiple messages. + + + + + General method used to compress data using the compression algorithm defined in the constructor. + + The data to compress. + A compressed byte array. + + + + Compresses data using the deflate_stream algorithm. + + The data to compress. + A compressed byte array. + + + + Compresses data using the lz4_message algorithm. + + The data to compress. + A compressed byte array. + + + + Compresses data using the zstd_stream algorithm. + + The data to compress. + A compressed byte array. + + + + General method used to decompress data using the compression algorithm defined in the constructor. + + The data to decompress. + The expected length of the decompressed data. + A decompressed byte array. + + + + Decompresses data using the deflate_stream compression algorithm. + + The data to decompress. + The expected length of the decompressed data. + A decompressed byte array. + + + + Decompresses data using the lz4_message compression algorithm. + + The data to decompress. + The expected length of the decompressed data. + A decompressed byte array. + + + + Decompresses data using the zstd_stream compression algorithm. + + The data to decompress. + The expected length of the decompressed data. + A decompressed byte array. + + + + Closes and disposes of any open streams. + + + + + Gets the byte array representing the next X Protocol frame that is stored in cache. + + A byte array representing an X Protocol frame. + + + + Gets a representing the next X Protocol frame that is stored in cache. + + A with the next X Protocol frame. + + + + Loads the libzstd.dll assembly. + + + + + Constructor that sets the stream used to read or write data. + + The stream used to read or write data. + + + + Constructor that sets the stream used to read or write data and the compression controller. + + The stream used to read or write data. + The compression controller. + + + + Gets or sets the compression controller uses to manage compression operations. + + + + + Writes X Protocol frames to the X Plugin. + + The integer representation of the client message identifier used for the message. + The message to include in the X Protocol frame. + + + + Writes X Protocol frames to the X Plugin. + + The client message identifier used for the message. + The message to include in the X Protocol frame. + + + + Reads X Protocol frames incoming from the X Plugin. + + A instance representing the X Protocol frame that was read. + + + + Abstract class for the protocol base operations in client/server communication. + + + + + Expression parser for MySQL-X protocol. + + + string being parsed. + + + Token stream produced by lexer. + + + Parser's position in token stream. + + + Mapping of names to positions for named placeholders. Used for both string values ":arg" and numeric values ":2". + + + Number of positional placeholders. + + + Are relational columns identifiers allowed? + + + Token types used by the lexer. + + + Token. Includes type and string value of the token. + + + Mapping of reserved words to token types. + + + Does the next character equal the given character? (respects bounds) + + + Helper function to match integer or floating point numbers. This function should be called when the position is on the first character of the number (a + digit or '.'). + + @param i The current position in the string + @return the next position in the string after the number. + + + Lexer for MySQL-X expression language. + + + Assert that the token at pos is of type type. + + + Does the current token have type `t'? + + + Does the next token have type `t'? + + + Does the token at position `pos' have type `t'? + + + Consume token. + + @return the string value of the consumed token + + + Parse a paren-enclosed expression list. This is used for function params or IN params. + + @return a List of expressions + + + Parse a function call of the form: IDENTIFIER PAREN_EXPR_LIST. + + @return an Expr representing the function call. + + + Parse an identifier for a function call: [schema.]name + + + Parse a document path member. + + + Parse a document path array index. + + + Parse a JSON-style document path, like WL#7909, but prefix by @. instead of $. + + + Parse a document field. + + + Parse a column identifier (which may optionally include a JSON document path). + + + Build a unary operator expression. + + + Parse an atomic expression. (c.f. grammar at top) + + + Parse a left-associated binary operator. + + @param types + The token types that denote this operator. + @param innerParser + The inner parser that should be called to parse operands. + @return an expression tree of the binary operator or a single operand + + + Parse the entire string as an expression. + + @return an X-protocol expression tree + + + + Parse an ORDER BY specification which is a comma-separated list of expressions, each may be optionally suffixed by ASC/DESC. + + + Parse a SELECT projection which is a comma-separated list of expressions, each optionally suffixed with a target alias. + + + Parse an INSERT field name. + @todo unit test + + + Parse an UPDATE field which can include can document paths. + + + Parse a document projection which is similar to SELECT but with document paths as the target alias. + + + Parse a list of expressions used for GROUP BY. + + + @return the number of positional placeholders in the expression. + + + @return a mapping of parameter names to positions. + + + Proto-buf helper to build a LITERAL Expr with a Scalar NULL type. + + + Proto-buf helper to build a LITERAL Expr with a Scalar DOUBLE type (wrapped in Any). + + + Proto-buf helper to build a LITERAL Expr with a Scalar SINT (signed int) type (wrapped in Any). + + + Proto-buf helper to build a LITERAL Expr with a Scalar UINT (unsigned int) type (wrapped in Any). + + + Proto-buf helper to build a LITERAL Expr with a Scalar STRING type (wrapped in Any). + + + Proto-buf helper to build a LITERAL Expr with a Scalar OCTETS type (wrapped in Any). + + + Proto-buf helper to build a LITERAL Expr with a Scalar BOOL type (wrapped in Any). + + + Wrap an Any value in a LITERAL expression. + + + Build an Any with a string value. + + + + Parses an anonymous object into a dictionary. + + The object to parse. + A dictionary if the provided object is an anonymous object; otherwise, null. + + + List of operators which will be serialized as infix operators. + + + Scalar to string. + + + JSON document path to string. + + + Column identifier (or JSON path) to string. + + + Function call to string. + + + Create a string from a list of (already stringified) parameters. Surround by parens and separate by commas. + + + Convert an operator to a string. Includes special cases for chosen infix operators (AND, OR) and special forms such as LIKE and BETWEEN. + + + Escape a string literal. + + + Quote a named identifer. + + + Serialize an expression to a string. + + + + Build the message to be sent to MySQL Server to execute statement "Create" or "Modify" collection with schema options + + The namespace + The name of the command to be executed on MySql Server + Array of KeyValuePairs with the parameters required to build the message + void. + + + + Sends the delete documents message + + + + + Sends the CRUD modify message + + + + + Class implementation for a default communication kind. + + + + + Constructor method for the communication routing service + + A MySqlXConnectionStringBuilder setted with the information to use in the connection + + + + Gets the current connection base on the connection mode + + One of the values of ConnectionMode Offline, ReadOnly, WriteOnly, ReadWrite + + + + + Abstract class used to define the kind of server in environments with multiple types of distributed systems. + + + + + Main class for parsing json strings. + + + + + Initializes a new instance of the JsonParser class. + + + + + Parses the received string into a dictionary. + + The string to parse. + A object that represents the parsed string. + + + + Abstract class to manage and encapsulate one or more actual connections. + + + + + Creates a new session object with the values of the settings parameter. + + Settings to be used in the session object + + + + Sets the connection's charset default collation. + + The opened session. + The character set. + + + + Gets the version of the server. + + An instance of containing the server version. + + + + Gets the thread Id of the connection. + + Thread Id + + + + Implementation class for object that manages low-level work of queuing tasks onto threads. + + + + + Implementation class of InternalSession to manage connections using the Xprotocol type object. + + + + + Defines the compression controller that will be passed on the instance when + compression is enabled. + + + + + Defines the compression controller that will be passed on the instance when + compression is enabled. + + + + + Reorder the list of algorithms retrieved from server to the preferred order + + + + + Validate the algorithms given in the connection string are valid compared with enum CompressionAlgorithms + + + + + Negotiates compression capabilities with the server. + + An array containing the compression algorithms supported by the server. + An array containing the compression algorithms given by user/client. + + + + Prepare the dictionary of arguments required to create a MySQL message. + + The name of the MySQL schema. + The name of the collection. + This object hold the parameters required to create the collection. + + Collection referente. + + + + Prepare the dictionary of arguments required to Modify a MySQL message. + + The name of the MySQL schema. + The name of the collection. + This object hold the parameters required to Modify the collection. + + + + + Gets the compression algorithm being used to compress or decompress data. + + Flag to indicate if the compression algorithm should be + retrieved from the reader or writer controller. + The name of the compression algorithm being used if any. + null if no compression algorithm is being used. + + + + Represents a base class for a Session. + + + + + Flag to set if prepared statements are supported. + + + + + Gets the connection settings for this session. + + + + + Gets the currently active schema. + + + + + Gets the default schema provided when creating the session. + + + + + Gets the connection uri representation of the connection options provided during the creation of the session. + + + + + Initializes a new instance of the BaseSession class based on the specified connection string. + + The connection used to create the session. + A object. + is null. + Unable to parse the when + in URI format. + + When using Unix sockets the protocol=unix or protocol=unixsocket connection option is required. + This will enable elements passed in the server connection option to be treated as Unix sockets. The user is also required + to explicitly set sslmode to none since X Plugin does not support SSL when using Unix sockets. Note that + protocol=unix and protocol=unixsocket are synonyms. +   + Multiple hosts can be specified as part of the , + which enables client-side failover when trying to establish a connection. +   + Connection URI examples: + - mysqlx://test:test@[192.1.10.10,localhost] + - mysqlx://test:test@[192.1.10.10,127.0.0.1] + - mysqlx://root:@[../tmp/mysqlx.sock,/tmp/mysqld.sock]?protocol=unix&sslmode=none + - mysqlx://test:test@[192.1.10.10:33060,127.0.0.1:33060] + - mysqlx://test:test@[192.1.10.10,120.0.0.2:22000,[::1]:33060]/test?connectiontimeout=10 + - mysqlx://test:test@[(address=server.example,priority=20),(address=127.0.0.1,priority=100)] + - mysqlx://test:test@[(address=server.example,priority=100),(address=127.0.0.1,priority=75),(address=192.0.10.56,priority=25)] + +   + Connection string examples: + - server=10.10.10.10,localhost;port=33060;uid=test;password=test; + - host=10.10.10.10,192.101.10.2,localhost;port=5202;uid=test;password=test; + - host=./tmp/mysqld.sock,/var/run/mysqldx.sock;port=5202;uid=root;protocol=unix;sslmode=none; + - server=(address=server.example,priority=20),(address=127.0.0.1,priority=100);port=33060;uid=test;password=test; + - server=(address=server.example,priority=100),(address=127.0.0.1,priority=75),(address=192.0.10.56,priority=25);port=33060;uid=test;password=test; + +   + Failover methods + - Sequential: Connection attempts will be performed in a sequential order, that is, one after another until + a connection is successful or all the elements from the list have been tried. + + - Priority based: If a priority is provided, the connection attemps will be performed in descending order, starting + with the host with the highest priority. Priority must be a value between 0 and 100. Additionally, it is required to either + give a priority for every host or no priority to any host. + + + + + + Initializes a new instance of the BaseSession class based on the specified anonymous type object. + + The connection data as an anonymous type used to create the session. + A object. + is null. + + Multiple hosts can be specified as part of the , which enables client-side failover when trying to + establish a connection. +   + To assign multiple hosts, create a property similar to the connection string examples shown in + . Note that the value of the property must be a string. + + + + + + Drops the database/schema with the given name. + + The name of the schema. + is null. + + + + Creates a schema/database with the given name. + + The name of the schema/database. + A object that matches the recently created schema/database. + + + + Gets the schema with the given name. + + The name of the schema. + A object set with the provided schema name. + + + + Gets a list of schemas (or databases) in this session. + + A list containing all existing schemas (or databases). + + + + Starts a new transaction. + + + + + Commits the current transaction. + + A object containing the results of the commit operation. + + + + Rolls back the current transaction. + + + + + Closes this session or releases it to the pool. + + + + + Closes this session + + + + + Sets a transaction savepoint with an autogenerated name. + + The autogenerated name of the transaction savepoint. + + + + Sets a named transaction savepoint. + + The name of the transaction savepoint. + The name of the transaction savepoint. + + + + Removes the named savepoint from the set of savepoints within the current transaction. + + The name of the transaction savepoint. + + + + Rolls back a transaction to the named savepoint without terminating the transaction. + + The name of the transaction savepoint. + + + + Parses the connection data. + + The connection string or connection URI. + A object. + An updated connection string representation of the provided connection string or connection URI. + + + + Parses a connection URI. + + The connection URI to parse. + The connection string representation of the provided . + + + + Validates if the string provided is a Unix socket file. + + The Unix socket to evaluate. + true if is a valid Unix socket; otherwise, false. + + + + Converts the URI object into a connection string. + + An instance with the values for the provided connection options. + The path of the Unix socket file. + If true the replaces the value for the server connection option; otherwise, false + Flag indicating if this is a connection using DNS SRV. + A connection string. + + + + Parses a connection string. + + The connection string to parse. + The parsed connection string. + + + + Normalizes the Unix socket by removing leading and ending parenthesis as well as removing special characters. + + The Unix socket to normalize. + A normalized Unix socket. + + + + Disposes the current object. Disposes of the managed state if the flag is set to true. + + Flag to indicate if the managed state is to be disposed. + + + + Disposes the current object. Code added to correctly implement the disposable pattern. + + + + + Describes the state of the session. + + + + + The session is closed. + + + + + The session is open. + + + + + The session object is connecting to the data source. + + + + + The session object is executing a command. + + + + + Class encapsulating a session pooling functionality. + + + + + Queue of demoted hosts. + + + + + List of hosts that will be attempted to connect to. + + + + + Timer to be used when a host have been demoted. + + + + + Remove hosts from the demoted list that have already been there for more + than 120,000 milliseconds and add them to the available hosts list. + + + + + Get a session from pool or create a new one. + + + + + + Closes all sessions the Client object created and destroys the managed pool. + + + + + Represents a collection of documents. + + + + + Creates an containing the provided objects that can be used to add + one or more items to a collection. + + The objects to add. + An object containing the objects to add. + is null. + This method can take anonymous objects, domain objects, or just plain JSON strings. + The statement can be further modified before execution. + + + + Creates a with the given condition that can be used to remove + one or more documents from a collection.The statement can then be further modified before execution. + + The condition to match documents. + A object set with the given condition. + is null or white space. + The statement can then be further modified before execution. + + + + Removes the document with the given identifier. + + The unique identifier of the document to replace. + A object containing the results of the execution. + is null or white space. + This is a direct execution method. + + + + Creates a with the given condition that can be used to modify one or more + documents from a collection. + + The condition to match documents. + A object set with the given condition. + is null or white space. + The statement can then be further modified before execution. + + + + Replaces the document matching the given identifier. + + The unique identifier of the document to replace. + The document to replace the matching document. + A object containing the results of the execution. + is null or whitespace. + is null. + This is a direct execution method. Operation succeeds even if no matching document was found; + in which case, the Result.RecordsAffected property is zero. If the new document contains an identifier, the value + is ignored. + + + + Adds the given document to the collection unless the identifier or any other field that has a unique index + already exists, in which case it will update the matching document. + + The unique identifier of the document to replace. + The document to replace the matching document. + A object containing the results of the execution. + The server version is lower than 8.0.3. + is null or white space. + is null. + The is different from the one in . + This is a direct execution method. + + + + Returns the number of documents in this collection on the server. + + The number of documents found. + + + + Creates a with the given condition which can be used to find documents in a + collection. + + An optional condition to match documents. + A object set with the given condition. + The statement can then be further modified before execution. + + + + Creates an index based on the properties provided in the JSON document. + + The index name. + JSON document describing the index to be created. + + is a JSON document with the following fields: + + - fields: array of IndexField objects, each describing a single document member to be + included in the index (see below). + - type: string, (optional) the type of index. One of INDEX or SPATIAL. Default is INDEX and may + be omitted. + +   + A single IndexField description consists of the following fields: + + - field: string, the full document path to the document member or field to be indexed. + - type: string, one of the supported SQL column types to map the field into (see the following list). + For numeric types, the optional UNSIGNED keyword may follow. For the TEXT type, the length to consider for + indexing may be added. + - required: bool, (optional) true if the field is required to exist in the document. defaults to + false, except for GEOJSON where it defaults to true. + - options: int, (optional) special option flags for use when decoding GEOJSON data. + - srid: int, (optional) srid value for use when decoding GEOJSON data. + +   + Supported SQL column types: + + - INT [UNSIGNED] + - TINYINT [UNSIGNED] + - SMALLINT [UNSIGNED] + - MEDIUMINT [UNSIGNED] + - INTEGER [UNSIGNED] + - BIGINT [UNSIGNED] + - REAL [UNSIGNED] + - FLOAT [UNSIGNED] + - DOUBLE [UNSIGNED] + - DECIMAL [UNSIGNED] + - NUMERIC [UNSIGNED] + - DATE + - TIME + - TIMESTAMP + - DATETIME + - TEXT[(length)] + - CHAR[(lenght)] + - GEOJSON (extra options: options, srid) + + + + + + Drops a collection index. + + The index name. + is null or white space. + + + + Verifies if the current collection exists in the server schema. + + true if the collection exists; otherwise, false. + + + + Returns the document with the given identifier. + + The unique identifier of the document to replace. + A object if a document matching given identifier exists; otherwise, null. + is null or white space. + This is a direct execution method. + + + + Base abstract class that defines elements inherited by all result types. + + + + + Gets the number of records affected by the statement that generated this result. + + + + + Gets the object of the session. + + + + + Gets a read-only collection of objects derived from statement execution. + + + + + Gets the number of warnings in the collection derived from statement execution. + + + + + No action is performed by this method. It is intended to be overriden by child classes if required. + + + + + Base abstract class for API statement. + + + + + + Initializes a new instance of the BaseStatement class based on the specified session. + + The session where the statement will be executed. + + + + Gets the that owns the statement. + + + + + Executes the base statements. This method is intended to be defined by child classes. + + A result object containing the details of the execution. + + + + Executes a statement asynchronously. + + A result object containing the details of the execution. + + + + Validates if the session is open and valid. + + + + + Sets the status as Changed for prepared statement validation. + + + + + Converts a statement to prepared statement for a second execution + without any change but Bind, Limit, or Offset. + + + + + Abstract class for buffered results. + + Generic result type. + + + + Index of the current item. + + + + + List of generic items in this buffered result. + + + + + Flag that indicates if all items have been read. + + + + + Gets a dictionary containing the column names and their index. + + + + + Gets the page size set for this buffered result. + + + + + Loads the column data into the field. + + + + + Retrieves a read-only list of the generic items associated to this buffered result. + + A generic list representing items in this buffered result. + + + + Retrieves one element from the generic items associated to this buffered result. + + A generic object that corresponds to the current or default item. + + + + Determines if all items have already been read. + + True if all items have been retrived, false otherwise. + + + + Gets the current item. + + All items have already been read. + + + + Determines if all items have already been read. + + True if all items have been retrived, false otherwise. + + + + Resets the value of the field to zero. + + + + + Gets an representation of this object. + + An representation of this object. + + + + Gets an representation of this object. + + An representation of this object. + + + + Retrieves a read-only list of the generic items associated to this buffered result. + + A generic list representing items in this buffered result. + + + + No body has been defined for this method. + + + + + This object store the required parameters to create a Collection with schema validation. + + + + + If false, throws an exception if the collection exists. + + + + + Object which hold the Level and Schema parameters. + + + + + This object store the required parameters to modify a Collection with schema validation. + + + + + This object store the required parameters to Modify a Collection with schema validation. + + + + + This object store the required parameters to create a Collection with schema validation. + + + + + It can be STRICT to enable schema validation or OFF to disable . + + + + + The JSON which define the rules to be validated in the collection. + + + + + The possible values for parameter Level in Validation object. + + + + + Class to represent an error in this result. + + + + + Numeric code. + + + + + Return code indicating the outcome of the executed SQL statement. + + + + + Error message. + + + + + Initializes a new instance of the ErrorInfo class. + + + + + Abstract class for filterable statements. + + The filterable statement. + The database object. + The type of result. + + + + Initializes a new instance of the FiltarableStatement class based on the target and condition. + + The database object. + The optional filter condition. + + + + Enables the setting of Where condition for this operation. + + The Where condition. + The implementing statement type. + + + + Sets the number of items to be returned by the operation. + + The number of items to be returned. + The implementing statement type. + is equal or lower than 0. + + + + Sets the number of items to be skipped before including them into the result. + + The number of items to be skipped. + The implementing statement type. + + + + Binds the parameter values in filter expression. + + The parameter name. + The value of the parameter. + A generic object representing the implementing statement type. + + + + Binds the parameter values in filter expression. + + The parameters as a DbDoc object. + A generic object representing the implementing statement type. + + + + Binds the parameter values in filter expression. + + The parameters as a JSON string. + The implementing statement type. + + + + Binds the parameter values in filter expression. + + The parameters as an anonymous object: new { param1 = value1, param2 = value2, ... }. + The implementing statement type. + + + + Executes the statement. + + The function to execute. + The generic object to use. + A generic result object containing the results of the execution. + + + + Clones the filterable data but Session and Target remain the + same. + + A clone of this filterable statement. + + + + Represents a general statement result. + + + + + Gets the last inserted identifier (if there is one) by the statement that generated this result. + + + + + Gets the list of generated identifiers in the order of the Add() calls. + + + + + Abstract class to select a database object target. + + The database object. + The execution result. + + + + Initializes a new instance of the TargetedBaseStatement class based on the provided target. + + The database object. + + + + Gets the database target. + + + + + Represents a warning in this result. + + + + + Numeric value associated to the warning message. + + + + + Error message. + + + + + Strict level for the warning. + + + + + Initializes a new instance of the WarningInfo class based on the code and msg. + + The code for the warning. + The error message for the warning. + + + + Represents a chaining collection insert statement. + + + + + Adds documents to the collection. + + The documents to add. + This object. + The array is null. + + + + Executes the Add statement. + + A object containing the results of the execution. + + + + Implementation class for CRUD statements with collections using an index. + + + + + Executes this statement. + + A object containing the results of the execution. + + + + Represents a collection statement. + + + + + + Converts base s into objects. + + Array of objects to be converted to objects. + An enumerable collection of objects. + + + + Represents the result of an operation that includes a collection of documents. + + + + + Represents a chaining collection find statement. + + + + + List of column projections that shall be returned. + + List of columns. + This object set with the specified columns or fields. + + + + Executes the Find statement. + + A object containing the results of execution and data. + + + + Locks matching rows against updates. + + Optional row lock option to use. + This same object set with the lock shared option. + The server version is lower than 8.0.3. + + + + Locks matching rows so no other transaction can read or write to it. + + Optional row lock option to use. + This same object set with the lock exclusive option. + The server version is lower than 8.0.3. + + + + Sets the collection aggregation. + + The field list for aggregation. + This same object set with the specified group-by criteria. + + + + Filters criteria for aggregated groups. + + The filter criteria for aggregated groups. + This same object set with the specified filter criteria. + + + + Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like + "order ASC" or "pages DESC, age ASC". + + The order criteria. + A generic object representing the implementing statement type. + + + + Enables the setting of Where condition for this operation. + + The Where condition. + The implementing statement type. + + + + Represents a chaining collection modify statement. + + + + + Sets key and value. + + The document path key. + The new value. + This object. + + + + Changes value for a key. + + The document path key. + The new value. + This object. + + + + Removes keys or values from a document. + + An array of document paths representing the keys to be removed. + This object. + + + + Creates a object set with the changes to be applied to all matching documents. + + The JSON-formatted object describing the set of changes. + A object set with the changes described in . + can be a object, an anonymous object, or a JSON string. + is null. + is null or white space. + + + + Inserts an item into the specified array. + + The document path key including the index on which the item will be inserted. + The value to insert into the array. + A object containing the updated array. + + + + Appends an item to the specified array. + + The document path key. + The value to append to the array. + A object containing the updated array. + + + + Allows the user to set the sorting criteria for the operation. The strings use normal SQL syntax like + "order ASC" or "pages DESC, age ASC". + + The order criteria. + A generic object representing the implementing statement type. + + + + Enables the setting of Where condition for this operation. + + The Where condition. + The implementing statement type. + + + + Executes the modify statement. + + A object containing the results of the execution. + + + + Represents a chaining collection remove statement. + + + + + Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like + "order ASC" or "pages DESC, age ASC". + + The order criteria. + A generic object representing the implementing statement type. + + + + Enables the setting of Where condition for this operation. + + The Where condition. + The implementing statement type. + + + + Executes the remove statement. + + A object containing the results of the execution. + + + + Represents a database object. + + + + + Gets the session that owns the database object. + + + + + Gets the schema that owns the database object. + + + + + Gets the database object name. + + + + + Verifies that the database object exists in the database. + + True if the object exists in database, false otherwise. + + + + Represents a generic document in JSON format. + + + + + Initializes a new instance of the DbDoc class based on the object provided. The value can be a domain object, anonymous object, or JSON string. + + The value for this DbDoc. + + + + Gets the value of a document property. + + The key path for the property. + + + + + Gets the identifier of the document. + + + + + Gets a value indicating if this document has an identifier (property named _id with a value). + + + + + Sets a property on this document. + + The key of the property. + The new property value. + + + + Returns this document in Json format. + + A Json formatted string. + + + + Compares this DbDoc with another one. + + The DbDoc to compare to. + True if they are equal, false otherwise. + + + + Gets a value that serves as a hash function for a particular type. + + A hash code for the current object. + + + + Represents a collection of documents with a generic type. + + + + + Initializes a new instance of the generic Collection class based on the specified schema + and name. + + The object associated to this collection. + The name of the collection. + + + + Creates an containing the provided generic object. The add + statement can be further modified before execution. + + The generic object to add. + An object containing the object to add. + + + + Defines elements that allow to iterate through the contents of various items. + + + + + Initializes a new instance of the Iterator class. + + + + + This method is not yet implemented. + + + + Exception is always thrown since the body of the method is not yet implemented. + + + + Defines a MySql expression. + + + + + Main class for session operations related to Connector/NET implementation of the X DevAPI. + + + + + Opens a session to the server given or to the first available server if multiple servers were specified. + + The connection string or URI string format. + + A object representing the established session. + Multiple hosts can be specified as part of the which + will enable client side failover when trying to establish a connection. For additional details and syntax + examples refer to the remarks section. + + + + Opens a session to the server given. + + The connection data for the server. + + A object representing the established session. + + + + Creates a new instance. + + The connection string or URI string format. + + The connection options in JSON string format. + A object representing a session pool. + + + + Creates a new instance. + + The connection string or URI string format. + + The connection options in object format. + + + new { pooling = new + { + enabled = true, + maxSize = 15, + maxIdleTime = 60000, + queueTimeout = 60000 + } + } + + + + A object representing a session pool. + + + + Creates a new instance. + + The connection data. + + The connection options in JSON string format. + A object representing a session pool. + + + + Creates a new instance. + + The connection data. + + The connection options in object format. + + + new { pooling = new + { + enabled = true, + maxSize = 15, + maxIdleTime = 60000, + queueTimeout = 60000 + } + } + + + + A object representing a session pool. + + + + Enables the creation of connection strings by exposing the connection options as properties. + Contains connection options specific to the X protocol. + + + + + Main constructor. + + + + + Constructor accepting a connection string. + + The connection string. + A flag indicating if the default port is used in the connection. + + + + Readonly field containing a collection of classic protocol and protocol shared connection options. + + + + + Gets or sets the connection timeout. + + + + + Gets or sets the connection attributes. + + + + + Path to a local file containing certificate revocation lists. + + + + + Gets or sets the compression type between client and server. + + + + + Gets or sets the compression algorithm. + + + + + Gets or sets a connection option. + + The keyword that identifies the connection option to modify. + + + + Represents a table column. + + + + + Gets the original column name. + + + + + Gets the alias of the column name. + + + + + Gets the table name the column orginates from. + + + + + Gets the alias of the table name . + + + + + Gets the schema name the column originates from. + + + + + Gets the catalog the schema originates from. + In MySQL protocol this is `def` by default. + + + + + Gets the collation used for this column. + + + + + Gets the character set used for this column. + + + + + Gets the column length. + + + + + Gets the fractional decimal digits for floating point and fixed point numbers. + + + + + Gets the Mysql data type. + + + + + Gets the .NET Clr data type. + + + + + True if it's a signed number. + + + + + True if column is UINT zerofill or BYTES rightpad. + + + + + Initializes a new instance of the Column class. + + + + + Represents a resultset that contains rows of data. + + + + + Gets the columns in this resultset. + + + + + Gets the number of columns in this resultset. + + + + + Gets a list containing the column names in this resultset. + + + + + Gets the rows of this resultset. This collection will be incomplete unless all the rows have been read + either by using the Next method or the Buffer method. + + + + + Gets the value of the column value at the current index. + + The column index. + The CLR value at the column index. + + + + Allows getting the value of the column value at the current index. + + The column index. + The CLR value at the column index. + + + + Returns the index of the given column name. + + The name of the column to find. + The numeric index of column. + + + + Represents a single row of data in a table. + + + + + Gets the value of the row at the given index. + + The column index to retrieve the value. + The value at the index. + + + + Gets the value of the column as a string. + + The name of the column. + The value of the column as a string. + + + + Gets a string based indexer into the row. Returns the value as a CLR type. + + The column index to get. + The CLR value for the column. + + + + Inherits from . Creates a resultset that contains rows of data. + + + + + Represents a resultset that contains rows of data for relational operations. + + + + + Gets a boolean value indicating if this result has data. + + + + + Moves to next resultset. + + True if there is a new resultset, false otherwise. + + + + Represents a sql statement. + + + + + Initializes a new instance of the SqlStament class bassed on the session and sql statement. + + The session the Sql statement belongs to. + The Sql statement. + + + + Gets the current Sql statement. + + + + + Gets the list of parameters associated to this Sql statement. + + + + + Executes the current Sql statement. + + A object with the resultset and execution status. + + + + Binds the parameters values by position. + + The parameter values. + This set with the binded parameters. + + + + Represents a server Table or View. + + + + + Gets a value indicating whether the object is + a View (True) or a Table (False). + + + + + Creates a set with the columns to select. The table select + statement can be further modified before execution. This method is intended to select a set + of table rows. + + The optional column names to select. + A object for select chain operations. + + + + Creates a set with the fileds to insert to. The table + insert statement can be further modified before exeuction. This method is intended to + insert one or multiple rows into a table. + + The list of fields to insert. + A object for insert chain operations. + + + + Creates a . This method is intended to update table rows + values. + + A object for update chain operations. + + + + Creates a . This method is intended to delete rows from a + table. + + A object for delete chain operations. + + + + Returns the number of rows in the table on the server. + + The number of rows. + + + + Verifies if the table exists in the database. + + true if the table exists; otherwise, false. + + + + Represents a chaining table delete statement. + + + + + Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like + "order ASC" or "pages DESC, age ASC". + + The order criteria. + A generic object representing the implementing statement type. + + + + Executes the delete statement. + + A object containing the results of the delete execution. + + + + Represents a chaining table insert statement. + + + + + Executes the insert statement. + + A object containing the results of the insert statement. + + + + Values to be inserted. + Multiple rows supported. + + The values to be inserted. + This same object. + + + + Represents a chaining table select statement. + + + + + Executes the select statement. + + A object containing the results of the execution and data. + + + + Locks matching rows against updates. + + Optional row lock option to use. + This same object set with lock shared option. + The server version is lower than 8.0.3. + + + + Locks matching rows so no other transaction can read or write to it. + + Optional row lock option to use. + This same object set with the lock exclusive option. + The server version is lower than 8.0.3. + + + + Sets the table aggregation. + + The column list for aggregation. + This same object set with the specified group-by criteria. + + + + Filters criteria for aggregated groups. + + The filter criteria for aggregated groups. + This same object set with the specified filter criteria. + + + + Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like + "order ASC" or "pages DESC, age ASC". + + The order criteria. + A generic object that represents the implementing statement type. + + + + Represents a chaining table update statement. + + + + + Executes the update statement. + + A object ocntaining the results of the update statement execution. + + + + Column and value to be updated. + + Column name. + Value to be updated. + This same object. + + + + Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like + "order ASC" or "pages DESC, age ASC". + + The order criteria. + A generic object that represents the implementing statement type. + + + + Represents a schema or database. + + + + + Session related to current schema. + + + + + Returns a list of all collections in this schema. + + A list representing all found collections. + + + + Returns a list of all tables in this schema. + + A list representing all found tables. + + + + Gets a collection by name. + + The name of the collection to get. + Ensures the collection exists in the schema. + A object matching the given name. + + + + Gets a typed collection object. This is useful for using domain objects. + + The type of collection returned. + The name of collection to get. + A generic object set with the given name. + + + + Gets the given collection as a table. + + The name of the collection. + A object set with the given name. + + + + Gets a table object. Upon return the object may or may not be valid. + + The name of the table object. + A object set with the given name. + + + + Creates a collection. + + The name of the collection to create. + If false, throws an exception if the collection exists. + Collection referente. + + + + Creates a collection including a schema validation. + + The name of the collection to create. + This object hold the parameters required to create the collection. + + Collection referente. + + + + Modify a collection adding or removing schema validation parameters. + + The name of the collection to create. + This object encapsulate the Validation parameters level and schema. + Collection referente. + + + + Drops the given collection. + + The name of the collection to drop. + is null. + + + + Determines if this schema actually exists. + + True if exists, false otherwise. + + + + Represents a single server session. + + + + + Returns a object that can be used to execute the given SQL. + + The SQL to execute. + A object set with the provided SQL. + + + + Sets the schema in the database. + + The schema name to be set. + + + + Executes a query in the database to get the current schema. + + Current database object or null if no schema is selected. + + + + Closes the current session properly after it was closed by the server. + + + + Holder for reflection information generated from mysqlx.proto + + + File descriptor for mysqlx.proto + + + + IDs of messages that can be sent from client to the server + + .. note:: + this message is never sent on the wire. It is only used to let ``protoc`` + + * generate constants + * check for uniqueness + + + + Container for nested types declared in the ClientMessages message type. + + + + IDs of messages that can be sent from server to client + + .. note:: + this message is never sent on the wire. It is only used to let ``protoc`` + + * generate constants + * check for uniqueness + + + + Container for nested types declared in the ServerMessages message type. + + + + NOTICE has to stay at 11 forever + + + + + generic Ok message + + + + Field number for the "msg" field. + + + + generic Error message + + A ``severity`` of ``ERROR`` indicates the current message sequence is + aborted for the given error and the session is ready for more. + + In case of a ``FATAL`` error message the client should not expect + the server to continue handling any further messages and should + close the connection. + + :param severity: severity of the error message + :param code: error-code + :param sql_state: SQL state + :param msg: human readable error message + + + + Field number for the "severity" field. + + + Field number for the "code" field. + + + Field number for the "sql_state" field. + + + Field number for the "msg" field. + + + Container for nested types declared in the Error message type. + + + Holder for reflection information generated from mysqlx_connection.proto + + + File descriptor for mysqlx_connection.proto + + + + a Capability + + a tuple of a ``name`` and a :protobuf:msg:`Mysqlx.Datatypes::Any` + + + + Field number for the "name" field. + + + Field number for the "value" field. + + + + Capabilities + + + + Field number for the "capabilities" field. + + + + get supported connection capabilities and their current state + + :returns: :protobuf:msg:`Mysqlx.Connection::Capabilities` or :protobuf:msg:`Mysqlx::Error` + + + + + sets connection capabilities atomically + + only provided values are changed, other values are left unchanged. + If any of the changes fails, all changes are discarded. + + :precond: active sessions == 0 + :returns: :protobuf:msg:`Mysqlx::Ok` or :protobuf:msg:`Mysqlx::Error` + + + + Field number for the "capabilities" field. + + + + announce to the server that the client wants to close the connection + + it discards any session state of the server + + :Returns: :protobuf:msg:`Mysqlx::Ok` + + + + Field number for the "uncompressed_size" field. + + + Field number for the "server_messages" field. + + + Field number for the "client_messages" field. + + + Field number for the "payload" field. + + + Holder for reflection information generated from mysqlx_crud.proto + + + File descriptor for mysqlx_crud.proto + + + + DataModel to use for filters, names, ... + + + + + ViewAlgorithm defines how MySQL Server processes the view + + + + + MySQL chooses which algorithm to use + + + + + the text of a statement that refers to the view and the view definition are merged + + + + + the view are retrieved into a temporary table + + + + + ViewSqlSecurity defines the security context in which the view is going to be + executed, this means that VIEW can be executed with current user permissions or + with permissions of the uses who defined the VIEW + + + + + ViewCheckOption limits the write operations done on a `VIEW` + (`INSERT`, `UPDATE`, `DELETE`) to rows in which the `WHERE` clause is `TRUE` + + + + + the view WHERE clause is checked, but no underlying views are checked + + + + + the view WHERE clause is checked, then checking recurses to underlying views + + + + + column definition + + + + Field number for the "name" field. + + + + optional + + + + Field number for the "alias" field. + + + + optional + + + + Field number for the "document_path" field. + + + + a projection + + :param source: the expression identifying an element from the source data + which can include a column identifier or any expression + :param alias: optional alias. Required for DOCUMENTs (clients may use + the source string as default) + + + + Field number for the "source" field. + + + + required + + + + Field number for the "alias" field. + + + + optional + + + + + collection + + + + Field number for the "name" field. + + + + required + + + + Field number for the "schema" field. + + + + optional + + + + + limit + + :param row_count: maximum rows to filter + :param offset: maximum rows to skip before applying the row_count + + + + Field number for the "row_count" field. + + + + required + + + + Field number for the "offset" field. + + + + optional + + + + + limit expression + + LimitExpr in comparison to Limit, is able to specify that row_count and + offset are placeholders. + This message support expressions of following types Expr/literal/UINT, + Expr/PLACEHOLDER. + + :param row_count: maximum rows to filter + :param offset: maximum rows to skip before applying the row_count + + + + Field number for the "row_count" field. + + + + required + + + + Field number for the "offset" field. + + + + optional + + + + + sort order + + + + Field number for the "expr" field. + + + + required + + + + Field number for the "direction" field. + + + + optional//[ default=ASC ] + + + + Container for nested types declared in the Order message type. + + + + update operations + + :param source: specification of the value to be updated + if data_model is TABLE, a column name may be specified and also a document path, if the column has type JSON + if data_model is DOCUMENT, only document paths are allowed + in both cases, schema and table must be not set + :param operation: the type of operation to be performed + :param value: an expression to be computed as the new value for the operation + + + + Field number for the "source" field. + + + + required + + + + Field number for the "operation" field. + + + + required + + + + Field number for the "value" field. + + + + optional + + + + Container for nested types declared in the UpdateOperation message type. + + + + only allowed for TABLE + + + + + no value (removes the identified path from a object or array) + + + + + sets the new value on the identified path + + + + + replaces a value if the path exists + + + + + source and value must be documents + + + + + insert the value in the array at the index identified in the source path + + + + + append the value on the array at the identified path + + + + + merge JSON object value with the provided patch expression + + + + + Find Documents/Rows in a Collection/Table + + .. uml:: + + client -> server: Find + ... one or more Resultset ... + + :param collection: collection to insert into + :param data_model: datamodel that the operations refer to + :param projection: list of column projections that shall be returned + :param args: values for parameters used in filter expression + :param criteria: filter criteria + :param limit: numbers of rows that shall be skipped and returned (user can set one of: limit, limit_expr) + :param order: sort-order in which the rows/document shall be returned in + :param grouping: column expression list for aggregation (GROUP BY) + :param grouping_criteria: filter criteria for aggregated groups + :param locking: perform row locking on matches + :param locking_options: additional options how to handle locked rows + :param limit_expr: numbers of rows that shall be skipped and returned (user can set one of: limit, limit_expr) + :Returns: :protobuf:msg:`Mysqlx.Resultset::` + + + + Field number for the "collection" field. + + + + required + + + + Field number for the "data_model" field. + + + + optional + + + + Field number for the "projection" field. + + + Field number for the "criteria" field. + + + + optional + + + + Field number for the "args" field. + + + Field number for the "order" field. + + + Field number for the "grouping" field. + + + Field number for the "grouping_criteria" field. + + + + optional + + + + Field number for the "locking" field. + + + + optional + + + + Field number for the "locking_options" field. + + + + optional + + + + Field number for the "limit" field. + + + + optional + + + + Field number for the "limit_expr" field. + + + + optional + + + + Container for nested types declared in the Find message type. + + + + Lock matching rows against updates + + + + + Lock matching rows so no other transaction can read or write to it + + + + + Do not wait to acquire row lock, fail with an error if a requested row is locked + + + + + Do not wait to acquire a row lock, remove locked rows from the result set + + + + + Insert documents/rows into a collection/table + + :param collection: collection to insert into + :param data_model: datamodel that the operations refer to + :param projection: name of the columns to insert data into (empty if data_model is DOCUMENT) + :param row: set of rows to insert into the collection/table (a single expression with a JSON document literal or an OBJECT expression) + :param args: values for parameters used in row expressions + :param upsert: true if this should be treated as an Upsert (that is, update on duplicate key) + :Returns: :protobuf:msg:`Mysqlx.Resultset::` + + + + Field number for the "collection" field. + + + + required + + + + Field number for the "data_model" field. + + + + optional + + + + Field number for the "projection" field. + + + Field number for the "row" field. + + + Field number for the "args" field. + + + Field number for the "upsert" field. + + + + optional//[default = false] + + + + Container for nested types declared in the Insert message type. + + + Field number for the "field" field. + + + + Update documents/rows in a collection/table + + :param collection: collection to change + :param data_model: datamodel that the operations refer to + :param criteria: filter expression to match rows that the operations will apply on + :param args: values for parameters used in filter expression + :param limit: limits the number of rows to match (user can set one of: limit, limit_expr) + :param order: specifies order of matched rows + :param operation: list of operations to be applied. Valid operations will depend on the data_model. + :param limit_expr: limits the number of rows to match (user can set one of: limit, limit_expr) + :Returns: :protobuf:msg:`Mysqlx.Resultset::` + + + + Field number for the "collection" field. + + + + required + + + + Field number for the "data_model" field. + + + + optional + + + + Field number for the "criteria" field. + + + + optional + + + + Field number for the "args" field. + + + Field number for the "order" field. + + + Field number for the "operation" field. + + + Field number for the "limit" field. + + + + optional + + + + Field number for the "limit_expr" field. + + + + optional + + + + + Delete documents/rows from a Collection/Table + + :param collection: collection to change + :param data_model: datamodel that the operations refer to + :param criteria: filter expression to match rows that the operations will apply on + :param args: values for parameters used in filter expression + :param limit: limits the number of rows to match (user can set one of: limit, limit_expr) + :param order: specifies order of matched rows + :param limit_expr: limits the number of rows to match (user can set one of: limit, limit_expr) + :Returns: :protobuf:msg:`Mysqlx.Resultset::` + + + + Field number for the "collection" field. + + + + required + + + + Field number for the "data_model" field. + + + + optional + + + + Field number for the "criteria" field. + + + + optional + + + + Field number for the "args" field. + + + Field number for the "order" field. + + + Field number for the "limit" field. + + + + optional + + + + Field number for the "limit_expr" field. + + + + optional + + + + Field number for the "collection" field. + + + + required + + + + Field number for the "definer" field. + + + + optional + + + + Field number for the "algorithm" field. + + + + optional//[default = UNDEFINED] + + + + Field number for the "security" field. + + + + optional//[default = DEFINER] + + + + Field number for the "check" field. + + + + optional + + + + Field number for the "column" field. + + + Field number for the "stmt" field. + + + + required + + + + Field number for the "replace_existing" field. + + + + optional//[default = false] + + + + Field number for the "collection" field. + + + + required + + + + Field number for the "definer" field. + + + + optional + + + + Field number for the "algorithm" field. + + + + optional + + + + Field number for the "security" field. + + + + optional + + + + Field number for the "check" field. + + + + optional + + + + Field number for the "column" field. + + + Field number for the "stmt" field. + + + + optional + + + + Field number for the "collection" field. + + + + required + + + + Field number for the "if_exists" field. + + + + optional//[ default = false ] + + + + Holder for reflection information generated from mysqlx_cursor.proto + + + File descriptor for mysqlx_cursor.proto + + + + Open a cursor + + .. uml:: + + client -> server: Open + alt Success + ... none or partial Resultsets or full Resultsets ... + client <- server: StmtExecuteOk + else Failure + client <- server: Error + end + + :param cursor_id: client side assigned cursor id, the ID is going to represent new cursor and assigned to it statement + :param stmt: statement which resultset is going to be iterated through the cursor + :param fetch_rows: number of rows which should be retrieved from sequential cursor + :Returns: :protobuf:msg:`Mysqlx.Ok::` + + + + Field number for the "cursor_id" field. + + + + required + + + + Field number for the "stmt" field. + + + + required + + + + Field number for the "fetch_rows" field. + + + + optional + + + + Container for nested types declared in the Open message type. + + + Field number for the "type" field. + + + + required + + + + Field number for the "prepare_execute" field. + + + + optional + + + + Container for nested types declared in the OneOfMessage message type. + + + + Fetch next portion of data from a cursor + + .. uml:: + + client -> server: Fetch + alt Success + ... none or partial Resultsets or full Resultsets ... + client <- server: StmtExecuteOk + else + client <- server: Error + end + + :param cursor_id: client side assigned cursor id, must be already open + :param fetch_rows: number of rows which should be retrieved from sequential cursor + + + + Field number for the "cursor_id" field. + + + + required + + + + Field number for the "fetch_rows" field. + + + + optional + + + + + Close cursor + + .. uml:: + + client -> server: Close + alt Success + client <- server: Ok + else Failure + client <- server: Error + end + + :param cursor_id: client side assigned cursor id, must be allocated/open + :Returns: :protobuf:msg:`Mysqlx.Ok|Mysqlx.Error` + + + + Field number for the "cursor_id" field. + + + + required + + + + Holder for reflection information generated from mysqlx_datatypes.proto + + + File descriptor for mysqlx_datatypes.proto + + + + a scalar + + + + Field number for the "type" field. + + + + required + + + + Field number for the "v_signed_int" field. + + + Field number for the "v_unsigned_int" field. + + + Field number for the "v_octets" field. + + + + 4 is unused, was Null which doesn't have a storage anymore + + + + Field number for the "v_double" field. + + + Field number for the "v_float" field. + + + Field number for the "v_bool" field. + + + Field number for the "v_string" field. + + + Enum of possible cases for the "DefaultOneOf" oneof. + + + Container for nested types declared in the Scalar message type. + + + + a string with a charset/collation + + + + Field number for the "value" field. + + + + required + + + + Field number for the "collation" field. + + + Enum of possible cases for the "String_present" oneof. + + + + an opaque octet sequence, with an optional content_type + See ``Mysqlx.Resultset.ColumnMetadata`` for list of known values. + + + + Field number for the "value" field. + + + + required + + + + Field number for the "content_type" field. + + + + a object + + + + Field number for the "fld" field. + + + Container for nested types declared in the Object message type. + + + Field number for the "key" field. + + + + required + + + + Field number for the "value" field. + + + + required + + + + + a Array + + + + Field number for the "value" field. + + + + a helper to allow all field types + + + + Field number for the "type" field. + + + + required + + + + Field number for the "scalar" field. + + + Field number for the "obj" field. + + + Field number for the "array" field. + + + Container for nested types declared in the Any message type. + + + Holder for reflection information generated from mysqlx_expect.proto + + + File descriptor for mysqlx_expect.proto + + + + open an Expect block and set/unset the conditions that have to be fulfilled + + if any of the conditions fail, all enclosed messages will fail with + a Mysqlx.Error message. + + :returns: :protobuf:msg:`Mysqlx::Ok` on success, :protobuf:msg:`Mysqlx::Error` on error + + + + Field number for the "op" field. + + + + [ default = EXPECT_CTX_COPY_PREV ];//optional + + + + Field number for the "cond" field. + + + Container for nested types declared in the Open message type. + + + + copy the operations from the parent Expect-block + + + + + start with a empty set of operations + + + + Field number for the "condition_key" field. + + + + required + + + + Field number for the "condition_value" field. + + + + optional + + + + Field number for the "op" field. + + + + [ default = EXPECT_OP_SET ];//optional + + + + Container for nested types declared in the Condition message type. + + + + Change error propagation behaviour + + + + + Check if X Protocol field exists + + + + + Check if X Protocol support document _id generation + + + + + set the condition + + set, if not set + overwrite, if set + + + + + unset the condition + + + + + close a Expect block + + closing a Expect block restores the state of the previous Expect block + for the following messages + + :returns: :protobuf:msg:`Mysqlx::Ok` on success, :protobuf:msg:`Mysqlx::Error` on error + + + + Holder for reflection information generated from mysqlx_expr.proto + + + File descriptor for mysqlx_expr.proto + + + + Expressions + + the "root" of the expression tree + + .. productionlist:: + expr: `operator` | + : `identifier` | + : `function_call` | + : variable | + : `literal` | + : placeholder + + If expression type is PLACEHOLDER then it refers to the value of a parameter + specified when executing a statement (see `args` field of `StmtExecute` command). + Field `position` (which must be present for such an expression) gives 0-based + position of the parameter in the parameter list. + + + + Field number for the "type" field. + + + + required + + + + Field number for the "identifier" field. + + + Field number for the "variable" field. + + + Field number for the "literal" field. + + + Field number for the "function_call" field. + + + Field number for the "operator" field. + + + Field number for the "position" field. + + + Field number for the "object" field. + + + Field number for the "array" field. + + + Container for nested types declared in the Expr message type. + + + + identifier: name, schame.name + + .. productionlist:: + identifier: string "." string | + : string + + + + Field number for the "name" field. + + + + required + + + + Field number for the "schema_name" field. + + + + DocumentPathItem + + .. productionlist:: + document_path: path_item | path_item document_path + path_item : member | array_index | "**" + member : "." string | "." "*" + array_index : "[" number "]" | "[" "*" "]" + + + + Field number for the "type" field. + + + + required + + + + Field number for the "value" field. + + + Field number for the "index" field. + + + Container for nested types declared in the DocumentPathItem message type. + + + + .member + + + + + .* + + + + + [index] + + + + + [*] + + + + + ** + + + + + col_identifier (table): col@doc_path, tbl.col@doc_path col, tbl.col, schema.tbl.col + col_identifier (document): doc_path + + .. productionlist:: + col_identifier: string "." string "." string | + : string "." string | + : string | + : string "." string "." string "@" document_path | + : string "." string "@" document_path | + : string "@" document_path | + : document_path + document_path: member | arrayLocation | doubleAsterisk + member = "." string | "." "*" + arrayLocation = "[" index "]" | "[" "*" "]" + doubleAsterisk = "**" + + + + Field number for the "document_path" field. + + + Field number for the "name" field. + + + Field number for the "table_name" field. + + + Field number for the "schema_name" field. + + + + function call: ``func(a, b, "1", 3)`` + + .. productionlist:: + function_call: `identifier` "(" [ `expr` ["," `expr` ]* ] ")" + + + + Field number for the "name" field. + + + + required + + + + Field number for the "param" field. + + + + operator: ``<<(a, b)`` + + .. note:: + + Non-authoritative list of operators implemented (case sensitive): + + Nullary + * ``*`` + * ``default`` + + Unary + * ``!`` + * ``sign_plus`` + * ``sign_minus`` + * ``~`` + + Binary + * ``&&`` + * ``||`` + * ``xor`` + * ``==`` + * ``!=`` + * ``>`` + * ``>=`` + * ``<`` + * ``<=`` + * ``&`` + * ``|`` + * ``^`` + * ``<<`` + * ``>>`` + * ``+`` + * ``-`` + * ``*`` + * ``/`` + * ``div`` + * ``%`` + * ``is`` + * ``is_not`` + * ``regexp`` + * ``not_regexp`` + * ``like`` + * ``not_like`` + * ``cast`` + * ``cont_in`` + * ``not_cont_in`` + + Using special representation, with more than 2 params + * ``in`` (param[0] IN (param[1], param[2], ...)) + * ``not_in`` (param[0] NOT IN (param[1], param[2], ...)) + + Ternary + * ``between`` + * ``between_not`` + * ``date_add`` + * ``date_sub`` + + Units for date_add/date_sub + * ``MICROSECOND`` + * ``SECOND`` + * ``MINUTE`` + * ``HOUR`` + * ``DAY`` + * ``WEEK`` + * ``MONTH`` + * ``QUARTER`` + * ``YEAR`` + * ``SECOND_MICROSECOND`` + * ``MINUTE_MICROSECOND`` + * ``MINUTE_SECOND`` + * ``HOUR_MICROSECOND`` + * ``HOUR_SECOND`` + * ``HOUR_MINUTE`` + * ``DAY_MICROSECOND`` + * ``DAY_SECOND`` + * ``DAY_MINUTE`` + * ``DAY_HOUR`` + + Types for cast + * ``BINARY[(N)]`` + * ``CHAR[(N)]`` + * ``DATE`` + * ``DATETIME`` + * ``DECIMAL[(M[,D])]`` + * ``JSON`` + * ``SIGNED [INTEGER]`` + * ``TIME`` + * ``UNSIGNED [INTEGER]`` + + .. productionlist:: + operator: `name` "(" [ `expr` ["," `expr` ]* ] ")" + + + + Field number for the "name" field. + + + + required + + + + Field number for the "param" field. + + + + an object (with expression values) + + + + Field number for the "fld" field. + + + Container for nested types declared in the Object message type. + + + Field number for the "key" field. + + + + required + + + + Field number for the "value" field. + + + + required + + + + + a Array of expressions + + + + Field number for the "value" field. + + + Holder for reflection information generated from mysqlx_notice.proto + + + File descriptor for mysqlx_notice.proto + + + + Common Frame for all Notices + + ===================================================== ===== + .type value + ===================================================== ===== + :protobuf:msg:`Mysqlx.Notice::Warning` 1 + :protobuf:msg:`Mysqlx.Notice::SessionVariableChanged` 2 + :protobuf:msg:`Mysqlx.Notice::SessionStateChanged` 3 + ===================================================== ===== + + :param type: the type of the payload + :param payload: the payload of the notification + :param scope: global or local notification + + + + Field number for the "type" field. + + + + required + + + + Field number for the "scope" field. + + + + [ default = GLOBAL ];//optional + + + + Field number for the "payload" field. + + + + optional + + + + Container for nested types declared in the Frame message type. + + + + Server-side warnings and notes + + ``.scope`` == ``local`` + ``.level``, ``.code`` and ``.msg`` map the content of + + .. code-block:: sql + + SHOW WARNINGS + + ``.scope`` == ``global`` + (undefined) will be used for global, unstructured messages like: + + * server is shutting down + * a node disconnected from group + * schema or table dropped + + ========================================== ======================= + :protobuf:msg:`Mysqlx.Notice::Frame` field value + ========================================== ======================= + ``.type`` 1 + ``.scope`` ``local`` or ``global`` + ========================================== ======================= + + :param level: warning level: Note or Warning + :param code: warning code + :param msg: warning message + + + + Field number for the "level" field. + + + + [ default = WARNING ];//optional + + + + Field number for the "code" field. + + + + required + + + + Field number for the "msg" field. + + + + required + + + + Container for nested types declared in the Warning message type. + + + + Notify clients about changes to the current session variables + + Every change to a variable that is accessible through: + + .. code-block:: sql + + SHOW SESSION VARIABLES + + ========================================== ========= + :protobuf:msg:`Mysqlx.Notice::Frame` field value + ========================================== ========= + ``.type`` 2 + ``.scope`` ``local`` + ========================================== ========= + + :param namespace: namespace that param belongs to + :param param: name of the variable + :param value: the changed value of param + + + + Field number for the "param" field. + + + + required + + + + Field number for the "value" field. + + + + optional + + + + + Notify clients about changes to the internal session state + + ========================================== ========= + :protobuf:msg:`Mysqlx.Notice::Frame` field value + ========================================== ========= + ``.type`` 3 + ``.scope`` ``local`` + ========================================== ========= + + :param param: parameter key + :param value: updated value + + + + Field number for the "param" field. + + + + required + + + + Field number for the "value" field. + + + Container for nested types declared in the SessionStateChanged message type. + + + + .. more to be added + + + + Holder for reflection information generated from mysqlx_prepare.proto + + + File descriptor for mysqlx_prepare.proto + + + + Prepare a new statement + + .. uml:: + + client -> server: Prepare + alt Success + client <- server: Ok + else Failure + client <- server: Error + end + + :param stmt_id: client side assigned statement id, which is going to identify the result of preparation + :param stmt: defines one of following messages to be prepared - Crud.Find, Crud.Insert, Crud.Delete, Crud.Upsert, Sql.StmtExecute + :Returns: :protobuf:msg:`Mysqlx.Ok|Mysqlx.Error` + + + + Field number for the "stmt_id" field. + + + + required + + + + Field number for the "stmt" field. + + + + required + + + + Container for nested types declared in the Prepare message type. + + + Field number for the "type" field. + + + + required + + + + Field number for the "find" field. + + + + optional + + + + Field number for the "insert" field. + + + + optional + + + + Field number for the "update" field. + + + + optional + + + + Field number for the "delete" field. + + + + optional + + + + Field number for the "stmt_execute" field. + + + + optional + + + + Enum of possible cases for the "Type_present" oneof. + + + Container for nested types declared in the OneOfMessage message type. + + + + Determine which of optional fields was set by the client + (Workaround for missing "oneof" keyword in pb2.5) + + + + + Execute already prepared statement + + .. uml:: + + client -> server: Execute + alt Success + ... Resultsets... + client <- server: StmtExecuteOk + else Failure + client <- server: Error + end + + :param stmt_id: client side assigned statement id, must be already prepared + :param args_list: Arguments to bind to the prepared statement + :param compact_metadata: send only type information for :protobuf:msg:`Mysqlx.Resultset::ColumnMetadata`, skipping names and others + :Returns: :protobuf:msg:`Mysqlx.Ok::` + + + + Field number for the "stmt_id" field. + + + + required + + + + Field number for the "args" field. + + + Field number for the "compact_metadata" field. + + + + [ default = false ]; optional + + + + + Deallocate already prepared statement + + Deallocating the statement. + + .. uml:: + + client -> server: Deallocate + alt Success + client <- server: Ok + else Failure + client <- server: Error + end + + :param stmt_id: client side assigned statement id, must be already prepared + :Returns: :protobuf:msg:`Mysqlx.Ok|Mysqlx.Error` + + + + Field number for the "stmt_id" field. + + + + required + + + + Holder for reflection information generated from mysqlx_resultset.proto + + + File descriptor for mysqlx_resultset.proto + + + + a hint about the higher-level encoding of a BYTES field + + ====== ====== =========== + type value description + ====== ====== =========== + BYTES 0x0001 GEOMETRY (WKB encoding) + BYTES 0x0002 JSON (text encoding) + BYTES 0x0003 XML (text encoding) + ====== ====== =========== + + .. note:: + this list isn't comprehensive. As guideline: the field's value is expected + to pass a validator check on client and server if this field is set. + If the server adds more internal datatypes that rely on BLOB storage + like image manipulation, seeking into complex types in BLOBs, ... more + types will be added. + + + + + a hint about the higher-level encoding of a DATETIME field + + ====== ====== =========== + type value description + ======== ====== =========== + DATE 0x0001 DATETIME contains only date part + DATETIME 0x0002 DATETIME contains both date and time parts + ====== ====== =========== + + + + + resultsets are finished, OUT paramset is next + + + + + resultset and out-params are finished, but more resultsets available + + + + + all resultsets are finished + + + + + cursor is opened still the execution of PrepFetch or PrepExecute ended + + + + + meta data of a Column + + .. note:: the encoding used for the different ``bytes`` fields in the meta data is externally + controlled. + .. seealso:: https://dev.mysql.com/doc/refman/8.0/en/charset-connection.html + + .. note:: + The server may not set the ``original_{table|name}`` fields if they are equal to the plain + ``{table|name}`` field. + + A client has to reconstruct it like:: + + if .original_name is empty and .name is not empty: + .original_name = .name + + if .original_table is empty and .table is not empty: + .original_table = .table + + .. note:: + ``compact metadata format`` can be requested by the client. In that case only ``.type`` is set and + all other fields are empty. + + :param type: + .. table:: Expected Datatype of Mysqlx.Resultset.Row per SQL Type for non NULL values + + ================= ============ ======= ========== ====== ======== + SQL Type .type .length .frac_dig .flags .charset + ================= ============ ======= ========== ====== ======== + TINY SINT x + TINY UNSIGNED UINT x x + SHORT SINT x + SHORT UNSIGNED UINT x x + INT24 SINT x + INT24 UNSIGNED UINT x x + INT SINT x + INT UNSIGNED UINT x x + LONGLONG SINT x + LONGLONG UNSIGNED UINT x x + DOUBLE DOUBLE x x x + FLOAT FLOAT x x x + DECIMAL DECIMAL x x x + VARCHAR,CHAR,... BYTES x x x + GEOMETRY BYTES + TIME TIME x + DATE DATETIME x + DATETIME DATETIME x + YEAR UINT x x + TIMESTAMP DATETIME x + SET SET x + ENUM ENUM x + NULL BYTES + BIT BIT x + ================= ============ ======= ========== ====== ======== + + .. note:: the SQL "NULL" value is sent as an empty field value in :protobuf:msg:`Mysqlx.Resultset::Row` + .. seealso:: protobuf encoding of primitive datatypes are decribed in https://developers.google.com/protocol-buffers/docs/encoding + + SINT + + ``.length`` + maximum number of displayable decimal digits (including minus sign) of the type + + .. note:: + valid range is 0-255, but usually you'll see 1-20 + + =============== == + SQL Type max digits per type + =============== == + TINY SIGNED 4 + SHORT SIGNED 6 + INT24 SIGNED 8 + INT SIGNED 11 + LONGLONG SIGNED 20 + =============== == + + .. seealso:: definition of ``M`` in https://dev.mysql.com/doc/refman/8.0/en/numeric-type-overview.html + + ``value`` + variable length encoded signed 64 integer + + UINT + + ``.flags & 1`` (zerofill) + the client has to left pad with 0's up to .length + + ``.length`` + maximum number of displayable decimal digits of the type + + .. note:: + valid range is 0-255, but usually you'll see 1-20 + + ================= == + SQL Type max digits per type + ================= == + TINY UNSIGNED 3 + SHORT UNSIGNED 5 + INT24 UNSIGNED 8 + INT UNSIGNED 10 + LONGLONG UNSIGNED 20 + ================= == + + .. seealso:: definition of ``M`` in https://dev.mysql.com/doc/refman/8.0/en/numeric-type-overview.html + + ``value`` + variable length encoded unsigned 64 integer + + BIT + + ``.length`` + maximum number of displayable binary digits + + .. note:: valid range for M of the ``BIT`` type is 1 - 64 + .. seealso:: https://dev.mysql.com/doc/refman/8.0/en/numeric-type-overview.html + + ``value`` + variable length encoded unsigned 64 integer + + DOUBLE + + ``.length`` + maximum number of displayable decimal digits (including the decimal point and ``.fractional_digits``) + + ``.fractional_digits`` + maximum number of displayable decimal digits following the decimal point + + ``value`` + encoded as Protobuf's 'double' + + FLOAT + + ``.length`` + maximum number of displayable decimal digits (including the decimal point and ``.fractional_digits``) + + ``.fractional_digits`` + maximum number of displayable decimal digits following the decimal point + + ``value`` + encoded as Protobuf's 'float' + + BYTES, ENUM + BYTES is used for all opaque byte strings that may have a charset + + * TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB + * TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT + * VARCHAR, VARBINARY + * CHAR, BINARY + * ENUM + + ``.length`` + the maximum length of characters of the underlying type + + ``.flags & 1`` (rightpad) + if the length of the field is less than ``.length``, the receiver is + supposed to add padding characters to the right end of the string. + If the ``.charset`` is "binary", the padding character is ``0x00``, + otherwise it is a space character as defined by that character set. + + ============= ======= ======== ======= + SQL Type .length .charset .flags + ============= ======= ======== ======= + TINYBLOB 256 binary + BLOB 65535 binary + VARCHAR(32) 32 utf8 + VARBINARY(32) 32 utf8_bin + BINARY(32) 32 binary rightpad + CHAR(32) 32 utf8 rightpad + ============= ======= ======== ======= + + ``value`` + sequence of bytes with added one extra '\0' byte at the end. To obtain the + original string, the extra '\0' should be removed. + .. note:: the length of the string can be acquired with protobuf's field length() method + length of sequence-of-bytes = length-of-field - 1 + .. note:: the extra byte allows to distinguish between a NULL and empty byte sequence + + TIME + A time value. + + ``value`` + the following bytes sequence: + + ``| negate [ | hour | [ | minutes | [ | seconds | [ | useconds | ]]]]`` + + * negate - one byte, should be one of: 0x00 for "+", 0x01 for "-" + * hour - optional variable length encoded unsigned64 value for the hour + * minutes - optional variable length encoded unsigned64 value for the minutes + * seconds - optional variable length encoded unsigned64 value for the seconds + * useconds - optional variable length encoded unsigned64 value for the microseconds + + .. seealso:: protobuf encoding in https://developers.google.com/protocol-buffers/docs/encoding + .. note:: hour, minutes, seconds, useconds are optional if all the values to the right are 0 + + Example: 0x00 -> +00:00:00.000000 + + DATETIME + A date or date and time value. + + ``value`` + a sequence of variants, arranged as follows: + + ``| year | month | day | [ | hour | [ | minutes | [ | seconds | [ | useconds | ]]]]`` + + * year - variable length encoded unsigned64 value for the year + * month - variable length encoded unsigned64 value for the month + * day - variable length encoded unsigned64 value for the day + * hour - optional variable length encoded unsigned64 value for the hour + * minutes - optional variable length encoded unsigned64 value for the minutes + * seconds - optional variable length encoded unsigned64 value for the seconds + * useconds - optional variable length encoded unsigned64 value for the microseconds + + .. note:: hour, minutes, seconds, useconds are optional if all the values to the right are 0 + + ``.flags & 1`` (timestamp) + + ============= ======= + SQL Type .flags + ============= ======= + DATETIME + TIMESTAMP 1 + + DECIMAL + An arbitrary length number. The number is encoded as a single byte + indicating the position of the decimal point followed by the Packed BCD + encoded number. Packed BCD is used to simplify conversion to and + from strings and other native arbitrary precision math datatypes. + .. seealso:: packed BCD in https://en.wikipedia.org/wiki/Binary-coded_decimal + + ``.length`` + maximum number of displayable decimal digits (*excluding* the decimal point and sign, but including ``.fractional_digits``) + + .. note:: should be in the range of 1 - 65 + + ``.fractional_digits`` + is the decimal digits to display out of length + + .. note:: should be in the range of 0 - 30 + + ``value`` + the following bytes sequence: + + ``| scale | BCD | sign | [0x0] |`` + + * scale - 8bit scale value (number of decimal digit after the '.') + * BCD - BCD encoded digits (4 bits for each digit) + * sign - sign encoded on 4 bits (0xc = "+", 0xd = "-") + * 0x0 - last 4bits if length(digits) % 2 == 0 + + Example: x04 0x12 0x34 0x01 0xd0 -> -12.3401 + + SET + A list of strings representing a SET of values. + + ``value`` + A sequence of 0 or more of protobuf's bytes (length prepended octets) or one of + the special sequences with a predefined meaning listed below. + + Example (length of the bytes array shown in brackets): + * ``[0]`` - the NULL value + * ``[1] 0x00`` - a set containing a blank string '' + * ``[1] 0x01`` - this would be an invalid value, but is to be treated as the empty set + * ``[2] 0x01 0x00`` - a set with a single item, which is the '\0' character + * ``[8] 0x03 F O O 0x03 B A R`` - a set with 2 items: FOO,BAR + + :param name: name of the column + :param original_name: name of the column before an alias was applied + :param table: name of the table the column orginates from + :param original_table: name of the table the column orginates from before an alias was applied + :param schema: schema the column originates from + :param catalog: + catalog the schema originates from + + .. note:: + as there is current no support for catalogs in MySQL, don't expect this field to be set. + In the MySQL C/S protocol the field had the value ``def`` all the time. + + :param fractional_digits: displayed factional decimal digits for floating point and fixed point numbers + :param length: maximum count of displayable characters of .type + :param flags: + ``.type`` specific flags + + ======= ====== =========== + type value description + ======= ====== =========== + UINT 0x0001 zerofill + DOUBLE 0x0001 unsigned + FLOAT 0x0001 unsigned + DECIMAL 0x0001 unsigned + BYTES 0x0001 rightpad + ======= ====== =========== + + ====== ================ + value description + ====== ================ + 0x0010 NOT_NULL + 0x0020 PRIMARY_KEY + 0x0040 UNIQUE_KEY + 0x0080 MULTIPLE_KEY + 0x0100 AUTO_INCREMENT + ====== ================ + + default: 0 + :param content_type: + a hint about the higher-level encoding of a BYTES field, for more informations + please refer to Mysqlx.Resultset.ContentType_BYTES enum. + + + + Field number for the "type" field. + + + + datatype of the field in a row + + + + Field number for the "name" field. + + + Field number for the "original_name" field. + + + Field number for the "table" field. + + + Field number for the "original_table" field. + + + Field number for the "schema" field. + + + Field number for the "catalog" field. + + + Field number for the "collation" field. + + + Field number for the "fractional_digits" field. + + + Field number for the "length" field. + + + Field number for the "flags" field. + + + Field number for the "content_type" field. + + + Container for nested types declared in the ColumnMetaData message type. + + + + Row in a Resultset + + a row is represented as a list of fields encoded as byte blobs. + Blob of size 0 represents the NULL value. Otherwise, if it contains at least + one byte, it encodes a non-null value of the field using encoding appropriate for the + type of the value given by ``ColumnMetadata``, as specified + in the :protobuf:msg:`Mysqlx.Resultset::ColumnMetaData` description. + + + + Field number for the "field" field. + + + Holder for reflection information generated from mysqlx_session.proto + + + File descriptor for mysqlx_session.proto + + + + the initial message send from the client to the server to start the + authentication proccess + + :param mech_name: authentication mechanism name + :param auth_data: authentication data + :param initial_response: initial response + :Returns: :protobuf:msg:`Mysqlx.Session::AuthenticateContinue` + + + + Field number for the "mech_name" field. + + + + required + + + + Field number for the "auth_data" field. + + + Field number for the "initial_response" field. + + + + send by client or server after a :protobuf:msg:`Mysqlx.Session::AuthenticateStart` to + exchange more auth data + + :param auth_data: authentication data + :Returns: :protobuf:msg:`Mysqlx.Session::AuthenticateContinue` + + + + Field number for the "auth_data" field. + + + + required + + + + + sent by the server after successful authentication + + :param auth_data: authentication data + + + + Field number for the "auth_data" field. + + + + reset the current session + param keep_open: if is true the session will be reset, but stays authenticated. + otherwise, the session will be closed and needs to be authenticated again. + + :Returns: :protobuf:msg:`Mysqlx::Ok` + + + + Field number for the "keep_open" field. + + + + close the current session + + :Returns: :protobuf:msg:`Mysqlx::Ok` + + + + Holder for reflection information generated from mysqlx_sql.proto + + + File descriptor for mysqlx_sql.proto + + + + execute a statement in the given namespace + + .. uml:: + + client -> server: StmtExecute + ... zero or more Resultsets ... + server --> client: StmtExecuteOk + + Notices: + This message may generate a notice containing WARNINGs generated by its execution. + This message may generate a notice containing INFO messages generated by its execution. + + :param namespace: namespace of the statement to be executed + :param stmt: statement that shall be executed. + :param args: values for wildcard replacements + :param compact_metadata: send only type information for :protobuf:msg:`Mysqlx.Resultset::ColumnMetadata`, skipping names and others + :returns: + * zero or one :protobuf:msg:`Mysqlx.Resultset::` followed by :protobuf:msg:`Mysqlx.Sql::StmtExecuteOk` + + + + Field number for the "namespace" field. + + + + optional [ default = "sql" ] + + + + Field number for the "stmt" field. + + + + required + + + + Field number for the "args" field. + + + Field number for the "compact_metadata" field. + + + + optional [ default = false ] + + + + + statement executed successful + + +
+
diff --git a/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/MySql.Data.xml.meta b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/MySql.Data.xml.meta new file mode 100644 index 0000000..6a21b45 --- /dev/null +++ b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/MySql.Data.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 075147c9aa1d15642b106670b2ec85b0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/Ubiety.Dns.Core.dll b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/Ubiety.Dns.Core.dll new file mode 100644 index 0000000..e90b8e9 --- /dev/null +++ b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/Ubiety.Dns.Core.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0199ee325f7654d43be26e0ef9f5f373e9cdf4b64fd71b1fa29952e2518db389 +size 55808 diff --git a/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/Ubiety.Dns.Core.dll.meta b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/Ubiety.Dns.Core.dll.meta new file mode 100644 index 0000000..23e5bb4 --- /dev/null +++ b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/Ubiety.Dns.Core.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: e780c4b76505bd64a9a765e93accc2ab +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/ZstdNet.dll b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/ZstdNet.dll new file mode 100644 index 0000000..3c25b52 --- /dev/null +++ b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/ZstdNet.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6bac72a03aa30fa8dd5b781273a420d9a971fd8da0f651fecca2555e965cade +size 28672 diff --git a/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/ZstdNet.dll.meta b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/ZstdNet.dll.meta new file mode 100644 index 0000000..9ec65d2 --- /dev/null +++ b/Unity-Files/Assets/Packages/MySql.Data.8.0.27/lib/net452/ZstdNet.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 6d7adb01b81ce8942afe9fb226643749 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1.meta b/Unity-Files/Assets/Packages/System.Buffers.4.5.1.meta new file mode 100644 index 0000000..3aa61e3 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 01487184e2b5c5f479476c34e015ab9b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/.signature.p7s b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/.signature.p7s new file mode 100644 index 0000000..1bf2285 Binary files /dev/null and b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/.signature.p7s differ diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/LICENSE.TXT b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/LICENSE.TXT new file mode 100644 index 0000000..984713a --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/LICENSE.TXT.meta b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/LICENSE.TXT.meta new file mode 100644 index 0000000..38bfbfd --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/LICENSE.TXT.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a2879748bf986004dbcb8bbb768dd7b6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg new file mode 100644 index 0000000..f7ee6b2 Binary files /dev/null and b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg differ diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg.meta b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg.meta new file mode 100644 index 0000000..f68d9db --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6fc9ffb1f4160d746994c26ff5e6c178 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 0000000..db542ca --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,309 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +http://www.unicode.org/copyright.html#License + +Copyright © 1991-2017 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +http://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 + + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT.meta b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT.meta new file mode 100644 index 0000000..9b5c2d1 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6016637dba4ea3f4eb93a54d2de591d6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib.meta b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib.meta new file mode 100644 index 0000000..a73757e --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 52f5aaec715517940aba7d31697904f2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461.meta b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461.meta new file mode 100644 index 0000000..f681385 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81990786f7e8ab148a11aaa97e6d369c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461/System.Buffers.dll b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461/System.Buffers.dll new file mode 100644 index 0000000..7f27942 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461/System.Buffers.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:accccfbe45d9f08ffeed9916e37b33e98c65be012cfff6e7fa7b67210ce1fefb +size 20856 diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461/System.Buffers.dll.meta b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461/System.Buffers.dll.meta new file mode 100644 index 0000000..d68b143 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461/System.Buffers.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 3df593d74acaae64dbb99514c4e35b95 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml new file mode 100644 index 0000000..e243dce --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml @@ -0,0 +1,38 @@ + + + System.Buffers + + + + Provides a resource pool that enables reusing instances of type . + The type of the objects that are in the resource pool. + + + Initializes a new instance of the class. + + + Creates a new instance of the class. + A new instance of the class. + + + Creates a new instance of the class using the specifed configuration. + The maximum length of an array instance that may be stored in the pool. + The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. + A new instance of the class with the specified configuration. + + + Retrieves a buffer that is at least the requested length. + The minimum length of the array. + An array of type that is at least minimumLength in length. + + + Returns an array to the pool that was previously obtained using the method on the same instance. + A buffer to return to the pool that was previously obtained using the method. + Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. + + + Gets a shared instance. + A shared instance. + + + \ No newline at end of file diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml.meta b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml.meta new file mode 100644 index 0000000..460ce74 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5382c565b583054418bef6be6c56ee5b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/useSharedDesignerContext.txt b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/useSharedDesignerContext.txt.meta b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/useSharedDesignerContext.txt.meta new file mode 100644 index 0000000..4eeb76e --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/useSharedDesignerContext.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e8becc24d651d3a4aaf1ee52dea48ae8 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/version.txt b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/version.txt new file mode 100644 index 0000000..8d6cdd6 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/version.txt @@ -0,0 +1 @@ +7601f4f6225089ffb291dc7d58293c7bbf5c5d4f diff --git a/Unity-Files/Assets/Packages/System.Buffers.4.5.1/version.txt.meta b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/version.txt.meta new file mode 100644 index 0000000..0c2708b --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Buffers.4.5.1/version.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: df85b34e6e7f46547be1eae4d2ffcb85 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4.meta b/Unity-Files/Assets/Packages/System.Memory.4.5.4.meta new file mode 100644 index 0000000..667fe15 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e53568e9599d05c4a98b4439bd0c088e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/.signature.p7s b/Unity-Files/Assets/Packages/System.Memory.4.5.4/.signature.p7s new file mode 100644 index 0000000..abb2a57 Binary files /dev/null and b/Unity-Files/Assets/Packages/System.Memory.4.5.4/.signature.p7s differ diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/LICENSE.TXT b/Unity-Files/Assets/Packages/System.Memory.4.5.4/LICENSE.TXT new file mode 100644 index 0000000..984713a --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/LICENSE.TXT.meta b/Unity-Files/Assets/Packages/System.Memory.4.5.4/LICENSE.TXT.meta new file mode 100644 index 0000000..f2b5b42 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4/LICENSE.TXT.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4fbc8e31e262f22459519e360ffc97d8 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/System.Memory.4.5.4.nupkg b/Unity-Files/Assets/Packages/System.Memory.4.5.4/System.Memory.4.5.4.nupkg new file mode 100644 index 0000000..6844e92 Binary files /dev/null and b/Unity-Files/Assets/Packages/System.Memory.4.5.4/System.Memory.4.5.4.nupkg differ diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/System.Memory.4.5.4.nupkg.meta b/Unity-Files/Assets/Packages/System.Memory.4.5.4/System.Memory.4.5.4.nupkg.meta new file mode 100644 index 0000000..945072b --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4/System.Memory.4.5.4.nupkg.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 50ccd7acbd4292c418921ef62a4c9f43 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/THIRD-PARTY-NOTICES.TXT b/Unity-Files/Assets/Packages/System.Memory.4.5.4/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 0000000..db542ca --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,309 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +http://www.unicode.org/copyright.html#License + +Copyright © 1991-2017 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +http://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 + + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/THIRD-PARTY-NOTICES.TXT.meta b/Unity-Files/Assets/Packages/System.Memory.4.5.4/THIRD-PARTY-NOTICES.TXT.meta new file mode 100644 index 0000000..408b043 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4/THIRD-PARTY-NOTICES.TXT.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8139d0ea174b166458ed9610badc85f6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib.meta b/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib.meta new file mode 100644 index 0000000..edc8900 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4ada59fc4e905a34fb7eb2bb18b80928 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461.meta b/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461.meta new file mode 100644 index 0000000..6688e51 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0f9b5c962b0b2fb408a1dfb606684f21 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461/System.Memory.dll b/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461/System.Memory.dll new file mode 100644 index 0000000..09b82f8 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461/System.Memory.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e76318e8b06692abf7dab1169d27d15557f7f0a34d36af6463eff0fe21213c7 +size 141184 diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461/System.Memory.dll.meta b/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461/System.Memory.dll.meta new file mode 100644 index 0000000..91157f7 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461/System.Memory.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 12985b61cac7bdd40852e524d9dd2d36 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461/System.Memory.xml b/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461/System.Memory.xml new file mode 100644 index 0000000..4d12fd7 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461/System.Memory.xml @@ -0,0 +1,355 @@ + + + System.Memory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461/System.Memory.xml.meta b/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461/System.Memory.xml.meta new file mode 100644 index 0000000..f7c5004 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4/lib/net461/System.Memory.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cdf86731014f1434eb28f6392410bc11 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/useSharedDesignerContext.txt b/Unity-Files/Assets/Packages/System.Memory.4.5.4/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/useSharedDesignerContext.txt.meta b/Unity-Files/Assets/Packages/System.Memory.4.5.4/useSharedDesignerContext.txt.meta new file mode 100644 index 0000000..64c4c3d --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4/useSharedDesignerContext.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0d065130425a1d7459ce8d894a61dedd +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/version.txt b/Unity-Files/Assets/Packages/System.Memory.4.5.4/version.txt new file mode 100644 index 0000000..8d6cdd6 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4/version.txt @@ -0,0 +1 @@ +7601f4f6225089ffb291dc7d58293c7bbf5c5d4f diff --git a/Unity-Files/Assets/Packages/System.Memory.4.5.4/version.txt.meta b/Unity-Files/Assets/Packages/System.Memory.4.5.4/version.txt.meta new file mode 100644 index 0000000..a3f8334 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Memory.4.5.4/version.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8bb5251ff30601143b4a4b7ea5b26d3c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0.meta b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0.meta new file mode 100644 index 0000000..ef5e716 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7fbc473aa49463f449ba5be3cd116c7f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/.signature.p7s b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/.signature.p7s new file mode 100644 index 0000000..5e41892 Binary files /dev/null and b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/.signature.p7s differ diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/Icon.png b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/Icon.png new file mode 100644 index 0000000..b152ee0 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/Icon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3356b59b6d9c24db3a22398c0fb3430724052fe75ae5e8430ee8ede2fb713356 +size 7006 diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/Icon.png.meta b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/Icon.png.meta new file mode 100644 index 0000000..50438ec --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/Icon.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 07edc977afa9e0d4182df31579a17ab9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT new file mode 100644 index 0000000..984713a --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT.meta b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT.meta new file mode 100644 index 0000000..85b11c9 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 466f04f00f5cc374c8c9d15048be74a2 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/System.Runtime.CompilerServices.Unsafe.5.0.0.nupkg b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/System.Runtime.CompilerServices.Unsafe.5.0.0.nupkg new file mode 100644 index 0000000..426776a Binary files /dev/null and b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/System.Runtime.CompilerServices.Unsafe.5.0.0.nupkg differ diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/System.Runtime.CompilerServices.Unsafe.5.0.0.nupkg.meta b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/System.Runtime.CompilerServices.Unsafe.5.0.0.nupkg.meta new file mode 100644 index 0000000..588740d --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/System.Runtime.CompilerServices.Unsafe.5.0.0.nupkg.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: df7101803db8d1040a9c0509d33706b6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/THIRD-PARTY-NOTICES.TXT b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 0000000..111dcf5 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,884 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/aspnet/AspNetCore/blob/master/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2020 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +http://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 + + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +License notice for Algorithm from Internet Draft document "UUIDs and GUIDs" +--------------------------------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, or Digital Equipment Corporation be used in advertising +or publicity pertaining to distribution of the software without +specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment +Corporation makes any representations about the suitability of +this software for any purpose. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash Library +Copyright (c) 2012-2014, Yann Collet +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xorshift RNGs +-------------------------------- + +George Marsaglia +2003-07-04 +Journal of Statistical Software +License: http://creativecommons.org/licenses/by/3.0/ + +https://www.jstatsoft.org/article/view/v008i14 +https://www.jstatsoft.org/index.php/jss/article/view/v008i14/xorshift.pdf + +License notice for Xorshift (Wikipedia) +--------------------------------------- + +https://en.wikipedia.org/wiki/Xorshift +License: https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License + +License for fastmod (https://github.com/lemire/fastmod) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/THIRD-PARTY-NOTICES.TXT.meta b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/THIRD-PARTY-NOTICES.TXT.meta new file mode 100644 index 0000000..a66a896 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/THIRD-PARTY-NOTICES.TXT.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a83c2282fe95304499a234dc74f9d53c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib.meta b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib.meta new file mode 100644 index 0000000..267474b --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2a92284328c42df40a37c0cb8df3d763 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45.meta b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45.meta new file mode 100644 index 0000000..ac2fb9b --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e45ec302c84477a469f99d067b74256e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.dll b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000..4f9ae89 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cadcb6b8a7335141c7c357a1d77af1ff49b59b872df494f5025580191d1c0d5 +size 16768 diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.dll.meta b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.dll.meta new file mode 100644 index 0000000..53142f9 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 489ad613ad805ca4290082751060c660 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.xml b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..b5dd21b --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,258 @@ + + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given void pointer. + The void pointer to add the offset to. + The offset to add. + The type of void pointer. + A new void pointer that reflects the addition of offset to the specified pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + + if and point to the same location; otherwise, . + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type . + The reference to reinterpret. + The type of reference to reinterpret. + The desired type of the reference. + A reference to a value of type . + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given read-only reference as a reference. + The read-only reference to reinterpret. + The type of reference. + A reference to a value of type . + + + Reinterprets the given location as a reference to a value of type . + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type . + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. - . + + + Copies a value of type to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies a value of type to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Returns a value that indicates whether a specified reference is greater than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is greater than ; otherwise, . + + + Returns a value that indicates whether a specified reference is less than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is less than ; otherwise, . + + + + + + + + + + Reads a value of type from the given location. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type . + + + Bypasses definite assignment rules for a given value. + The uninitialized object. + The type of the uninitialized object. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given void pointer. + The void pointer to subtract the offset from. + The offset to subtract. + The type of the void pointer. + A new void pointer that reflects the subtraction of offset from the specified pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of byte offset from pointer. + + + Returns a to a boxed value. + The value to unbox. + The type to be unboxed. + + is , and is a non-nullable value type. + + is not a boxed value type. + +-or- + + is not a boxed . + + cannot be found. + A to the boxed value . + + + Writes a value of type to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.xml.meta b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.xml.meta new file mode 100644 index 0000000..0c7cfe5 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8e26f125caef8a94b8a391375a72ac93 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/useSharedDesignerContext.txt b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/useSharedDesignerContext.txt.meta b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/useSharedDesignerContext.txt.meta new file mode 100644 index 0000000..22183b6 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/useSharedDesignerContext.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 56df8a180b84b5648bf2f71b511a5ff3 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt new file mode 100644 index 0000000..0a6d216 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt @@ -0,0 +1 @@ +cf258a14b70ad9069470a108f13765e0e5988f51 diff --git a/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt.meta b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt.meta new file mode 100644 index 0000000..ee3f8c3 --- /dev/null +++ b/Unity-Files/Assets/Packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4a3a44c8e01076445a189ccd12e8659c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/Assets/packages.config b/Unity-Files/Assets/packages.config new file mode 100644 index 0000000..811bee3 --- /dev/null +++ b/Unity-Files/Assets/packages.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Unity-Files/Assets/packages.config.meta b/Unity-Files/Assets/packages.config.meta new file mode 100644 index 0000000..2191bc5 --- /dev/null +++ b/Unity-Files/Assets/packages.config.meta @@ -0,0 +1,32 @@ +fileFormatVersion: 2 +guid: d61442844c860d741a2ac2742ba7a114 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-Files/ProjectSettings/ProjectSettings.asset b/Unity-Files/ProjectSettings/ProjectSettings.asset index 6050a44..dd22f12 100644 --- a/Unity-Files/ProjectSettings/ProjectSettings.asset +++ b/Unity-Files/ProjectSettings/ProjectSettings.asset @@ -647,7 +647,8 @@ PlayerSettings: gcIncremental: 0 assemblyVersionValidation: 1 gcWBarrierValidation: 0 - apiCompatibilityLevelPerPlatform: {} + apiCompatibilityLevelPerPlatform: + Standalone: 3 m_RenderingPath: 1 m_MobileRenderingPath: 1 metroPackageName: KidsPlayground